/* Agenda — visual inspirado no Belle (sidebar magenta + flyout), tema claro, PrimeNG-ish */
:root{
  /* identidade XDay — azul */
  --syno-marinho:#082b5c; --syno-azul:#0984e3; --syno-turquesa:#15c7b7;
  --mova-laranja:#ff7a1a; --mova-coral:#ee4f2b; --fenix-roxo:#7c3aed;
  --magenta:#0984e3; --magenta-2:#0871c4; --magenta-esc:#082b5c;
  --tinta:#1f2937; --texto:var(--tinta); --cinza:#6b7280; --linha:#e6e8ee; --fundo:#f7f8fa; --card:#fff;
  --azul:#f1ecfe; --azul-b:#6d28d9; --verde:#e9f9ef; --verde-b:#1f9d55;
  --verdeclaro:#f0fbf3; --amarelo:#fff8e1; --amarelo-b:#e0a800; --vermelho:#fdecec; --vermelho-b:#d64545;
  --sb-1:#082b5c; --sb-2:#031a38;      /* a parede da barra lateral Syno */
  --sb-tinta:#dff9f7;                   /* icone e rotulo na barra */
  --raio:12px; --sombra:0 1px 3px rgba(20,20,40,.08),0 6px 20px rgba(20,20,40,.05);
}
/* Interface operacional ampla para detalhes, cards e ações. */
#modal .modal-card:has(.detail-modal){width:min(1460px,98vw);height:min(940px,96vh);max-height:96vh;padding:0;overflow:hidden;border-radius:26px;border:1px solid #dfe5ec;background:#f5f7fa;box-shadow:0 32px 90px rgba(8,43,92,.28)}
#modal .modal-card:has(.detail-modal)>.close-x{top:20px;right:22px;width:38px;height:38px;border-radius:12px;background:#fff;border:1px solid #dde3ea;z-index:4;font-size:23px}
.detail-modal{display:grid;grid-template-columns:260px minmax(0,1fr);height:100%;min-height:700px;color:#16202b}
.detail-rail{padding:34px 18px 22px;background:linear-gradient(165deg,#082b5c,#071d38 70%,#102a3d);display:flex;flex-direction:column;gap:9px}.detail-rail-brand{padding:0 12px 22px;color:#fff}.detail-rail-brand small{display:block;font-size:10px;letter-spacing:.14em;color:#8faec4;margin-bottom:6px}.detail-rail-brand b{font-size:25px}
.detail-rail button{display:grid;grid-template-columns:38px 1fr;align-items:center;text-align:left;gap:11px;min-height:67px;padding:10px 12px;border:0;border-radius:15px;background:transparent;color:#d3e0e8;font-weight:800;cursor:pointer}.detail-rail button div{display:grid;gap:3px}.detail-rail button small{font-size:10px;font-weight:500;color:#88a4b6}
.detail-rail button span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#244257;color:#dce8ee;font-size:10px}
.detail-rail button:hover,.detail-rail button.active{background:#fff;color:#102a3d}.detail-rail button.active span{background:#e5a847;color:#102a3d}
.detail-main{padding:38px 46px 34px;overflow:auto;scroll-behavior:smooth}
.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding-right:52px;margin-bottom:20px}.detail-header small,.detail-section-title small{display:block;color:#68808f;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:5px}.detail-header h3{font-size:28px;letter-spacing:-.03em;margin:0!important}.detail-subtitle{font-size:13px!important;margin-top:7px}.detail-status{padding:8px 12px;border-radius:999px;background:#e5f6ed;color:#147344;font-size:12px;font-weight:800}
.detail-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px;margin-bottom:24px;padding:14px;background:#fff;border:1px solid #e1e6eb;border-radius:19px;box-shadow:0 8px 24px rgba(23,42,58,.07)}.detail-action{min-height:74px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;text-align:left;padding:11px;border:1px solid #e4e9ee;border-radius:14px;background:#f9fbfc;color:#1c3040;cursor:pointer}.detail-action>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f0f5;color:#0b659d;font-size:14px}.detail-action span{display:grid;gap:3px;font-weight:800;font-size:12px}.detail-action small{color:#718593;font-size:9px;font-weight:600}.detail-action:hover{border-color:#80b9d9;background:#f2f9fd;transform:translateY(-1px)}.detail-action.primary{background:#0b659d;border-color:#0b659d;color:#fff}.detail-action.primary>b{background:#fff;color:#0b659d}.detail-action.primary small{color:#d9effb}
.detail-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.detail-kpis>div{padding:16px 18px;background:#fff;border:1px solid #e1e6eb;border-radius:16px}.detail-kpis>div .muted{margin-bottom:5px}.detail-kpis>div b{font-size:21px!important}
.detail-section{scroll-margin-top:16px;background:#fff;border:1px solid #e1e6eb;border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 6px 18px rgba(23,42,58,.04)}.detail-section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.detail-section-title b{font-size:17px}.detail-section table{margin:0!important}.detail-section td,.detail-section th{padding:12px 10px}
.detail-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px}.detail-footer>.row{gap:8px;flex-wrap:wrap}.detail-footer .btn{min-height:42px}
@media(max-width:760px){#modal .modal-card:has(.detail-modal){width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.detail-modal{grid-template-columns:1fr;min-height:100%}.detail-rail{padding:64px 12px 10px;display:grid;grid-template-columns:repeat(4,1fr);position:sticky;top:0;z-index:3}.detail-rail button{display:flex;justify-content:center;min-height:42px;padding:7px;font-size:0}.detail-rail button span{font-size:10px}.detail-main{padding:18px 14px}.detail-header{padding-right:40px}.detail-header h3{font-size:24px}.detail-status{display:none}.detail-actions{grid-template-columns:repeat(2,1fr)}.detail-actions .btn:last-child{grid-column:1/-1}.detail-kpis{grid-template-columns:1fr}.detail-section{padding:12px;overflow:auto}.detail-footer>.row{display:grid;grid-template-columns:1fr 1fr;width:100%}}

/* =====================================================================
   PAINEL DO DIA 2.0 30/08
   Central operacional com hierarquia de decisão, leitura rápida do dia
   e estados vazios que conduzem a equipe para a próxima ação.
   ===================================================================== */
.dia-page{--dia-noite:#0b1020;--dia-noite-2:#151a31;--dia-lilas:#8b5cf6;
  --dia-lilas-claro:#c4b5fd;--dia-ciano:#5eead4;--dia-texto:#202638}
.dia-comando{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);
  gap:22px;margin-bottom:14px;padding:25px 26px 18px;overflow:hidden;border:1px solid rgba(139,92,246,.28);
  border-radius:20px;background:linear-gradient(128deg,var(--dia-noite) 0,var(--dia-noite-2) 58%,#23164a 100%);
  box-shadow:0 14px 35px rgba(24,20,51,.18);color:#fff}
.dia-comando-fundo{position:absolute;z-index:-1;inset:0;pointer-events:none}
.dia-comando-fundo::before{content:"";position:absolute;right:-90px;top:-150px;width:430px;height:430px;
  border:1px solid rgba(196,181,253,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(139,92,246,.035),
  0 0 0 92px rgba(94,234,212,.018)}
.dia-comando-fundo::after{content:"";position:absolute;left:48%;bottom:-170px;width:330px;height:330px;
  border-radius:50%;background:radial-gradient(circle,rgba(109,40,217,.22),transparent 68%);filter:blur(5px)}
.dia-comando-fundo i{position:absolute;width:7px;height:7px;border-radius:50%;background:#a78bfa;
  box-shadow:0 0 16px #8b5cf6}
.dia-comando-fundo i:nth-child(1){left:51%;top:28px}.dia-comando-fundo i:nth-child(2){right:27%;bottom:69px;background:#5eead4}
.dia-comando-fundo i:nth-child(3){right:48px;top:42px;width:4px;height:4px;background:#fff}
.dia-comando-principal{min-width:0}.dia-comando-selo{display:inline-flex;align-items:center;gap:7px;margin-bottom:11px;
  color:#d8ceff;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.dia-comando-selo>span{width:7px;height:7px;border-radius:50%;background:#5eead4;box-shadow:0 0 0 5px rgba(94,234,212,.1)}
.dia-comando h1{margin:0;color:#fff;font-size:28px;line-height:1.08;letter-spacing:-.045em}
.dia-comando-principal>p{max-width:700px;margin:8px 0 17px;color:#b9bfd0;font-size:12.5px;line-height:1.5}
.dia-navegacao{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dia-navegacao label{min-height:42px;display:flex;flex-direction:column;justify-content:center;padding:5px 12px;
  border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.07)}
.dia-navegacao label span{color:#989fb4;font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dia-navegacao input{width:138px;height:20px;padding:0;border:0;outline:0;background:transparent;color:#fff;
  color-scheme:dark;font:750 11.5px/1 inherit}
.dia-seta{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);
  border-radius:10px;background:rgba(255,255,255,.06);color:#d8ceff;font:400 22px/1 inherit;cursor:pointer}
.dia-seta:hover{border-color:#8b5cf6;background:rgba(139,92,246,.18);color:#fff}
.dia-hoje{min-height:40px;padding:0 13px;border:1px solid rgba(196,181,253,.28);border-radius:10px;
  background:rgba(139,92,246,.15);color:#e6e0ff;font:750 10.5px/1 inherit;cursor:pointer}
.dia-hoje:hover{background:rgba(139,92,246,.27)}.dia-hoje:disabled{cursor:default;opacity:.45}
.dia-comando-leitura{display:grid;grid-template-columns:112px minmax(125px,1fr);align-items:center;gap:13px;
  min-width:0;padding-left:22px;border-left:1px solid rgba(255,255,255,.11)}
.dia-progresso{width:105px;height:105px;display:grid;place-items:center;border-radius:50%;
  background:conic-gradient(#8b5cf6 0 var(--dia-progresso),rgba(255,255,255,.09) var(--dia-progresso) 360deg);
  box-shadow:0 0 28px rgba(139,92,246,.17)}
.dia-progresso::before{content:"";grid-area:1/1;width:82px;height:82px;border:1px solid rgba(255,255,255,.09);
  border-radius:50%;background:#11162a}
.dia-progresso>div{z-index:1;grid-area:1/1;display:flex;align-items:center;flex-direction:column}
.dia-progresso b{font-size:22px;line-height:1;letter-spacing:-.04em}.dia-progresso span{margin-top:4px;color:#969eb3;font-size:8.5px;text-transform:uppercase}
.dia-comando-numeros{display:grid;gap:7px}.dia-comando-numeros article{display:flex;align-items:baseline;justify-content:space-between;
  gap:10px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.08)}
.dia-comando-numeros article:last-child{padding-bottom:0;border-bottom:0}
.dia-comando-numeros b{color:#fff;font-size:19px;line-height:1;font-variant-numeric:tabular-nums}
.dia-comando-numeros b small{color:#777f96;font-size:10px}.dia-comando-numeros span{max-width:95px;color:#aeb5c8;font-size:9.3px;line-height:1.25;text-align:right}
.dia-comando-sync{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.dia-comando .opsv-sincronia{border-color:rgba(94,234,212,.13);background:rgba(94,234,212,.06)}
.dia-comando .opsv-sincronia b{color:#86efac}.dia-comando .opsv-sincronia span{color:#8e96aa}
.dia-comando .opsv-btn-icone{border-color:rgba(255,255,255,.14)!important;background:rgba(255,255,255,.06)!important;color:#d6d9e4!important}
.dia-comando .opsv-btn-icone:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.dia-busca{grid-column:1/3;width:100%;max-width:none;margin-top:1px;border-color:rgba(255,255,255,.11);
  background:rgba(255,255,255,.065)}
.dia-busca>.opsv-icone{color:#9da5b8}.dia-busca input{height:40px;color:#fff}.dia-busca input::placeholder{color:#81899d}
.dia-busca span{color:#c9c0ed}.dia-busca:focus-within{border-color:rgba(167,139,250,.65);background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(139,92,246,.13)}

.dia-prioridades{grid-template-columns:minmax(245px,.62fr) minmax(0,1.7fr);padding:10px;border-color:#e8def8;
  background:linear-gradient(110deg,#f7f3ff,#fff 52%);box-shadow:0 5px 18px rgba(83,45,137,.05)}
.dia-prioridades-titulo{gap:11px;padding:2px 15px 2px 2px;border-color:#e8def5}
.dia-prioridades-icone{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:11px;
  background:#ede5ff;color:#7440d2}.dia-prioridades-icone .opsv-icone{width:19px;height:19px}
.dia-prioridades-titulo>div>span{margin:0;color:#7952bd;font-size:8.5px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.dia-prioridades-titulo>div>b{margin-top:2px;color:#29243a;font-size:14px}.dia-prioridades-titulo>div>small{margin-top:2px;color:#8c8498;font-size:9px}
.dia-prioridades-acoes{gap:8px}.dia-atalho{position:relative;min-width:130px;min-height:53px;padding:8px 11px 8px 15px;overflow:hidden}
.dia-atalho::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#8b5cf6}
.dia-atalho.perigo::before{background:#dc5964}.dia-atalho.aviso::before{background:#e5a63e}
.dia-atalho b{font-size:18px}.dia-atalho span{font-size:9.4px}

.dia-alerta-card{min-height:72px;border-radius:14px}.dia-alerta-card .btn{min-width:70px}
.dia-page .dia-kpis{grid-template-columns:repeat(6,minmax(150px,1fr));gap:9px;margin-bottom:14px}
.dia-page .dia-kpi{position:relative;display:grid;grid-template-columns:41px minmax(0,1fr) auto;gap:10px;
  min-height:94px;padding:12px 11px;overflow:hidden;border-radius:14px}
.dia-page .dia-kpi::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#8b5cf6}
.dia-page .dia-kpi.verde::before{background:#31b76a}.dia-page .dia-kpi.roxo::before{background:#9a55d1}
.dia-page .dia-kpi.azul::before{background:#408cdd}.dia-page .dia-kpi.laranja::before{background:#e69c3d}
.dia-page .dia-kpi.neutro::before{background:#7b8496}.dia-page .dia-kpi .opsv-kpi-icone{width:39px;height:39px;border-radius:11px}
.dia-page .dia-kpi>div{align-self:center}.dia-page .dia-kpi>div>span:not(.opsv-kpi-icone){order:0;margin:0;color:#777f90;font-size:8.8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.dia-page .dia-kpi>div>b{order:1;margin-top:5px;font-size:23px}.dia-page .dia-kpi>div>small{order:2;margin-top:4px}
.dia-page .dia-kpi>em{align-self:center;color:#8c70c4;font-size:8.5px;font-style:normal;font-weight:750;white-space:nowrap;opacity:0;transform:translateX(4px);transition:.15s}
.dia-page .dia-kpi:hover>em{opacity:1;transform:none}
.dia-page .dia-kpi.neutro b{font-size:17px}

.dia-layout{grid-template-columns:minmax(690px,1fr) minmax(320px,360px);gap:14px}.dia-agenda{min-height:410px;border-radius:16px}
.dia-agenda-cab{min-height:74px;padding:13px 15px}.dia-agenda-cab .opsv-painel-icone{background:linear-gradient(145deg,#ede5ff,#f7f4ff);box-shadow:inset 0 0 0 1px #e2d6fb}
.dia-tabela-wrap{max-height:680px}.dia-tabela th{height:42px;background:#faf9fc}.dia-tabela td{height:81px}
.dia-agenda-vazia{min-height:300px;display:flex;align-items:center;justify-content:center;gap:28px;padding:35px;text-align:left}
.dia-vazia-ilustracao{position:relative;width:112px;height:112px;display:grid;place-items:center;flex:none;border:1px solid #e2d6fa;
  border-radius:32px;background:radial-gradient(circle at 35% 30%,#fff,#f0e9ff);box-shadow:0 15px 30px rgba(84,51,137,.09);color:#7741d9;transform:rotate(-3deg)}
.dia-vazia-ilustracao>.opsv-icone{width:41px;height:41px}.dia-vazia-ilustracao i{position:absolute;width:18px;height:18px;border-radius:7px;background:#d9cdf6}
.dia-vazia-ilustracao i:nth-child(2){right:-9px;top:17px}.dia-vazia-ilustracao i:nth-child(3){left:-8px;bottom:18px;background:#c8eee3}
.dia-agenda-vazia>div{max-width:400px}.dia-vazia-selo{display:inline-block;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#ecf9f2;color:#247c4c;font-size:8.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.dia-agenda-vazia b{display:block;color:#272c3a;font-size:19px;letter-spacing:-.025em}.dia-agenda-vazia p{margin:7px 0 15px;color:#7b8292;font-size:11px;line-height:1.5}
.dia-agenda-vazia>div>div{display:flex;gap:7px;flex-wrap:wrap}.dia-agenda-vazia .btn{min-height:35px}

.dia-lateral{gap:14px}.dia-buracos,.dia-whatsapp{border-radius:16px}.dia-conversas-lista>article{grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:72px;padding:10px 12px}
.dia-conversas-lista>article>i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f0eafd;color:#6b34cc;font-size:9px;font-style:normal;font-weight:850}
.dia-conversas-lista>article>div>span{display:inline-block;max-width:100%;overflow:hidden;padding:2px 6px;border-radius:999px;background:#eaf3ff;color:#216aa9;font-size:7.8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.dia-conversas-lista b{margin-top:4px;font-size:11.2px}.dia-conversas-lista p{margin-top:3px}
.dia-abrir-atendente{min-height:36px;border-color:#6f3bcd!important;background:#7138e8!important;color:#fff!important}
.dia-abrir-atendente:hover{background:#5f2bc7!important}.dia-whatsapp .opsv-contador{background:#e7f2ff;color:#176ab8}

@media(max-width:1600px){
  .dia-page .dia-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}
  .dia-layout{grid-template-columns:minmax(620px,1fr) minmax(300px,330px)}
}
@media(max-width:1180px){
  .dia-comando{grid-template-columns:1fr minmax(330px,.72fr)}
  .dia-layout{grid-template-columns:1fr}.dia-lateral{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .dia-comando{grid-template-columns:1fr;padding:21px}.dia-comando-leitura{padding:16px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}
  .dia-busca{grid-column:1}.dia-prioridades{grid-template-columns:1fr}.dia-prioridades-titulo{padding:2px 2px 10px;border-right:0;border-bottom:1px solid #e8def5}
  .dia-page .dia-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .dia-comando{margin:0 -2px 12px;padding:18px 15px;border-radius:16px}.dia-comando h1{font-size:24px}.dia-comando-principal>p{font-size:11.5px}
  .dia-comando-leitura{grid-template-columns:88px minmax(0,1fr)}.dia-progresso{width:82px;height:82px}.dia-progresso::before{width:64px;height:64px}.dia-progresso b{font-size:17px}
  .dia-comando-sync{grid-column:1/3}.dia-navegacao label{flex:1}.dia-navegacao input{width:100%}
  .dia-page .dia-kpi{grid-template-columns:36px minmax(0,1fr);min-height:88px;padding:10px}.dia-page .dia-kpi .opsv-kpi-icone{width:35px;height:35px}.dia-page .dia-kpi>em{display:none}
  .dia-agenda-vazia{min-height:285px;flex-direction:column;gap:18px;text-align:center}.dia-vazia-ilustracao{width:86px;height:86px;border-radius:26px}.dia-vazia-ilustracao>.opsv-icone{width:34px;height:34px}.dia-agenda-vazia>div>div{justify-content:center}
  .dia-lateral{grid-template-columns:1fr}
}
@media(max-width:470px){
  .dia-page .dia-kpis{grid-template-columns:1fr}.dia-comando-sync{align-items:stretch;flex-direction:column}.dia-comando .opsv-btn-icone{width:100%}
  .dia-alerta-card{grid-template-columns:34px minmax(0,1fr)}.dia-alerta-card>.btn{grid-column:2}.dia-agenda-vazia{padding:26px 14px}
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:'Segoe UI',Roboto,system-ui,Arial,sans-serif;color:var(--tinta);background:var(--fundo);font-size:14px}
button{font-family:inherit;cursor:pointer}
.hidden{display:none!important}

/* ---- layout ---- */
#app{display:flex;height:100vh;overflow:hidden}
#login:not(.hidden)+#app{display:none!important}
#sidebar{width:76px;background:linear-gradient(180deg,var(--sb-1),var(--sb-2));display:flex;flex-direction:column;align-items:center;padding:10px 0 12px;gap:3px;z-index:40;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
#sidebar .marca{width:42px;height:42px;border-radius:13px;margin:0 0 10px;display:grid;place-items:center;background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff;font-weight:800;font-size:19px;letter-spacing:.5px;box-shadow:0 3px 10px rgba(0,0,0,.28);flex:none;user-select:none}
#sidebar .sb-div{height:1px;width:44px;background:rgba(255,255,255,.18);margin:6px 0;flex:none}
#sidebar .ico{width:64px;min-height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--sb-tinta);opacity:.8;border:none;background:transparent;transition:background .15s,opacity .15s;padding:7px 0}
#sidebar .ico .gl{font-size:18px;line-height:1;display:grid;place-items:center}
#sidebar .ico .gl svg{width:20px;height:20px}
#sidebar .ico .lb{font-size:9.5px;letter-spacing:.25px;font-weight:600;line-height:1.15;text-align:center;max-width:62px}
#sidebar .ico:hover{background:rgba(255,255,255,.15);opacity:1}
#sidebar .ico.on{background:#fff;color:var(--magenta);opacity:1;box-shadow:0 3px 10px rgba(0,0,0,.25)}
#sidebar .sep{flex:1}

/* flyout */
#flyout{position:fixed;left:76px;top:0;height:100vh;width:292px;background:#fff;box-shadow:0 8px 40px rgba(20,10,50,.22);border-right:1px solid var(--linha);border-radius:0 18px 18px 0;transform:translateX(-115%);transition:.18s;z-index:30;padding:14px 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
#flyout .row{flex-wrap:nowrap}
#flyout h3{white-space:nowrap}
#flyout .fly-busca{width:100%;padding:9px 12px;border:1px solid var(--linha);border-radius:9px;font-size:13.5px;background:var(--fundo)}
#flyout .fly-busca:focus{outline:2px solid var(--magenta);outline-offset:-1px;background:#fff}
#flyout.open{transform:translateX(0)}
#flyout h3{color:var(--magenta-2);margin:6px 18px 10px;font-size:15px}
#flyout a{display:block;padding:10px 20px;color:var(--tinta);text-decoration:none;font-size:13.5px;cursor:pointer;border-left:3px solid transparent}
#flyout a:hover{background:var(--fundo)}
#flyout a.on{background:#ede7fd;color:var(--magenta-2);font-weight:600;border-left-color:var(--magenta)}

#main{flex:1;display:flex;flex-direction:column;min-width:0}
#topbar{height:56px;background:#fff;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:14px;padding:0 18px}
#topbar .titulo{font-size:18px;font-weight:600}
#topbar .cresc{flex:1}
#topbar .unidade{color:var(--cinza)}
#topbar .avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;letter-spacing:.5px;box-shadow:0 2px 6px rgba(109,40,217,.35);flex:none}
#topbar .quem{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
#topbar .quem .qn{font-size:13px;font-weight:600;color:var(--tinta)}
#topbar .quem .qp{font-size:11px;color:var(--cinza)}
#sino svg{width:18px;height:18px;color:#7a7f8c}
#sino.vermelho svg{color:var(--vermelho-b)}
#sino.amarelo svg{color:var(--amarelo-b)}
#sino.verde svg{color:#5c9a6f}
/* FAIXA DO GRUPO NA MOVA (Reinaldo, 03/09/2026): os irmãos da tela aberta, no
   alto, pra trocar de subgrupo sem voltar na barra lateral. Fora da Mova ela
   nem existe — o atributo hidden vem do app.js e a regra abaixo o respeita. */
#grupo-faixa{display:flex;align-items:center;gap:12px;padding:7px 18px;background:#fff;
  border-bottom:1px solid var(--linha);overflow:hidden;flex:none}
#grupo-faixa[hidden]{display:none}
.gf-secao{flex:none;font:800 10.5px/1.2 inherit;letter-spacing:.11em;text-transform:uppercase;color:#7a6f8c}
.gf-abas{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:none}
.gf-abas::-webkit-scrollbar{display:none}
.gf-aba{display:flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid transparent;
  border-radius:9px;background:transparent;color:#5d6472;font:600 12.5px/1.2 inherit;
  white-space:nowrap;cursor:pointer}
.gf-aba:hover{background:#f1edfb;color:#6d28d9}
.gf-aba.on{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);
  box-shadow:0 3px 9px rgba(109,40,217,.23)}
.gf-aba:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}
.gf-ic{font-size:13px;opacity:.8}
.gf-aba.on .gf-ic{opacity:1}
@media(max-width:820px){#grupo-faixa{padding:6px 12px;gap:8px}.gf-secao{display:none}}

#view{flex:1;overflow:auto;padding:18px}
#view .pane{display:none}
#view .pane.on{display:block}
#rodape{height:26px;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;color:#9aa0ab;font-size:12px;background:#fff;border-top:1px solid var(--linha)}
#rodape b{color:var(--magenta-2)}

/* barra de tarefas: as abas abertas ficam aqui embaixo (nada se perde ao navegar) */
#taskbar{display:flex;gap:6px;align-items:center;padding:5px 10px;background:#fff;border-top:1px solid var(--linha);overflow-x:auto;min-height:36px}
#taskbar:empty{display:none}
#taskbar .tab{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--linha);border-radius:8px;font-size:12.5px;color:var(--tinta);cursor:pointer;white-space:nowrap;background:#fbfbfd}
#taskbar .tab:hover{border-color:var(--magenta);background:#f5f1fe}
#taskbar .tab.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}
#taskbar .tab .x{font-weight:700;opacity:.6;padding:0 2px;cursor:pointer}
#taskbar .tab .x:hover{opacity:1}

/* ---- componentes ---- */
.btn{background:var(--magenta);color:#fff;border:none;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600}
.btn:hover{background:var(--magenta-2)}
.btn.ghost{background:#fff;color:var(--magenta-2);border:1px solid #bfe0ff}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:7px}
.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-size:12px;color:var(--cinza)}
.field input,.field select{padding:9px 10px;border:1px solid var(--linha);border-radius:8px;font-size:14px;background:#fff;min-width:160px}
.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.tag{background:#eef2f7;border-radius:6px;padding:2px 8px;font-size:12px;margin:2px 4px 2px 0;display:inline-block}
h2.sec{font-size:16px;margin:2px 0 12px}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.kpi{padding:16px}
.kpi .n{font-size:28px;font-weight:700}
.kpi .l{color:var(--cinza);font-size:13px;margin-top:2px}
.kpi.bad .n{color:var(--vermelho-b)} .kpi.good .n{color:var(--verde-b)} .kpi.mag .n{color:var(--magenta-2)}

/* tabela */
table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linha);font-size:13px}
th{color:var(--cinza);font-weight:600;background:#fbfbfd}
tr:hover td{background:#f5faff}

/* ---- agenda grade ---- */
.agenda-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.modo-btn{border:1px solid var(--linha);background:#fff;border-radius:8px;padding:7px 12px;color:var(--tinta)}
.modo-btn.on{background:var(--magenta);color:#fff;border-color:var(--magenta)}
.grade-wrap{overflow:auto;border:1px solid var(--linha);border-radius:var(--raio);background:#fff;position:relative}
.grade{position:relative;display:grid}
.col-head{position:sticky;top:0;background:#fff;z-index:5;border-bottom:1px solid var(--linha);text-align:center;font-weight:600;padding:10px 4px;border-left:1px solid var(--linha);font-size:13px}
.col-head.hora{border-left:none}
.time-col{border-right:1px solid var(--linha)}
.time-cell{height:var(--rh);font-size:11px;color:#9aa0ab;text-align:right;padding-right:6px;border-bottom:1px dashed #f0f1f5;font-weight:600;line-height:var(--rh);overflow:visible;white-space:nowrap}
.time-min{font-size:9.5px;font-weight:400;color:#c2c7d0}
/* Novo Agendamento: o porque de nao ter horario, em cima da grade (nao so no toast) */
.nv-alerta{margin-bottom:6px;font-size:13px;line-height:1.5;background:#fff4e5;color:#8a4b08;
  border:1px solid #fdba74;border-left:4px solid #e0a800;border-radius:8px;padding:9px 12px}
.lanegrid{position:relative;border-left:1px solid var(--linha)}
.laneline{height:var(--rh);border-bottom:1px dashed #f2f3f7}
.laneline.hora0{border-bottom:1px solid #e9eaf0}
.ev{position:absolute;left:2px;width:calc(100% - 4px);border-radius:8px;padding:4px 6px;font-size:11px;overflow:hidden;border-left:4px solid;box-shadow:0 1px 2px rgba(0,0,0,.06);cursor:pointer;box-sizing:border-box}
.ev b{font-size:11px}
.ev .sv{color:#555;line-height:1.25}
.ev .rk{float:right;font-size:11px;line-height:1;color:var(--vermelho-b)}
.ev.Confirmado{background:var(--verde);border-color:var(--verde-b)}
.ev.Marcado{background:var(--verdeclaro);border-color:#7bc79a}
.ev.Aguardando{background:var(--amarelo);border-color:var(--amarelo-b)}
.ev.Atendido{background:#eef1f6;border-color:#9aa4b5;opacity:.75}
.ev.Cancelado,.ev.Faltou,.ev.Desmarcado,.ev\.Excluído{background:var(--vermelho);border-color:var(--vermelho-b);opacity:.7}
.ev.bloqueio{background:repeating-linear-gradient(45deg,#fdecec,#fdecec 6px,#fbe0e0 6px,#fbe0e0 12px);border-color:var(--vermelho-b)}

.status-Confirmado{background:var(--verde);color:var(--verde-b)}
.status-Marcado{background:var(--verdeclaro);color:#2e8b57}
.status-Aguardando{background:var(--amarelo);color:#8a6d00}
.status-Atendido{background:#eef1f6;color:#5b6472}
.status-Cancelado,.status-Faltou,.status-Desmarcado{background:var(--vermelho);color:var(--vermelho-b)}

/* Novo Agendamento: contrato à esquerda + agenda ao vivo à direita (pedido do Reinaldo) */
.ag2{display:grid;grid-template-columns:400px 1fr;gap:16px;align-items:start}
@media(max-width:1100px){.ag2{grid-template-columns:1fr}}
.area-item{display:flex;gap:10px;padding:8px 10px;border-bottom:1px solid #f2f3f7;align-items:flex-start}
.area-item:last-child{border-bottom:none}
.area-item.bloq{opacity:.6}
.area-item input[type=checkbox]{margin-top:3px}
.area-meta{font-size:11.5px;color:var(--cinza);margin-top:2px}
.laneline.slot-ok{background:#e6f8ed;border-bottom-color:#c4ecd2;cursor:pointer}
.laneline.slot-ok:hover{background:#d2f2df}

/* toasts: aviso que não trava a tela (substitui alert em erro de API) */
#toasts{position:fixed;right:16px;bottom:52px;z-index:30000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,90vw)}
.toast{padding:11px 14px;border-radius:10px;font-size:13.5px;color:#fff;background:var(--vermelho-b);
  box-shadow:0 6px 24px rgba(20,20,40,.18);transition:opacity .3s;animation:toast-in .18s ease-out}
.toast.ok{background:var(--verde-b)}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}

/* modal */
#modal{position:fixed;inset:0;background:rgba(20,15,30,.35);display:none;place-items:center;z-index:10010}
#modal.open{display:grid}
.modal-card{width:min(560px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:20px}
.modal-card h3{margin:0 0 12px}
.close-x{float:right;border:none;background:#eef2f7;border-radius:8px;width:30px;height:30px;font-size:16px}
.modal-secundario{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;
  padding:18px;background:rgba(20,15,30,.48);box-sizing:border-box}
.modal-secundario-card{width:min(620px,94vw);max-height:calc(100dvh - 36px);
  box-shadow:0 26px 70px rgba(20,15,30,.32)}
.opcao{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--linha);border-radius:10px;margin-bottom:8px}
.opcao:hover{border-color:var(--magenta);background:#f5f1fe}
.encaixe-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}
@media (max-width:1100px){.encaixe-layout{grid-template-columns:1fr}}
.muted{color:var(--cinza)}
.detalhe b{display:inline-block;min-width:120px;color:var(--cinza);font-weight:600}

/* ---- login principal ---- */
#login{position:fixed;inset:0;display:grid;place-items:center;padding:22px;z-index:100;background:radial-gradient(circle at 8% 12%,rgba(108,71,177,.12),transparent 30rem),radial-gradient(circle at 92% 88%,rgba(54,153,128,.08),transparent 28rem),#f4f4f8;overflow:auto}
.login-shell{width:min(960px,100%);min-height:590px;display:grid;grid-template-columns:minmax(330px,.92fr) minmax(390px,1.08fr);overflow:hidden;background:#fff;border:1px solid #e2e3e9;border-radius:25px;box-shadow:0 25px 75px rgba(32,25,49,.14),0 3px 12px rgba(32,25,49,.05)}
.login-showcase{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:42px 40px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#24143f,#3f256c 58%,#6645a5)}
.login-showcase:before{content:"";position:absolute;z-index:-1;width:360px;height:360px;right:-195px;top:-155px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.025)}
.login-showcase:after{content:"";position:absolute;z-index:-1;width:380px;height:380px;left:-220px;bottom:-245px;border-radius:50%;background:radial-gradient(circle,rgba(88,210,174,.16),transparent 68%)}
.login-brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:850;letter-spacing:1.7px}
.login-mark{width:61px;height:61px;display:grid;place-items:center;flex:none;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.08)}
.login-mark img{width:71px;height:71px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(17,7,32,.2))}
.login-nome{display:flex;flex-direction:column;line-height:1}.login-nome small{margin-top:5px;color:#cfc2e4;font-size:10px;font-weight:650;letter-spacing:.8px;text-transform:uppercase}
.login-showcase-copy{margin:auto 0;padding:58px 0 44px}.login-showcase-copy>span{display:inline-flex;padding:5px 9px;border:1px solid rgba(255,255,255,.13);border-radius:99px;background:rgba(255,255,255,.08);color:#ded4ee;font-size:9.5px;font-weight:750;letter-spacing:.7px;text-transform:uppercase}
.login-showcase-copy h1{margin:16px 0 12px;color:#fff;font-size:32px;line-height:1.12;letter-spacing:-.7px}.login-showcase-copy p{max-width:320px;margin:0;color:#d2c7e4;font-size:13px;line-height:1.65}
.login-protecao{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055)}.login-protecao strong{font-size:11px}.login-protecao span{color:#cfc5df;font-size:10.5px;line-height:1.45}
.login-card{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:54px 58px;text-align:left;background:#fff}
.login-etapa{color:#6941b5;font-size:10px;font-weight:800;letter-spacing:.85px;text-transform:uppercase}.login-card h2{margin:9px 0 0;color:#1d2432;font-size:29px;line-height:1.2;letter-spacing:-.55px}.login-sub{margin:7px 0 18px;color:#737c8d;font-size:13px;line-height:1.55}
.login-lb{display:block;margin:13px 0 6px;color:#424b5c;font-size:12.5px;font-weight:700}.login-input-wrap{position:relative}.login-input-wrap>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#969dab;font-size:13px;font-weight:700;pointer-events:none}
#login input{width:100%;height:47px;padding:0 45px 0 13px;color:#202737;background:#fff;border:1px solid #d6dae3;border-radius:11px;outline:0;font-size:14px;transition:border-color .14s,box-shadow .14s,background .14s}#login input:hover{border-color:#b9afca}#login input:focus{border-color:#7952c3;background:#fff;box-shadow:0 0 0 3px rgba(111,70,187,.13)}#login input[aria-invalid="true"]{border-color:#bd4550;box-shadow:0 0 0 3px rgba(189,69,80,.1)}#login input:disabled{background:#f5f6f8;color:#858c99}
.login-ver-senha{position:absolute;right:5px;top:50%;height:36px;padding:0 9px;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:#6d4daf;font-size:10.5px;font-weight:750;cursor:pointer;text-transform:uppercase}.login-ver-senha:hover{background:#f2edfa}.login-ver-senha .ocultar{display:none}.login-ver-senha[aria-pressed="true"] .ver{display:none}.login-ver-senha[aria-pressed="true"] .ocultar{display:inline}
.login-caps{margin-top:8px;padding:7px 9px;border:1px solid #efdfb8;border-radius:8px;background:#fff8e8;color:#855407;font-size:11px;font-weight:650}.login-caps[hidden]{display:none}
.login-btn{width:100%;height:48px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;background:linear-gradient(135deg,#754bc5,#5d34ad);color:#fff;font-size:13px;font-weight:750;box-shadow:0 8px 18px rgba(98,56,177,.2)}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px rgba(98,56,177,.25)}.login-btn:disabled{opacity:.72;cursor:wait;box-shadow:none}.login-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:login-gira .72s linear infinite}.login-btn.busy .login-spinner{display:block}@keyframes login-gira{to{transform:rotate(360deg)}}
.login-err{min-height:18px;margin-top:8px;color:#a23540;font-size:12px;line-height:1.45}.login-err:not(:empty){padding:8px 10px;border:1px solid #f0ced2;border-radius:9px;background:#fff2f3}
.login-ajuda{margin:12px 0 0;color:#858d9b;font-size:10.5px;line-height:1.5;text-align:center}.login-foot{margin-top:24px;color:#969dac;font-size:10px;letter-spacing:.4px;text-align:center}.login-foot b{color:#673caf;letter-spacing:.3px}
@media(max-width:760px){#login{padding:0;place-items:stretch;background:#fff;overflow-x:hidden}.login-shell{width:100%;max-width:100%;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:180px minmax(0,1fr);align-content:start;border:0;border-radius:0;box-shadow:none}.login-showcase{width:100%;max-width:100%;min-height:0;padding:22px 24px 25px;justify-content:flex-start}.login-mark{width:52px;height:52px;border-radius:15px}.login-mark img{width:62px;height:62px}.login-showcase-copy{margin:20px 0 0;padding:0}.login-showcase-copy>span,.login-showcase-copy p,.login-protecao{display:none}.login-showcase-copy h1{margin:0;font-size:22px}.login-card{width:100%;max-width:100%;min-width:0;overflow:hidden;padding:32px max(24px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));justify-content:flex-start}.login-card>*{max-width:100%}.login-input-wrap,.login-btn{width:100%;max-width:100%}.login-card h2{font-size:25px}}
@media(max-width:390px){.login-card{padding-inline:18px}.login-showcase{padding-inline:18px}#login input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation-duration:.001ms}.login-btn{transition:none}}

/* ---- WhatsApp da Clínica: inteligência operacional ---- */
.wa-wrap{position:relative;min-height:calc(100vh - 140px);color:#172033;font-family:Inter,"Segoe UI",Arial,sans-serif}
.wa-carregando{min-height:320px;display:flex;align-items:center;justify-content:center;gap:10px;color:#657086;font-size:13px}.wa-carregando span{width:14px;height:14px;border:2px solid #ddd3f7;border-top-color:#7440db;border-radius:50%;animation:login-gira .7s linear infinite}
.wa-sobretitulo{display:block;margin-bottom:7px;color:#7c42e8;font-size:9.5px;font-weight:850;letter-spacing:1.7px;text-transform:uppercase}
.wa-operacao-topo{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(390px,.92fr);gap:12px;margin-bottom:12px}.wa-topo-manifesto,.wa-topo-radar{position:relative;min-height:315px;overflow:hidden;border-radius:22px;box-shadow:0 16px 38px rgba(21,16,38,.12)}
.wa-topo-manifesto{display:flex;flex-direction:column;justify-content:center;padding:29px 32px;border:1px solid #382266;background:radial-gradient(circle at 95% 5%,rgba(76,202,255,.2),transparent 32%),radial-gradient(circle at 78% 100%,rgba(244,79,151,.18),transparent 30%),linear-gradient(140deg,#170d2b 0%,#2d1760 55%,#49249a 100%);color:#fff}.wa-topo-manifesto:after{content:"";position:absolute;right:-58px;top:-78px;width:230px;height:230px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02)}.wa-topo-manifesto>*{position:relative;z-index:1}.wa-topo-manifesto .wa-sobretitulo{color:#71d8ff}.wa-topo-manifesto h2{margin:0;color:#fff;font-size:clamp(31px,3vw,46px);line-height:1.02;letter-spacing:-1.8px}.wa-topo-manifesto h2 em{color:#d4baff;font-family:Georgia,serif;font-weight:500}.wa-topo-manifesto>p{max-width:610px;margin:15px 0 18px;color:#c3bad8;font-size:12.5px;line-height:1.58}.wa-topo-numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:15px}.wa-topo-numeros>div{padding:10px 11px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(9,7,18,.22);backdrop-filter:blur(8px)}.wa-topo-numeros b,.wa-topo-numeros span{display:block}.wa-topo-numeros b{font-size:19px;line-height:1}.wa-topo-numeros span{margin-top:5px;color:#bdb3d2;font-size:8.5px}.wa-hero-selos{display:flex;gap:7px;flex-wrap:wrap}.wa-hero-selos span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(10,7,20,.28);color:#ddd5ed;font-size:9px;font-weight:750}.wa-hero-selos i,.wa-motor-selo i{width:7px;height:7px;border-radius:50%;background:#35da83;box-shadow:0 0 0 4px rgba(53,218,131,.12)}.wa-hero-selos .off i{background:#f06c70;box-shadow:0 0 0 4px rgba(240,108,112,.12)}
.wa-topo-radar{display:flex;flex-direction:column;padding:18px 20px 13px;border:1px solid #dcd5e8;background:radial-gradient(circle at 50% 50%,#f6f0ff 0%,#fff 54%,#f8fbff 100%)}.wa-radar-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:2}.wa-radar-cab>span{color:#77668f;font-size:8.5px;font-weight:850;letter-spacing:1.4px}.wa-radar-cab>b{display:flex;align-items:center;gap:7px;color:#26734a;font-size:9px;text-transform:uppercase}.wa-radar-cab>b i{width:7px;height:7px;border-radius:50%;background:#36cf7d;box-shadow:0 0 0 4px #e1f7eb}.wa-radar-palco{position:relative;min-height:220px;flex:1}.wa-radar-anel{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.wa-radar-anel.a1{width:180px;height:180px;border:1px solid #ddd1f3}.wa-radar-anel.a2{width:145px;height:145px;border:1px dashed #a78ae0}.wa-radar-anel.a3{width:108px;height:108px;background:radial-gradient(circle,rgba(117,64,218,.13),transparent 68%);box-shadow:0 0 38px rgba(104,52,207,.14)}.wa-radar-centro{position:absolute;left:50%;top:50%;z-index:2;width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);border:1px solid #6f3ec9;border-radius:50%;background:linear-gradient(145deg,#171224,#2a1847);color:#fff;box-shadow:0 12px 30px rgba(67,33,118,.24)}.wa-radar-centro>span{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:linear-gradient(135deg,#9663ff,#6650df);font-size:16px;font-weight:900}.wa-radar-centro>b{margin-top:5px;font-size:9px;letter-spacing:1.2px}.wa-radar-centro>small{color:#9f91b6;font-size:6.5px;letter-spacing:1px;text-transform:uppercase}.wa-radar-ponto{position:absolute;display:flex;align-items:center;gap:6px;color:#6f6680;font-size:8px;font-weight:750}.wa-radar-ponto i{width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#3d8bf2;box-shadow:0 0 0 4px #e3efff}.wa-radar-ponto.p1{left:9%;top:27%}.wa-radar-ponto.p2{right:8%;top:27%}.wa-radar-ponto.p2 i{background:#f28a3d;box-shadow:0 0 0 4px #fff0e4}.wa-radar-ponto.p3{left:10%;bottom:25%}.wa-radar-ponto.p3 i{background:#8c55e8;box-shadow:0 0 0 4px #eee6fb}.wa-radar-ponto.p4{right:8%;bottom:25%}.wa-radar-ponto.p4 i{background:#28b879;box-shadow:0 0 0 4px #e0f7ed}.wa-radar-rodape{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4ddec}.wa-radar-rodape>div{padding:10px 9px 0;border-right:1px solid #e8e2ee}.wa-radar-rodape>div:last-child{border:0}.wa-radar-rodape span,.wa-radar-rodape b{display:block}.wa-radar-rodape span{color:#9990a8;font-size:7px;font-weight:850;letter-spacing:.8px}.wa-radar-rodape b{margin-top:4px;color:#352b43;font-size:9px}
.wa-fluxo-faixa{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;margin-bottom:12px;padding:13px 15px;border:1px solid #ded8e8;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(27,22,40,.045)}.wa-fluxo-titulo span,.wa-fluxo-titulo b{display:block}.wa-fluxo-titulo span{color:#7b42d8;font-size:8px;font-weight:850;letter-spacing:1.1px}.wa-fluxo-titulo b{margin-top:4px;color:#4f5869;font-size:10px;line-height:1.35}.wa-fluxo-passos{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.wa-fluxo-passos>div{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:9px;border:1px solid #dfe5ee;border-radius:10px;background:#f8fbff}.wa-fluxo-passos>div:not(:last-child):after{content:"›";position:absolute;right:-7px;z-index:2;display:grid;width:14px;height:14px;place-items:center;border-radius:50%;background:#fff;color:#998cab;font-size:12px}.wa-fluxo-passos i{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:8px;background:#e3efff;color:#2775cc;font-size:7.5px;font-style:normal;font-weight:850}.wa-fluxo-passos b,.wa-fluxo-passos small{display:block}.wa-fluxo-passos b{font-size:9.5px}.wa-fluxo-passos small{margin-top:2px;color:#8790a0;font-size:7.5px}.wa-fluxo-passos .passo-laranja{background:#fff9f3}.wa-fluxo-passos .passo-laranja i{background:#ffead7;color:#c46316}.wa-fluxo-passos .passo-roxo{background:#faf7ff}.wa-fluxo-passos .passo-roxo i{background:#eee5ff;color:#6e37c6}.wa-fluxo-passos .passo-verde{background:#f4fbf7}.wa-fluxo-passos .passo-verde i{background:#dff5e9;color:#218255}
.wa-status-central{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:12px 15px;border-color:#e5e1ed;box-shadow:0 5px 16px rgba(23,32,51,.045)}.wa-status-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wa-status-info>div{display:flex;align-items:center;gap:7px}.wa-status-label{padding-right:11px;border-right:1px solid #e2ddea;color:#8a789f;font-size:9px;font-weight:850;letter-spacing:1.3px}.wa-status-acoes{justify-content:flex-end;gap:7px;flex-wrap:wrap}
.wa-abas{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 17px;padding:6px;border:1px solid #e4deee;border-radius:15px;background:#f5f2f9}.wa-abas button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:#667086;font-family:inherit;font-size:11.5px;font-weight:750;cursor:pointer;transition:.15s}.wa-abas button>span{color:#aa9dbc;font-size:8px;letter-spacing:1px}.wa-abas button:hover{background:#fff;color:#6130bd}.wa-abas button.on{background:#fff;color:#5d2db8;box-shadow:0 4px 14px rgba(54,35,88,.09)}.wa-abas button b{display:inline-grid;min-width:23px;height:20px;padding:0 6px;place-items:center;border-radius:999px;background:#ebe3fb;color:#6a34c5;font-size:9.5px}.wa-painel{display:none}.wa-painel.on{display:block}
.wa-intencoes{padding:4px 0}.wa-intencoes-cab,.wa-painel-titulo{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.wa-intencoes-cab .sec,.wa-painel-titulo h2{margin:0;font-size:18px;letter-spacing:-.3px}.wa-painel-titulo p{margin:0;color:#7e8798;font-size:11px}.wa-busca{display:flex;align-items:center;gap:7px;color:#657086;font-size:10.5px;font-weight:750}.wa-busca input{width:min(330px,34vw);height:38px;padding:0 12px;border:1px solid #dcd5e7;border-radius:10px;background:#fff;color:#172033;font:inherit;outline:0}.wa-busca input:focus{border-color:#8c64d4;box-shadow:0 0 0 3px rgba(111,70,187,.11)}.wa-busca-resumo{min-height:4px;font-size:10.5px;text-align:right}.wa-decisoes-grade{display:grid;gap:9px}.wa-intencao-item{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 14px;overflow:hidden;border:1px solid #e1dce8;border-radius:14px;background:#fff;box-shadow:0 4px 13px rgba(24,30,45,.035)}.wa-intencao-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--wa-intencao)}.wa-intencao-item.hidden{display:none!important}.wa-decisao-num{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--wa-intencao) 11%,white);color:var(--wa-intencao);font-size:9px;font-weight:850}.wa-decisao-corpo{min-width:0}.wa-decisao-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.wa-decisao-titulo{display:flex;align-items:baseline;gap:8px;margin-top:7px}.wa-decisao-titulo b{font-size:13px}.wa-decisao-titulo>span{color:#8a93a3;font-size:10px}.wa-decisao-fala{margin-top:5px;color:#626d80;font-size:11px;line-height:1.45}.wa-decisao-leitura{margin-top:7px;padding:7px 9px;border-radius:8px;background:#f6f3fb;color:#4a5261;font-size:10.5px;line-height:1.4}.wa-decisao-leitura span{margin-right:7px;color:#7b42d6;font-size:8px;font-weight:850;letter-spacing:.8px}.wa-decisao-agenda{margin-top:6px;color:#697386;font-size:10px}.wa-decisao-acoes{max-width:350px;display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.wa-mensagens-tabela{padding:0;overflow:auto}.wa-mensagens-tabela table{min-width:700px}.wa-mensagens-tabela tbody tr:hover{background:#faf8fd}
.wa-audio-painel{padding:2px 0}.wa-audio-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.wa-audio-cab h2{margin:0 0 5px;font-size:21px;letter-spacing:-.5px}.wa-audio-cab p{max-width:720px;margin:0;color:#6d7789;font-size:11.5px;line-height:1.55}.wa-motor-selo{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #cfeada;border-radius:999px;background:#effbf4;color:#246c45;font-size:8.5px;font-weight:850;letter-spacing:.5px;white-space:nowrap}.wa-audio-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.wa-audio-kpis>div{min-width:0;padding:15px 14px;border:1px solid #e1dce9;border-radius:13px;background:linear-gradient(155deg,#fff,#faf8fd)}.wa-audio-kpis span{display:block;color:#8a93a4;font-size:8px;font-weight:850;letter-spacing:.8px}.wa-audio-kpis b{display:block;margin:7px 0 5px;color:#232b3a;font-size:25px;line-height:1}.wa-audio-kpis small{display:block;color:#7c8595;font-size:9.5px;line-height:1.35}.wa-audio-kpis .kpi-verde{border-color:#ccebd9;background:#f2fbf6}.wa-audio-kpis .kpi-verde b{color:#208c54}.wa-audio-kpis .kpi-azul{border-color:#d3e6fb;background:#f2f8ff}.wa-audio-kpis .kpi-azul b{color:#2675cb}.wa-audio-kpis .kpi-alerta{border-color:#f0dfb5;background:#fffaee}.wa-audio-kpis .kpi-alerta b{color:#a76c04}.wa-audio-verdade{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;margin:11px 0 14px;padding:13px 15px;border:1px solid #eadcb8;border-radius:12px;background:#fffbf1;color:#5e5645}.wa-audio-verdade b{color:#805a12;font-size:11px}.wa-audio-verdade span{font-size:10.5px;line-height:1.5}.wa-audio-ferramentas{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 10px}.wa-audio-filtros{display:flex;gap:6px;flex-wrap:wrap}.wa-audio-filtros button{padding:7px 9px;border:1px solid #ddd7e7;border-radius:9px;background:#fff;color:#687285;font:inherit;font-size:9.5px;font-weight:750;cursor:pointer}.wa-audio-filtros button b{margin-left:4px;color:#7540d0}.wa-audio-filtros button.on{border-color:#7340d5;background:#7340d5;color:#fff}.wa-audio-filtros button.on b{color:#fff}.wa-audio-busca{display:flex;min-width:min(370px,38vw);overflow:hidden;border:1px solid #dcd5e7;border-radius:10px;background:#fff}.wa-audio-busca input{min-width:0;flex:1;height:36px;padding:0 11px;border:0;outline:0;font:inherit;font-size:10.5px}.wa-audio-busca button{padding:0 13px;border:0;border-left:1px solid #e3ddec;background:#f8f5fc;color:#6530c2;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer}.wa-audio-lista{display:grid;gap:7px}.wa-audio-item{display:grid;grid-template-columns:95px minmax(150px,.45fr) minmax(280px,1fr) auto;gap:12px;align-items:start;padding:12px 13px;border:1px solid #e0dbe8;border-radius:12px;background:#fff}.wa-audio-estado{display:flex;align-items:center;gap:6px;color:#677184;font-size:9px;font-weight:850;text-transform:uppercase}.wa-audio-estado span{width:8px;height:8px;border-radius:50%;background:#a76c04;box-shadow:0 0 0 4px #fff3d9}.wa-audio-item.is-transcrito .wa-audio-estado span{background:#21a462;box-shadow:0 0 0 4px #e4f7ed}.wa-audio-item.is-aguardando .wa-audio-estado span{background:#2b82dc;box-shadow:0 0 0 4px #e6f2ff}.wa-audio-identidade b,.wa-audio-identidade span{display:block}.wa-audio-identidade b{font-size:11px}.wa-audio-identidade span{margin-top:4px;color:#8790a0;font-size:9px}.wa-audio-explicacao{color:#667084;font-size:10px;line-height:1.45}.wa-audio-explicacao blockquote{margin:7px 0 0;padding:7px 9px;border-left:2px solid #8b5bdd;border-radius:0 7px 7px 0;background:#f7f4fb;color:#343b48;font-style:normal}.wa-audio-sem-player{color:#a27318;font-size:8.5px;font-weight:750}.wa-audio-player{grid-column:2/-1}.wa-audio-player audio{width:min(100%,620px);height:34px}.wa-audio-paginacao{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#7b8495;font-size:9.5px}.wa-audio-paginacao>div{display:flex;gap:6px}.wa-midia-regra{margin:14px 0 0;padding:10px 12px;border-left:3px solid #7240d2;border-radius:7px;background:#f6f3fb;color:#6f7888;font-size:10px;line-height:1.5}
@media(max-width:1180px){.wa-operacao-topo{grid-template-columns:1fr 1fr}.wa-fluxo-faixa{grid-template-columns:1fr}.wa-fluxo-titulo{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.wa-audio-kpis{grid-template-columns:repeat(3,1fr)}.wa-audio-item{grid-template-columns:90px minmax(140px,.4fr) minmax(240px,1fr)}}
@media(max-width:850px){.wa-operacao-topo{grid-template-columns:1fr}.wa-topo-manifesto,.wa-topo-radar{min-height:300px}.wa-fluxo-passos{grid-template-columns:repeat(2,1fr)}.wa-fluxo-passos>div:nth-child(2):after{display:none}.wa-abas{display:flex;overflow-x:auto}.wa-abas button{min-width:max-content;flex:1}.wa-intencao-item{grid-template-columns:34px minmax(0,1fr)}.wa-decisao-acoes{grid-column:2;max-width:none;justify-content:flex-start}.wa-audio-kpis{grid-template-columns:repeat(2,1fr)}.wa-audio-kpis>div:first-child{grid-column:1/-1}.wa-audio-verdade{grid-template-columns:1fr;gap:5px}.wa-audio-ferramentas{align-items:stretch;flex-direction:column}.wa-audio-busca{min-width:0;width:100%}.wa-audio-item{grid-template-columns:90px 1fr}.wa-audio-explicacao{grid-column:1/-1}.wa-audio-acoes{grid-column:2}.wa-audio-player{grid-column:1/-1}}
@media(max-width:620px){.wa-topo-manifesto{min-height:0;padding:24px 22px}.wa-topo-manifesto h2{font-size:32px}.wa-topo-numeros{grid-template-columns:1fr}.wa-topo-numeros>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.wa-topo-numeros span{margin:0}.wa-topo-radar{min-height:310px}.wa-radar-palco{min-height:210px}.wa-fluxo-faixa{padding:13px}.wa-fluxo-titulo{display:block}.wa-fluxo-passos{grid-template-columns:1fr}.wa-fluxo-passos>div:after{display:none!important}.wa-status-central{align-items:stretch;flex-direction:column}.wa-status-info{align-items:flex-start;flex-direction:column}.wa-status-label{padding:0;border:0}.wa-status-acoes{justify-content:stretch}.wa-status-acoes .btn{flex:1}.wa-intencoes-cab,.wa-painel-titulo,.wa-audio-cab{align-items:stretch;flex-direction:column}.wa-busca{align-items:stretch;flex-direction:column}.wa-busca input{width:100%}.wa-busca-resumo{text-align:left}.wa-intencao-item{grid-template-columns:1fr}.wa-decisao-num{display:none}.wa-decisao-acoes{grid-column:1}.wa-audio-kpis{grid-template-columns:1fr}.wa-audio-kpis>div:first-child{grid-column:auto}.wa-audio-item{grid-template-columns:1fr}.wa-audio-explicacao,.wa-audio-acoes,.wa-audio-player{grid-column:1}.wa-audio-paginacao{align-items:stretch;flex-direction:column}}

/* Pendências de contrato: tabela no computador, cartões legíveis no celular. */
@media(max-width:720px){
  .csa-tabela,.csa-tabela tbody,.csa-tabela tr,.csa-tabela td{display:block;width:100%}
  .csa-tabela thead{display:none}
  .csa-tabela tr{padding:8px 10px;border-bottom:1px solid var(--linha)}
  .csa-tabela tr:last-child{border-bottom:0}
  .csa-tabela td{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;padding:4px 0!important;text-align:left!important;overflow-wrap:anywhere}
  .csa-tabela td::before{content:attr(data-label);color:var(--cinza);font-size:10px;font-weight:750;letter-spacing:.35px;text-transform:uppercase}
  .csa-tabela td:last-child{display:flex;justify-content:flex-end;padding-top:7px!important}
  .csa-tabela td:last-child::before{display:none}
  .csa-tabela td .pill{display:inline-flex;max-width:100%;text-align:left}
}

/* ---- AGENDA IA: a camada de sugestao em AZUL (azul = cor da IA, pedido do Lucas) ---- */
:root{ --ia:#0369a1; --ia-forte:#0c4a6e; --ia-bg:#e3f2fd; --ia-borda:#7cc0f4; }
.ia-sec{margin-top:26px;border:1px solid var(--ia-borda);border-radius:var(--raio);background:linear-gradient(180deg,#f4faff,#fff);box-shadow:var(--sombra)}
.ia-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px dashed var(--ia-borda);flex-wrap:wrap}
.ia-titulo{color:var(--ia-forte);font-size:15px}
.ia-sub{color:var(--cinza);font-size:12px}
.ia-resumo{color:var(--ia);font-weight:600;font-size:12px}
#grade-ia-host{padding:6px}
.ev.ia-sug{background:var(--ia-bg);border:1.5px dashed var(--ia);color:var(--ia-forte);z-index:3;opacity:.96}
.ev.ia-sug:hover{background:#d3eafc}
.ev.ia-sug .sv{color:#1e6a9e}
.ia-obs{position:absolute;top:2px;right:4px;color:#b45309;font-weight:700}
.ia-cabe{margin:6px 0 10px;color:var(--tinta);line-height:1.5}
.ia-aviso{background:var(--amarelo);border-left:3px solid var(--amarelo-b);padding:8px 10px;border-radius:8px;font-size:12.5px;margin-bottom:10px}
.ia-bloco{background:#f4faff;border:1px solid var(--ia-borda);border-radius:10px;padding:10px 12px;margin:8px 0}
.ia-bloco.alerta{background:#fff7ed;border-color:#fdba74}
.ia-lista{margin:6px 0 0;padding-left:18px}
.ia-lista li{margin-bottom:7px;font-size:13px}
.ia-fonte{color:var(--cinza);font-size:11.5px;margin-top:1px}

/* ---- aba AGENDA IA (espelho da agenda real, sugestões em azul) ---- */
.ia-faixa{margin:2px 0 10px;padding:9px 14px;border:1px solid var(--ia-borda);border-left:4px solid var(--ia);
  border-radius:10px;background:linear-gradient(90deg,#eaf5ff,#fff);color:var(--tinta);font-size:13px}
.ia-chip{background:var(--ia-bg);border:1.5px dashed var(--ia);border-radius:6px;padding:0 6px;color:var(--ia-forte);font-weight:600}
.ia-vazio{padding:14px 18px;color:var(--cinza);font-size:13px;line-height:1.5;background:#f4faff}
.ia-vazio b{display:block;color:var(--ia-forte);margin-bottom:4px;font-size:13.5px}
.ia-placar{margin-top:10px;padding:10px 14px;border:1px solid var(--linha);border-radius:10px;background:#fff;
  color:var(--cinza);font-size:12.5px}
.ia-placar .okc{color:var(--verde-b)} .ia-placar .noc{color:var(--vermelho-b)}

/* ---- NOTIFICAÇÕES DE CANCELAMENTO ---- */
.nc-badge{position:absolute;top:4px;right:8px;background:#d64545;color:#fff;border-radius:999px;
  font-size:10px;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 4px;font-style:normal}
.nc-card{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra);
  padding:14px 16px;margin-bottom:12px}
.nc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;flex-wrap:wrap}
.nc-status{color:var(--vermelho-b);font-size:12px;font-weight:600;background:var(--vermelho);border-radius:6px;padding:1px 8px}
.nc-chip{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px}
.nc-chip.aberta{background:#fff4e5;color:#b45309;border:1px solid #fdba74}
.nc-chip.ok{background:var(--verde);color:var(--verde-b)}
.nc-chip.cinza{background:#f1f2f4;color:var(--cinza)}
.nc-risco{color:var(--vermelho-b);font-size:11.5px}
.nc-ia-tit{margin:10px 0 6px;font-weight:700;color:var(--ia-forte);font-size:13px}
.nc-dica{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  background:#f4faff;border:1px dashed var(--ia-borda);border-radius:10px;padding:8px 12px;margin-bottom:6px}
.nc-dica-info{font-size:13px;line-height:1.45}
.nc-motivo{color:#166534;font-size:12px}
.nc-alerta{color:#b45309;font-size:12px}

/* ---- central de AVISOS: falta urgente, vespera, sem resposta ---- */
.av-sec-tit{margin:16px 0 8px;font-weight:700;font-size:13.5px;color:var(--tinta)}
.av-urgente{background:#fff5f5;border:2px solid var(--vermelho-b);border-radius:var(--raio);
  box-shadow:var(--sombra);padding:16px 18px;margin-bottom:12px}
.av-urgente.plano{background:#fffdf5;border-color:#e0a800}
.av-urg-tit{font-size:17px;font-weight:800;color:var(--vermelho-b);margin-bottom:4px}
.av-urgente.plano .av-urg-tit{color:#9a6b00}
.av-urg-sub{font-size:13.5px;color:var(--tinta);line-height:1.5}
.av-card{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra);
  padding:12px 14px;margin-bottom:10px;font-size:13.5px;line-height:1.5}
.av-card.atencao{border-left:4px solid var(--vermelho-b)}
.av-card.compacto{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.av-msg{background:#f7f8fa;border-left:3px solid var(--linha);border-radius:6px;padding:7px 10px;
  margin:6px 0;font-style:italic;color:var(--cinza)}
.av-sessao{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;margin-top:8px}
.av-ok{background:var(--verde);color:var(--verde-b);border-radius:8px;padding:8px 12px;font-weight:600;margin-top:6px}

/* ---- acoes rapidas do card: confirmar e check-in ---- */
.ag-acoes{gap:8px;margin-top:12px;align-items:center;flex-wrap:wrap}
.ag-selo{font-size:12.5px;font-weight:600;border-radius:8px;padding:5px 10px}
.ag-selo.ok{background:var(--verde);color:var(--verde-b)}
.ag-selo.chegada{background:#e8f4fd;color:#1461a0}

/* ---- blocos do card de agendamento (10/08): contrato, planos e histórico ---- */
/* O card era só o formulário. O Belle mostra a ficha inteira ao abrir; agora o nosso também. */
.ag-bloco{border:1px solid var(--linha);border-radius:10px;padding:10px 12px;margin-top:12px;background:#fbfcfe}
.ag-bloco-tit{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--cinza)}
.ag-tab{width:100%;border-collapse:collapse;font-size:12.5px}
.ag-tab th{text-align:left;font-weight:600;color:var(--cinza);padding:3px 8px 6px 0;border-bottom:1px solid var(--linha);white-space:nowrap}
.ag-tab td{padding:5px 8px 5px 0;border-bottom:1px solid #eef1f5;vertical-align:top}
.ag-tab tr:last-child td{border-bottom:0}
.ag-zerado td{opacity:.55}
.ag-esg{color:var(--vermelho-b);font-size:11px;font-weight:700}
.ag-tab a{color:var(--magenta-2);text-decoration:none;font-weight:600}

/* ---- PALETA DO BELLE (10/08) ----------------------------------------------
   As cores vêm do próprio Belle: cada agendamento traz backgroundColor na API.
   Extraído de 16.988 registros reais, a cor mais usada por status:
     Atendido #6384ed · Marcado #95f68b · Confirmado #32CD32 · Cancelado/Desmarcado #f38135
     Bloqueado #fb5e5e · Em Andamento #a746e5 · (#e91e63 = pendência de contrato)
   Uso tom claro no fundo e a cor cheia na borda, pra o texto continuar legível.        */
/* AS CORES DO STATUS, do jeito que o Reinaldo pediu em 18/08. A escala conta a
   história do dia: amarelo (ainda não é agendamento) → verde (marcado, depois
   confirmado) → azul (na maca, depois atendido) → vermelho (faltou).
   Antes disso Cancelado e Faltou tinham a MESMA cor, e são coisas opostas:
   quem cancela libera o horário, quem falta não. */
.ev.Atendido{background:#bfd3fb;border-color:#1d4ed8;opacity:1}          /* AZUL ESCURO */
.ev.Marcado{background:#eafce8;border-color:#95f68b}                     /* VERDE CLARO */
.ev.Confirmado{background:#bbf3bb;border-color:#15803d}                  /* VERDE ESCURO */
.ev.Aguardando,.ev.Pre-agendado,.ev[class*="agendado"]{background:#fef3c7;border-color:#d99e0b}  /* AMARELO */
/* REMARCAÇÃO PRIORIDADE (Reinaldo, 02/09): AMARELO FORTE. O nome tem espaço,
   então a grade recebe duas classes; o data-ag-estado é a âncora sem acento. */
.ev[data-ag-estado="remarcacao-prioridade"],.ev.Remarcação.Prioridade{
  background:#fde047;border-color:#a16207;color:#422006}
.ev[data-ag-estado="remarcacao-prioridade"] .sv,.ev.Remarcação.Prioridade .sv{color:#5c3a06}
.ev.Faltou{background:#fecaca;border-color:#dc2626;opacity:1}            /* VERMELHO: fica na agenda */
.ev.Cancelado,.ev.Desmarcado,.ev.Reserva{background:#fdece0;border-color:#f38135;opacity:.85}
.ev\.Excluído{background:#fdece0;border-color:#f38135;opacity:.7}
/* AZUL pra quem está em atendimento (pedido do Reinaldo 18/08): na grade a
   especialista bate o olho e sabe quem está na maca agora. */
.ev.EmAndamento,.ev[class*="Andamento"]{background:#dbeafe;border-color:#2563eb}
.ev.bloqueio{background:repeating-linear-gradient(45deg,#ffe9e9,#ffe9e9 6px,#ffdcdc 6px,#ffdcdc 12px);border-color:#fb5e5e}
.ev.pendente-contrato{border-color:#e91e63}
.ev .sv{color:#4a5160}

/* cartões do Painel do Dia viram botão: o número é uma pergunta, clicar mostra quem está atrás */
.card.kpi.clicavel{cursor:pointer;transition:transform .08s ease, box-shadow .08s ease}
.card.kpi.clicavel:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.10)}
.card.kpi.clicavel:active{transform:translateY(0)}
.card.kpi.clicavel::after{content:'ver lista →';display:block;margin-top:6px;font-size:10.5px;color:#8a93a5;opacity:0;transition:opacity .12s}
.card.kpi.clicavel:hover::after{opacity:1}

/* linhas extras dentro do bloco da agenda (id, telefone, status, perfil) — igual ao Belle,
   que mostra a ficha resumida dentro do próprio bloco em vez de exigir clique */
.ev-l2{font-size:10px;color:#5b6270;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev .sv{line-height:1.3}

/* arrastar o bloco na grade: o fantasma mostra onde vai cair antes de soltar */
.ev.arrastando{opacity:.45;z-index:6;pointer-events:none}
.ev-fantasma{position:absolute;left:2px;right:2px;border:2px dashed var(--magenta);border-radius:8px;
  background:rgba(124,58,237,.08);z-index:5;pointer-events:none;font:600 11px Arial;color:var(--magenta-2);
  display:flex;align-items:center;justify-content:center;text-align:center}

/* alça de esticar: aparece na borda de baixo do bloco ao passar o mouse */
.ev{position:absolute}
.ev-alca{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize;z-index:4;
  border-radius:0 0 8px 8px;background:transparent;transition:background .1s}
.ev:hover .ev-alca{background:rgba(0,0,0,.10)}
.ev-alca:hover{background:rgba(124,58,237,.35)}
.ev-dur{position:absolute;right:4px;bottom:8px;background:var(--magenta);color:#fff;
  font:600 10px Arial;padding:2px 6px;border-radius:6px;z-index:7;white-space:nowrap;pointer-events:none}

/* ---- CABEÇALHO do card: identidade em vez de pilha de rótulo cinza (Lucas, 11/08:
       "muita escrita, tá muito seco, tem que ter mais cor e ser mais profissional") ---- */
.cab-ag{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;
  padding:14px 16px;margin:-4px -4px 14px;border-radius:12px;
  background:linear-gradient(135deg,#faf7ff 0%,#f3f6fc 100%);border:1px solid var(--linha)}
.cab-nome{font-size:18px;font-weight:700;line-height:1.2;color:#1b2030}
.cab-nome a{color:var(--magenta-2);text-decoration:none}
.cab-nome a:hover{text-decoration:underline}
.cab-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ag-chip{display:inline-block;background:#fff;border:1px solid var(--linha);border-radius:20px;
  padding:2px 10px;font-size:11px;color:#4a5160;white-space:nowrap}
.ag-chip-ok{background:#eafce8;border-color:#95f68b;color:#1a7f37;font-weight:600}
.ag-chip-risco{background:#fdecec;border-color:#f3b8b8;color:var(--vermelho-b);font-weight:600}
.cab-dir{text-align:right;white-space:nowrap}
.cab-status{font-size:12px;padding:4px 12px}
.cab-quando{font-size:17px;font-weight:700;margin-top:7px;color:#1b2030}
.cab-data{font-size:11.5px;color:#7b8394;margin-top:1px}
/* o formulário fica mais leve: rótulo menor e menos altura de linha */
.ag-form{line-height:1.85}
.ag-form b{min-width:104px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#8a93a5}

/* ---- CONTRATO em barra: bate o olho e vê quanto sobrou ---- */
.ct-linha{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #eef1f5}
.ct-linha:last-child{border-bottom:0}
.ct-nome{min-width:170px;max-width:170px;font-size:12.5px;font-weight:600;color:#2a3040;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-barra{flex:1;height:9px;background:#e9edf3;border-radius:6px;overflow:hidden}
.ct-feito{height:100%;background:linear-gradient(90deg,#6384ed,#8aa4f2);border-radius:6px}
.ct-num{min-width:96px;text-align:right;font-size:13px;color:#1b2030}
.ct-num b{font-size:15px;color:#1a7f37}
.ct-sub{font-size:10.5px;color:#8a93a5;font-weight:400}
.ct-zerou{opacity:.55}
.ct-zerou .ct-feito{background:linear-gradient(90deg,#c9ced8,#dfe3ea)}
.ct-zerou .ct-num b{color:var(--vermelho-b)}

/* ---- ABA ATENDENTE: quem está esperando resposta humana, do mais antigo pro mais novo ---- */
.at-lista{display:flex;flex-direction:column;gap:9px}
.at-card{display:flex;gap:14px;align-items:stretch;background:#fff;border:1px solid var(--linha);
  border-left:5px solid #c9ced8;border-radius:12px;padding:12px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.at-card.at-urgente{border-left-color:#f38135;background:linear-gradient(90deg,#fff8f3,#fff 40%)}
.at-card.at-humano{border-left-color:#7c3aed;background:linear-gradient(90deg,#faf7ff,#fff 40%)}
.at-card.at-fila{border-left-color:#6384ed;background:linear-gradient(90deg,#f5f8ff,#fff 40%)}
.at-card.at-feito{opacity:.6;border-left-color:#95f68b;background:#fbfdfb}
.at-hora{min-width:104px;border-right:1px solid #eef1f5;padding-right:12px}
.at-h{font-size:19px;font-weight:700;color:#1b2030;line-height:1.1}
.at-esp{font-size:11px;color:#8a93a5;margin-top:3px}
.at-esp-alta{color:var(--vermelho-b);font-weight:700}
.at-meio{flex:1;min-width:0}
.at-nome{font-size:15px;font-weight:700;color:#1b2030}
.at-num{font-size:12.5px;color:#4a5160;margin-top:2px}
.at-msg{font-size:12.5px;color:#6b7280;margin-top:5px}
.at-obs{font-size:12px;color:#1a7f37;margin-top:5px;background:#f2fbf4;border-radius:6px;padding:3px 8px;display:inline-block}
.at-dir{text-align:right;min-width:190px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.at-tag{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.at-tag-urgente{background:#fdece0;color:#b7521a}
.at-tag-humano{background:#f1e9ff;color:#6b28d9}
.at-tag-fila{background:#e4e9fb;color:#2f4bb5}
.at-acoes{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.at-por{font-size:10.5px;color:#8a93a5}
.badge-menu{background:var(--vermelho-b);color:#fff;border-radius:20px;padding:0 6px;font-size:10px;margin-left:4px}

/* =====================================================================
   RESPIRO GERAL (pedido do Lucas 11/08: "ta muita so letra, aumenta a
   espacao, deixa mais colorido, quero visualisar tudo em todas as abas")
   Mexe no que TODA aba usa: tabela, pill, card, KPI. Sem tocar em tela por tela.
   ===================================================================== */
body{font-size:14.5px}

/* ---- tabelas de todo o sistema: mais ar, zebra e cabecalho que se destaca ---- */
table{border-collapse:separate;border-spacing:0}
th,td{padding:14px 16px;font-size:13.5px}
th{color:#5b6172;font-weight:700;background:linear-gradient(180deg,#fbfaff,#f4f5f9);
   letter-spacing:.02em;text-transform:none;border-bottom:2px solid #e4e2f2;position:sticky;top:0;z-index:2}
tbody tr:nth-child(even) td{background:#fcfcfe}
tbody tr:hover td{background:#f5f0ff}
tbody tr{transition:background .12s}
td b,td strong{color:#171b26}

/* ---- pill de status: com bolinha, pra bater o olho e saber ---- */
.pill{padding:5px 12px;font-size:12.5px;font-weight:700;letter-spacing:.01em;
      display:inline-flex;align-items:center;gap:6px;line-height:1.5}
.pill::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75;flex:none}

/* ---- KPI: numero grande de verdade ---- */
.kpi .n{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.kpi .l{font-size:12.5px;color:#7b8194;margin-top:5px}
.kpi{transition:transform .12s, box-shadow .12s}
.kpi[data-kpi]:hover,.kpi.click:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(80,50,180,.14);cursor:pointer}

/* ---- espaco entre blocos ---- */
.card{padding-block:2px}
h2.sec{font-size:15px;font-weight:800;color:#2a2f3d;margin:0 0 12px;
       padding-bottom:9px;border-bottom:2px solid #eceafa}
.row{gap:12px}
.field label{font-size:12px;color:#7b8194;font-weight:600;margin-bottom:5px;display:block}
.field input,.field select{padding:11px 12px}

/* =====================================================================
   MODAL DE LISTA (Dashboard / Painel do Dia): a tabela apertada virou
   cartao colorido, agrupado por dia.
   ===================================================================== */
.modal-card:has(.ls-rolo){width:min(1080px,96vw)}
.ls-topo{border-bottom:2px solid #f0edfb;padding-bottom:12px;margin-bottom:14px}
.ls-sub{font-size:13px;color:#8a90a2;margin-top:4px}
.ls-kpis{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.ls-kpi{flex:1;min-width:130px;background:linear-gradient(135deg,#fbfaff,#f4f6fc);
        border:1px solid #e8e6f5;border-radius:12px;padding:13px 16px}
.ls-kpi .n{font-size:26px;font-weight:800;color:#5b21b6;line-height:1.15;letter-spacing:-.02em}
.ls-kpi .l{font-size:11.5px;color:#7b8194;margin-top:3px}
.ls-kpi-dias .n{color:#1f6feb}
.ls-kpi-mag{background:linear-gradient(135deg,#f5fbf6,#eefaf1);border-color:#d6efdd}
.ls-kpi-mag .n{color:#127a3c;font-size:23px}

.ls-rolo{max-height:60vh;overflow:auto;padding-right:4px;margin:0 -4px}
.ls-dia{margin-bottom:20px}
.ls-dia-cab{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:9px;
  background:linear-gradient(90deg,#efe9ff,#f7f5ff 55%,#fff);border-left:4px solid var(--magenta);
  border-radius:8px;position:sticky;top:0;z-index:3;backdrop-filter:blur(3px)}
.ls-dia-data{font-size:15px;font-weight:800;color:#3d2a7a}
.ls-dia-sem{font-size:12px;color:#8a7fb5;text-transform:capitalize}
.ls-dia-n{margin-left:auto;font-size:11.5px;font-weight:700;color:#6d28d9;
  background:#fff;border:1px solid #ddd4f7;border-radius:20px;padding:3px 11px}
.ls-dia-val{font-size:11.5px;font-weight:700;color:#127a3c;background:#effaf2;
  border:1px solid #cfeeda;border-radius:20px;padding:3px 11px}

.ls-card{display:flex;gap:16px;align-items:stretch;background:#fff;border:1px solid var(--linha);
  border-left:5px solid #c9ced8;border-radius:11px;padding:13px 16px;margin-bottom:8px;
  cursor:pointer;transition:.13s;box-shadow:0 1px 2px rgba(20,20,40,.04)}
.ls-card:hover{transform:translateX(3px);box-shadow:0 4px 16px rgba(80,50,180,.13);border-color:#c9bff0}
.ls-card.status-Confirmado{border-left-color:#1f9d55;background:linear-gradient(90deg,#f4fcf7,#fff 45%)}
.ls-card.status-Atendido{border-left-color:#0e7490;background:linear-gradient(90deg,#f2fbfd,#fff 45%)}
.ls-card.status-Marcado{border-left-color:#6d28d9;background:linear-gradient(90deg,#f8f5ff,#fff 45%)}
.ls-card.status-Aguardando{border-left-color:#e0a800;background:linear-gradient(90deg,#fffcf0,#fff 45%)}
.ls-card.status-Cancelado{border-left-color:#d64545;background:linear-gradient(90deg,#fdf4f4,#fff 45%)}

.ls-hora{min-width:82px;border-right:1px solid #eef0f5;padding-right:14px;flex:none}
.ls-h{font-size:20px;font-weight:800;color:#1b2030;line-height:1.1;letter-spacing:-.02em}
.ls-ate{font-size:11px;color:#9aa0b0;margin-top:3px}
.ls-meio{flex:1;min-width:0}
.ls-nome{font-size:15px;font-weight:700;color:#1b2030;line-height:1.3}
.ls-tel{font-size:12.5px;color:#5a6070;margin-top:3px}
.ls-servs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.ls-serv{font-size:11.5px;font-weight:600;color:#4a4160;background:#f5f3fc;
  border:1px solid #e7e2f7;border-radius:6px;padding:3px 9px}
.ls-alerta{color:var(--vermelho-b);font-weight:700;font-size:11.5px}
.ls-dir{min-width:210px;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}
.ls-onde{display:flex;flex-direction:column;gap:2px;font-size:11.5px}
.ls-sala{color:#5a6070;font-weight:600}
.ls-prof{color:#8a90a2}
.ls-preco{font-size:14px;font-weight:800;color:#127a3c}
.ls-aviso{margin-top:12px;padding:11px 14px;background:#fff8e1;border:1px solid #f2e2ab;
  border-radius:9px;font-size:12.5px;color:#8a6d00;font-weight:600}
.ls-serv-vazio{background:#fdf6f6;border-color:#f3dcdc;color:#b06a6a;font-style:italic}

/* ---- LINHA COLORIDA PELO STATUS, em TODA tabela do sistema ----
   `:has()` deixa a linha se pintar sozinha pelo pill que está dentro dela. É o mesmo
   código de cor do modal e da agenda, então a pessoa aprende UMA vez e vale em todo lugar.
   Sem isso a tela é uma parede de texto cinza (reclamação do Lucas, 11/08). */
tbody tr td:first-child{border-left:4px solid transparent}
tbody tr:has(.status-Confirmado) td:first-child{border-left-color:#1f9d55}
tbody tr:has(.status-Atendido)   td:first-child{border-left-color:#0e7490}
tbody tr:has(.status-Marcado)    td:first-child{border-left-color:#6d28d9}
tbody tr:has(.status-Aguardando) td:first-child{border-left-color:#e0a800}
tbody tr:has(.status-Cancelado)  td:first-child{border-left-color:#d64545}
tbody tr:has(.status-Cancelado) td{background:#fdf7f7}
tbody tr:has(.status-Cancelado):hover td{background:#fbeeee}
tbody tr:has(.status-Atendido) td{background:#f8fdfe}
tbody tr:has(.status-Atendido):hover td{background:#eef9fc}

/* célula vazia não pode competir com o dado: o "—" fica apagado */
td:has(> :only-child):empty::after{content:'—';color:#c4c9d4}

/* ---- cores dos pills (uma fonte só de verdade) ---- */
.status-Confirmado{background:var(--verde);color:#127a3c}
.status-Atendido{background:#e6f6fa;color:#0e7490}
.status-Marcado{background:var(--azul);color:#5b21b6}
.status-Aguardando{background:var(--amarelo);color:#8a6d00}
.status-Cancelado{background:var(--vermelho);color:#b23b3b}
.status-EmAndamento{background:#e8f4ff;color:#1f6feb}

/* número de KPI nunca quebra em duas linhas: o cartão cresce até caber o valor.
   "R$ 10.108,98" estava virando "R$" numa linha e o resto na outra. */
.kpi .n{white-space:nowrap}
.kpi{min-width:max-content}

/* =====================================================================
   AVISOS: o cartao de confirmacao (pedido do Lucas 11/08: "muita letra
   seca, da mais vida"). A cor NAO e enfeite: e o tempo que falta pra
   sessao. Vermelho = ja passou ou falta pouco, laranja = hoje,
   azul = amanha. A atendente bate o olho e sabe por onde comecar.
   ===================================================================== */
.nv-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.nv-card{display:flex;gap:16px;align-items:stretch;background:#fff;
  border:1px solid var(--linha);border-left:6px solid #c9ced8;border-radius:14px;
  padding:14px 16px;box-shadow:0 1px 3px rgba(20,20,40,.05);transition:.15s}
.nv-card:hover{box-shadow:0 4px 14px rgba(20,20,40,.09);transform:translateY(-1px)}
.nv-card.nv-agora{border-left-color:#d64545;background:linear-gradient(90deg,#fff4f4,#fff 45%)}
.nv-card.nv-hoje {border-left-color:#f38135;background:linear-gradient(90deg,#fff8f3,#fff 45%)}
.nv-card.nv-amanha{border-left-color:#6d28d9;background:linear-gradient(90deg,#faf7ff,#fff 45%)}
.nv-card.nv-longe{border-left-color:#6384ed;background:linear-gradient(90deg,#f5f8ff,#fff 45%)}
.nv-card.nv-recusou{border-left-color:#d64545;background:linear-gradient(90deg,#fdecec,#fff 55%)}

/* a hora, que e o dado principal, ganha bloco proprio */
.nv-quando{min-width:118px;border-right:1px solid #eef1f5;padding-right:14px;
  display:flex;flex-direction:column;justify-content:center}
.nv-hora{font-size:25px;font-weight:800;color:#1b2030;line-height:1;letter-spacing:-.5px}
.nv-dia{font-size:10.5px;font-weight:800;letter-spacing:.6px;margin-top:5px;
  padding:2px 8px;border-radius:20px;display:inline-block;width:fit-content}
.nv-dia-hoje{background:#fdece0;color:#b7521a}
.nv-dia-amanha{background:#f1e9ff;color:#6b28d9}
.nv-dia-outro{background:#eef2f7;color:#5a6478}
.nv-falta{font-size:11.5px;color:#8a93a5;margin-top:6px}
.nv-falta.nv-apertado{color:#d64545;font-weight:800}

.nv-meio{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
.nv-nome{font-size:16px;font-weight:700;color:#1b2030;line-height:1.2}
.nv-servs{display:flex;gap:5px;flex-wrap:wrap}
.nv-serv{font-size:11px;font-weight:600;background:#f2f4f8;color:#4a5468;
  padding:3px 9px;border-radius:20px;white-space:nowrap}
.nv-tel{font-size:12.5px;color:#4a5160;font-variant-numeric:tabular-nums}
.nv-semtel{font-size:12.5px;color:#d64545;font-weight:600}

.nv-dir{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  gap:9px;min-width:236px}
/* o estado vira SELO: "mensagem nem chegou a sair" e a informacao mais
   acionavel da tela e estava como texto cinza no meio de uma frase */
.nv-estado{font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;
  white-space:nowrap;text-align:center}
.nv-e-nao-enviado{background:#fdecec;color:#b03030}
.nv-e-sem-resposta{background:#fff4e0;color:#a8621a}
.nv-e-aguardando{background:#eef2f7;color:#5a6478}
.nv-e-recusou{background:#d64545;color:#fff}
.nv-e-sem-telefone{background:#fdecec;color:#b03030}
.nv-acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.nv-acoes .btn{padding:7px 13px;font-size:12.5px;border-radius:9px}

/* o resumo de cima: quantos, e quanto tempo tem pra resolver */
.nv-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;margin:14px 0 18px}
.nv-kpi{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:14px 16px;
  border-top:4px solid #c9ced8;box-shadow:0 1px 3px rgba(20,20,40,.05)}
.nv-kpi .n{font-size:30px;font-weight:800;line-height:1;letter-spacing:-1px}
.nv-kpi .l{font-size:12px;color:var(--cinza);margin-top:6px;line-height:1.35}
.nv-kpi.k-agora{border-top-color:#d64545} .nv-kpi.k-agora .n{color:#d64545}
.nv-kpi.k-hoje{border-top-color:#f38135}  .nv-kpi.k-hoje .n{color:#c25a15}
.nv-kpi.k-amanha{border-top-color:#6d28d9}.nv-kpi.k-amanha .n{color:#6d28d9}
.nv-kpi.k-mudo{border-top-color:#b03030}  .nv-kpi.k-mudo .n{color:#b03030}

/* titulo de secao com um respiro e uma barrinha de cor */
.nv-sec{display:flex;align-items:center;gap:9px;margin:24px 0 12px;font-size:15px;font-weight:800;color:#1b2030}
.nv-sec::before{content:'';width:5px;height:20px;border-radius:3px;background:var(--magenta)}
.nv-sec.s-urg::before{background:#d64545}
.nv-sec .nv-conta{font-size:12px;font-weight:700;background:#eef2f7;color:#5a6478;
  padding:2px 10px;border-radius:20px}
.nv-sec .nv-dica{font-size:12px;font-weight:400;color:var(--cinza)}

/* tudo resolvido */
.nv-limpo{background:linear-gradient(135deg,#f0fbf3,#fff);border:1px solid #cfeeda;
  border-radius:16px;padding:34px;text-align:center}
.nv-limpo .em{font-size:38px}
.nv-limpo .t{font-weight:800;font-size:17px;margin-top:8px;color:#1a7f37}
.nv-limpo .s{color:var(--cinza);font-size:13.5px;margin-top:4px}

@media(max-width:760px){
  .nv-card{flex-direction:column;gap:10px}
  .nv-quando{min-width:0;border-right:0;border-bottom:1px solid #eef1f5;padding:0 0 10px;
    flex-direction:row;align-items:center;gap:10px}
  .nv-hora{font-size:22px}
  .nv-falta{margin-top:0}
  .nv-dir{align-items:stretch;min-width:0}
  .nv-acoes{justify-content:stretch}
  .nv-acoes .btn{flex:1}
}
/* ja passou da hora: cinza e apagado. Vermelho fica reservado pra quem
   ainda da pra salvar — se tudo grita, nada grita. */
.nv-card.nv-passou{border-left-color:#b6bcc9;background:#fbfcfd;opacity:.82}
.nv-card.nv-passou .nv-hora{color:#6b7280}
.nv-card.nv-passou .nv-falta{color:#8a93a5}

/* largura util dos avisos: em monitor grande o cartao esticava e o nome ficava
   ilhado longe dos botoes. Ler de canto a canto cansa; 1180px e o limite em que
   o olho ainda liga "quem" com "o que fazer" sem varrer a tela inteira. */
#av-vespera, #av-semresp, #av-faltas, #av-suspeitas{max-width:1180px}
.nv-resumo{max-width:1180px}
.nv-meio{max-width:520px}
/* o selo e os botoes andam juntos, colados na direita do cartao */
.nv-dir{min-width:250px}

/* o resumo: numero grande e rotulo curto, sem card gigante */
.nv-kpi{padding:13px 15px}
.nv-kpi .n{font-size:27px}

/* a faixa "Avisos" de cima estava esticando ate a borda */
.ia-faixa{max-width:none}

/* =====================================================================
   DISPAROS DO DIA — a fila em ordem, com a hora de cada uma.
   E uma LISTA, nao um monte de cartao: o valor esta em ver a sequencia
   inteira de relance, nao em destacar um item.
   ===================================================================== */
.dsp-faixa{border-radius:12px;padding:13px 16px;margin-bottom:16px;font-size:14px;max-width:1180px}
.dsp-faixa.off{background:linear-gradient(90deg,#fff8e1,#fffdf7);border:1px solid #f0dfa8;color:#7a5c00}
.dsp-faixa.on{background:linear-gradient(90deg,#e9f9ef,#f7fdf9);border:1px solid #bfe4cb;color:#1a7f37}
.dsp-faixa.dsp-capacidade-aviso{max-width:1180px;background:linear-gradient(90deg,#fff1ed,#fff9f7);
  border:1px solid #f3b7a5;color:#963b25}
.dsp-faixa a{color:var(--magenta-2);font-weight:700;cursor:pointer;text-decoration:underline;margin-left:4px}

.dsp-lista{max-width:1180px;background:#fff;border:1px solid var(--linha);border-radius:14px;
  max-height:clamp(280px,calc(100dvh - 390px),700px);overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;scrollbar-gutter:stable;
  box-shadow:0 1px 3px rgba(20,20,40,.05)}
.dsp-linha{display:grid;grid-template-columns:44px 76px 1fr 300px 150px;gap:12px;align-items:center;
  padding:11px 16px;border-bottom:1px solid #f1f3f7;transition:.12s}
.dsp-linha:last-child{border-bottom:0}
.dsp-linha:hover{background:#fbfcfe}
.dsp-linha.dsp-fora-capacidade{background:#fffaf8;border-left:3px solid #ef8e70;opacity:.82}
.dsp-linha.dsp-fora-capacidade:hover{background:#fff5f1;opacity:1}
.dsp-n{font-size:12px;color:#a3aab8;font-weight:700;text-align:center}
/* a hora e o dado que a pessoa procura: tabular pra alinhar coluna */
.dsp-hora{font-size:16px;font-weight:800;color:#1b2030;font-variant-numeric:tabular-nums}
.dsp-hora>span{display:block;margin-top:2px;color:#b54708;font-size:9.5px;font-weight:750;white-space:nowrap}
.dsp-nome{font-size:14px;font-weight:600;color:#1b2030}
.dsp-tel{font-size:12px;color:#8a93a5;font-variant-numeric:tabular-nums}
.dsp-sub{font-size:12px;color:#6b7280;margin-top:2px}
.dsp-tipo{font-size:10.5px;font-weight:800;padding:2px 9px;border-radius:20px;letter-spacing:.3px}
.dsp-t-v1{background:#f1e9ff;color:#6b28d9}
.dsp-t-d0{background:#fdece0;color:#b7521a}
.dsp-t-pre{background:#e4e9fb;color:#2f4bb5}
.dsp-motivo{font-size:11.5px;color:#b03030;background:#fdecec;padding:3px 10px;border-radius:20px}
.dsp-acao{text-align:right}

.dsp-linha.dsp-barrado{background:#fcfcfd}
.dsp-lista-barrados{overflow:visible}
.dsp-barrado-detalhado{grid-template-columns:44px 84px minmax(155px,.8fr) minmax(330px,1.7fr) 170px;
  align-items:start;padding-top:14px;padding-bottom:14px}
.dsp-barrado-detalhado.dsp-barrado-atencao{background:linear-gradient(90deg,#fff9f7 0,#fff 28%);border-left:3px solid #ef8e70}
.dsp-barrado-detalhado.dsp-barrado-correto{background:linear-gradient(90deg,#f3fbf6 0,#fff 28%);border-left:3px solid #54b979}
.dsp-barrado-detalhado>.dsp-n{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.dsp-barrado-atencao>.dsp-n{color:#a13b24;background:#fee9e3;font-size:15px}
.dsp-barrado-correto>.dsp-n{color:#137a3a;background:#dff5e6;font-size:14px}
.dsp-barrado-detalhado>.dsp-hora{font-size:14px;line-height:1.25}
.dsp-barrado-detalhado>.dsp-hora span{display:block;font-size:11px;color:#8a93a5;font-weight:500;margin-top:3px}
.dsp-diagnostico{min-width:0}
.dsp-diagnostico-topo{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.dsp-diagnostico-topo .dsp-sub{margin:0}
.dsp-status-sessao{font-size:10.5px;font-weight:700;color:#586174;background:#eef1f6;border-radius:20px;padding:2px 8px}
.dsp-pendencias{display:flex;flex-direction:column;gap:6px}
.dsp-pendencia{border-left:3px solid #e5e7eb;padding:5px 8px;border-radius:0 7px 7px 0;background:#f8f9fb;line-height:1.35}
.dsp-pendencia b{display:block;font-size:12.5px;color:#273044}
.dsp-pendencia span{display:block;font-size:11.5px;color:#697386;margin-top:2px}
.dsp-pendencia-acao{border-left-color:#ef8e70;background:#fff5f1}
.dsp-pendencia-revisar{border-left-color:#e5ad40;background:#fff9e9}
.dsp-pendencia-correto{border-left-color:#54b979;background:#effaf3}
.dsp-alteracao{font-size:11px;color:#657086;margin-top:7px;line-height:1.45}
.dsp-alteracao-status{display:inline-flex;gap:5px;align-items:center;margin-left:6px;padding:2px 7px;background:#f0f2f6;border-radius:12px;color:#4b5565}
.dsp-acoes-correcao{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.dsp-acoes-correcao .btn{width:100%;white-space:normal;line-height:1.25}
.dsp-sem-acao{font-size:11px;color:#778195;line-height:1.35;text-align:left}
.dsp-fora-resumo{max-width:1180px;display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 9px}
.dsp-fora-resumo span{font-size:11.5px;padding:4px 9px;border-radius:20px}
.dsp-resumo-atencao{color:#963b25;background:#feece6}
.dsp-resumo-correto{color:#18743a;background:#e5f7eb}
.dsp-linha.dsp-feito .dsp-n{color:#1a7f37;font-size:15px}
.dsp-linha.dsp-falhou{background:#fffafa}
.dsp-linha.dsp-falhou .dsp-n{color:#d64545;font-size:15px}

.dsp-rodape{max-width:1180px;margin-top:18px;padding:14px 16px;background:#f7f8fa;
  border:1px solid var(--linha);border-radius:12px;font-size:12.5px;color:#5a6478;line-height:1.6}

@media(max-width:900px){
  .dsp-linha{grid-template-columns:32px 62px 1fr;gap:8px;row-gap:4px}
  .dsp-sessao{grid-column:2/4}
  .dsp-linha:not(.dsp-barrado-detalhado) .dsp-acao{display:flex;grid-column:2/4;
    justify-content:flex-start;gap:6px;flex-wrap:wrap;margin-top:5px}
  .dsp-linha:not(.dsp-barrado-detalhado) .dsp-acao .btn{min-height:38px;
    flex:1 1 145px;white-space:normal;line-height:1.25}
  .dsp-barrado-detalhado{grid-template-columns:32px 78px minmax(0,1fr);padding:12px 10px}
  .dsp-barrado-detalhado .dsp-sessao{grid-column:2/4}
  .dsp-barrado-detalhado .dsp-acao{display:flex;grid-column:2/4;flex-direction:row;flex-wrap:wrap;margin-top:5px}
  .dsp-barrado-detalhado .dsp-acao .btn{width:auto;flex:1 1 145px}
  .dsp-barrado-detalhado .dsp-sem-acao{width:100%}
}

/* a previa da mensagem: UMA em destaque (a que ela recebe) e as outras
   recolhidas. Tres blocos iguais davam a entender que sairiam 3 mensagens. */
.prv-msg{background:#e7f6ec;border:1px solid #bfe4cb;border-radius:12px;padding:14px 16px;
  white-space:pre-wrap;font-size:13.5px;line-height:1.55;color:#1b2030}
.prv-msg.fraca{background:#f6f8fa;border-color:#e6e8ee;color:#5a6478;font-size:12.5px;
  padding:11px 13px;margin-top:8px}
.prv-outras{margin-top:16px;border-top:1px solid var(--linha);padding-top:12px}
.prv-abrir{background:none;border:0;color:var(--magenta-2);font-weight:700;font-size:12.5px;
  padding:0;cursor:pointer;font-family:inherit}
.prv-abrir:hover{text-decoration:underline}

/* os proximos dias: quantas saem e de que regua */
.dsp-prox{max-width:1180px;display:flex;flex-direction:column;gap:8px}
.dsp-dia{display:grid;grid-template-columns:150px 62px 1fr;gap:14px;align-items:center;
  background:#fff;border:1px solid var(--linha);border-radius:12px;padding:11px 16px}
.dsp-dia.e-hoje{border-color:#f0c9a8;background:linear-gradient(90deg,#fff8f3,#fff 40%)}
.dsp-dia-d{font-size:13.5px;font-weight:700;color:#1b2030}
.dsp-dia-d span{display:block;font-size:11px;font-weight:400;color:#8a93a5;text-transform:capitalize}
.dsp-dia-n{font-size:22px;font-weight:800;color:var(--magenta-2);text-align:center}
.dsp-dia-t{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:760px){.dsp-dia{grid-template-columns:1fr 50px;row-gap:6px}.dsp-dia-t{grid-column:1/3}}

/* @dia-detalhado */
/* o dia da lista: numero + teto, barra das 24h e a faixa de horario.
   Vem DEPOIS da regra antiga de .dsp-dia de proposito: sobrescreve as 3 colunas. */
.dsp-dia{grid-template-columns:150px 84px 1fr 56px !important;cursor:pointer;align-items:center}
.dsp-dia:hover{border-color:var(--magenta);box-shadow:0 2px 10px rgba(109,40,217,.10)}
.dsp-dia-n{font-size:23px;font-weight:800;color:var(--magenta-2);text-align:center;line-height:1.05}
.dsp-dia-n i{display:block;font-size:10px;font-weight:600;color:#a3aab8;font-style:normal;margin-top:2px}
.dsp-dia-meio{min-width:0}
.dsp-dia-h{font-size:11.5px;color:#8a93a5;margin-top:5px}
.dsp-dia-h b{color:#4a5160}
.dsp-dia-ver{font-size:12px;color:var(--magenta-2);font-weight:700;text-align:right}

/* perto do teto o dia muda de cor: passar de 80 significa que alguem NAO recebe */
.dsp-dia.e-perto{border-color:#f0c9a8;background:linear-gradient(90deg,#fffaf5,#fff 40%)}
.dsp-dia.e-estoura{border-color:#e9b0b0;background:linear-gradient(90deg,#fff5f5,#fff 40%)}
.dsp-alerta{color:#b03030;font-weight:700}
.dsp-quase{color:#b7521a;font-weight:700}

/* a barra das 24h: onde a leva se concentra. A vespera empilha de manha e a de
   5 dias pinga o dia inteiro — so o total esconde essa diferenca.
   height nas barrinhas e % do container, entao o container PRECISA de altura fixa. */
.dsp-dia .dsp-barra{display:flex;align-items:flex-end;gap:2px;height:26px;margin-top:7px;
  padding:0 1px;border-bottom:1px solid #eef1f5}
.dsp-dia .dsp-barra i{flex:1;background:linear-gradient(180deg,#a78bfa,#7c3aed);
  border-radius:2px 2px 0 0;transition:.15s;align-self:flex-end}
.dsp-dia .dsp-barra i.fora{background:linear-gradient(180deg,#d5d9e0,#b6bcc9)}
.dsp-dia .dsp-barra i:hover{background:linear-gradient(180deg,#f38135,#d64545)}

/* a lista dentro do modal */
.dsp-modal-lista{max-height:52vh;overflow:auto;border:1px solid var(--linha);border-radius:10px}
.dsp-modal-linha{display:grid;grid-template-columns:56px 1fr 92px 116px;gap:10px;align-items:center;
  padding:8px 12px;border-bottom:1px solid #f4f6f9;font-size:12.5px}
.dsp-modal-linha:last-child{border-bottom:0}
.dsp-modal-linha.cortado{opacity:.5;background:#fff5f5}
.dsp-modal-h{font-weight:800;font-variant-numeric:tabular-nums;color:#1b2030}
.dsp-modal-n{font-weight:600;color:#1b2030;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsp-modal-s{font-size:11.5px;color:#8a93a5;text-align:right}
@media(max-width:820px){
  .dsp-dia{grid-template-columns:1fr 70px !important}
  .dsp-dia-meio{grid-column:1/3} .dsp-dia-ver{display:none}
  .dsp-modal-linha{grid-template-columns:52px 1fr} .dsp-modal-s{display:none}
}

/* @abas-disparo */
/* abas da fila: filtrar por régua sem sair da tela */
.dsp-abas{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;max-width:1180px}
.dsp-secoes{padding-top:2px;margin-bottom:8px;border-top:1px solid #eef0f4}
.dsp-secoes .dsp-aba{margin-top:10px}
.dsp-aba{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:7px 15px;
  font-size:12.5px;font-weight:600;color:#5a6478;cursor:pointer;font-family:inherit;transition:.15s}
.dsp-aba b{font-weight:800;margin-left:5px;color:#8a93a5}
.dsp-aba:hover{border-color:var(--magenta);color:var(--magenta-2)}
.dsp-aba.on{background:var(--magenta);border-color:var(--magenta);color:#fff}
.dsp-aba.on b{color:#fff;opacity:.85}
.dsp-linha.escondida{display:none}
/* regua sem ninguem hoje: apagada, mas visivel. Sumir daria a impressao
   de que a regua nao existe. */
.dsp-aba.vazia{opacity:.45;cursor:default;background:#fbfcfd}
.dsp-aba.vazia:hover{border-color:var(--linha);color:#5a6478}
.dsp-perdeu{color:#8a93a5;font-weight:600}

/* os dias da semana da sala */
.sf-dia{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--linha);
  border-radius:18px;padding:5px 11px;font-size:12.5px;cursor:pointer;user-select:none;background:#fff}
.sf-dia.on{background:var(--azul);border-color:var(--magenta);color:var(--magenta-2);font-weight:600}
.sf-dia input{margin:0;cursor:pointer}


/* ---- barra lateral personalizavel (arrastar pra reordenar) ---- */
#sidebar .ico{position:relative}
#sidebar.editando .ico[data-bv]{cursor:grab}
#sidebar.editando .ico[data-bv]:active{cursor:grabbing}
#sidebar.editando .ico[data-bv]{outline:1px dashed rgba(255,255,255,.45);outline-offset:-3px}
#sidebar .ico.alvo{outline:2px solid #fff;outline-offset:-2px;background:rgba(255,255,255,.28)}
#sidebar .ico .tira{position:absolute;top:1px;right:6px;font-size:13px;line-height:1;
  background:var(--vermelho-b);color:#fff;width:16px;height:16px;border-radius:50%;
  display:grid;place-items:center;font-weight:700;cursor:pointer}
#sidebar .ico .tira:hover{transform:scale(1.15)}
/* o painel "Mais" */
#flyout .fly-grupo{padding:12px 18px 5px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cinza);font-weight:700}
#flyout a{display:flex;align-items:center;gap:10px}
#flyout .fly-ico{width:20px;text-align:center;font-size:15px;opacity:.85}
#flyout .fly-tag{font-size:11px;color:var(--verde-b);background:var(--verde);
  padding:2px 7px;border-radius:6px;white-space:nowrap}


/* rolagem discreta no menu e no painel de telas */
#flyout::-webkit-scrollbar,#sidebar::-webkit-scrollbar{width:8px}
#flyout::-webkit-scrollbar-thumb{background:#d9dbe4;border-radius:8px}
#flyout::-webkit-scrollbar-thumb:hover{background:#c3c6d2}
#sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:8px}
#sidebar::-webkit-scrollbar-track{background:transparent}
/* o "sep" empurrava o Config pro fim; com rolagem ele nao pode mais esticar infinito */
#sidebar .sep{flex:1 0 12px}

/* ---- Conversas: três colunas (lista | thread | quem é) ---- */
.cv-grade { display:grid; grid-template-columns:300px 1fr 290px; gap:12px;
  height:calc(100vh - 250px); min-height:440px; }
.cv-col { background:var(--card); border:1px solid var(--linha); border-radius:12px;
  overflow:hidden; display:flex; flex-direction:column; }
.cv-lista { overflow:hidden; }
.cv-busca { padding:10px; border-bottom:1px solid var(--linha); }
.cv-busca input { width:100%; padding:8px 10px; border:1px solid var(--linha);
  border-radius:8px; background:var(--fundo); color:var(--tinta); font-size:13px; }
#cv-itens { overflow-y:auto; flex:1; }
.cv-item { padding:10px 12px; border-bottom:1px solid var(--linha); cursor:pointer; }
.cv-item:hover { background:var(--fundo); }
.cv-item.on { background:var(--verde); border-left:3px solid var(--magenta); }
.cv-previa { font-size:12px; color:var(--cinza); overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap; margin-top:2px; }
.cv-bola { background:var(--magenta); color:#fff; border-radius:10px; padding:0 7px;
  font-size:11px; font-weight:700; line-height:17px; }

.cv-cab { padding:12px 16px; border-bottom:1px solid var(--linha); }
.cv-msgs { flex:1; overflow-y:auto; padding:14px 16px; background:var(--fundo); }
.cv-dia { text-align:center; font-size:11px; color:var(--cinza); margin:12px 0 8px; }
.cv-balao { max-width:74%; padding:8px 11px; border-radius:12px; margin-bottom:7px;
  font-size:13.5px; line-height:1.42; word-wrap:break-word; }
.cv-balao.dela { background:var(--card); border:1px solid var(--linha); }
.cv-balao.meu { background:var(--verde); margin-left:auto; }
.cv-hora { font-size:10.5px; color:var(--cinza); margin-top:3px; }
.cv-int { color:var(--magenta); font-weight:600; }
.cv-audio { font-size:11px; color:var(--cinza); margin-bottom:2px; }

.cv-ficha { overflow-y:auto; }
.cv-bloco { margin-top:12px; padding:10px 12px; background:var(--fundo);
  border-radius:9px; border-left:3px solid var(--linha); }
.cv-bloco.ok { border-left-color:var(--verde-b); }
.cv-bloco-t { font-size:11px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--cinza); margin-bottom:4px; }
.cv-tab { width:100%; font-size:12.5px; }
.cv-tab td { padding:2px 0; border:0; }

@media (max-width:1180px) {
  .cv-grade { grid-template-columns:260px 1fr; height:auto; }
  .cv-ficha { grid-column:1 / -1; max-height:340px; }
}

.cv-cand { padding:6px 8px; margin-top:4px; border:1px solid var(--linha);
  border-radius:7px; cursor:pointer; background:var(--card); font-size:12.5px; }
.cv-cand:hover { border-color:var(--magenta); background:var(--verde); }

.cv-est { cursor:pointer; color:var(--cinza); font-size:13px; margin-left:3px; }
.cv-est.on { color:#f0a020; }
.cv-evento { text-align:center; font-size:11.5px; color:var(--cinza); margin:8px 0;
  padding:5px 10px; background:var(--card); border:1px dashed var(--linha);
  border-radius:8px; display:inline-block; width:100%; box-sizing:border-box; }

/* ===== PLANEJAMENTO — blocos separados, cor com significado =====
   Cada profissional é um bloco fechado. A cor não é enfeite: verde é o que
   fechou, âmbar é o que está correndo, vermelho é o que caiu, e o que caiu
   fica apagado mas NÃO some. */
.pl-topo { display:flex; justify-content:space-between; align-items:center;
  gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.pl-datas { display:flex; align-items:center; gap:7px; }
.pl-datas input[type=date] { border:1px solid var(--linha); border-radius:8px;
  padding:7px 10px; font-family:inherit; font-size:13.5px; color:var(--tinta); background:var(--card); }
.pl-resumo { display:flex; gap:8px; flex-wrap:wrap; }
.pl-chip { background:var(--fundo); border:1px solid var(--linha); border-radius:14px;
  padding:5px 13px; font-size:12.5px; color:var(--cinza); }
.pl-chip.alerta { background:#FEF3F2; border-color:#FDA29B; color:#B42318; font-weight:600; }
.pl-chip.ok { background:#ECFDF3; border-color:#A6F4C5; color:#027A48; }

.pl-grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(430px,1fr)); gap:14px; }

.pl-bloco { background:var(--card); border:1px solid var(--linha); border-radius:14px;
  overflow:hidden; }
.pl-bloco.vazio { opacity:.72; }
.pl-bloco.alerta { border-color:#FDA29B; margin-bottom:16px; }
.pl-bloco.alerta .pl-bloco-cab { background:#FFFBFA; border-bottom-color:#FEE4E2; }

.pl-bloco-cab { display:flex; justify-content:space-between; align-items:center;
  gap:14px; padding:14px 16px; border-bottom:1px solid var(--linha); background:var(--fundo); }
.pl-bloco-cab h3 { margin:0; font-size:15px; color:var(--tinta); font-weight:600; }
.pl-bloco-cab p { margin:2px 0 0; font-size:12px; color:var(--cinza); max-width:420px; }
.pl-quem { display:flex; align-items:center; gap:11px; }
.pl-av { width:38px; height:38px; border-radius:50%; flex:0 0 38px; display:grid;
  place-items:center; font-size:13px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,#7A5AF8,#2E90FA); }
.pl-n { font-size:26px; font-weight:700; color:#B42318; }

.pl-nums { display:flex; gap:16px; text-align:right; }
.pl-nums span { display:block; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.5px; color:var(--cinza); }
.pl-nums b { font-size:16px; color:var(--tinta); font-weight:600; }
.pl-nums b.forte { color:#027A48; }
.pl-nums b.bom { color:#027A48; }
.pl-nums b.ruim { color:#B54708; }

.pl-lista { max-height:340px; overflow-y:auto; }
.pl-linha { display:flex; align-items:center; gap:12px; padding:10px 16px;
  border-bottom:1px solid var(--linha); cursor:pointer; }
.pl-linha:last-child { border-bottom:0; }
.pl-linha:hover { background:var(--fundo); }
.pl-linha.caiu { opacity:.55; }
.pl-linha.caiu b { text-decoration:line-through; }
.pl-h { font-size:13px; font-weight:700; color:var(--tinta); width:44px; flex:0 0 44px; }
.pl-meio { flex:1; min-width:0; }
.pl-meio b { font-size:13.5px; color:var(--tinta); }
.pl-serv { font-size:11.5px; color:var(--cinza); overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.pl-tag { font-size:10.5px; border-radius:10px; padding:1px 7px; margin-left:5px; }
.pl-tag.transf { background:#EEF4FF; color:#3538CD; }
.pl-status { font-size:10.5px; border-radius:10px; padding:2px 9px; white-space:nowrap;
  background:var(--fundo); color:var(--cinza); border:1px solid var(--linha); }
.pl-status.st-Atendido { background:#ECFDF3; color:#027A48; border-color:#A6F4C5; }
.pl-status.st-EmAndamento { background:#FFFAEB; color:#B54708; border-color:#FEDF89; }
.pl-status.st-Confirmado { background:#EFF8FF; color:#175CD3; border-color:#B2DDFF; }
.pl-status.st-Cancelado, .pl-status.st-Faltou, .pl-status.st-Desmarcado {
  background:#FEF3F2; color:#B42318; border-color:#FECDCA; }
.pl-tempo { text-align:right; white-space:nowrap; min-width:92px; }
.pl-tempo b { font-size:13px; color:#027A48; display:block; }
.pl-tempo i { font-size:11px; color:var(--cinza); font-style:normal; }

.pl-nada { padding:22px; text-align:center; font-size:13px; color:var(--cinza); }
.pl-perdidos { padding:9px 16px; background:#FFFBFA; border-top:1px solid #FEE4E2;
  font-size:12px; color:#B42318; display:flex; justify-content:space-between; gap:10px; }
.pl-perdidos span { color:var(--cinza); font-style:italic; }

.pl-fila { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:10px; padding:14px 16px; max-height:400px; overflow-y:auto; }
.pl-card { border:1px solid var(--linha); border-radius:10px; padding:11px 12px;
  background:var(--card); }
.pl-card-h { display:flex; justify-content:space-between; align-items:baseline; }
.pl-card-h b { font-size:14px; }
.pl-prev { font-size:11px; color:var(--cinza); }
.pl-cli { font-size:13px; color:var(--tinta); margin:4px 0 1px; font-weight:500; }
.pl-sel { width:100%; margin-top:8px; border:1px solid var(--linha); border-radius:7px;
  padding:6px 8px; font-size:12.5px; font-family:inherit; background:var(--fundo);
  color:var(--tinta); cursor:pointer; }
.pl-sel:hover { border-color:var(--magenta); }
.pl-mov { font-size:12.5px; padding:6px 0; border-bottom:1px solid var(--linha); }
.pl-mov .muted { display:block; font-size:11px; }

@media (max-width:900px) { .pl-grade { grid-template-columns:1fr; } }

/* ---- Parâmetros Gerais: abas + blocos, no formato do Belle ---- */
.pa-topo { display:flex; justify-content:space-between; align-items:center;
  gap:14px; margin-bottom:12px; flex-wrap:wrap; }
.pa-legenda { font-size:13px; color:var(--cinza); }
.pa-abas { display:flex; gap:2px; border-bottom:1px solid var(--linha);
  overflow-x:auto; margin-bottom:16px; }
.pa-aba { padding:9px 15px; font-size:13.5px; color:var(--cinza); cursor:pointer;
  border-bottom:2px solid transparent; white-space:nowrap; }
.pa-aba:hover { color:var(--tinta); }
.pa-aba.on { color:var(--magenta); border-bottom-color:var(--magenta); font-weight:600; }

.pa-corpo { display:grid; grid-template-columns:repeat(auto-fill,minmax(430px,1fr)); gap:14px; }
.pa-secao { background:var(--card); border:1px solid var(--linha); border-radius:12px;
  overflow:hidden; }
.pa-secao h3 { margin:0; padding:12px 16px; font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; color:var(--cinza);
  background:var(--fundo); border-bottom:1px solid var(--linha); }
.pa-campos { padding:6px 0; }

.pa-item { display:flex; align-items:flex-start; gap:11px; padding:11px 16px;
  border-bottom:1px solid var(--linha); cursor:pointer; }
.pa-item:last-child { border-bottom:0; }
.pa-item:hover { background:var(--fundo); }
.pa-item span { font-size:13.5px; color:var(--tinta); }
.pa-item.esp span { color:var(--cinza); }
.pa-item.bloco { flex-direction:column; align-items:stretch; }
.pa-item input[type=checkbox] { margin-top:2px; flex:0 0 auto; }
.pa-item input[type=text], .pa-item input[type=number], .pa-item input[type=time],
.pa-item input[type=password], .pa-item select, .pa-item textarea {
  border:1px solid var(--linha); border-radius:7px; padding:6px 9px;
  font-size:13px; font-family:inherit; background:var(--card); color:var(--tinta); }
.pa-item textarea { width:100%; margin-top:8px; resize:vertical; }
.pa-efeito { font-size:11.5px; color:var(--verde-b); margin-top:3px; line-height:1.4; }
.pa-espelho { font-size:10px; background:var(--fundo); color:var(--cinza);
  border:1px solid var(--linha); border-radius:9px; padding:1px 7px;
  text-transform:uppercase; letter-spacing:.4px; }

@media (max-width:900px) { .pa-corpo { grid-template-columns:1fr; } }

/* ==========================================================================
   FINANCEIRO — o visual
   Identidade XDay (roxo, cartão branco, sombra leve), com hierarquia de leitura:
   o olho tem que bater primeiro no número que importa, depois no rótulo, depois
   no detalhe. Nada de seis cartões iguais competindo entre si.
   ========================================================================== */

.fin-hub { display: flex; flex-direction: column; gap: 16px; }

/* ---- navegação interna ------------------------------------------------- */
.fin-nav {
  display: flex; gap: 3px; flex-wrap: nowrap; overflow-x: auto;
  background: #fff; border: 1px solid var(--linha); border-radius: 14px;
  padding: 6px; box-shadow: 0 1px 2px rgba(16,24,40,.05);
  scrollbar-width: thin;
}
.fin-nav::-webkit-scrollbar { height: 5px; }
.fin-nav::-webkit-scrollbar-thumb { background: #dfe3ea; border-radius: 3px; }
.fin-tab {
  display: flex; align-items: center; gap: 7px;
  background: none; border: 0; cursor: pointer;
  padding: 9px 14px; border-radius: 9px;
  font: 600 13.5px/1 inherit; color: #5b6478;
  transition: background .15s, color .15s, box-shadow .15s;
  white-space: nowrap; position: relative;
}
.fin-tab:hover { background: #f4f5f9; color: #1e2534; }
.fin-tab.on {
  background: linear-gradient(135deg, #7c3aed, #6d28d9); color: #fff;
  box-shadow: 0 2px 8px rgba(109,40,217,.28);
}
.fin-tab-ico { font-size: 15px; line-height: 1; }

/* ---- grupos da barra ---------------------------------------------------
   14 abas soltas viravam uma fileira sem hierarquia. Agrupadas, o olho acha
   pelo nome do grupo (Receber, Pagar, Caixa, Vendas) antes de ler as abas. */
.fin-grupo { display: flex; flex-direction: column; gap: 3px; padding: 0 2px; position: relative; }
.fin-grupo + .fin-grupo::before {
  content: ''; position: absolute; left: -5px; top: 16px; bottom: 4px;
  width: 1px; background: var(--linha);
}
.fin-grupo-rot {
  font-size: 9.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: #a6adbb; padding: 0 8px; white-space: nowrap; line-height: 13px;
}
.fin-grupo-abas { display: flex; gap: 2px; }
.fin-nav { align-items: flex-start; padding: 7px 6px 6px; }

/* ---- grade de cartões -------------------------------------------------- */
.fin-cards {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(196px, 1fr));
}
.fin-card, .fin-cards > .card.kpi {
  background: #fff; border: 1px solid var(--linha); border-radius: 14px;
  padding: 16px 18px; box-shadow: 0 1px 2px rgba(16,24,40,.04);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s;
  position: relative; overflow: hidden;
}
.fin-card:hover, .fin-cards > .card.kpi:hover {
  transform: translateY(-2px); box-shadow: 0 8px 22px rgba(16,24,40,.09);
  border-color: #dcd3f7;
}
/* faixa de cor no topo diz o significado sem precisar ler */
.fin-card::before, .fin-cards > .card.kpi::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 3px; background: transparent;
}
.fin-cards > .card.kpi.good::before { background: linear-gradient(90deg,#16a34a,#4ade80); }
.fin-cards > .card.kpi.bad::before  { background: linear-gradient(90deg,#dc2626,#f87171); }
.fin-cards > .card.kpi.mag::before  { background: linear-gradient(90deg,#7c3aed,#a78bfa); }

.fin-card.destaque {
  background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 55%, #5b21b6 100%);
  border-color: #6d28d9; color: #fff;
  box-shadow: 0 6px 24px rgba(109,40,217,.30);
}
/* brilho difuso, não um círculo desenhado: dá profundidade sem virar forma */
.fin-card.destaque::after {
  content: ''; position: absolute; right: -60px; top: -70px;
  width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 68%);
}
.fin-card.destaque .fin-card-rot, .fin-card.destaque .fin-card-sub { color: rgba(255,255,255,.80); }
.fin-card.destaque .fin-card-val { color: #fff; }
.fin-card.destaque:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(109,40,217,.38); }

.fin-card-rot {
  font-size: 10.5px; font-weight: 700; letter-spacing: .8px;
  color: #97a0b0; text-transform: uppercase;
}
.fin-card-val {
  font-size: 26px; font-weight: 800; margin-top: 6px; line-height: 1.15;
  letter-spacing: -.6px; color: #101828; font-variant-numeric: tabular-nums;
}
.fin-card-val.roxo { color: #6d28d9; } .fin-card-val.verde { color: #15803d; }
.fin-card-val.vermelho { color: #dc2626; } .fin-card-val.laranja { color: #ea580c; }
.fin-card-sub { font-size: 12px; color: #667085; margin-top: 4px; line-height: 1.45; }

/* os KPI genéricos dentro do financeiro seguem a mesma régua */
.fin-cards > .card.kpi .n {
  font-size: 25px; font-weight: 800; letter-spacing: -.5px;
  font-variant-numeric: tabular-nums; line-height: 1.15;
}
.fin-cards > .card.kpi .l {
  font-size: 11.5px; color: #667085; margin-top: 5px; line-height: 1.4;
}

/* ---- alerta ------------------------------------------------------------ */
.fin-alerta {
  display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 16px;
  background: linear-gradient(180deg,#fffdf5,#fffbeb);
  border: 1px solid #fde68a; border-left: 4px solid #f59e0b;
  border-radius: 14px; padding: 16px 18px; font-size: 13px; color: #713f12;
  box-shadow: 0 1px 2px rgba(180,140,20,.06);
}
.fin-alerta-ico {
  width: 40px; height: 40px; border-radius: 11px; background: #fef3c7;
  display: flex; align-items: center; justify-content: center; font-size: 19px;
}
.fin-alerta b { display: block; margin-bottom: 4px; font-size: 14.5px; color: #78350f; }
.fin-alerta-txt { line-height: 1.55; }
.fin-alerta-txt .num { font-weight: 800; color: #92400e; font-variant-numeric: tabular-nums; }

/* ---- seções ------------------------------------------------------------ */
.fin-bloco { padding: 18px 20px; }
.fin-bloco .sec { margin: 0 0 14px; }
.fin-sec-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; margin-bottom: 14px;
}
.fin-sec-head h2 { margin: 0; }
.fin-sec-sub { font-size: 12px; color: #667085; margin-top: 3px; line-height: 1.45; }

/* duas colunas lado a lado (nome antigo mantido: várias telas usam) */
.fin-duas, .fin-colunas {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 12px;
}
.fin-nota { font-size: 11.5px; margin: 12px 0 0; color: #667085; line-height: 1.5; }

/* ---- barras horizontais ------------------------------------------------ */
.fin-barra {
  display: grid; grid-template-columns: 150px 1fr 152px;
  align-items: center; gap: 12px; padding: 5px 0;
}
.fin-barra-rot {
  font-size: 12.5px; color: #344054; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fin-barra-trilho {
  height: 22px; background: #f2f4f7; border-radius: 7px; overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(16,24,40,.05);
}
.fin-barra-fill {
  height: 100%; border-radius: 7px; transition: width .5s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 1px 3px rgba(16,24,40,.14);
}
.fin-barra-val {
  font-size: 12.5px; font-weight: 700; color: #101828; text-align: right;
  font-variant-numeric: tabular-nums;
}

/* ---- gráfico de colunas ------------------------------------------------ */
.fin-gr {
  position: relative; padding: 18px 4px 0 52px;   /* espaço do eixo à esquerda */
}
.fin-gr-grade { position: absolute; inset: 18px 4px 46px 52px; pointer-events: none; }
.fin-gr-linha {
  position: absolute; left: 0; right: 0; border-top: 1px dashed #e9ecf2;
}
.fin-gr-eixo {
  position: absolute; left: 0; width: 46px; text-align: right;
  font-size: 10px; color: #98a2b3; transform: translateY(-50%);
  font-variant-numeric: tabular-nums;
}
.fin-cols {
  display: flex; align-items: flex-end; gap: 10px;
  min-height: 172px; overflow-x: auto; padding-bottom: 2px; position: relative;
}
.fin-col {
  flex: 1; min-width: 46px; display: flex; flex-direction: column;
  align-items: center; gap: 4px; cursor: default;
  justify-content: flex-end;   /* o valor sobe junto com a barra, sem folga solta */
}
.fin-col-val {
  font-size: 11px; font-weight: 800; color: #6d28d9;
  font-variant-numeric: tabular-nums; transition: transform .12s;
}
.fin-col-barra {
  width: 100%; max-width: 46px;
  background: linear-gradient(180deg, #a78bfa 0%, #7c3aed 70%, #6d28d9 100%);
  border-radius: 7px 7px 0 0;
  transition: filter .15s, transform .15s;
  box-shadow: 0 2px 6px rgba(109,40,217,.20);
}
.fin-col:hover .fin-col-barra { filter: brightness(1.08); transform: scaleY(1.015); transform-origin: bottom; }
.fin-col:hover .fin-col-val { transform: translateY(-2px); }
.fin-col-rot { font-size: 10.5px; color: #667085; white-space: nowrap; font-weight: 600; }
.fin-col-n { font-size: 10px; color: #98a2b3; }

/* barra dupla (realizado x previsto), usada no fluxo de caixa */
.fin-par { display: flex; gap: 3px; align-items: flex-end; justify-content: center; }
.fin-par > div { width: 13px; border-radius: 4px 4px 0 0; transition: filter .15s; }
.fin-par > div:hover { filter: brightness(1.12); }
.fin-legenda { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11.5px; color: #667085; margin-top: 10px; }
.fin-legenda i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; margin-right: 5px; vertical-align: -1px; }

/* ---- tabelas ----------------------------------------------------------- */
#fin-conteudo table, .fin-tab-box table { border-collapse: collapse; width: 100%; }
#fin-conteudo thead th, .fin-tab-box thead th {
  position: sticky; top: 0; z-index: 2;
  background: #fafbfc; border-bottom: 1px solid var(--linha);
  font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
  color: #7d8697; padding: 11px 12px; text-align: left; white-space: nowrap;
}
#fin-conteudo tbody td { padding: 11px 12px; border-bottom: 1px solid #f1f3f7; font-size: 13px; }
#fin-conteudo tbody tr:last-child td { border-bottom: 0; }
#fin-conteudo tbody tr { transition: background .1s; }
#fin-conteudo tbody tr:hover { background: #fbfaff; }
#fin-conteudo td b, #fin-conteudo th[style*="right"] { font-variant-numeric: tabular-nums; }

/* ---- estado vazio ------------------------------------------------------ */
.fin-vazio { padding: 30px 22px; text-align: center; color: #667085; }
.fin-vazio-ico { font-size: 30px; line-height: 1; opacity: .5; display: block; margin-bottom: 10px; }
.fin-vazio b { display: block; color: #344054; font-size: 14.5px; margin-bottom: 5px; }
.fin-vazio span { font-size: 12.5px; line-height: 1.55; display: block; max-width: 460px; margin: 0 auto; }

/* ---- pílulas de faixa (cobrança) --------------------------------------- */
.fin-faixa {
  flex: 1; min-width: 148px; padding: 14px 16px; border-radius: 13px;
  background: #fff; border: 1px solid var(--linha); border-top: 3px solid;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
  transition: transform .12s, box-shadow .12s;
}
.fin-faixa:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16,24,40,.09); }
.fin-faixa-rot { font-weight: 800; font-size: 11.5px; letter-spacing: .6px; }
.fin-faixa-n { font-size: 24px; font-weight: 800; margin-top: 3px; font-variant-numeric: tabular-nums; }
.fin-faixa-v { font-size: 12px; color: #667085; font-variant-numeric: tabular-nums; }
.fin-faixa-sub { font-size: 10.5px; color: #98a2b3; margin-top: 2px; }

/* o conteúdo interno não repete a margem das telas soltas */
#fin-conteudo > .card:first-child { margin-top: 0; }

@media (max-width: 760px) {
  .fin-barra { grid-template-columns: 108px 1fr 108px; gap: 8px; }
  .fin-tab span:not(.fin-tab-ico) { display: none; }
  .fin-tab { padding: 9px 11px; }
  .fin-grupo-rot { display: none; }
  .fin-grupo + .fin-grupo::before { top: 4px; }
  .fin-alerta { grid-template-columns: 1fr; }
  .fin-gr { padding-left: 40px; }
  .fin-gr-grade, .fin-gr-eixo { left: 0; }
}

/* Sequências manuais da Central */
.rel-sequencia-area{padding:0 12px 8px;background:#fff}
.rel-seq-faixa{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #d8c7ff;border-radius:11px;background:linear-gradient(90deg,#faf7ff,#fff);box-shadow:0 4px 14px rgba(91,33,182,.06)}
.rel-seq-icone{width:30px;height:30px;border-radius:9px;background:#ede9fe;color:#6d28d9;display:grid;place-items:center;flex:0 0 auto}.rel-seq-icone svg{width:17px;height:17px}
.rel-seq-info{display:grid;min-width:0;flex:1;gap:1px}.rel-seq-info small{font-size:10px;color:#7c3aed;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.rel-seq-info b{font-size:12.5px;color:#24143d}.rel-seq-info span{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-seq-estado{padding:5px 8px;border-radius:99px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:750;white-space:nowrap}.rel-seq-estado.pronto{background:#dcfce7;color:#166534}
.rel-seq-lista{display:grid;gap:8px;max-height:52vh;overflow:auto;margin:12px 0}.rel-seq-card{width:100%;border:1px solid var(--linha);background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:inherit;cursor:pointer}.rel-seq-card:hover{border-color:#a78bfa;background:#faf7ff}.rel-seq-card:disabled{cursor:not-allowed;opacity:.55}.rel-seq-card.inativa{opacity:.6}.rel-seq-card span{display:grid;gap:3px}.rel-seq-card b{font-size:13px}.rel-seq-card small{font-size:11px;color:#64748b}.rel-seq-card strong{font-size:10px;color:#6d28d9;white-space:nowrap}
.rel-seq-ativa{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:11px;padding:10px 12px;margin:10px 0;font-size:12px}.rel-seq-ativa span{font-size:11px}
.rel-seq-preview{display:grid;gap:7px;max-height:48vh;overflow:auto;margin:12px 0}.rel-seq-preview>div{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:start;border:1px solid #e9e5f2;border-radius:10px;padding:9px}.rel-seq-preview>div>b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#ede9fe;color:#6d28d9;font-size:11px}.rel-seq-preview>div>span{display:grid;gap:3px;font-size:11.5px;color:#475569;white-space:pre-wrap}.rel-seq-preview strong{font-size:10px;color:#7c3aed;text-transform:uppercase;letter-spacing:.03em}
.rel-seq-editor-acoes,.rel-seq-remover{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.rel-seq-remover button{border:0;background:#fff1f2;color:#be123c;border-radius:8px;padding:6px 9px;font-size:10.5px;cursor:pointer}
.pil-wa-separada{border-color:#c4b5fd!important;background:#faf8ff}.pil-wa-separada .pil-luz{background:#ede9fe;color:#6d28d9}
@media(max-width:760px){.rel-seq-faixa{align-items:flex-start;flex-wrap:wrap}.rel-seq-info{min-width:calc(100% - 48px)}.rel-seq-estado{margin-left:39px}.rel-seq-card{align-items:flex-start}.rel-seq-card strong{white-space:normal;text-align:right}}


/* ===== MODELO DO CONTRATO: so o conteudo se edita, o desenho da folha nao ===== */
.ct-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 16px}
.ct-grade label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--cinza)}
.ct-grade input{font-size:13.5px}
.ct-bloco{position:relative;margin-bottom:14px}
.ct-rot{font-size:11.5px;font-weight:600;color:var(--cinza);letter-spacing:.4px;
  text-transform:uppercase;margin-bottom:5px}
.ct-bloco textarea{width:100%;font:12.5px/1.6 ui-monospace,Menlo,Consolas,monospace;
  padding:10px 12px;border:1px solid var(--linha);border-radius:9px;background:var(--fundo);
  color:var(--tinta);resize:vertical}
.ct-bloco textarea:focus{outline:0;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(124,58,237,.15)}
/* a ciencia e curta: o numero fica na lateral e o x na ponta, pra lista respirar */
.ct-cie{display:grid;grid-template-columns:26px 1fr 30px;align-items:start;gap:8px;margin-bottom:8px}
.ct-cie .ct-rot{margin:9px 0 0;text-align:right}
.ct-cie textarea{font-family:inherit;font-size:13px}
.ct-x{background:none;border:0;color:var(--cinza);font-size:19px;cursor:pointer;
  line-height:1;padding:8px 4px;border-radius:6px}
.ct-x:hover{background:var(--vermelho);color:var(--vermelho-b)}
.ct-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:sticky;bottom:10px;
  box-shadow:0 -2px 14px #0000001a}
@media(max-width:640px){ .ct-acoes #ct-restaurar{margin-left:0!important} }


/* ===== a previa do contrato dentro do sistema (folha A4 encolhida) ===== */
.ct-preview{max-height:50vh;overflow:auto;background:var(--fundo);border:1px solid var(--linha);
  border-radius:10px;padding:8px}
.ct-preview .folha{zoom:var(--z,1);box-shadow:0 1px 5px #00000014;margin:0 auto 10px!important}
.ct-link{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--verdeclaro);
  border:1px solid #cdebd7;border-radius:10px;padding:10px 12px;margin-bottom:12px}
.ct-link-rot{font-size:12px;font-weight:600;color:#1f7a45;width:100%}
.ct-link input{flex:1;min-width:220px;font-size:12.5px;font-family:ui-monospace,Consolas,monospace;
  background:#fff}


/* ===== COMPENSAÇÃO: o dinheiro que a cliente pagou e ainda não caiu na conta ===== */
/* a barra de cor no topo é a mesma linguagem dos outros cards do financeiro */
.fin-card.kpi::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--cinza),#c9cfdb)}
.fin-card.kpi.good::before{background:linear-gradient(90deg,#16a34a,#4ade80)}
.fin-card.kpi.bad::before{background:linear-gradient(90deg,#dc2626,#f87171)}
.fin-card.kpi.mag::before{background:linear-gradient(90deg,#7c3aed,#a78bfa)}

.cp-tab{width:100%;border-collapse:collapse;font-size:13px}
.cp-tab th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px;
  color:var(--cinza);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--linha);
  background:var(--fundo);position:sticky;top:0;z-index:1}
.cp-tab th:first-child{border-top-left-radius:8px}
.cp-tab th:last-child{border-top-right-radius:8px}
.cp-tab td{padding:10px;border-bottom:1px solid var(--linha);vertical-align:top}
.cp-tab tbody tr:last-child td{border-bottom:0}
.cp-tab tbody tr:nth-child(even){background:#fcfcfd}
.cp-tab tbody tr:hover{background:var(--azul)}
.cp-r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cp-tab input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:var(--magenta)}
/* atrasado = já passou do dia em que devia cair. Faixa na lateral em vez de fundo
   chapado: dá pra varrer a coluna com o olho sem a linha inteira gritar. */
.cp-atraso td:first-child{box-shadow:inset 3px 0 0 var(--vermelho-b)}
.cp-atraso{background:#fffafa}
.cp-atraso:hover{background:var(--vermelho)}
.cp-alerta{display:inline-block;font-size:10.5px;font-weight:600;color:var(--vermelho-b);
  background:var(--vermelho);border:1px solid #f7c9c9;border-radius:5px;padding:0 6px;margin-left:4px}
.cp-busca-avancada{display:grid;grid-template-columns:minmax(280px,1fr) 180px 180px auto auto;align-items:center;gap:8px;margin:0 0 12px;padding:10px;border:1px solid #e4dff0;border-radius:12px;background:linear-gradient(120deg,#fbf9ff,#fff)}
.cp-busca-texto{display:flex!important;align-items:center;gap:8px;height:38px;padding:0 11px!important;border:1px solid #d8d2e4;border-radius:9px;background:#fff;color:#7640d8}
.cp-busca-texto:focus-within{border-color:#8b5ce8;box-shadow:0 0 0 3px rgba(117,57,232,.1)}
.cp-busca-texto input{width:100%;height:auto!important;padding:0!important;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font-size:12px!important}
.cp-busca-avancada select{height:38px!important;border-radius:9px!important;background:#fff!important;font-size:11px!important;font-weight:700}
.cp-busca-resumo{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 5px;min-width:128px;padding:4px 10px;border-left:1px solid #e5dfef}
.cp-busca-resumo b{color:#6e32d5;font-size:18px;line-height:1}.cp-busca-resumo span{color:#7a8190;font-size:9px;font-weight:800;text-transform:uppercase}.cp-busca-resumo strong{grid-column:1/-1;margin-top:3px;color:#263044;font-size:10.5px;font-variant-numeric:tabular-nums}
.cp-paginacao{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-top:8px;border-top:1px solid #ebe6f2;color:#747c8d;font-size:10px}
.cp-paginacao>span{margin-right:auto;font-weight:750;font-variant-numeric:tabular-nums}.cp-paginacao label{display:flex!important;align-items:center;gap:6px;padding:0!important;color:#747c8d!important;font-size:10px!important;font-weight:750!important}
.cp-paginacao select{width:70px!important;height:30px!important;padding:0 7px!important}.cp-paginacao button{display:grid;width:30px;height:30px;place-items:center;border:1px solid #dcd5e8;border-radius:8px;background:#fff;color:#6830ca;font-size:18px;font-weight:800;cursor:pointer}
.cp-paginacao button:hover:not(:disabled){border-color:#8b5ce8;background:#f3effc}.cp-paginacao button:disabled{opacity:.38;cursor:not-allowed}.cp-paginacao>b{min-width:55px;text-align:center;color:#343c4e;font-size:10.5px;font-variant-numeric:tabular-nums}
.cp-tab tr[hidden]{display:none!important}

/* Busca automática das listas extensas do Financeiro. */
.fin-busca-local{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px;border:1px solid #e6e2ec;border-radius:11px;background:#faf9fc}
.fin-busca-local label{display:flex!important;min-width:220px;max-width:520px;flex:1;align-items:center;gap:7px;height:36px;padding:0 10px!important;border:1px solid #ddd8e6;border-radius:8px;background:#fff}
.fin-busca-local label:focus-within{border-color:#8b5ce8;box-shadow:0 0 0 3px rgba(117,57,232,.09)}
.fin-busca-icone{color:#7540d8;font-size:17px}.fin-busca-local input{width:100%;height:auto!important;padding:0!important;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;font-size:11.5px!important}
.fin-busca-local select{width:190px;height:36px!important;border-radius:8px!important;background:#fff!important;font-size:10.5px!important;font-weight:700}
.fin-busca-contagem{flex:none;color:#737b8c;font-size:10px;font-weight:750;font-variant-numeric:tabular-nums}.fin-busca-local.filtrando .fin-busca-contagem{color:#6d2bd3}
.fin-busca-local button{height:32px;padding:0 11px;border:1px solid #ded7ea;border-radius:8px;background:#fff;color:#6730c6;font-size:10px;font-weight:800;cursor:pointer}.fin-busca-local button:hover{border-color:#8b5ce8;background:#f3effc}

@media(max-width:1050px){.cp-busca-avancada{grid-template-columns:1fr 1fr 1fr}.cp-busca-texto{grid-column:1/-1}.cp-busca-resumo{border-left:0}}
@media(max-width:720px){.cp-busca-avancada{grid-template-columns:1fr}.cp-busca-texto{grid-column:auto}.cp-busca-resumo{grid-template-columns:auto 1fr}.cp-paginacao{flex-wrap:wrap;justify-content:center}.cp-paginacao>span{width:100%;margin:0;text-align:center}.fin-busca-local{align-items:stretch;flex-wrap:wrap}.fin-busca-local label{min-width:100%;max-width:none}.fin-busca-local select{min-width:0;flex:1}.fin-busca-contagem{align-self:center}}



/* ===== termo de renegociação: junta os contratos antigos num só ===== */
.rn-lista{max-height:34vh;overflow:auto;border:1px solid var(--linha);border-radius:10px;
  padding:6px;margin-bottom:14px;background:var(--fundo)}
.rn-item{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;
  padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13.5px}
.rn-item:hover{background:var(--card)}
.rn-item input{width:17px;height:17px}
.rn-val{white-space:nowrap;color:var(--tinta)}
.rn-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.rn-campos label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--cinza)}
.rn-conta{margin:12px 0 6px;font-size:13.5px}
.rn-conta b{color:var(--tinta);font-size:15px}


/* ===== FÊNIX FINANCEIRO =====
   Fogo, mas contido: o assunto é dinheiro. A cor aparece só no nome e num fio fino;
   o resto da tela segue o cinza do sistema, pra leitura não cansar. */
.fx-topo{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.fx-marca{line-height:1}
.fx-nome{font-size:27px;font-weight:800;letter-spacing:-.4px;
  background:linear-gradient(96deg,#f59e0b 0%,#f97316 42%,#dc2626 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.fx-sub{font-size:11.5px;font-weight:600;letter-spacing:2.4px;text-transform:lowercase;
  color:var(--cinza);margin-top:3px;padding-left:2px}
.fx-busca{display:flex;gap:8px;flex:1;min-width:280px}
.fx-busca input{flex:1;font-size:13.5px;padding:9px 12px}
.fx-busca input:focus{outline:0;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.16)}

.fx-grupo{margin-bottom:16px}
.fx-grupo-rot{font-size:11px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;
  color:var(--cinza);margin-bottom:8px}
.fx-cards{display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}
.fx-card{text-align:left;font:inherit;font-size:13.5px;color:var(--tinta);cursor:pointer;
  background:var(--card);border:1px solid var(--linha);border-radius:11px;padding:13px 14px;
  transition:border-color .12s,box-shadow .12s,transform .12s;position:relative;overflow:hidden}
.fx-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#f59e0b,#dc2626);opacity:0;transition:opacity .12s}
.fx-card:hover{border-color:#f6c877;box-shadow:0 4px 14px rgba(220,38,38,.10);transform:translateY(-1px)}
.fx-card:hover::before{opacity:1}
.fx-card:disabled{opacity:.6;cursor:wait}

.fx-resp{background:var(--card);border:1px solid var(--linha);border-radius:12px;
  padding:16px 18px;margin-bottom:18px;border-left:3px solid #f59e0b}
.fx-resp.fx-duvida{border-left-color:var(--cinza)}
.fx-resp-tit{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--cinza);margin-bottom:6px}
.fx-resp-txt{font-size:15.5px;line-height:1.55;color:var(--tinta)}
/* a fonte é o que separa resposta de chute: sempre visível, nunca escondida */
.fx-fonte{margin-top:11px;padding-top:9px;border-top:1px dashed var(--linha);
  font-size:11.5px;color:var(--cinza);line-height:1.5}
.fx-fonte-rot{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  font-size:10px;color:#b45309;background:#fef3c7;border-radius:4px;padding:1px 6px;margin-right:6px}
.fx-detalhe{margin-top:12px}
.fx-detalhe summary{cursor:pointer;font-size:12.5px;color:var(--magenta-2);font-weight:600}

/* o realce de um segundo quando a resposta chega: rolar sozinho sem avisar confunde */
@keyframes fx-piscar { 0%{box-shadow:0 0 0 0 rgba(245,158,11,.55)} 100%{box-shadow:0 0 0 14px rgba(245,158,11,0)} }
.fx-piscou{animation:fx-piscar .9s ease-out}
@media (prefers-reduced-motion:reduce){ .fx-piscou{animation:none} }


/* ---- Fênix: o pedido de autorização e o aviso ----
   A ação que muda dado para aqui: a pessoa lê o que vai acontecer, digita a senha
   quando é ação perigosa, e só então confirma. */
.fx-confirma { display:flex; gap:8px; align-items:center; flex-wrap:wrap;
  margin-top:12px; padding-top:12px; border-top:1px dashed #e5e7eb; }
.fx-confirma input { padding:8px 10px; border:1px solid #e5e7eb; border-radius:8px;
  font-size:14px; min-width:210px; background:#fff; }
.fx-confirma input:focus { outline:2px solid #f59e0b; outline-offset:1px; }
.fx-confirma .btn { padding:8px 16px; }
.fx-confirma .btn.ghost { background:transparent; color:var(--cinza); border:1px solid #e5e7eb; }

/* a IA não pôde responder agora e a resposta veio pelo caminho direto */
.fx-aviso { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412;
  padding:8px 12px; border-radius:8px; font-size:13px; margin-bottom:10px; }


/* ============ PAINEL DE PLANEJAMENTO (áudios do Reinaldo, 14/08) ============
   "todo o painel de alocar, só uma coluna na vertical do lado esquerdo, e do lado
   direito eu criar um outro painel com todos os meus especialistas" */
.pl2 { display:grid; grid-template-columns:340px minmax(0,1fr); gap:16px; align-items:start; }
@media (max-width: 1080px) { .pl2 { grid-template-columns:1fr; } }

/* ---- coluna da esquerda ---- */
.pl2-esq { display:flex; flex-direction:column; gap:14px; position:sticky; top:10px; }
@media (max-width: 1080px) { .pl2-esq { position:static; } }
.pl2-caixa { background:#fff; border:1px solid var(--linha); border-radius:12px; padding:14px; }
.pl2-caixa.destaque { border-color:#f59e0b; box-shadow:0 0 0 3px #fef3c7; }
.pl2-tit { margin:0; font-size:14px; font-weight:700; color:var(--tinta);
  display:flex; align-items:center; gap:8px; }
.pl2-n { background:#f59e0b; color:#fff; border-radius:999px; padding:1px 8px; font-size:12px; }
.pl2-sub { margin:4px 0 12px; font-size:12px; color:var(--cinza); line-height:1.45; }
.pl2-vazio { padding:14px; text-align:center; color:var(--cinza); font-size:13px;
  background:var(--fundo); border-radius:8px; }

/* indicadores: a carga de cada profissional */
.pl2-inds { display:flex; flex-direction:column; gap:9px; }
.pl2-ind { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center;
  position:relative; padding-bottom:7px; }
.pl2-ind-cor { width:10px; height:10px; border-radius:3px; }
.pl2-ind-txt { min-width:0; }
.pl2-ind-txt b { display:block; font-size:13px; color:var(--tinta);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pl2-ind-txt span { font-size:11.5px; color:var(--cinza); }
.pl2-ind-txt i { font-style:normal; color:#16a34a; font-weight:600; }
.pl2-ind-alerta { color:#dc2626; font-size:14px; }
.pl2-barra { position:absolute; left:18px; right:0; bottom:0; height:3px;
  background:var(--linha); border-radius:2px; overflow:hidden; }
.pl2-barra span { display:block; height:100%; border-radius:2px; }

/* a fila de alocar */
.pl2-fila { display:flex; flex-direction:column; gap:10px; max-height:46vh; overflow:auto; }
.pl2-card { border:1px solid var(--linha); border-radius:10px; padding:10px; background:var(--fundo); }
.pl2-card-h { display:flex; justify-content:space-between; align-items:center; }
.pl2-card-h b { font-size:15px; color:var(--tinta); }
.pl2-dur { font-size:11.5px; color:var(--cinza); background:#fff;
  border:1px solid var(--linha); border-radius:999px; padding:1px 7px; }
.pl2-cli { font-size:13.5px; font-weight:600; margin-top:4px; color:var(--tinta); }
.pl2-serv { font-size:11.5px; color:var(--cinza); margin-bottom:8px; }
.pl2-sel, .pl2-lab select, .pl2-lab input { width:100%; padding:7px 9px;
  border:1px solid var(--linha); border-radius:8px; font-size:13px; background:#fff; }
.pl2-lab { display:block; font-size:11.5px; color:var(--cinza); margin-bottom:9px; }
.pl2-lab select, .pl2-lab input { margin-top:3px; }

/* o aviso de choque, que é o coração do pedido */
.pl2-aviso { display:none; }
.pl2-aviso.mostra { display:block; margin-top:9px; padding:10px;
  background:#fef2f2; border:1px solid #fecaca; border-radius:8px; }
.pl2-aviso-tit { font-size:12.5px; font-weight:700; color:#b91c1c; margin-bottom:4px; }
.pl2-aviso-txt { font-size:12px; color:#7f1d1d; line-height:1.5; }
.pl2-aviso-bts { display:flex; gap:7px; margin-top:9px; flex-wrap:wrap; }

/* ---- coluna da direita: uma linha por profissional ---- */
.pl2-dir { display:flex; flex-direction:column; gap:12px; }
.pl2-linha { background:#fff; border:1px solid var(--linha); border-left:5px solid var(--cor);
  border-radius:12px; overflow:hidden; }
.pl2-linha.vazia { opacity:.62; }
.pl2-linha-cab { display:flex; align-items:center; gap:10px; padding:11px 14px;
  border-bottom:1px solid var(--linha); background:linear-gradient(90deg, color-mix(in srgb, var(--cor) 9%, #fff), #fff); }
.pl2-av { width:32px; height:32px; border-radius:9px; color:#fff; font-size:12px;
  font-weight:700; display:grid; place-items:center; flex:0 0 auto; }
.pl2-linha-quem { flex:1; min-width:0; }
.pl2-linha-quem b { display:block; font-size:14.5px; color:var(--tinta); }
.pl2-linha-quem span { font-size:11.5px; color:var(--cinza); }
.pl2-badge { font-size:11px; padding:3px 9px; border-radius:999px;
  background:var(--fundo); color:var(--cinza); border:1px solid var(--linha); white-space:nowrap; }
.pl2-badge.ruim { background:#fef2f2; color:#b91c1c; border-color:#fecaca; font-weight:600; }
.pl2-cor { width:26px; height:26px; padding:0; border:1px solid var(--linha);
  border-radius:6px; background:none; cursor:pointer; flex:0 0 auto; }

/* a sequência do dia */
.pl2-seq { display:flex; flex-direction:column; }
.pl2-slot { display:grid; grid-template-columns:64px 1fr auto; gap:11px; align-items:center;
  padding:9px 14px; border-bottom:1px solid var(--linha); cursor:pointer; position:relative; }
.pl2-slot:last-child { border-bottom:0; }
.pl2-slot:hover { background:color-mix(in srgb, var(--cor) 6%, #fff); }
.pl2-slot.caiu { opacity:.5; }
.pl2-slot.caiu .pl2-slot-c b { text-decoration:line-through; }
.pl2-slot.choque { background:#fef2f2; }
.pl2-slot.choque:hover { background:#fee2e2; }
.pl2-slot.piscou { animation:pl2pisca 1.5s ease; }
@keyframes pl2pisca { 0%,100% { background:#fef2f2; } 40% { background:#fecaca; } }
.pl2-slot-h { font-size:13.5px; font-weight:700; color:var(--tinta); line-height:1.2; }
.pl2-slot-h i { display:block; font-style:normal; font-size:11px; color:var(--cinza); font-weight:500; }
.pl2-slot-c { min-width:0; }
.pl2-slot-c b { font-size:13.5px; color:var(--tinta); }
.pl2-slot-c span { display:block; font-size:11.5px; color:var(--cinza); }
.pl2-sala { display:inline-block !important; background:var(--fundo); border:1px solid var(--linha);
  border-radius:5px; padding:0 6px; margin-top:2px; }
.pl2-tag { display:inline-block !important; background:#eff6ff; color:#1d4ed8;
  border:1px solid #bfdbfe; border-radius:5px; padding:0 6px; margin-top:2px; }
.pl2-choque { grid-column:1/-1; font-size:11.5px; color:#b91c1c; font-weight:600; margin-top:2px; }
.pl2-st { font-size:10.5px; padding:2px 8px; border-radius:999px;
  background:var(--fundo); color:var(--cinza); border:1px solid var(--linha); white-space:nowrap; }
.pl2-vazio-linha { padding:16px; text-align:center; color:var(--cinza); font-size:12.5px; }
.pl2-perdidos { padding:8px 14px; background:var(--fundo); font-size:11.5px; color:var(--cinza);
  border-top:1px solid var(--linha); display:flex; justify-content:space-between; gap:10px; }
.pl-chip.ruim { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca;
  font-weight:600; cursor:pointer; }

/* quem não tem sessão no dia: recolhido, mas ao alcance de um clique */
.pl2-livres { background:#fff; border:1px dashed var(--linha); border-radius:10px; padding:10px 14px; }
.pl2-livres summary { cursor:pointer; font-size:12.5px; color:var(--cinza); }
.pl2-livres summary span { font-size:11.5px; opacity:.75; }
.pl2-livres-lista { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.pl2-livre { display:inline-flex; align-items:center; gap:6px; font-size:12px;
  color:var(--tinta); background:var(--fundo); border:1px solid var(--linha);
  border-radius:999px; padding:3px 10px; }
.pl2-livre i { width:8px; height:8px; border-radius:50%; }
.pl2-ind.livre { opacity:.5; }


/* ============ CÂMERA DO TABLET (foto de sessão) ============
   "em vez de anexar a foto, é tirar foto" (Reinaldo, 14/08) */
.cam-topo { display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; margin-bottom:12px; }
.cam-palco { position:relative; background:#0f172a; border-radius:12px; overflow:hidden;
  aspect-ratio:4/3; display:grid; place-items:center; }
.cam-palco video, .cam-palco img { width:100%; height:100%; object-fit:contain; display:block; }
.cam-erro { color:#fecaca; font-size:13.5px; padding:22px; text-align:center; line-height:1.6; }
.cam-consent { display:flex; align-items:center; gap:10px; margin:12px 2px 0;
  font-size:13.5px; color:var(--tinta); }
.cam-consent input { width:20px; height:20px; }
.cam-bts { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
/* alvo de toque grande: dedo com luva não acerta botão de 30px */
.btn.grande { min-height:48px; padding:0 22px; font-size:15px; flex:1; min-width:150px; }

/* ---- os campos novos da ficha e as fotos por área ---- */
.at-escalas { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.at-escalas select { min-height:40px; }
.at-reacao-pele { flex:1 1 430px; min-width:280px; margin:0; padding:0; border:0; }
.at-reacao-pele legend { margin-bottom:6px; color:var(--tinta); font-size:11.5px; font-weight:600; }
.at-reacao-opcoes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.modal-card .at-reacao-opcao { min-height:42px; margin:0; padding:8px 10px;
  border:1px solid var(--linha); border-radius:9px; background:#fff; cursor:pointer; }
.modal-card .at-reacao-opcao:has(input:checked) { border-color:var(--magenta-2);
  background:#f8f1ff; box-shadow:0 0 0 2px rgba(125,45,145,.1); }
.at-reacao-opcao span { line-height:1.25; }
.at-reacao-pele>small { display:block; margin-top:6px; font-size:11.5px; }
.at-fotos { margin-top:12px; padding-top:12px; border-top:1px dashed var(--linha); }
.at-fotos-cab { display:flex; justify-content:space-between; align-items:baseline;
  gap:10px; margin-bottom:8px; font-size:13px; }
.at-fotos-bts { display:flex; gap:8px; flex-wrap:wrap; }
.at-foto-bt { min-height:44px; padding:0 16px; font-size:14px; text-transform:capitalize; }
.at-foto-bt.destaque { box-shadow:0 0 0 3px #fde68a; }
.at-fotos-lista { display:flex; gap:6px; flex-wrap:wrap; margin-top:9px; }
.at-foto-chip { font-size:11.5px; padding:2px 9px; border-radius:999px;
  background:var(--fundo); border:1px solid var(--linha); color:var(--cinza); }
.at-foto-chip.antes { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; font-weight:600; }

/* no tablet em pé, o modal ocupa a tela e os campos crescem */
@media (max-width: 900px) {
  .cam-bts .btn.grande { flex:1 1 100%; }
  .at-escalas .field { min-width:calc(50% - 5px) !important; }
  .at-reacao-opcoes { grid-template-columns:1fr; }
  .at-foto-bt { flex:1; }
}


/* ============ MÓDULOS DO PAINEL DE ATENDIMENTO (réplica do Belle) ============ */
.mx-topo { display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; margin-bottom:12px; }
.mx { display:grid; grid-template-columns:212px minmax(0,1fr); gap:14px; align-items:start; }
.mx-menu { display:flex; flex-direction:column; gap:2px; max-height:64vh; overflow:auto;
  border-right:1px solid var(--linha); padding-right:8px; }
.mx-item { display:flex; align-items:center; gap:8px; width:100%; text-align:left;
  background:none; border:0; padding:9px 10px; border-radius:8px; cursor:pointer;
  font-size:13px; color:var(--tinta); min-height:40px; }
.mx-item:hover { background:var(--fundo); }
.mx-item.on { background:var(--magenta); color:#fff; font-weight:600; }
.mx-ic { font-size:14px; }
.mx-nome { flex:1; }
.mx-n { font-size:11px; background:rgba(0,0,0,.10); border-radius:999px; padding:1px 7px; }
.mx-item.on .mx-n { background:rgba(255,255,255,.28); }
.mx-corpo { min-height:340px; }
.mx-cab { display:flex; justify-content:space-between; align-items:center; gap:10px;
  flex-wrap:wrap; padding-bottom:10px; margin-bottom:12px; border-bottom:1px solid var(--linha); }
.mx-aba { margin:16px 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.4px;
  color:var(--cinza); font-weight:700; }
.mx-grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:11px; }
.mx-campo { display:flex; flex-direction:column; gap:4px; }
.mx-campo.larga { grid-column:1/-1; }
.mx-campo label { font-size:11.5px; color:var(--cinza); }
.mx-campo input, .mx-campo textarea { padding:8px 10px; border:1px solid var(--linha);
  border-radius:8px; font-size:13.5px; width:100%; font-family:inherit; }
.mx-campo input[readonly] { background:var(--fundo); color:var(--cinza); }
.mx-val { padding:7px 0; font-size:13.5px; color:var(--tinta); min-height:22px;
  border-bottom:1px dotted var(--linha); }
.mx-val.sim { color:#b91c1c; font-weight:600; }   /* na anamnese, "sim" é o que exige cuidado */
.mx-val.nao { color:var(--cinza); }
/* sim/não em dois botões: no tablet é mais rápido tocar do que abrir um select */
.mx-sn { display:flex; gap:6px; }
.mx-sn button { flex:1; min-height:38px; border:1px solid var(--linha); background:#fff;
  border-radius:8px; font-size:13px; cursor:pointer; }
.mx-sn button.on.sim { background:#fee2e2; border-color:#fca5a5; color:#b91c1c; font-weight:700; }
.mx-sn button.on.nao { background:var(--fundo); border-color:var(--linha); font-weight:600; }
.mx-vazio { padding:34px 18px; text-align:center; color:var(--cinza); font-size:13px; }
.mx-ger-item { display:flex; align-items:center; gap:9px; padding:8px 4px;
  border-bottom:1px solid var(--linha); font-size:13.5px; cursor:pointer; }
.mx-ger-item input { width:18px; height:18px; }
.mx-ger-item span { flex:1; }

/* tablet: o menu vira faixa em cima */
@media (max-width: 860px) {
  .mx { grid-template-columns:1fr; }
  .mx-menu { flex-direction:row; overflow-x:auto; border-right:0;
    border-bottom:1px solid var(--linha); padding:0 0 8px; }
  .mx-item { width:auto; white-space:nowrap; min-height:44px; }
  .mx-nome { flex:0 0 auto; }
}


/* ================================================================================
   REFINO 17/08 — revisão de design em 4 lentes, regra do dono: "melhora, não muda
   tanto". Só overrides e 2 variáveis; nada de layout, posição ou identidade; nada
   dentro de .folha (o contrato assinado é congelado).
   ================================================================================ */

/* ---- variáveis: verde/vermelho mais fundos (contraste >4,5:1 nos selos e toasts)
   e o token oficial de sombra leve ---- */
:root{--verde-b:#15803d;--vermelho-b:#c23b3b;--sombra-s:0 1px 3px rgba(20,20,40,.06)}

/* ---- tipografia: a grade lida 8h/dia ---- */
.ev{font-size:11.5px}
.ev b{font-size:11.5px}
.ev .sv{line-height:1.35}
.ev-l2{font-size:10.5px;color:#454c5a}
.ev.Marcado{border-color:#6ecb7d}                 /* borda-guia com presença, ainda mais clara que Confirmado */
.ev.ev:not(.ia-sug){border-bottom:2px solid transparent;background-clip:padding-box}  /* fresta entre blocos colados */
#sidebar .ico .lb{font-size:10px;letter-spacing:.25px}
.time-cell{font-size:11.5px;color:var(--cinza);padding-right:9px}
.time-min{font-size:10px;color:#9aa0ab}
.col-head{padding:10px 8px}
.nv-hora{font-size:22px;letter-spacing:-.3px}
.at-h{font-size:20px}
/* dígito tabular no sistema todo (o Financeiro já usava); o :not(.folha *) protege o contrato */
th:not(.folha *),td:not(.folha *),.kpi .n,.time-cell,.ls-h,.at-h,.nv-hora,.pl-h,.pl2-slot-h,.ag-tab td,.cv-tab td{font-variant-numeric:tabular-nums}

/* ---- KPIs: o número cortado do Painel do Dia ---- */
.kpi .n{font-size:28px;letter-spacing:-.02em}
.kpi{min-width:0}
.kpis{overflow-x:auto;padding-bottom:4px}
.card.kpi{padding:16px 18px}                      /* o .card{padding-block:2px} esmagava o KPI */

/* ---- rótulos e legendas: contraste de quem explica o número ---- */
.fin-card-rot{color:#667085}
.fin-grupo-rot{color:#7d8697}
.kpi .l,.ls-kpi .l{color:var(--cinza)}
#rodape{color:var(--cinza)}

/* ---- semântica de cor: o Planejamento fala a língua do resto ---- */
.pl-status.st-Confirmado{background:var(--verde);color:#127a3c;border-color:#a6e4bc}
.pl-status.st-Atendido{background:#e6f6fa;color:#0e7490;border-color:#b3e2ee}
.pl-status.st-Aguardando{background:var(--amarelo);color:#8a6d00;border-color:#f2e2ab}
.pl-status.st-EmAndamento{background:#e8f4ff;color:#1f6feb;border-color:#b8dcf7}
.cv-item.on{background:var(--azul)}               /* seleção é roxa, não verde-de-status */
.cv-cand:hover{background:#f5f1fe}

/* ---- restos da identidade azul antiga -> roxo da marca ---- */
.btn.ghost{border-color:#ddd4f7}
.btn.ghost:hover{background:#f5f1fe;color:var(--magenta-2)}
.at-tag-humano,.nv-dia-amanha,.dsp-t-v1{color:var(--magenta-2)}

/* ---- foco de teclado na cor da marca (não existia nenhum) ---- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--magenta-2);outline-offset:2px}
#sidebar :focus-visible{outline-color:#fff;outline-offset:-2px}
.field input:focus-visible,.field select:focus-visible,.cv-busca input:focus-visible{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
input[type=checkbox],input[type=radio]{accent-color:var(--magenta)}
input[type=checkbox]{min-width:16px;min-height:16px}

/* ---- gramática dos chips: cápsula = estado, retângulo = etiqueta ---- */
.pill,.pl-status,.pl-tag,.nc-chip,.pl2-badge,.pl2-st,.at-tag,.dsp-tipo{border-radius:999px}
.pl2-sala,.pl2-tag{border-radius:6px}

/* ---- elevação consistente: todo card levanta a mesma altura ---- */
.pl-bloco,.pl2-caixa,.pl2-linha,.pa-secao,.cv-col{box-shadow:var(--sombra-s)}
.modal-card{box-shadow:0 24px 60px rgba(20,15,30,.22),0 3px 12px rgba(20,15,30,.10)}
@media (prefers-reduced-motion:no-preference){
  #modal.open .modal-card{animation:md-in .16s ease-out}
  @keyframes md-in{from{transform:translateY(8px);opacity:.65}to{transform:none;opacity:1}}
}

/* ---- zebra visível nas tabelas longas (guardada contra o contrato) ---- */
tbody tr:nth-child(even) td:not(.folha *){background:#f7f8fb}
tbody tr:hover td:not(.folha *){background:#f5f0ff}
.cv-tab tbody tr:nth-child(even) td,.ag-tab tbody tr:nth-child(even) td{background:transparent}

/* ---- respiro das tabelas do Financeiro no ritmo do resto ---- */
#fin-conteudo thead th,.fin-tab-box thead th{padding:12px 14px}
#fin-conteudo tbody td{padding:12px 14px}

/* ---- alvos de toque na fila de alocar (tablet, luva) ---- */
.pl2-sel,.pl2-lab select,.pl2-lab input{padding:10px 12px}

/* ---- ritmo vertical: 16 entre blocos, 20 antes de título ---- */
.agenda-top{margin-bottom:16px}
.kpis{margin-bottom:16px}
.nv-sec{margin:20px 0 10px}
.av-sec-tit,.mx-aba{margin:20px 0 10px}
.fin-cards,.nv-resumo,.ls-kpis{gap:14px}
.pl2-esq{gap:12px}

/* ---- rolagem fina onde ainda era a barra crua do sistema ---- */
#view::-webkit-scrollbar,.grade-wrap::-webkit-scrollbar,.modal-card::-webkit-scrollbar,.ls-rolo::-webkit-scrollbar,.pl-lista::-webkit-scrollbar,.pl2-fila::-webkit-scrollbar,#cv-itens::-webkit-scrollbar,.cv-msgs::-webkit-scrollbar,.mx-menu::-webkit-scrollbar,.ct-preview::-webkit-scrollbar,#taskbar::-webkit-scrollbar,.fin-cols::-webkit-scrollbar,.kpis::-webkit-scrollbar{width:10px;height:10px}
#view::-webkit-scrollbar-thumb,.grade-wrap::-webkit-scrollbar-thumb,.modal-card::-webkit-scrollbar-thumb,.ls-rolo::-webkit-scrollbar-thumb,.pl-lista::-webkit-scrollbar-thumb,.pl2-fila::-webkit-scrollbar-thumb,#cv-itens::-webkit-scrollbar-thumb,.cv-msgs::-webkit-scrollbar-thumb,.mx-menu::-webkit-scrollbar-thumb,.ct-preview::-webkit-scrollbar-thumb,#taskbar::-webkit-scrollbar-thumb,.fin-cols::-webkit-scrollbar-thumb,.kpis::-webkit-scrollbar-thumb{background:#d3d7e2;border-radius:8px;border:2px solid #fff;background-clip:padding-box}
#view::-webkit-scrollbar-thumb:hover,.grade-wrap::-webkit-scrollbar-thumb:hover,.modal-card::-webkit-scrollbar-thumb:hover{background:#bcc2d1}
#view::-webkit-scrollbar-track,.grade-wrap::-webkit-scrollbar-track,.modal-card::-webkit-scrollbar-track{background:transparent}


/* ---- ícones de traço (17/08): tamanho e alinhamento dos svg ---- */
.gl{display:flex;align-items:center;justify-content:center}
.gl svg{width:21px;height:21px;display:block}
.fly-ico{display:inline-flex;align-items:center}
.fly-ico svg{width:17px;height:17px}


/* ---- filtro automático de tabela (17/08) ---- */
.tbl-filtro{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.tbl-filtro input{flex:0 1 320px;padding:9px 12px;border:1px solid var(--linha);border-radius:9px;font-size:13.5px}
.tbl-filtro input:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.tbl-conta{font-size:12.5px}


/* ---- fila de aprovação de sessão avulsa (17/08) ---- */
.pa-fila{display:flex;flex-direction:column;gap:12px}
.pa-pedido{padding:14px 16px}
.pa-quem{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.pa-quem b{font-size:15px}
.pa-quando{font-size:13.5px;color:var(--tinta);margin-bottom:6px}
.pa-bts{display:flex;gap:8px;margin-top:8px}


/* ---- áreas não feitas no 'passar para' (áudio 17/08) ---- */
.pl2-areas{display:none}
.pl2-areas.on{display:block;margin:0 0 10px;padding:10px;background:var(--fundo);
  border:1px solid var(--linha);border-radius:9px}
.pl2-areas-tit{font-size:12px;font-weight:700;color:var(--tinta);margin-bottom:6px}
.pl2-area-item{display:flex;align-items:center;gap:8px;padding:5px 2px;font-size:13px;cursor:pointer}
.pl2-area-item input{width:17px;height:17px}
.pl2-area-item span{flex:1}
.pl2-area-item i{font-style:normal;font-size:11.5px}


/* ---- lista de sessões do Painel do Dia: modal largo + busca (17/08) ---- */
.modal-card:has(.kpi-tab){width:min(1180px,97vw)}
.kpi-busca{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.kpi-busca input{flex:0 1 380px;padding:10px 12px;border:1px solid var(--linha);
  border-radius:9px;font-size:13.5px}
.kpi-busca input:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.kpi-tab td,.kpi-tab th{white-space:normal}


/* etiqueta da parcela que o mensal gerou sozinho: ela parece a conta que
   acabou de ser paga, e sem marca vira pagamento repetido (17/08) */
.pill.av{background:#fff3d6;color:#92600a}

/* custo unico: etiqueta apagada, so pra diferenciar do mensal (pedido 17/08) */
.pill.un{background:#eef2f7;color:#64748b;font-weight:600}


/* ---- consertos vindos das FOTOS 17/08 (headless) ---- */
/* filho de grid tem min-width automática: a tabela do dia esticava a .ag2
   além da janela, cortava o último KPI e expulsava Buracos/WhatsApp da tela */
.ag2>*{min-width:0}
/* a barra do Financeiro quebra linha em vez de cortar o grupo CAIXA */
/* (20/08) o wrap que fazia a barra estourar em 2 linhas caiu: uma linha rolavel */
/* ícone de traço nas abas do fin: mesmo tamanho do resto do sistema */
.fin-tab-ico svg{width:15px;height:15px;display:block}
/* a barra de abas de baixo: aba longa não empurra a barra pra fora */
/* (20/08 noite) o wrap que estourava a barra de baixo em 2 linhas caiu: uma linha rolavel */
#taskbar .tab{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#taskbar .tab:hover{box-shadow:0 2px 8px rgba(80,50,180,.16)}


/* ---- MEDIDO 17/08: o numero do KPI encolhe junto com o card ---- */
/* "R$ 13.121,75" a 28px mede ~190px e o card da fileira tem ~176px de miolo:
   o numero vazava por cima da borda e parecia tela cortada. Container query:
   o numero se ajusta ao card, nunca vaza, nunca é cortado. */
.kpi{container-type:inline-size}
.kpi .n{font-size:clamp(19px,12.5cqw,30px);white-space:nowrap}
/* o filtro automatico agora mora dentro do card (que tem padding 0) */
.card>.tbl-filtro{padding:10px 12px 4px;border-bottom:1px solid var(--linha);margin:0}


/* ---- lado direito dos Avisos (17/08): placar, liga-primeiro, furos ---- */
.avl-card{padding:14px;margin-bottom:12px}
.avl-placar{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--cinza)}
.avl-placar b{font-size:20px;margin-right:4px;font-variant-numeric:tabular-nums}
.avl-placar .ok2{color:var(--verde-b)} .avl-placar .mag2{color:var(--magenta-2)} .avl-placar .bad2{color:var(--vermelho-b)}
.avl-linha{display:flex;gap:8px;align-items:baseline;padding:7px 0;border-bottom:1px solid #f2f3f7}
.avl-linha:last-of-type{border-bottom:0}
.avl-hora{font-variant-numeric:tabular-nums;font-size:13px;flex:none}
.avl-nome{flex:1;min-width:0;font-size:13px;font-weight:600}
.avl-tel{display:block;font-size:11.5px;font-weight:400}
.avl-taxa{flex:none;background:#fdecec;color:var(--vermelho-b);border-radius:20px;
  padding:2px 9px;font-size:11.5px;font-weight:700}
@media(max-width:1100px){#av-lado{order:-1}}

/* card do WhatsApp na Agenda IA (17/08): conexao e QR a um clique */
.gia-wa{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 14px;margin-bottom:10px}


/* ---- Pacientes Migrados (vídeos do Reinaldo, 17/08) ---- */
.mig-abas{display:flex;gap:4px;background:#f1f3f8;border-radius:11px;padding:3px}
.mig-aba{border:0;background:none;padding:8px 16px;border-radius:9px;cursor:pointer;
  font:600 13.5px/1 inherit;color:#5b6478;transition:background .15s,color .15s}
.mig-aba:hover{color:#1e2534}
.mig-aba.on{background:#fff;color:var(--magenta-2);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.mig-diag{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;margin-bottom:12px;
  background:#fffbeb;border-color:#fde68a}
.mig-diag .ic{font-size:20px;line-height:1;flex:none;color:#b45309}
.mig-tab th{white-space:normal;line-height:1.25;vertical-align:bottom}
.mig-tab td,.mig-tab th{padding-right:10px}
.modal-card:has(.mig-tab){width:min(1140px,97vw)}


/* ---- painel do plano, parcela a parcela (imagem do Reinaldo 17/08) ---- */
.mig-parc{font-size:12.5px}
.mig-parc td{padding:4px 10px 4px 0}
.mig-parc tr.mig-bloco td{border-top:2px solid var(--linha);padding-top:10px}
.mig-sit{display:inline-block;padding:1px 9px;border-radius:20px;font-size:11.5px;font-weight:600}
.mig-pago{background:#dcfce7;color:#166534}
.mig-reneg{background:#fff3d6;color:#92600a}
.mig-areceber{background:#ede9fe;color:#5b21b6}
.modal-card:has(.mig-parc){width:min(1080px,97vw)}


/* ---- bancada de edicao do plano migrado (spec do Reinaldo 17/08) ---- */
.ed-topo{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.ed-vindi{flex:none;width:290px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;
  padding:9px 12px;font-size:12.5px;color:#166534}
.ed-grupos{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.ed-datas{max-height:150px;overflow:auto;font-size:11.5px;margin-top:5px;line-height:1.6}
.ed-contrato{border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.ed-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ed-qtd{font-size:11px;color:var(--cinza);display:flex;flex-direction:column;gap:2px}
.ed-qtd input{padding:5px 8px;border:1px solid var(--linha);border-radius:7px;font-size:13px}
.ed-qtd input[type=number]{width:78px;font-weight:700;text-align:center}
.ed-vp{font-size:13.5px;font-weight:700;white-space:nowrap}
.ed-del{color:var(--vermelho-b)}
.ed-del:hover{background:#fdecec}
.ed-resumo{font-size:12px;margin:6px 0 8px}
.ed-tab{font-size:12.5px}
.ed-tab td{padding:3px 10px 3px 0}
.ed-sit{border:1px solid var(--linha);border-radius:20px;padding:2px 9px;font-size:11.5px;
  font-weight:600;cursor:pointer}
.modal-card:has(.ed-tab){width:min(1120px,97vw)}


/* ---- fechamento da auditoria (pedido do Reinaldo, imagem 22:07) ---- */
.ed-final{margin-top:12px}
.ed-final-cx{display:flex;gap:22px;flex-wrap:wrap;background:#f8f9fc;border:1px solid var(--linha);
  border-radius:12px;padding:12px 16px}
.ed-final-cx>div{display:flex;flex-direction:column}
.ed-final-cx .n{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}
.ed-final-cx .n.ok{color:var(--verde-b)} .ed-final-cx .n.bad{color:var(--vermelho-b)}
.ed-final-cx .n.mag{color:var(--magenta-2)}
.ed-final-cx .l{font-size:11.5px;color:var(--cinza);margin-top:1px}


/* ============================================================
   MOBILE — iPhone e celulares (Reinaldo 17/08). Barra lateral
   vira barra de baixo; conteudo ocupa a tela toda.
   ============================================================ */
@media (max-width: 680px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden; overflow-y: auto; max-width: 100vw; }
  /* NO CELULAR O #app NAO E MAIS FLEX. Vira bloco: a pagina rola sozinha
     (nativo do celular) e o #sidebar fixo no rodape nao rouba largura nenhuma.
     Era isso que deixava a faixa branca de 72px no iPhone (Safari nao tira o
     filho fixed do flex como o Chrome tira). */
  #app { display: block !important; height: auto; min-height: 100dvh;
         max-width: 100vw; overflow: visible; width: 100%; }
  #main { display: block !important; width: 100% !important; max-width: 100vw;
          margin: 0 !important; flex: none; float: none; position: static;
          padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  /* o menu "Mais" (flyout) escondido nao ancora nos 72px da barra que sumiu */
  #flyout { left: 0 !important; width: min(280px, 86vw); }
  #view { flex: none; overflow-x: hidden; overflow-y: visible;
          padding: 12px 12px 4px; width: 100%; max-width: 100vw; }
  .pane, .card, .fin-bloco { max-width: 100%; }

  /* ---- a barra lateral DESCE e vira bottom nav ---- */
  #sidebar {
    position: fixed; left: 0; right: 0; bottom: 0; top: auto;
    width: auto; height: auto;
    flex-direction: row; align-items: stretch; justify-content: flex-start;
    gap: 2px; padding: 5px 6px;
    padding-bottom: calc(5px + env(safe-area-inset-bottom, 0px));
    overflow-x: auto; overflow-y: hidden;
    box-shadow: 0 -3px 14px rgba(30,10,60,.22);
    z-index: 60; scrollbar-width: none;
  }
  #sidebar::-webkit-scrollbar { display: none; }
  #sidebar .ico {
    width: auto; min-width: 60px; min-height: 0;
    flex: 0 0 auto; padding: 5px 9px; border-radius: 12px; gap: 2px;
  }
  #sidebar .ico .gl { font-size: 18px; }
  #sidebar .ico .gl svg { width: 22px; height: 22px; }
  #sidebar .ico .lb { font-size: 9.5px; }
  #sidebar .sep, #sidebar .ico .tira { display: none; }

  /* a barra de baixo nao tampa nada (padding-bottom ja definido acima) */
  #rodape { display: none; }
  #taskbar { display: none; }              /* as abas sao luxo de desktop */

  /* ---- cabecalho compacto ---- */
  #topbar { height: 50px; padding: 0 12px; gap: 8px; }
  #topbar .titulo { font-size: 17px; }
  #topbar .unidade { display: none; }      /* nome da clinica ocupa demais */

  /* ---- os grids empilham (nada de scroll lateral escondendo dado) ---- */
  .kpis { grid-template-columns: 1fr 1fr; gap: 10px; overflow: visible; }
  .fin-cards { grid-template-columns: 1fr 1fr; }
  .fin-colunas, .fin-duas, .ag2, .pl2, .pl-grade, .pa-corpo,
  .ed-topo, .ed-final-cx { grid-template-columns: 1fr !important; }
  .ed-topo, .ed-final-cx { display: flex; flex-direction: column; }
  .ed-vindi { width: auto; }

  /* cards e blocos com menos folga */
  .card { padding: 14px; }
  .fin-bloco { padding: 14px; }
  .kpi { padding: 13px; }
  .kpi .n { font-size: 23px; }

  /* qualquer linha horizontal pode quebrar em vez de estourar */
  .row { flex-wrap: wrap; }

  /* ---- MODAIS viram tela cheia ---- */
  .modal { padding: 0; align-items: stretch; }
  .modal-secundario { padding: 0; }
  .modal-card,
  .modal-card:has(.ls-rolo), .modal-card:has(.kpi-tab),
  .modal-card:has(.mig-tab), .modal-card:has(.mig-parc), .modal-card:has(.ed-tab) {
    width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh;
    border-radius: 0; padding: 16px 14px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .close-x { width: 38px; height: 38px; font-size: 19px; }

  /* ---- TABELAS rolam dentro da caixa; a pagina nunca rola de lado ---- */
  .card > table, #fin-conteudo > table, #view > table,
  .ag-tab, .cv-tab { display: block; overflow-x: auto; white-space: nowrap; }
  .card { overflow-x: hidden; }

  /* alvos de toque: botoes e selects com dedo, nao com mouse */
  .btn { padding: 10px 15px; }
  .btn.sm { padding: 7px 11px; font-size: 12.5px; }
  select, input[type=date], input[type=number], input[type=search], input[type=text] {
    font-size: 16px;   /* < 16px faz o iPhone dar zoom sozinho no foco */
    min-height: 40px;
  }
  .ed-sit, .mig-sit { font-size: 12.5px; padding: 6px 10px; }

  /* o grafico de barras nao espreme: rola de lado dentro do card */
  .fin-cols { min-height: 150px; }

  /* o hub de abas do financeiro: rola de lado, alvo maior */
  .fin-nav { flex-wrap: nowrap; }
  .fin-tab { padding: 9px 12px; }
}

/* celular bem estreito (iPhone SE, 375 e abaixo): KPIs em 1 coluna */
@media (max-width: 400px) {
  .kpis, .fin-cards { grid-template-columns: 1fr; }
  #sidebar .ico { min-width: 56px; padding: 5px 7px; }
}


/* ---- termometro de leads (Reinaldo 17/08) ---- */
.term-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.term-topo input{padding:9px 12px;border:1px solid var(--linha);border-radius:9px;font-size:13.5px;flex:0 1 260px}
.term-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.term-card{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:14px 16px}
.term-card .n{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
.term-card .l{font-size:13.5px;font-weight:600;margin-top:2px}
.term-card .pc{font-size:11.5px;color:var(--cinza);margin-top:2px}
.term-temps{display:flex;gap:20px;flex-wrap:wrap;margin:12px 2px 0;font-size:13px}
.term-temp b{font-size:16px}
.term-fila-l{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #f2f3f7}
.term-fila-l:last-child{border-bottom:0}
.term-score{background:#fdecec;color:var(--vermelho-b);border-radius:8px;padding:2px 9px;font-size:13px;
  font-variant-numeric:tabular-nums;flex:none;min-width:34px;text-align:center}
.term-nome{flex:1;min-width:0;font-size:13.5px;font-weight:600}
.lead-chip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:700}
.lead-sel-p,.lead-sel-t{border:1px solid var(--linha);border-radius:8px;padding:5px 8px;font-size:12.5px;cursor:pointer}
.term-card.on{box-shadow:0 0 0 2px color-mix(in srgb,var(--term-cor) 45%,transparent)}
.term-card-cab{display:flex;gap:12px;align-items:center}.term-icone{font-size:28px}.term-card p{min-height:36px;font-size:12px;color:var(--cinza);line-height:1.45}
.term-bar{height:5px;background:#edf0f5;border-radius:9px;overflow:hidden;margin:11px 0 5px}.term-bar i{display:block;height:100%;border-radius:9px}
.term-card-ac{display:flex;gap:7px;margin-top:12px}.term-area{padding:0;margin-top:18px;overflow:auto}.term-lista-topo{padding:15px;display:flex;justify-content:space-between;gap:10px;align-items:flex-end;flex-wrap:wrap;border-bottom:1px solid var(--linha)}
.term-lista-topo h3{margin:0}.term-lista-topo input{min-width:220px}.term-vazio{padding:28px;text-align:center}.term-conversa{border:1px solid var(--linha);background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}.term-config-l{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--linha);font-size:12.5px}.term-config-l span{color:var(--cinza)}
@media(max-width:760px){.term-cards{grid-template-columns:1fr}.term-lista-topo .row{width:100%}.term-lista-topo input{min-width:0;flex:1}.term-config-l{grid-template-columns:1fr auto}.term-config-l span{grid-column:1/-1}}


/* ---- checklist de modulos (Reinaldo 17/08) ---- */
.rm-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.rm-barra{height:7px;background:#eef0f5;border-radius:20px;overflow:hidden;margin-bottom:16px}
.rm-barra-fill{height:100%;background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:20px;transition:width .3s}
.rm-quadro{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}
.rm-col{background:#f7f8fb;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.rm-col-cab{padding:10px 12px;background:#fff;font-size:13px;display:flex;align-items:center;gap:6px}
.rm-conta{margin-left:auto;background:#eef0f5;border-radius:20px;padding:1px 9px;font-size:11.5px;font-weight:700;color:var(--cinza)}
.rm-col-corpo{padding:8px;min-height:80px;display:flex;flex-direction:column;gap:8px}
.rm-col-corpo.rm-over{background:#eef5ff;outline:2px dashed #90b4f0;outline-offset:-4px}
.rm-vazio{color:#b0b6c3;font-size:12px;text-align:center;padding:14px}
.rm-card{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px 11px;cursor:grab;
  box-shadow:0 1px 2px rgba(16,24,40,.05)}
.rm-card.arrastando{opacity:.4}
.rm-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.rm-card-top b{font-size:13px;line-height:1.3}
.rm-area{flex:none;font-size:10px;font-weight:700;color:var(--magenta-2);background:#f3effe;
  border-radius:20px;padding:1px 7px;white-space:nowrap}
.rm-desc{font-size:11.5px;color:var(--cinza);margin:5px 0 0;line-height:1.45}
.rm-acoes{display:flex;align-items:center;gap:5px;margin-top:9px}
.rm-mini{border:1px solid var(--linha);background:#fff;border-radius:7px;padding:3px 8px;font-size:11px;
  cursor:pointer;color:var(--tinta)}
.rm-avancar{flex:1;color:#16a34a;font-weight:600;border-color:#bbf7d0;background:#f0fdf4}
.rm-avancar:hover{background:#dcfce7}
.rm-feito{color:#16a34a;font-weight:700;border-color:#bbf7d0;background:#f0fdf4}
.rm-feito:hover{background:#dcfce7}
.rm-del{color:var(--vermelho-b);margin-left:auto;padding:3px 7px}
.rm-pronto{flex:1;font-size:11px;color:#16a34a;font-weight:600}
@media(max-width:900px){.rm-quadro{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.rm-quadro{grid-template-columns:1fr}}


/* ---- Universidade Fenix Jr. (Reinaldo) ---- */
.uni-hero{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;margin-bottom:14px}
.uni-hero-ic{font-size:36px;line-height:1;flex:none}
.uni-barra{height:8px;background:#eef0f5;border-radius:20px;overflow:hidden;margin-top:10px;max-width:520px}
.uni-barra-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:20px;transition:width .3s}
.uni-pilares{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.uni-pilar{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:10px 14px;flex:1;min-width:120px}
.uni-pilar b{display:block;font-size:13.5px}.uni-pilar span{font-size:11.5px;color:var(--cinza)}
.uni-seta{color:#c0c6d2;font-weight:700}
.uni-trilha{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.uni-trilha-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.uni-cargo{color:#fff;font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 10px}
.uni-trilha-prog{margin-left:auto;font-size:12px;color:var(--cinza);font-weight:600;font-variant-numeric:tabular-nums}
.uni-cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.uni-curso{display:flex;align-items:center;gap:10px;border:1px solid var(--linha);border-radius:10px;
  padding:10px 12px;cursor:pointer;transition:.12s}
.uni-curso:hover{border-color:var(--magenta);background:#faf9fe}
.uni-curso.concluido{background:#f0fdf4;border-color:#bbf7d0}
.uni-curso-n{width:26px;height:26px;border-radius:50%;background:#eef0f5;color:#64748b;display:grid;
  place-items:center;font-size:12px;font-weight:700;flex:none}
.uni-curso.concluido .uni-curso-n{background:#16a34a;color:#fff}
.uni-curso.iniciado .uni-curso-n{background:#7c3aed;color:#fff}
.uni-curso-t{flex:1;min-width:0}.uni-curso-t b{font-size:13px;display:block;line-height:1.3}
.uni-ok{font-size:11px;color:#16a34a;font-weight:700;flex:none}
.uni-and{font-size:11px;color:#7c3aed;font-weight:700;flex:none}
.uni-play{font-size:11.5px;color:var(--magenta-2);font-weight:600;flex:none}
.uni-video{width:100%;aspect-ratio:16/9;border-radius:12px;border:0;background:#000}
.uni-sem-video{aspect-ratio:16/9;background:#f4f5f8;border-radius:12px;display:grid;place-items:center;
  color:#98a0ae;font-size:14px}
.uni-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;cursor:pointer}


/* ---- Central Comercial Fenix: o kanban de vendas ---- */
.fv-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fv-topo-l{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fv-topo-r{display:flex;align-items:center;gap:8px}
.fv-sel{padding:7px 10px;border:1px solid var(--linha);border-radius:9px;font-size:13.5px;font-weight:600;background:#fff}
.fv-topo-r input{padding:7px 11px;border:1px solid var(--linha);border-radius:9px;font-size:13px;min-width:190px}
.fv-analise{margin:0 0 12px}
.fv-painel{background:linear-gradient(135deg,#fff 0%,#faf8ff 100%);border:1px solid #ddd3ff;border-radius:14px;padding:13px 14px}
.fv-painel-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.fv-painel-cab b{font-size:13px;display:block}.fv-painel-cab span:not(.fv-painel-selo){font-size:11.5px;color:var(--cinza);display:block;margin-top:2px}
.fv-painel-selo{font-size:10.5px;font-weight:700;color:#6d28d9;background:#ede9fe;border-radius:20px;padding:4px 8px;white-space:nowrap}
.fv-metricas{display:grid;grid-template-columns:repeat(5,minmax(122px,1fr));gap:8px}
.fv-metrica{border:1px solid var(--linha);background:#fff;border-radius:10px;padding:9px 10px;min-width:0}
.fv-metrica strong{display:block;font-size:19px;line-height:1.05;font-variant-numeric:tabular-nums}.fv-metrica span{font-size:10.5px;color:var(--cinza);line-height:1.25;display:block;margin-top:3px}
.fv-metrica.alerta{border-color:#fed7aa;background:#fffaf5}.fv-metrica.alerta strong{color:#c2410c}.fv-metrica.ok strong{color:#15803d}
.fv-leituras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.fv-leituras>div{font-size:11.5px;line-height:1.38;color:#5a6170;background:rgba(255,255,255,.65);padding:7px 8px;border-radius:8px}.fv-leituras b{color:var(--tinta)}
.fv-quadro{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.fv-col{flex:0 0 274px;background:#f7f8fa;border:1px solid var(--linha);border-radius:12px;
  display:flex;flex-direction:column;max-height:calc(100vh - 230px)}
.fv-col.fv-over{background:#f3f0fe;border-color:var(--magenta)}
/* a etapa aberta pela Liderança acende por alguns segundos, pra ele achar de
   olho a coluna que clicou lá atrás */
.fv-col.fv-col-destaque{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.22)}
.fv-col-cab{padding:10px 12px 9px;border-radius:12px 12px 0 0;background:#fff;border-bottom:1px solid var(--linha)}
.fv-col-nome{display:flex;align-items:center;gap:6px;font-size:13px}
.fv-bolinha{width:8px;height:8px;border-radius:50%;flex:none}
.fv-prob{margin-left:auto;font-size:11px;color:var(--cinza);font-weight:700}
.fv-col-num{font-size:11.5px;color:var(--cinza);margin-top:3px}
.fv-col-num b{color:var(--tinta);margin-left:4px}
.fv-valor-a-informar{display:inline-block;font-size:10.5px;font-weight:700;color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:2px 6px;white-space:nowrap}.fv-col-num .fv-valor-a-informar{margin-left:4px}.fv-col-pendencia{display:block;margin-top:3px;color:#c2410c;font-size:10px;font-weight:600}
.fv-col-corpo{padding:8px;overflow-y:auto;flex:1;min-height:80px;display:flex;flex-direction:column;gap:7px}
.fv-card{background:#fff;border:1px solid var(--linha);border-radius:10px;padding:9px 11px;cursor:pointer;
  transition:.12s;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.fv-card:hover{border-color:var(--magenta);box-shadow:0 3px 10px rgba(16,24,40,.08)}
.fv-card.fv-arrastando{opacity:.4}
.fv-card-topo{display:flex;align-items:center;gap:6px}
.fv-card-nome{font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-score{background:#7c3aed;color:#fff;font-size:10.5px;font-weight:700;border-radius:20px;padding:1px 7px;flex:none}
.fv-card-tit{font-size:11.5px;color:var(--cinza);margin-top:2px}
.fv-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.fv-card-pe{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px}
.fv-valor{font-size:12.5px;font-weight:700;color:#16a34a;font-variant-numeric:tabular-nums}
.fv-tel{font-size:11px}
.fv-fonte{font-size:10.5px;color:#98a0ae;margin-top:4px}
.fv-card-resp{margin-top:6px;padding-top:6px;border-top:1px solid #f1f2f5;color:#475569;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-card-resp.pendente{color:#c2410c;font-weight:600}
.fv-card-acao{margin-top:6px;padding:6px 7px;border-radius:7px;background:#f5f3ff;border:1px solid #e9e3ff;color:#5b21b6;font-size:10px;display:grid;grid-template-columns:auto 1fr;gap:3px 6px;align-items:baseline}.fv-card-acao b{font-size:9.5px;text-transform:uppercase;letter-spacing:.02em}.fv-card-acao span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-card-acao small{grid-column:2;font-size:9.5px;color:#7c3aed}.fv-card-acao.sem{background:#fffaf5;border-color:#fed7aa;color:#9a3412}.fv-card-acao.vencida{background:#fff1f2;border-color:#fecdd3;color:#b42318}
.fv-aviso-dado{margin:0 0 10px;padding:10px 12px;border:1px solid #fed7aa;border-left:4px solid #f59e0b;border-radius:9px;background:#fffaf5;color:#7c2d12;font-size:11.5px;line-height:1.45}.fv-fonte-historico{color:#9a3412!important;font-weight:650}.fv-card-historico{background:#fffdf8;border-style:dashed;cursor:pointer}.fv-card-historico:active{cursor:pointer}
.fv-vazio{font-size:11.5px;color:#a8aebb;text-align:center;padding:16px 8px;border:1px dashed var(--linha);border-radius:9px}
.fv-det{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.fv-det-l div{font-size:13px;padding:3px 0}
.fv-det-l .muted{display:inline-block;min-width:80px;font-size:12px}
.fv-term{margin-top:7px;display:flex;flex-direction:column;gap:6px}
.fv-proxima{margin-top:14px;padding:11px;border:1px solid #ddd6fe;border-radius:11px;background:#fbfaff}.fv-proxima-cab b,.fv-proxima-cab span{display:block}.fv-proxima-cab b{font-size:12.5px}.fv-proxima-cab span{font-size:10.5px;color:var(--cinza);margin-top:2px}.fv-ac-lista{display:grid;gap:6px;margin:9px 0}.fv-ac-item{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:8px 9px;background:#fff;border:1px solid #ece8ff;border-radius:8px}.fv-ac-item b,.fv-ac-item span{display:block}.fv-ac-item b{font-size:11.5px}.fv-ac-item span{font-size:10px;color:var(--cinza);margin-top:2px}.fv-ac-item .btn{padding:5px 7px;font-size:10.5px}.fv-ac-vazio{font-size:11px;color:#64748b;padding:9px;border:1px dashed #d8d1fa;border-radius:8px;background:#fff}.fv-ac-form{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.3fr auto;gap:6px}.fv-ac-form input,.fv-ac-form select{min-width:0;border:1px solid var(--linha);background:#fff;border-radius:7px;padding:7px;font:inherit;font-size:11px}.fv-ac-form .btn{padding:7px 9px;font-size:11px}
.fo-perda{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;border:1px solid #fed7aa;border-radius:9px;background:#fffaf5}.fo-perda label{display:grid;gap:4px;font-size:11px;color:#9a3412;font-weight:700}.fo-perda input,.fo-perda select{border:1px solid #fed7aa;background:#fff;border-radius:7px;padding:7px;font:inherit;color:var(--texto)}
.fv-term-lin{display:flex;gap:5px;flex-wrap:wrap}
.fv-term-b{border:1px solid var(--linha);background:#fff;border-radius:20px;padding:3px 11px;font-size:11.5px;
  cursor:pointer;transition:.12s}
.fv-term-b:hover{border-color:var(--c)}
.fv-term-b.on{background:var(--c);border-color:var(--c);color:#fff;font-weight:600}
.fv-linha{max-height:230px;overflow-y:auto;border:1px solid var(--linha);border-radius:10px;padding:8px 10px}
.fv-ev{display:flex;gap:9px;align-items:baseline;font-size:12.5px;padding:4px 0;border-bottom:1px solid #f2f3f6}
.fv-ev:last-child{border-bottom:0}
.fv-ev-q{font-size:11px;color:#98a0ae;flex:none;font-variant-numeric:tabular-nums}
@media (max-width:680px){
  .fv-col{flex:0 0 84vw;max-height:none}
  .fv-det{grid-template-columns:1fr}
  .fv-topo-r{width:100%}.fv-topo-r input{flex:1;min-width:0}
  .fv-metricas{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-leituras{grid-template-columns:1fr}.fv-painel-cab{display:block}.fv-painel-selo{display:inline-block;margin-top:7px}
}


/* ==== CENTRAL COMERCIAL FENIX: o sub-sistema tem barra propria ==== */
.cc-porta{margin-top:2px;background:rgba(255,255,255,.16)!important;opacity:1!important}
.cc-porta:hover{background:rgba(255,255,255,.3)!important}
body.cc-modo #sidebar{width:224px;align-items:stretch;padding:0 0 10px;gap:1px;
  background:#fff;border-right:1px solid var(--linha)}
body.cc-modo #flyout,body.trf-modo #flyout{display:none!important;transform:translateX(-115%)!important}
.cc-marca{display:flex;align-items:center;gap:10px;padding:15px 16px 13px;color:var(--tinta);
  border-bottom:1px solid var(--linha);margin-bottom:6px}
.cc-marca-ic{width:30px;height:30px;border-radius:9px;background:var(--magenta);display:grid;
  place-items:center;font-size:15px;flex:none}
.cc-marca b{font-size:13.5px;display:block;line-height:1.15}
.cc-marca small{font-size:10.5px;color:var(--cinza);letter-spacing:.4px;text-transform:uppercase}
.cc-secao{color:#98a0ae;font-size:9.5px;font-weight:700;letter-spacing:.7px;
  text-transform:uppercase;padding:11px 16px 4px}
.cc-item{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px;
  padding:8px 10px;border:0;background:transparent;color:#4a5163;
  border-radius:8px;font-size:12.8px;cursor:pointer;text-align:left;transition:.12s}
.cc-item:hover{background:#f4f2fd;color:var(--magenta)}
.cc-item.on{background:var(--magenta);color:#fff;font-weight:600}
.cc-ic{width:17px;text-align:center;font-size:13px;flex:none}
.cc-voltar{margin-top:6px;border-top:1px solid var(--linha);border-radius:0;
  width:100%;margin-left:0;padding:12px 18px;color:var(--cinza)}
.cc-voltar:hover{background:#f6f7f9;color:var(--tinta)}
body.cc-modo #sidebar .sep{flex:1}

/* A LATERAL POR GRUPO (Reinaldo, 03/09/2026, tarde): um ícone grande e colorido
   por grupo; as telas do grupo aparecem na faixa de cima. A barra encolheu de
   162px para 106px, e o nome inteiro do grupo continua na etiqueta do mouse.
   A largura é a MENOR que faz caber a maior palavra ("Configuração") em uma
   linha só: nome de grupo não pode partir no meio (Reinaldo, 03/09, tarde). */
.cc-grupos{display:flex;flex-direction:column;gap:6px;padding:8px 6px 2px;overflow-y:auto}
.cc-grupo{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 2px 7px;
  border:1px solid transparent;border-radius:13px;background:transparent;color:#5b6b7a;
  font-weight:600;font-size:10.5px;line-height:1.15;text-align:center;cursor:pointer;transition:.14s}
.cc-gic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:19px;
  color:#fff;background:var(--gcor,#7c3aed);box-shadow:0 5px 13px rgba(16,42,67,.16);
  filter:saturate(.82) opacity(.72);transition:.14s}
/* o nome inteiro do grupo, quebrando em duas linhas quando é composto
   ("Liderança Comercial"), sem cortar com reticências (Reinaldo, 03/09) */
/* ⚠️ NUNCA quebrar dentro da palavra (Reinaldo, 03/09, tarde: "Configuraçã/o"
   ficou feio): a quebra só vale ENTRE palavras. O `font:600 10px/1.15 inherit`
   do botão era declaração inválida — o `inherit` derruba o atalho inteiro —,
   então o rótulo saía com 13,3px e a palavra maior estourava a barra. */
.cc-grot{max-width:100%;white-space:normal;overflow:hidden;
  overflow-wrap:normal;word-break:normal;hyphens:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.12}
.cc-grupo:hover{background:#f2f5f8;color:var(--tinta)}
.cc-grupo:hover .cc-gic{filter:none;transform:translateY(-1px)}
.cc-grupo.on{background:#f2f5f8;border-color:var(--linha);color:var(--gcor,#7c3aed);font-weight:700}
.cc-grupo.on{background:color-mix(in srgb,var(--gcor,#7c3aed) 9%,#fff);
  border-color:color-mix(in srgb,var(--gcor,#7c3aed) 30%,#fff)}
.cc-grupo.on .cc-gic{filter:none}
.cc-grupo.aqui .cc-gic{filter:none;box-shadow:0 5px 13px rgba(16,42,67,.2),0 0 0 3px #edf1f5}
.cc-grupo.aqui .cc-gic{box-shadow:0 5px 13px rgba(16,42,67,.2),
  0 0 0 3px color-mix(in srgb,var(--gcor,#7c3aed) 22%,#fff)}
.cc-grupo:focus-visible{outline:2px solid var(--gcor,#7c3aed);outline-offset:2px}
@media (min-width:681px){
  body.cc-modo #sidebar{width:106px;align-items:stretch;padding:0 0 8px}
  .cc-marca{gap:0;padding:13px 8px 11px;justify-content:center}
  .cc-marca>div:last-child{display:none}
  .cc-item{width:calc(100% - 12px);margin:0 6px;padding:7px 9px;gap:8px;font-size:12px}
  .cc-rot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cc-ic{width:16px;font-size:14px}
  .cc-voltar{width:100%;margin:6px 0 0;padding:11px 10px;justify-content:center;gap:6px;font-size:11.5px}
}
#cc-dica{position:fixed;z-index:120;transform:translateX(-4px);
  background:#1f2430;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;
  padding:6px 10px;border-radius:8px;box-shadow:0 6px 18px rgba(15,23,42,.24);
  pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s,transform .12s}
#cc-dica.on{opacity:1;visibility:visible;transform:translateX(0)}
/* a etiqueta virou o índice do grupo: o nome do grupo em cima e as telas dele
   embaixo, pra escolher sem precisar abrir o grupo (Reinaldo, 03/09) */
#cc-dica b{display:block}
#cc-dica.lista{padding:8px 12px 9px;max-width:230px;white-space:normal}
#cc-dica.lista b{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#c7cbd6;
  margin-bottom:5px}
#cc-dica.lista span{display:block;font-weight:600;font-size:12.5px;line-height:1.5;color:#fff}

.cc-hero{padding:18px 20px;margin-bottom:14px}
.cc-exec{background:linear-gradient(135deg,#fff 0%,#f8f7ff 100%);border:1px solid #d9d0ff;border-radius:14px;padding:14px 15px;margin-bottom:14px}
.cc-exec-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.cc-exec-cab b{display:block;font-size:13.5px}.cc-exec-cab span:not(.cc-exec-selo){font-size:11.5px;color:var(--cinza);display:block;margin-top:2px}
.cc-exec-selo{flex:none;font-size:10.5px;font-weight:700;color:#15803d;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:999px;padding:4px 8px}
.cc-exec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cc-exec-item{display:flex;align-items:center;gap:9px;border:1px solid var(--linha);background:#fff;border-radius:10px;padding:10px}.cc-exec-item strong{font-size:21px;line-height:1;color:#334155;font-variant-numeric:tabular-nums}.cc-exec-item b,.cc-exec-item span{display:block}.cc-exec-item b{font-size:11.5px}.cc-exec-item span{font-size:10.5px;line-height:1.3;color:var(--cinza);margin-top:2px}.cc-exec-item.alerta{border-color:#fed7aa;background:#fffaf5}.cc-exec-item.alerta strong{color:#c2410c}
.cc-exec-acoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.cc-exec-acoes>div{border-left:3px solid #8b5cf6;background:#fff;border-radius:0 8px 8px 0;padding:7px 8px}.cc-exec-acoes b,.cc-exec-acoes span{display:block}.cc-exec-acoes b{font-size:10.5px;color:#6d28d9;text-transform:uppercase;letter-spacing:.03em}.cc-exec-acoes span{font-size:11px;line-height:1.35;color:#5a6170;margin-top:2px}
.cc-prioridades{background:#fff;border:1px solid #d9d0ff;border-radius:14px;padding:14px 15px;margin:0 0 14px}.cc-prioridades-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cc-prioridades-cab b,.cc-prioridades-cab span{display:block}.cc-prioridades-cab b{font-size:13.5px}.cc-prioridades-cab span{font-size:11.5px;color:var(--cinza);margin-top:2px}.cc-prioridades-cab .btn{padding:6px 9px;font-size:11px}.cc-prioridades-kpis{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.cc-prioridades-kpis span{border:1px solid var(--linha);border-radius:999px;background:#f8fafc;color:#475569;padding:5px 8px;font-size:10.5px}.cc-prioridades-kpis span b{font-size:12px}.cc-prioridades-kpis .critico{background:#fff1f2;border-color:#fecdd3;color:#b42318}.cc-prioridades-kpis .atencao{background:#fffaf0;border-color:#fed7aa;color:#9a3412}.cc-prioridades-kpis .ok{background:#ecfdf3;border-color:#bbf7d0;color:#067647}.cc-prioridades-lista{border-top:1px solid #f0eef7}.cc-prioridade{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #f0eef7}.cc-prioridade:last-child{border-bottom:0}.cc-prioridade>div:first-child{min-width:0}.cc-prioridade b,.cc-prioridade span{display:block}.cc-prioridade b{font-size:11.5px}.cc-prioridade span{font-size:10.5px;color:var(--cinza);margin-top:2px}.cc-prioridade-prazo{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10.5px;color:#64748b}.cc-prioridade-prazo .btn{padding:5px 7px;font-size:10px}.cc-prioridade.vencida .cc-prioridade-prazo{color:#b42318;font-weight:700}.cc-prioridade.hoje .cc-prioridade-prazo{color:#b54708;font-weight:700}.cc-prioridades-vazio{padding:13px 0 3px;color:var(--cinza);font-size:11.5px}
.cc-origem-aviso{display:grid;gap:3px;margin:0 0 14px;padding:12px 14px;border:1px solid #fed7aa;border-left:4px solid #f59e0b;border-radius:12px;background:#fffaf5;color:#7c2d12}.cc-origem-aviso b{font-size:12.5px}.cc-origem-aviso span{font-size:11.5px;line-height:1.45}
.cc-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;
  flex-wrap:wrap;margin-bottom:12px}
.cc-topo input[type=search]{padding:7px 11px;border:1px solid var(--linha);border-radius:9px;
  font-size:13px;min-width:210px}
.cc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.cc-kpi{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:13px 15px}
.cc-kpi-n{font-size:21px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.cc-kpi-t{font-size:12px;color:var(--cinza);margin-top:2px}
.cc-kpi-s{font-size:11px;color:#98a0ae}
.cc-degrau{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:12.5px}
.cc-degrau-n{width:130px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-degrau-b{flex:1;height:9px;background:#eef0f5;border-radius:20px;overflow:hidden}
.cc-degrau-b i{display:block;height:100%;background:linear-gradient(90deg,var(--magenta),#a78bfa)}
.cc-degrau-v{width:150px;text-align:right;flex:none;color:var(--cinza);font-size:11.5px;
  font-variant-numeric:tabular-nums}

.cc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}
.cc-card{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 14px}
.cc-card-t{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:3px;font-size:13.5px}
.cc-tag{font-size:10px;font-weight:700;border-radius:20px;padding:2px 8px;background:#eef0f5;color:#64748b}
.cc-tag.verde{background:#dcfce7;color:#15803d}
.cc-tag.amarelo{background:#fef3c7;color:#a16207}
.cc-prev{font-size:12px;color:var(--cinza);margin-top:6px;background:#f8f9fb;border-radius:8px;
  padding:7px 9px;white-space:pre-wrap;max-height:70px;overflow:hidden}
.cc-passo{font-size:11.5px;color:var(--cinza);padding:2px 0 2px 9px;border-left:2px solid var(--linha);margin-top:3px}
.cc-card-acoes{display:flex;gap:6px;margin-top:9px;border-top:1px solid #f2f3f6;padding-top:8px}
.cc-mini{border:1px solid var(--linha);background:#fff;border-radius:7px;padding:3px 10px;
  font-size:11.5px;cursor:pointer;transition:.12s}
.cc-mini:hover{border-color:var(--magenta);color:var(--magenta)}
.cc-mini.vermelho:hover{border-color:#dc2626;color:#dc2626}
.cc-check{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:8px;cursor:pointer}
.cc-aviso{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:9px;
  padding:8px 11px;font-size:12px;margin-top:10px}
.cc-nota{padding-left:10px}
.cc-cru{font-size:11px;background:#f8f9fb;border-radius:9px;padding:10px;overflow:auto;
  max-height:230px;white-space:pre-wrap}
.cc-rel-card{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:15px;margin-bottom:14px}.cc-rel-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.cc-rel-cab h3{margin:0;font-size:14px}.cc-rel-cab span:not(.cc-rel-selo){display:block;margin-top:3px;color:var(--cinza);font-size:11.5px}.cc-rel-selo{font-size:10.5px;color:#6d28d9;font-weight:700;background:#f3efff;border-radius:999px;padding:4px 8px;white-space:nowrap}
.cc-motivos-perda{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}.cc-motivos-perda>div{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #fed7aa;border-radius:10px;background:#fffaf5}.cc-motivos-perda b{font-size:20px;line-height:1;color:#c2410c;font-variant-numeric:tabular-nums}.cc-motivos-perda span{font-size:11.5px;line-height:1.3;color:#7c2d12}
.cc-rel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cc-rel-kpis>div{border:1px solid var(--linha);border-radius:10px;padding:10px;background:#fafbfc}.cc-rel-kpis strong,.cc-rel-kpis span{display:block}.cc-rel-kpis strong{font-size:19px;font-variant-numeric:tabular-nums}.cc-rel-kpis span{font-size:10.5px;color:var(--cinza);margin-top:2px}.cc-rel-kpis .alerta{border-color:#fed7aa;background:#fffaf5}.cc-rel-kpis .alerta strong{color:#c2410c}
.cc-contatos-resumo{margin-bottom:12px}.cc-contatos-kpis{grid-template-columns:repeat(5,minmax(145px,1fr));margin-bottom:0}.cc-kpi.cc-kpi-alerta{border-color:#fed7aa;background:#fffaf5}.cc-kpi.cc-kpi-alerta .cc-kpi-n{color:#c2410c}.cc-contato-temp{font-size:10.5px;color:#64748b;margin-top:3px}.cc-sem-dado{font-size:11px;color:#c2410c;font-weight:600}.cc-cadastro-ok{font-size:11px;color:#15803d;font-weight:700}.cc-contatos-pag{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;color:var(--cinza);font-size:11.5px;border-top:1px solid var(--linha)}.cc-contatos-pag div{display:flex;gap:6px}.cc-contatos-pag .btn{padding:5px 8px;font-size:11px}
.cc-sla-faixas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.cc-sla-linha{display:flex;justify-content:space-between;gap:5px;font-size:10.5px;color:#5f6674}.cc-sla-linha b{color:var(--tinta)}.cc-sla-faixas i{height:7px;background:#eef0f5;border-radius:99px;display:block;margin-top:5px;overflow:hidden}.cc-sla-faixas em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7c3aed,#a78bfa)}.cc-sla-faixas>div:last-child em{background:linear-gradient(90deg,#f97316,#dc2626)}.cc-rel-nota{font-size:11.5px;line-height:1.4;color:#5a6170;margin:12px 0 0;padding:8px 9px;border-left:3px solid #8b5cf6;background:#faf8ff;border-radius:0 8px 8px 0}.cc-rel-vazio{padding:16px;border:1px dashed var(--linha);border-radius:10px;color:var(--cinza);font-size:12px;line-height:1.45}
@media (max-width:680px){
  body.cc-modo #sidebar{width:100%;position:fixed;bottom:0;left:0;height:auto;max-height:52vh;
    flex-direction:column;overflow-y:auto;z-index:60}
  /* no celular a lateral vira rodapé: os grupos ficam lado a lado, e a faixa
     de cima continua sendo quem troca de tela dentro do grupo */
  body.cc-modo #sidebar .cc-marca{display:none}
  /* no celular os seis grupos cabem em duas fileiras: rolar o rodapé escondia
     grupo, e grupo escondido é grupo que ninguém acha */
  .cc-grupos{flex-direction:row;flex-wrap:wrap;gap:4px;padding:6px 8px;overflow:visible;
    width:100%;align-self:stretch}
  /* no rodapé cada grupo fica com um terço da tela: a letra encolhe mais um
     tanto pra "Configuração" continuar inteira mesmo num celular de 360px */
  .cc-grupo{flex:1 1 28%;min-width:0;padding:6px 2px 5px;font-size:9.5px}
  .cc-gic{width:34px;height:34px;font-size:16px;border-radius:11px}
  body.cc-modo #sidebar .sep{display:none}
  .cc-voltar{padding:9px 12px}
  .cc-cards{grid-template-columns:1fr}
  .cc-degrau-n{width:88px}.cc-degrau-v{width:104px}
  .cc-exec-grid{grid-template-columns:1fr 1fr}.cc-exec-acoes{grid-template-columns:1fr}.cc-exec-cab{display:block}.cc-exec-selo{display:inline-block;margin-top:7px}.fv-ac-form{grid-template-columns:1fr 1fr}.fv-ac-form input:first-child{grid-column:1/-1}.cc-prioridade{align-items:flex-start;flex-direction:column}.cc-prioridade-prazo{width:100%;justify-content:space-between}
  .cc-rel-kpis{grid-template-columns:1fr 1fr}.cc-sla-faixas{grid-template-columns:1fr}.cc-rel-cab{display:block}.cc-rel-selo{display:inline-block;margin-top:7px}
  .cc-contatos-kpis{grid-template-columns:1fr 1fr}.cc-contatos-pag{align-items:flex-start;flex-direction:column}
}


/* ---- Radar de Leads: o que a IA reconheceu ---- */
.rd-card{border-left:3px solid var(--magenta)}
.rd-prob{margin-left:auto;background:var(--magenta);color:#fff;font-size:11px;font-weight:700;
  border-radius:20px;padding:2px 9px;flex:none}
.rd-porque{font-size:12px;color:#4a5163;background:#f8f7fd;border-radius:8px;padding:8px 10px;
  margin-top:7px;line-height:1.45}
.rd-obj{font-size:11.5px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;
  border-radius:7px;padding:5px 9px;margin-top:6px}
.rd-ck{width:15px;height:15px;cursor:pointer;flex:none}

.rd-ag{display:flex;flex-direction:column;gap:5px;max-height:340px;overflow-y:auto}
.rd-ag-l{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:6px 8px;
  border:1px solid var(--linha);border-radius:9px;flex-wrap:wrap}
.rd-ag-t{font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 9px;flex:none;
  background:#eef0f5;color:#64748b}
.rd-cliente_remarcar{background:#fef3c7;color:#a16207}
.rd-cliente_cancelar{background:#fee2e2;color:#b91c1c}
.rd-cliente_atrasar{background:#e0e7ff;color:#4338ca}
.rd-recusou_oferta{background:#fce7f3;color:#a21caf}
.rd-duvida{background:#dbeafe;color:#1d4ed8}


/* ---- atalhos de periodo (hoje, amanha, semana, mes, proximo mes) ---- */
.per-atalhos{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.per-b{border:1px solid var(--linha);background:#fff;border-radius:20px;padding:4px 13px;
  font-size:12px;cursor:pointer;transition:.12s;color:var(--tinta)}
.per-b:hover{border-color:var(--magenta);color:var(--magenta)}
.per-b.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}
.per-limpa{color:var(--cinza)}


/* ---- Vendas por canal ---- */
.cn-topo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.cn-kpi{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:13px 15px}
.cn-kpi .n{font-size:21px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.cn-kpi .l{font-size:12px;color:var(--cinza)}
.cn-ant{background:#f8f9fb}.cn-ant-p{font-size:10.5px;color:#98a0ae;margin-top:2px}
.cn-sobe{color:#16a34a;font-size:11.5px;font-weight:700}
.cn-desce{color:#dc2626;font-size:11.5px;font-weight:700}
.cn-tab th{font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.cn-tab td{font-variant-numeric:tabular-nums;font-size:13px}
.cn-total{background:#faf9fe}
.cn-total td{border-bottom:2px solid var(--linha)}
.cn-zero td{color:#a8aeba}
.cn-fora td{background:#fffbeb}
.cn-barra{display:inline-block;height:8px;background:var(--magenta);border-radius:20px;
  margin-right:7px;vertical-align:middle;min-width:2px;opacity:.75}
.cn-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.cn-c{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 14px}
.cn-c b{font-size:11.5px;color:var(--cinza);text-transform:uppercase;letter-spacing:.3px}
.cn-c-n{font-size:17px;font-weight:700;margin:3px 0 2px}
.cn-c .muted{font-size:11.5px}
.cn-alerta{border-color:#fde68a;background:#fffbeb}
.cn-marcar{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.cn-m-l{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--linha);border-radius:9px;padding:7px 10px;transition:.3s}
.cn-m-l select{font-size:12px;padding:4px 7px}
.cn-m-ok{background:#dcfce7;border-color:#bbf7d0;opacity:0}


/* ---- varios modelos de contrato ---- */
.ctr-modelos{padding:12px 14px;margin-bottom:12px}
.ctr-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ctr-aba{border:1px solid var(--linha);background:#fff;border-radius:20px;padding:6px 14px;
  font-size:12.5px;cursor:pointer;transition:.12s;color:var(--tinta)}
.ctr-aba:hover{border-color:var(--magenta);color:var(--magenta)}
.ctr-aba.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}
.ctr-pad{font-size:9.5px;opacity:.8;text-transform:uppercase;letter-spacing:.3px}
.ctr-novo{border-style:dashed;color:var(--cinza)}
.ctr-acoes{display:flex;gap:6px;align-items:center;flex-wrap:wrap;
  border-top:1px solid #f2f3f6;padding-top:8px}


/* ---- Evolucao do paciente (Reinaldo 18/08) ---- */
.ev-area{padding:14px 16px;margin-bottom:12px}
.ev-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.ev-cab b{font-size:14.5px}
.ev-veredito{font-size:11px;font-weight:700;border-radius:20px;padding:2px 10px;
  background:#eef0f5;color:#64748b}
.ev-veredito.bom{background:#dcfce7;color:#15803d}
.ev-veredito.ruim{background:#fee2e2;color:#b91c1c}
.ev-alerta{font-size:11px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;
  border-radius:20px;padding:2px 9px}
.ev-depara{font-size:12px;margin-bottom:9px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ev-bom{color:#15803d;font-weight:600;font-size:11.5px;background:#f0fdf4;
  border-radius:7px;padding:2px 8px}
.ev-ruim{color:#b91c1c;font-weight:600;font-size:11.5px;background:#fef2f2;
  border-radius:7px;padding:2px 8px}
.ev-linha{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--linha);
  margin-left:13px;padding-left:0}
.ev-sessao{display:flex;gap:11px;padding:9px 0 9px 14px;position:relative}
.ev-sessao+.ev-sessao{border-top:1px dashed #eef0f5}
.ev-num{position:absolute;left:-15px;top:11px;width:26px;height:26px;border-radius:50%;
  background:var(--magenta);color:#fff;display:grid;place-items:center;font-size:11.5px;
  font-weight:700;flex:none}
.ev-corpo{flex:1;min-width:0;padding-left:16px}
.ev-topo{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.ev-topo .muted{font-size:11.5px}
.ev-params,.ev-pelo{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.ev-pelo .tag.cinza{background:#f4f5f8;color:#64748b}
.ev-mudou{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.ev-obs{font-size:12px;color:#4a5163;background:#f8f9fb;border-radius:7px;
  padding:6px 9px;margin-top:5px;white-space:pre-wrap}
@media (max-width:680px){ .ev-corpo{padding-left:10px} .ev-num{left:-13px} }


/* ---- Configuracao da IA: liga e desliga ---- */
.pil-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:18px 20px;margin-bottom:12px;flex-wrap:wrap}
.btn.vermelho{background:#dc2626;border-color:#dc2626;color:#fff}
.btn.vermelho:hover{background:#b91c1c}
.pil-placar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.pil-p{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:13px 15px}
.pil-p b{display:block;font-size:22px;line-height:1.1}
.pil-p span{font-size:12px;color:var(--cinza)}
.pil-p.ok b{color:#15803d}.pil-p.alerta b{color:#dc2626}
.pil-sec{font-size:16px;margin:26px 0 4px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pil-sec span{font-size:12.5px;font-weight:400;color:var(--cinza)}
.pil-nota{font-size:12.5px;color:var(--cinza);margin:0 0 12px}
.pil-grade,.pil-was{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:11px;margin-top:10px}
.pil-m,.pil-wa{background:#fff;border:1px solid var(--linha);border-radius:13px;padding:14px 16px;
  border-left:3px solid #d4d0dd}
.pil-m.on,.pil-wa.on{border-left-color:#16a34a}
.pil-m.travado{opacity:.72}
.pil-cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.pil-cab b{font-size:14.5px}
.pil-onde{font-size:11px;color:var(--cinza)}
.pil-luz{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.05em;
  padding:2px 9px;border-radius:20px;background:#eef0f5;color:#8b93a3}
.pil-luz.acesa{background:#dcfce7;color:#15803d}
.pil-faz{font-size:13px;color:var(--tinta);margin-bottom:8px;line-height:1.5}
.pil-linha{display:grid;grid-template-columns:88px 1fr;gap:9px;font-size:12px;
  padding:4px 0;border-top:1px solid #f2f3f6;color:var(--cinza);line-height:1.45}
.pil-linha span{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#98a0ae}
.pil-linha.risco{color:#a1500c}
/* "SE DESLIGAR" (26/08): a linha que responde a pergunta de quem esta com o dedo
   no botao. Fica azul e destacada porque e a informacao que decide o clique. */
.pil-linha.sedesl{color:#1e40af;background:#f5f8ff;border-radius:7px;
  padding:6px 8px;margin-top:3px;border-top:1px solid #dbe4f7}
.pil-linha.sedesl span{color:#5b7bc4}
.pil-motivo{font-size:11.5px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;
  border-radius:8px;padding:6px 9px;margin-top:8px}
.pil-trava{font-size:11.5px;color:#a1500c;margin-top:7px}
.pil-acao{margin-top:10px;border-top:1px solid #f2f3f6;padding-top:9px}

.pil-m.regra{border-left-color:#2563eb;background:#f7faff}
.pil-m.regra .pil-luz.acesa{background:#dbeafe;color:#1d4ed8}

/* ---- Centro de Comando da Fênix ----
   Prefixo próprio porque todos os módulos do front dividem o mesmo documento. */
.fco-pagina{--fco-fundo:#090b13;--fco-painel:#101522;--fco-linha:#252d3d;
  display:grid;gap:18px;padding-bottom:30px;color:#172033}
.fco-carregando{min-height:380px;display:grid;place-items:center;align-content:center;gap:7px;
  color:#667085;text-align:center}.fco-carregando i{width:34px;height:34px;border:3px solid #e9e4f5;
  border-top-color:#7c3aed;border-radius:50%;animation:fco-girar .8s linear infinite}.fco-carregando b{color:#3f2d65}
.fco-carregando span{font-size:12px}@keyframes fco-girar{to{transform:rotate(360deg)}}
.fco-bloqueio{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #fecaca;
  border-radius:16px;background:#fff7f7}.fco-bloqueio>span{display:grid;place-items:center;width:38px;height:38px;
  border-radius:50%;background:#dc2626;color:#fff;font-size:21px;font-weight:800}.fco-bloqueio>div{flex:1}
.fco-bloqueio b{color:#991b1b}.fco-bloqueio p{margin:4px 0 0;color:#7f1d1d;font-size:12.5px}

.fco-hero{position:relative;overflow:hidden;padding:26px;border:1px solid #222a3b;border-radius:22px;
  background:radial-gradient(circle at 92% 4%,rgba(59,130,246,.16),transparent 27%),
    radial-gradient(circle at 12% 0,rgba(139,92,246,.22),transparent 31%),
    linear-gradient(145deg,#070910,#101522 58%,#090c14);color:#fff;box-shadow:0 24px 58px rgba(13,16,28,.22)}
.fco-hero-luz{position:absolute;right:-80px;top:-110px;width:330px;height:330px;border-radius:50%;
  background:rgba(59,130,246,.1);filter:blur(25px);pointer-events:none}.fco-hero-luz.dois{left:-120px;top:170px;background:rgba(139,92,246,.12)}
.fco-hero-cab{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:25px}
.fco-sobretitulo,.fco-secao-titulo>div>span,.fco-regras>div>span{display:block;margin-bottom:8px;color:#a78bfa;
  font-size:10px;font-weight:800;letter-spacing:.16em}.fco-hero h2{max-width:720px;margin:0;font-size:clamp(24px,3.4vw,42px);
  line-height:1.06;letter-spacing:-.035em}.fco-hero-cab p{max-width:760px;margin:12px 0 0;color:#aeb8ca;font-size:13px;line-height:1.65}
.fco-hero-acoes{display:flex;gap:8px;flex:none}.fco-botao-claro{padding:10px 14px;border:1px solid #343d51;border-radius:10px;
  background:#161c29;color:#e9edf5;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.fco-botao-claro:hover{border-color:#8b5cf6;background:#1c2332}
.fco-placar{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:23px 0 15px}
.fco-placar>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;padding:12px 13px;border:1px solid #242c3d;
  border-radius:13px;background:rgba(15,20,31,.76);backdrop-filter:blur(8px)}.fco-placar-icone{grid-row:1/3;display:grid;place-items:center;
  width:31px;height:31px;border-radius:9px;font-size:13px}.fco-placar-icone.roxo{background:#2b1b4d;color:#b99aff}
.fco-placar-icone.verde{background:#0d342d;color:#50dab4}.fco-placar-icone.azul{background:#122d50;color:#67aaff}
.fco-placar-icone.laranja{background:#402719;color:#ffae72}.fco-placar b{font-size:12px;color:#eef2f8}.fco-placar small{color:#748096;font-size:10px}

.fco-board{position:relative;z-index:1;overflow:hidden;border:1px solid #293143;border-radius:17px;background:rgba(7,10,17,.72)}
.fco-board-cab{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #222a39}
.fco-board-cab b{display:block;color:#eef2f8;font-size:13px}.fco-board-cab span{color:#68748a;font-size:10.5px}
.fco-board-cab em{padding:4px 9px;border-radius:99px;background:#1b2535;color:#a8b4c8;font-size:9.5px;font-style:normal;font-weight:700}
.fco-linha-estado{display:grid;grid-template-columns:34px minmax(190px,1.2fr) minmax(100px,.7fr) 42px minmax(115px,auto);
  align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #1c2330}.fco-linha-estado:last-child{border-bottom:0}
.fco-check{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:color-mix(in srgb,var(--fco-cor) 24%,#111827);
  color:var(--fco-cor);font-size:14px;font-weight:800}.fco-linha-texto b{display:block;color:#e7ebf3;font-size:12.5px}.fco-linha-texto small{color:#707c91;font-size:10.5px}
.fco-progresso{height:7px;border-radius:99px;background:#1c2432;overflow:hidden}.fco-progresso i{display:block;height:100%;border-radius:inherit;background:var(--fco-cor);box-shadow:0 0 14px color-mix(in srgb,var(--fco-cor) 55%,transparent)}
.fco-linha-estado>strong{color:#aab4c5;font-size:11px;font-variant-numeric:tabular-nums}.fco-estado-chip{justify-self:end;padding:5px 9px;border:1px solid color-mix(in srgb,var(--fco-cor) 35%,#283143);
  border-radius:99px;background:color-mix(in srgb,var(--fco-cor) 14%,#111722);color:color-mix(in srgb,var(--fco-cor) 82%,#fff);font-size:9.5px;font-weight:750;white-space:nowrap}

.fco-orquestracao{overflow:hidden;padding:25px;border:1px solid #202838;border-radius:22px;background:#070910;color:#fff;box-shadow:0 20px 50px rgba(12,15,24,.2)}
.fco-secao-titulo{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fco-secao-titulo h3{margin:0;color:#f4f6fa;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.fco-secao-titulo p{margin:6px 0 0;color:#78849a;font-size:11.5px}.fco-secao-titulo>b{padding:6px 10px;border:1px solid #343d4e;border-radius:99px;color:#768196;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em}
.fco-secao-titulo>b.on{border-color:#355e51;background:#102e28;color:#5de0ba}.fco-orbita{position:relative;min-height:540px;margin-top:4px}
.fco-orbita>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.fco-orbita path{fill:none;stroke-width:1.7;stroke-dasharray:5 7;opacity:.52}
.fco-orbita path.roxo{stroke:#8b5cf6}.fco-orbita path.verde{stroke:#20c997}.fco-orbita path.azul{stroke:#3b82f6}.fco-orbita path.laranja{stroke:#ff8a3d}
.fco-orbita path.rosa{stroke:#ec4899}.fco-orbita path.ciano{stroke:#14b8a6}.fco-orbita path.amarelo{stroke:#eab308}
.fco-nucleo{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;align-content:center;width:176px;height:176px;
  transform:translate(-50%,-50%);border:1px solid #4a5262;border-radius:50%;background:radial-gradient(circle,#151a26 0,#080a10 67%);text-align:center;box-shadow:0 0 0 9px #0a0d14,0 0 0 10px #2b3140,0 0 60px rgba(139,92,246,.14)}
.fco-nucleo:before,.fco-nucleo:after{content:"";position:absolute;inset:-19px;border:1px solid #252c39;border-radius:50%}.fco-nucleo:after{inset:-31px;border-color:#171d27}
.fco-nucleo>i{width:9px;height:9px;margin-bottom:9px;border-radius:50%;background:#596174}.fco-nucleo.ativo>i{background:#7c3aed;box-shadow:0 0 18px #8b5cf6}
.fco-nucleo>span{font-size:22px;font-weight:850;letter-spacing:.08em}.fco-nucleo>b{margin-top:3px;color:#9b86d6;font-size:8px;letter-spacing:.28em}.fco-nucleo>small{max-width:120px;margin-top:10px;color:#667186;font-size:9px;line-height:1.35}
.fco-no{position:absolute;z-index:3;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;width:205px;min-height:64px;
  padding:9px 11px;border:1px solid #252d3b;border-radius:14px;background:#0e131d;color:#fff;text-align:left;font:inherit;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .16s,border-color .16s,background .16s}
.fco-no:hover{transform:translateY(-3px);border-color:var(--fco-cor);background:#121925}.fco-no-icone{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:color-mix(in srgb,var(--fco-cor) 20%,#111722);color:var(--fco-cor);font-size:15px}
.fco-no b,.fco-no small{display:block}.fco-no b{font-size:11.5px}.fco-no small{margin-top:2px;color:#707c90;font-size:9.5px}.fco-no>i{width:7px;height:7px;border-radius:50%;background:#475166}
.fco-no.ativo>i{background:var(--fco-cor);box-shadow:0 0 12px var(--fco-cor)}.fco-no>em{grid-column:2/4;color:color-mix(in srgb,var(--fco-cor) 78%,#fff);font-size:8.5px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.fco-no-topo{left:50%;top:4px;transform:translateX(-50%)}.fco-no-topo:hover{transform:translate(-50%,-3px)}
.fco-no-direita-topo{right:5%;top:55px}.fco-no-direita{right:0;top:50%;transform:translateY(-50%)}.fco-no-direita:hover{transform:translateY(calc(-50% - 3px))}
.fco-no-direita-baixo{right:5%;bottom:42px}.fco-no-baixo{left:50%;bottom:0;transform:translateX(-50%)}.fco-no-baixo:hover{transform:translate(-50%,-3px)}
.fco-no-esquerda-baixo{left:5%;bottom:42px}.fco-no-esquerda{left:0;top:50%;transform:translateY(-50%)}.fco-no-esquerda:hover{transform:translateY(calc(-50% - 3px))}

.fco-ponte{position:relative;overflow:hidden;margin-top:-18px;padding:48px 24px 23px;border:1px solid #222b3c;border-top:0;border-radius:0 0 22px 22px;background:radial-gradient(circle at 50% 0,rgba(124,58,237,.2),transparent 31%),linear-gradient(145deg,#0a0d15,#0d1320);color:#fff;box-shadow:0 20px 46px rgba(11,15,25,.18)}
.fco-ponte:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.fco-ponte-feixe{position:absolute;left:50%;top:0;width:180px;height:35px;transform:translateX(-50%)}
.fco-ponte-feixe:before{content:"";position:absolute;left:50%;top:0;width:2px;height:35px;background:linear-gradient(#8b5cf6,#38bdf8);box-shadow:0 0 17px #8b5cf6}.fco-ponte-feixe>i{position:absolute;top:7px;width:7px;height:7px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 14px #8b5cf6;animation:fco-pulso 1.8s infinite}
.fco-ponte-feixe>i:nth-child(1){left:65px}.fco-ponte-feixe>i:nth-child(2){left:87px;animation-delay:.45s}.fco-ponte-feixe>i:nth-child(3){right:65px;animation-delay:.9s}.fco-ponte-feixe>span{position:absolute;left:22px;right:22px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#8b5cf6,#38bdf8,#14b8a6,transparent)}
.fco-ponte-cab{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.fco-ponte-cab>div>span{display:block;margin-bottom:7px;color:#9d82f7;font-size:9px;font-weight:850;letter-spacing:.18em}.fco-ponte-cab h3{margin:0;color:#f5f7fb;font-size:19px}.fco-ponte-cab p{max-width:750px;margin:6px 0 0;color:#7f8ba0;font-size:11px;line-height:1.55}.fco-ponte-cab>b{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #2d394b;border-radius:99px;background:#111826;color:#aab5c7;font-size:9.5px;white-space:nowrap}.fco-ponte-cab>b i{width:7px;height:7px;border-radius:50%;background:#22c997;box-shadow:0 0 12px #22c997}
.fco-pipeline{position:relative;z-index:1;display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1fr;align-items:center;gap:8px;margin-top:20px}.fco-pipeline>div{position:relative;display:grid;grid-template-columns:auto 34px 1fr;column-gap:9px;align-items:center;min-height:68px;padding:11px;border:1px solid #273143;border-radius:13px;background:rgba(13,18,29,.9)}.fco-pipeline>div>span{position:absolute;right:9px;top:7px;color:#465269;font-size:8px;font-weight:850}.fco-pipeline>div>i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:14px;font-style:normal}.fco-pipeline>div>b{color:#e8edf6;font-size:11.5px}.fco-pipeline>div>small{color:#68758b;font-size:9px}.fco-pipeline .captura>i{background:#112e2a;color:#31d0a5}.fco-pipeline .interpreta>i{background:#251a43;color:#a98aff}.fco-pipeline .decide>i{background:#102d4c;color:#60a5fa}.fco-pipeline .executa>i{background:#43251a;color:#fb9858}.fco-pipeline>em{position:relative;height:1px;background:linear-gradient(90deg,#31405a,#8b5cf6);font-style:normal}.fco-pipeline>em:after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid #8b5cf6;border-top:3px solid transparent;border-bottom:3px solid transparent}.fco-pipeline>em:before{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 9px #8b5cf6;animation:fco-sinal 1.7s linear infinite}
@keyframes fco-pulso{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}@keyframes fco-sinal{from{left:0}to{left:calc(100% - 5px)}}

.fco-comandos,.fco-canais{padding:24px;border:1px solid #e4e7ec;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(24,35,55,.06)}
.fco-comandos{position:relative;overflow:hidden;border-color:#222b3b;background:radial-gradient(circle at 8% 5%,rgba(139,92,246,.15),transparent 24%),radial-gradient(circle at 92% 18%,rgba(37,99,235,.12),transparent 25%),linear-gradient(150deg,#080b12,#101622 52%,#090d15);color:#eef2f8;box-shadow:0 24px 58px rgba(10,14,24,.2)}.fco-comandos-fundo{position:absolute;inset:0;pointer-events:none}.fco-comandos-fundo:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#334155 1px,transparent 1px);background-size:23px 23px;opacity:.16}.fco-comandos-fundo>i{position:absolute;border:1px solid rgba(139,92,246,.16);border-radius:50%}.fco-comandos-fundo>i:nth-child(1){width:330px;height:330px;right:-180px;top:130px}.fco-comandos-fundo>i:nth-child(2){width:220px;height:220px;left:-130px;top:480px}.fco-comandos-fundo>i:nth-child(3){width:480px;height:480px;right:25%;bottom:-390px}.fco-comandos>.fco-secao-titulo,.fco-comandos>.fco-emergencias,.fco-comandos>.fco-grupo,.fco-comandos>.fco-aviso-escopo{position:relative;z-index:1}
.fco-secao-titulo.claro h3{color:#172033}.fco-secao-titulo.claro>div>span{color:#7c3aed}.fco-secao-titulo.claro p{color:#667085}
.fco-emergencias{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}.fco-emergencias>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #293244;border-radius:13px;background:rgba(15,21,33,.84)}
.fco-emergencias>div>span{padding:4px 8px;border-radius:7px;font-size:9px;font-weight:800;letter-spacing:.08em}.fco-emergencias .clinica>span{background:#40251b;color:#ff985a}.fco-emergencias .comercial>span{background:#102e50;color:#63a7ff}
.fco-emergencias b,.fco-emergencias small{display:block}.fco-emergencias b{color:#e8edf5;font-size:12px}.fco-emergencias small{margin-top:2px;color:#707c91;font-size:10px}
.fco-emergencias button{padding:8px 10px;border:1px solid #61313a;border-radius:9px;background:#2b151b;color:#ff8b98;font:inherit;font-size:10.5px;font-weight:750;cursor:pointer}.fco-emergencias button:disabled{border-color:#2a3240;background:#131923;color:#536074;cursor:not-allowed}
.fco-grupo{--fco-grupo:#8b5cf6;margin-top:26px;scroll-margin:120px}.fco-grupo.piloto{--fco-grupo:#ff8a3d}.fco-grupo.protecao{--fco-grupo:#20c997}.fco-grupo.comercial{--fco-grupo:#3b82f6}.fco-grupo-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;padding:0 0 10px 13px;border-bottom:1px solid #242d3d;border-left:2px solid var(--fco-grupo)}
.fco-grupo-cab span,.fco-grupo-cab small{display:block}.fco-grupo-cab span{color:#ecf1f8;font-size:13px;font-weight:800}.fco-grupo-cab small{margin-top:2px;color:#6f7b90;font-size:10.5px}.fco-grupo-cab>b{padding:4px 8px;border:1px solid color-mix(in srgb,var(--fco-grupo) 30%,#293244);border-radius:99px;background:color-mix(in srgb,var(--fco-grupo) 14%,#101622);color:color-mix(in srgb,var(--fco-grupo) 78%,#fff);font-size:9.5px}
.fco-grade-modulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:11px}.fco-modulo{position:relative;overflow:hidden;padding:12px 14px 14px;border:1px solid #283143;border-radius:15px;background:linear-gradient(150deg,#121824,#0d121c);box-shadow:0 12px 30px rgba(0,0,0,.16);scroll-margin:120px;transition:border-color .2s,box-shadow .2s,transform .2s}
.fco-modulo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#374151}.fco-modulo:after{content:"";position:absolute;right:-80px;top:-90px;width:170px;height:170px;border-radius:50%;background:color-mix(in srgb,var(--fco-cor) 9%,transparent);filter:blur(8px);pointer-events:none}.fco-modulo.ativo{border-color:color-mix(in srgb,var(--fco-cor) 45%,#283143);background:linear-gradient(145deg,color-mix(in srgb,var(--fco-cor) 7%,#121824),#0d121c)}.fco-modulo.ativo:before{background:var(--fco-cor);box-shadow:0 0 14px var(--fco-cor)}.fco-modulo.travado{opacity:.68}.fco-modulo.fco-destaque,.fco-grupo.fco-destaque .fco-modulo,.fco-canal.fco-destaque{border-color:var(--fco-cor,#8b5cf6);box-shadow:0 0 0 2px color-mix(in srgb,var(--fco-cor,#8b5cf6) 35%,transparent),0 0 35px color-mix(in srgb,var(--fco-cor,#8b5cf6) 25%,transparent);animation:fco-destaque 1.05s ease 2}@keyframes fco-destaque{50%{transform:translateY(-4px)}}
.fco-circuito{display:flex;align-items:center;gap:5px;height:15px;margin:-2px 0 7px;padding-left:2px}.fco-circuito:before{content:"";width:31px;height:1px;background:linear-gradient(90deg,var(--fco-cor),transparent)}.fco-circuito>i{width:4px;height:4px;border-radius:50%;background:#465166}.fco-modulo.ativo .fco-circuito>i{background:var(--fco-cor);box-shadow:0 0 7px var(--fco-cor);animation:fco-pulso 1.8s infinite}.fco-circuito>i:nth-child(2){animation-delay:.3s}.fco-circuito>i:nth-child(3){animation-delay:.6s}.fco-circuito>span{margin-left:auto;color:#536075;font-size:7.5px;font-weight:850;letter-spacing:.12em}.fco-modulo.ativo .fco-circuito>span{color:color-mix(in srgb,var(--fco-cor) 70%,#fff)}
.fco-modulo-cab{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}.fco-modulo-icone{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--fco-cor) 25%,#283143);border-radius:11px;background:color-mix(in srgb,var(--fco-cor) 14%,#111722);color:var(--fco-cor);box-shadow:inset 0 0 15px color-mix(in srgb,var(--fco-cor) 7%,transparent)}
.fco-modulo-cab b,.fco-modulo-cab small{display:block}.fco-modulo-cab b{color:#edf1f7;font-size:12.5px}.fco-modulo-cab small{margin-top:2px;color:#6e7a8e;font-size:9.5px}.fco-modulo-status{padding:4px 7px;border:1px solid #30394a;border-radius:99px;background:#151b26;color:#6f7b8f;font-size:8px;font-weight:800;text-transform:uppercase}.fco-modulo.ativo .fco-modulo-status{border-color:color-mix(in srgb,var(--fco-cor) 35%,#30394a);background:color-mix(in srgb,var(--fco-cor) 13%,#101621);color:color-mix(in srgb,var(--fco-cor) 78%,#fff)}
.fco-modulo>p{min-height:54px;margin:11px 0 9px;color:#a4aec0;font-size:11.5px;line-height:1.55}.fco-fluxo-mini{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;margin:7px 0 11px;padding:7px 8px;border:1px solid #242d3c;border-radius:9px;background:#0a0f18;color:#647086;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.fco-fluxo-mini i{height:1px;background:linear-gradient(90deg,#303b4e,var(--fco-cor));position:relative}.fco-fluxo-mini i:after{content:"";position:absolute;right:0;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--fco-cor)}.fco-fluxo-mini b{display:grid;place-items:center;width:28px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--fco-cor) 16%,#121925);color:var(--fco-cor);font-size:8px}.fco-modulo details{border-top:1px solid #252e3c;padding-top:8px}.fco-modulo summary{color:color-mix(in srgb,var(--fco-cor) 75%,#fff);font-size:10.5px;font-weight:700;cursor:pointer}
.fco-modulo details>div{display:grid;grid-template-columns:82px 1fr;gap:7px;margin-top:7px;color:#8d98aa;font-size:10.5px;line-height:1.45}.fco-modulo details b{color:#b6bfcd;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.fco-modulo details .risco span{color:#e49b64}
.fco-motivo,.fco-trava{margin-top:8px;padding:7px 8px;border:1px solid #3b3425;border-radius:8px;font-size:9.5px;line-height:1.4}.fco-motivo{background:#221d13;color:#d6a35a}.fco-trava{background:#281b14;color:#e6a066}.fco-modulo-acao{display:flex;justify-content:flex-end;margin-top:11px;padding-top:9px;border-top:1px solid #252e3c}
.fco-switch,.fco-configurar{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #354052;border-radius:9px;background:#151c28;color:#8490a3;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.fco-switch>span{position:relative;width:31px;height:17px;border-radius:99px;background:#3b4658;transition:background .18s}.fco-switch>span i{position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:#dce3ed;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.fco-switch.on{border-color:color-mix(in srgb,var(--fco-cor) 48%,#354052);background:color-mix(in srgb,var(--fco-cor) 10%,#151c28);color:color-mix(in srgb,var(--fco-cor) 78%,#fff);box-shadow:0 0 16px color-mix(in srgb,var(--fco-cor) 11%,transparent)}.fco-switch.on>span{background:var(--fco-cor);box-shadow:0 0 10px color-mix(in srgb,var(--fco-cor) 35%,transparent)}.fco-switch.on>span i{transform:translateX(14px);background:#fff}.fco-switch:disabled{opacity:.5;cursor:not-allowed}.fco-configurar{border-color:#59438b;color:#b497ff}.fco-configurar:hover{background:#211936}
.fco-sem-dados,.fco-aviso-escopo{padding:16px;border:1px dashed #354052;border-radius:12px;color:#8490a3;font-size:11.5px}.fco-aviso-escopo{display:flex;align-items:center;gap:10px;margin-top:18px;background:#201b13;border-color:#684e22}.fco-aviso-escopo b{color:#f1b960}.fco-aviso-escopo span{flex:1}

.fco-canais-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px}.fco-canal{position:relative;padding:17px;border:1px solid #e3e7ed;border-radius:15px;background:#fff}.fco-canal.on{border-color:#b8ead8}.fco-canal.comercial{border-color:#c7d9ff;background:#fbfdff}
.fco-canal-icone{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:17px;opacity:.32}.fco-canal-icone.clinica{background:#d8f8ec;color:#087f5b}.fco-canal-icone.comercial{background:#e3edff;color:#2563a8}.fco-canal-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:48px}
.fco-canal-cab b,.fco-canal-cab small{display:block}.fco-canal-cab b{font-size:13px}.fco-canal-cab small{margin-top:2px;color:#7a8494;font-size:10px}.fco-canal-cab em{padding:4px 8px;border-radius:99px;background:#e9fbf4;color:#087f5b;font-size:9px;font-style:normal;font-weight:800}.fco-canal>p{max-width:80%;color:#596476;font-size:11.5px;line-height:1.5}
.fco-canal-dado{display:grid;grid-template-columns:85px 1fr;gap:8px;max-width:82%;padding:5px 0;border-top:1px solid #f0f2f5;font-size:10.5px}.fco-canal-dado span{color:#8a93a1}.fco-canal-dado b{color:#485365}.fco-canal-ok{display:block;margin-top:10px;color:#087f5b;font-size:10px}
.fco-regras{display:grid;grid-template-columns:minmax(180px,.5fr) minmax(0,1fr);gap:14px;padding:20px;border:1px solid #c7d9ff;border-radius:18px;background:#f7faff}.fco-regras>div>span{color:#2563eb}.fco-regras h3{margin:0;font-size:17px}.fco-regras article{position:relative;padding:13px 100px 13px 14px;border:1px solid #dbe7ff;border-radius:12px;background:#fff}.fco-regras article>b{font-size:12.5px}.fco-regras article p{margin:5px 0;color:#4c586b;font-size:11px}.fco-regras article small{color:#758095;font-size:10px}.fco-regras article em{position:absolute;right:12px;top:12px;padding:4px 7px;border-radius:99px;background:#e5efff;color:#1d4ed8;font-size:8px;font-style:normal;font-weight:800}
.fco-historicos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fco-historico{overflow:hidden;border:1px solid #e1e5eb;border-radius:14px;background:#fff}.fco-historico>summary{padding:13px 15px;border-left:3px solid var(--fco-cor);font-size:11.5px;font-weight:800;cursor:pointer}.fco-historico>summary span{float:right;color:#8a93a2;font-size:9.5px;font-weight:600}.fco-historico>div{max-height:300px;overflow:auto;padding:0 14px 10px}.fco-historico-linha{display:grid;grid-template-columns:105px 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid #f0f2f5;font-size:9.5px}.fco-historico-linha>span,.fco-historico-linha>em{color:#7c8696;font-style:normal}.fco-historico-linha>small{grid-column:2/4;color:#9a6b24}

@media(max-width:1050px){.fco-placar{grid-template-columns:repeat(2,1fr)}.fco-orbita{min-height:610px}.fco-no{width:185px}.fco-no-direita-topo{right:2%}.fco-no-direita-baixo{right:2%}.fco-no-esquerda-baixo{left:2%}.fco-no>em{display:none}}
@media(max-width:820px){.fco-hero,.fco-orquestracao,.fco-comandos,.fco-canais{padding:18px;border-radius:17px}.fco-ponte{padding:46px 18px 18px;border-radius:0 0 17px 17px}.fco-hero-cab,.fco-secao-titulo,.fco-ponte-cab{flex-direction:column}.fco-hero-acoes,.fco-botao-claro{width:100%}.fco-placar{grid-template-columns:1fr 1fr}.fco-linha-estado{grid-template-columns:30px 1fr auto}.fco-progresso{grid-column:2/3}.fco-linha-estado>strong{grid-column:3}.fco-estado-chip{grid-column:2/4;justify-self:start}.fco-orbita{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:0;margin-top:20px}.fco-orbita>svg{display:none}.fco-nucleo{position:relative;left:auto;top:auto;grid-column:1/3;width:150px;height:150px;margin:25px auto;transform:none}.fco-no,.fco-no-topo,.fco-no-direita-topo,.fco-no-direita,.fco-no-direita-baixo,.fco-no-baixo,.fco-no-esquerda-baixo,.fco-no-esquerda{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;transform:none}.fco-no:hover,.fco-no-topo:hover,.fco-no-direita:hover,.fco-no-baixo:hover,.fco-no-esquerda:hover{transform:translateY(-2px)}.fco-pipeline{grid-template-columns:1fr 1fr}.fco-pipeline>em{display:none}.fco-emergencias,.fco-canais-grade,.fco-historicos{grid-template-columns:1fr}.fco-regras{grid-template-columns:1fr}}
@media(max-width:560px){.fco-placar,.fco-orbita,.fco-pipeline{grid-template-columns:1fr}.fco-nucleo{grid-column:1}.fco-placar>div{min-height:58px}.fco-linha-estado{gap:8px;padding:11px}.fco-linha-texto small{display:none}.fco-ponte-cab>b{white-space:normal}.fco-emergencias>div{grid-template-columns:auto 1fr}.fco-emergencias button{grid-column:1/3;width:100%}.fco-grade-modulos{grid-template-columns:1fr}.fco-modulo>p{min-height:0}.fco-modulo-cab{grid-template-columns:34px minmax(0,1fr)}.fco-modulo-status{grid-column:2;justify-self:start}.fco-regras article{padding-right:14px}.fco-regras article em{position:static;display:inline-block;margin-top:8px}.fco-canal>p,.fco-canal-dado{max-width:100%;padding-right:45px}}
@media(prefers-reduced-motion:reduce){.fco-ponte-feixe>i,.fco-pipeline>em:before,.fco-modulo.ativo .fco-circuito>i,.fco-destaque{animation:none!important}.fco-no,.fco-modulo{transition:none!important}}


/* ---- a caixa da venda, sem barra de deslizar (Reinaldo 18/08) ----
   A tabela de servicos tem 5 colunas e o valor da direita ficava cortado; a
   pessoa tinha que arrastar pra ver quanto deu. Caixa mais larga resolve. */
#modal .modal-card{max-width:min(1080px, 94vw)}
#modal .modal-card table{width:100%;table-layout:auto}
#modal .modal-card input[type=number],
#modal .modal-card input[type=text]{max-width:100%}
@media (max-width:760px){
  #modal .modal-card{max-width:96vw}
  #modal .modal-card table{font-size:12.5px}
}


/* ---- Estornar venda: os 3 passos ---- */
.est-h{color:#b91c1c}
.est-cli{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:var(--fundo);
  border-radius:10px;padding:11px 14px;margin-bottom:6px}
.est-cli b{font-size:15px}
.est-cli .muted{font-size:12.5px}
.est-valor{margin-left:auto;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.est-passo{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;
  margin:18px 0 8px;color:var(--tinta)}
.est-passo span{width:21px;height:21px;border-radius:50%;background:var(--magenta);color:#fff;
  display:grid;place-items:center;font-size:11.5px;flex:none}
.est-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est-box{border:1px solid var(--linha);border-radius:11px;padding:11px 14px}
.est-box b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}
.est-box ul{margin:0;padding-left:17px;font-size:13px;line-height:1.65}
.est-box.some{background:#fef2f2;border-color:#fecaca}
.est-box.some b{color:#b91c1c}
.est-box.fica{background:#f0fdf4;border-color:#bbf7d0}
.est-box.fica b{color:#15803d}
.est-avisos{display:flex;flex-direction:column;gap:6px;margin-top:11px}
.est-av{font-size:12.5px;background:#f8f9fb;border:1px solid var(--linha);border-radius:9px;
  padding:8px 11px;line-height:1.5}
.est-av.grave{background:#fffbeb;border-color:#fde68a;color:#92400e}
.est-outros{margin-top:11px;font-size:13px}
.est-outros summary{cursor:pointer;color:var(--magenta-2);font-size:12.5px}
.est-tab{width:100%;margin-top:7px;font-size:12.5px}
.est-tab td{padding:5px 8px;border-bottom:1px solid #f2f3f6}
.est-check{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:13px;
  background:#fffbeb;border:1px solid #fde68a;border-radius:9px;padding:10px 12px;cursor:pointer}
@media(max-width:640px){ .est-cols{grid-template-columns:1fr} }


/* ---- checklist: o estado antes de tudo (Reinaldo 18/08) ---- */
.rm-estado{display:flex;align-items:baseline;gap:6px;font-size:9.5px;font-weight:800;
  letter-spacing:.08em;margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid #f0f1f4}
.rm-estado span{font-weight:400;letter-spacing:0;font-size:10.5px;color:var(--cinza);
  text-transform:none}
.rm-estado.plan{color:#a1500c}
.rm-estado.exec{color:#1d4ed8}
.rm-estado.valid{color:#7c3aed}
.rm-estado.lib{color:#15803d}
.rm-card.rm-plan{border-left:3px solid #d99e0b}
.rm-card.rm-exec{border-left:3px solid #2563eb}
.rm-card.rm-valid{border-left:3px solid #7c3aed}
.rm-card.rm-lib{border-left:3px solid #16a34a}
.rm-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px}
.rm-acoes .rm-del{margin-left:auto}
.rm-mini.rm-avancar{display:block;width:100%;margin-top:9px;padding:7px 8px;
  font-weight:700;font-size:11.5px;text-align:center;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;border-radius:7px}
.rm-pronto{margin-top:9px;padding:6px 8px;text-align:center;font-size:11px;
  font-weight:700;color:#15803d;background:#f4fbf5;border-radius:7px;
  cursor:default;user-select:none}


/* ================= ENCAIXE DA IA e as ETIQUETAS DE STATUS (18/08) =================
   Reinaldo: "Se estiver no piloto automatico pode agendar e confirmar. Deixa uma
   cor de Cinza para a recepcao que chega as 08 so faz um refinamento se precisar".
   Cinza E tracejado: o tracejado diz "provisorio" sem depender so da cor. */
.ev.encaixe-ia{background:#eef1f5 !important;border:2px dashed #94a3b8 !important;
  color:#334155}
.ev.encaixe-ia::after{content:"aguarda conferência";position:absolute;right:4px;bottom:2px;
  font-size:8.5px;font-weight:700;letter-spacing:.04em;color:#64748b;opacity:.9}
.ev.encaixe-ia b{color:#1e293b}

/* AS ETIQUETAS, agora batendo com a spec de cores dele (11/08). O card da agenda
   ja seguia; a etiqueta tinha ficado pra tras: Atendido cinza (era azul escuro),
   Marcado roxo (era verde claro) e Faltou igual ao Cancelado. */
.status-Marcado{background:#eafce8;color:#2f7d32}                 /* VERDE CLARO */
.status-Confirmado{background:#bbf3bb;color:#14532d}              /* VERDE ESCURO */
.status-Aguardando{background:#fef3c7;color:#92610a}              /* AMARELO (pré-agendado) */
.status-EmAndamento,.status-Em.Andamento{background:#dbeafe;color:#1d4ed8}  /* AZUL CLARO */
.status-Atendido{background:#bfd3fb;color:#1e3a8a}                /* AZUL ESCURO */
.status-Faltou{background:#fecaca;color:#991b1b}                  /* VERMELHO: fica na agenda */
.status-Cancelado,.status-Desmarcado{background:#fdece0;color:#9a3412}  /* laranja: saiu da agenda */
/* etiqueta do mesmo estado, nas listas e no modal: AMARELO FORTE.
   A segunda forma cobre quem monta a classe direto do texto do status. */
.status-RemarcacaoPrioridade,.status-Remarcação.Prioridade{
  background:#fde047;color:#5c3a06;border-color:#a16207}

.pl-status.st-Marcado{background:#eafce8;color:#2f7d32;border-color:#95f68b}
.pl-status.st-Confirmado{background:#bbf3bb;color:#14532d;border-color:#15803d}
.pl-status.st-Aguardando{background:#fef3c7;color:#92610a;border-color:#d99e0b}
.pl-status.st-EmAndamento{background:#dbeafe;color:#1d4ed8;border-color:#2563eb}
.pl-status.st-Atendido{background:#bfd3fb;color:#1e3a8a;border-color:#1d4ed8}
.pl-status.st-Faltou{background:#fecaca;color:#991b1b;border-color:#dc2626}
.pl-status.st-Cancelado,.pl-status.st-Desmarcado{background:#fdece0;color:#9a3412;border-color:#f38135}


/* ==================== CONVITES DE VAGA (18/08) ====================
   O estado antes de tudo: a primeira coisa da tela diz se sai mensagem ou nao. */
.cv-estado{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;
  margin-bottom:14px;border:1px solid}
.cv-estado.off{background:#f8fafc;border-color:#e2e8f0}
.cv-estado.on{background:#f0fdf4;border-color:#bbf7d0}
.cv-bola{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.cv-estado.off .cv-bola{background:#94a3b8}
.cv-estado.on .cv-bola{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
.cv-estado b{font-size:13.5px}
.cv-estado.off b{color:#475569}
.cv-estado.on b{color:#15803d}
.cv-sub{font-size:11.5px;color:var(--cinza);margin-top:2px;line-height:1.5}
.cv-chaves{margin-left:auto;display:flex;flex-direction:column;gap:4px;text-align:right}
.cv-chave{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;
  background:#f1f5f9;color:#64748b;white-space:nowrap}
.cv-chave.on{background:#dcfce7;color:#15803d}

.cv-cols{display:grid;grid-template-columns:1fr 340px;gap:14px;align-items:start}
@media (max-width:980px){.cv-cols{grid-template-columns:1fr}}
.cv-card{padding:14px;margin-bottom:14px}
.cv-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cv-h b{font-size:13px}
.cv-h .muted{margin-left:auto}
.cv-h .btn{margin-left:auto}
.cv-ajuda{font-size:11.5px;color:var(--cinza);line-height:1.55;margin-bottom:10px}
.cv-vazio{padding:16px;text-align:center;font-size:12px;color:var(--cinza);
  background:#fafbfc;border-radius:8px;line-height:1.6}

.cv-vaga{padding:10px 12px;border:1px solid var(--linha);border-radius:9px;margin-bottom:8px}
.cv-vaga.urg{border-color:#fca5a5;background:#fff7f7}
.cv-vaga-t{display:flex;align-items:center;gap:7px}
.cv-vaga-d{font-size:11px;color:var(--cinza);margin:3px 0 7px}
.cv-tag{font-size:9px;font-weight:800;letter-spacing:.05em;padding:1px 6px;border-radius:4px;
  text-transform:uppercase}
.cv-tag.urg{background:#fee2e2;color:#b91c1c}

.cv-resumo{font-size:12px;font-weight:600;padding:8px 10px;background:#eff6ff;color:#1d4ed8;
  border-radius:7px;margin-bottom:10px}
.cv-simvaga{border:1px solid var(--linha);border-radius:9px;padding:10px;margin-bottom:9px}
.cv-simt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.cv-modo{font-size:11px;color:var(--cinza)}
.cv-tab{width:100%;border-collapse:collapse;font-size:11.5px}
.cv-tab th{text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--cinza);padding:4px 6px;border-bottom:1px solid var(--linha)}
.cv-tab td{padding:6px;border-bottom:1px solid #f4f5f7;vertical-align:top}
.cv-hora{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.cv-msg{color:#475569;font-size:11px;line-height:1.5;max-width:380px}
.cv-mini{font-size:9.5px;color:var(--cinza);margin-left:5px}
.cv-det{margin-top:8px;font-size:11.5px}
.cv-det summary{cursor:pointer;color:var(--cinza)}
.cv-barrada{padding:5px 0;border-top:1px solid #f4f5f7}
.cv-trava{display:inline-block;font-size:10px;background:#f1f5f9;color:#64748b;
  padding:1px 7px;border-radius:4px;margin:3px 4px 0 0}

.cv-regras{width:100%;border-collapse:collapse;font-size:11.5px}
.cv-regras td{padding:5px 0;border-bottom:1px solid #f4f5f7}
.cv-regras td:last-child{text-align:right;white-space:nowrap}
.cv-agora{margin-top:9px;padding:7px 9px;border-radius:7px;font-size:11px;font-weight:600}
.cv-agora.ok{background:#f0fdf4;color:#15803d}
.cv-agora.no{background:#fef2f2;color:#b91c1c}

.cv-testar{display:flex;gap:6px;margin-bottom:8px}
.cv-testar input{flex:1;padding:7px 9px;font-size:11.5px;border:1px solid var(--linha);
  border-radius:7px}
.cv-res{padding:8px 10px;border-radius:7px;font-size:11.5px;margin-bottom:10px;line-height:1.5}
.cv-res.para{background:#fef2f2;color:#b91c1c}
.cv-res.ok{background:#f0fdf4;color:#15803d}
.cv-np{padding:8px 0;border-bottom:1px solid #f4f5f7;font-size:12px}
.cv-np .cv-frase{font-size:11px;color:#475569;font-style:italic;margin:3px 0}
.cv-npb{display:flex;align-items:center;gap:8px;font-size:10.5px}
.cv-npb .btn{margin-left:auto}
.cv-ref{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #f4f5f7;
  font-size:12px}
.cv-ref .btn{margin-left:auto;white-space:nowrap}
.cv-erro{padding:10px;background:#fef2f2;color:#b91c1c;border-radius:7px;font-size:11.5px}

/* faltas esperando o ADM (item 4 do Reinaldo) */
.cv-falta{padding:8px 0;border-bottom:1px solid #f4f5f7}
.cv-falta-t{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px}
.cv-falta-b{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.cv-tag.avisou{background:#fef3c7;color:#92610a}
.btn.cv-perde{color:#b91c1c;border-color:#fecaca}
.btn.cv-perde:hover{background:#fef2f2}


/* ============== PASSADA VISUAL GLOBAL 1 (18/08) ==============
   Hierarquia do card da agenda: nome e area na frente, contexto recua.
   Nada some (Lucas 10/08: "tem que ter tudo"), so muda o peso. */
.ev b{font-size:11.5px;letter-spacing:-.01em}
.ev .ev-l2{font-size:9px;opacity:.62;letter-spacing:0}
.ev .sv{font-weight:600;font-size:10px;margin-top:1px}
.ev{line-height:1.35}

/* cabecalho de coluna: o gritado era o titulo, nao o dado */
.ag-grade th, .colhead, .ag-col-h{font-size:10.5px;letter-spacing:.02em}

/* dinheiro e hora alinham de verdade em toda tabela do sistema */
table td, table th{font-variant-numeric:tabular-nums}

/* foco visivel: navegar por teclado existia mas era invisivel */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible{outline:2px solid #7c5cff;outline-offset:1px;border-radius:6px}

/* estado vazio nunca e so silencio: todo .muted de "carregando" ja diz algo;
   os vazios das telas novas usam .cv-vazio com a proxima acao escrita */


/* ==================== HOVER DO CARD DA AGENDA (18/08) ====================
   Os MESMOS dados do Belle, com hierarquia. La tudo tem o mesmo peso
   ("Classificacao: / Perfil: / ID: / Cliente: / CPF: / Celular: ...") e o olho
   precisa varrer linha por linha. Aqui: identidade em cima, o que a recepcao le
   primeiro (hora + status + areas) no meio, cadastro em grade embaixo. */
#ev-hover{position:fixed;z-index:9999;display:none;pointer-events:none;
  width:352px;max-width:92vw;padding:13px 15px;border-radius:13px;
  background:#fff;border:1px solid #e4e7ec;
  box-shadow:0 16px 44px rgba(16,24,40,.18), 0 3px 8px rgba(16,24,40,.07);
  animation:hvEntra .12s ease-out}
@keyframes hvEntra{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
#ev-hover .hv-nome{font-weight:800;font-size:13.5px;color:#101828;line-height:1.28;
  letter-spacing:-.01em}
#ev-hover .hv-chips{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 8px}
#ev-hover .hv-chip{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;
  background:#f2f4f7;color:#475467;letter-spacing:.01em}
#ev-hover .hv-chip-perfil{background:#f4f0ff;color:#6941c6}
#ev-hover .hv-linha{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding:7px 0;border-top:1px solid #f2f4f7;border-bottom:1px solid #f2f4f7}
#ev-hover .hv-hora{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;
  color:#101828;letter-spacing:-.01em}
#ev-hover .hv-linha .pill{font-size:9.5px;padding:2px 8px}
#ev-hover .hv-chegou{font-size:10px;font-weight:800;color:#15803d}
#ev-hover .hv-areas{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
#ev-hover .hv-areas span{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;
  background:#eef4ff;color:#1849a9}
#ev-hover .hv-grade{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:8px;
  padding-top:9px;border-top:1px solid #f2f4f7}
#ev-hover .hv-d{min-width:0}
#ev-hover .hv-d.hv-largo{grid-column:1 / -1}
#ev-hover .hv-d span{display:block;font-size:8.5px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;color:#98a2b3;margin-bottom:1px}
#ev-hover .hv-d b{font-size:11.5px;font-weight:600;color:#344054;line-height:1.35;
  word-break:break-word;font-variant-numeric:tabular-nums}
#ev-hover .hv-saldo{font-style:normal;font-size:10px;font-weight:800;padding:1px 6px;
  border-radius:5px;background:#ecfdf3;color:#027a48;margin-left:3px}
#ev-hover .hv-risco{margin-top:9px;padding:6px 9px;border-radius:7px;background:#fef3f2;
  color:#b42318;font-size:10.5px;font-weight:700;line-height:1.4}
#ev-hover .hv-risco i{font-style:normal;font-weight:500;opacity:.85}
#ev-hover .hv-obs{margin-top:7px;padding:6px 9px;background:#fffaeb;border-radius:7px;
  font-size:10.5px;color:#93370d;line-height:1.45}
#ev-hover .hv-dica{margin-top:9px;padding-top:8px;border-top:1px solid #f2f4f7;
  font-size:9px;letter-spacing:.06em;color:#98a2b3;text-transform:uppercase;font-weight:800}

.nv-ajustes-agendamento{display:grid;gap:10px;margin:11px 0 4px;padding:11px;
  border:1px solid #dce6ec;border-radius:11px;background:#f8fbfc}
.nv-ajustes-agendamento .field{margin:0;display:grid;gap:5px}
.nv-ajustes-agendamento .field>span{font-size:11px;font-weight:800;color:#344054}
.nv-ajustes-agendamento small{font-size:10.5px;line-height:1.35;color:#667085}
.nv-ajustes-agendamento small.erro{color:#b42318;font-weight:700}
.nv-ajustes-agendamento textarea{width:100%;resize:vertical;min-height:64px;padding:8px 9px;
  border:1px solid #cfdbe3;border-radius:8px;background:#fff;color:#101828;font:inherit;line-height:1.4}
.nv-duracao-manual{display:flex;align-items:center;gap:7px}
.nv-duracao-manual input{width:112px;padding:8px 9px;border:1px solid #cfdbe3;border-radius:8px;
  background:#fff;color:#101828;font:inherit;font-variant-numeric:tabular-nums}
.nv-duracao-manual em{font-size:11px;font-style:normal;font-weight:700;color:#667085}
.nv-ajustes-agendamento input:focus,.nv-ajustes-agendamento textarea:focus{outline:2px solid rgba(19,184,196,.2);border-color:#159aa5}
.ag-encaixes-toggle.on{border-color:#159aa5!important;background:#e8f8f8!important;color:#087481!important;
  box-shadow:inset 0 0 0 1px rgba(21,154,165,.08)}
@media(max-width:760px){.nv-ajustes-agendamento{padding:10px}.nv-duracao-manual input{width:100%}}

/* ==================== O CARD DO AGENDAMENTO, EM SECOES ====================
   Era uma pilha de "rotulo valor" que so crescia pra baixo. Agora tres blocos
   com titulo, cada um em grade de duas colunas. */
.ag-secoes{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.ag-sec{border:1px solid var(--linha);border-radius:11px;padding:12px 13px;background:#fff}
.ag-sec-t{display:flex;align-items:baseline;margin:0 0 10px;font-size:10px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;color:#98a2b3}
.ag-sec-dir{margin-left:auto;font-size:14px;font-weight:800;letter-spacing:0;
  text-transform:none;color:#101828;font-variant-numeric:tabular-nums}
.ag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.ag-campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.ag-campo.ag-largo{grid-column:1 / -1}
.ag-campo > span{font-size:10.5px;font-weight:700;color:#667085;letter-spacing:.01em}
.ag-val{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px}
.ag-val b{font-variant-numeric:tabular-nums}
.ag-sel{padding:7px 9px;border:1px solid var(--linha);border-radius:8px;font-size:12.5px;
  background:#fff;max-width:100%}
.ag-in-num{width:74px;padding:6px 8px;border:1px solid var(--linha);border-radius:7px;
  font-variant-numeric:tabular-nums}
.ag-in-tel{padding:6px 9px;border:1px solid var(--linha);border-radius:7px;width:158px;
  font-variant-numeric:tabular-nums}
.ag-servs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ag-serv-box{max-height:170px;overflow:auto;border:1px solid var(--linha);border-radius:8px;
  padding:7px;margin-top:8px}
.ag-obs{margin-top:9px;padding:8px 10px;background:#fffbeb;border-radius:8px;font-size:12px;
  color:#7c4a03;line-height:1.5}
.ag-obs span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;color:#b45309;margin-bottom:2px}
.btn.ag-perigo{color:var(--vermelho-b);border-color:#fecaca}
.btn.ag-perigo:hover{background:#fef2f2}
.ag-rodape{font-size:10.5px;color:#98a2b3;padding:0 2px}
@media (max-width:640px){.ag-grid{grid-template-columns:1fr}}


/* ============ CARGA DA PROFISSIONAL no Planejamento (18/08) ============
   A distribuicao importa mais que o total: 6h de procedimentos curtos e uma
   coisa, 6h com quatro clientes de 1h30 colados e outra. */
.pl2-ind.cg-amarelo{box-shadow:inset 3px 0 0 #d99e0b}
.pl2-ind.cg-vermelho{box-shadow:inset 3px 0 0 #dc2626;background:#fffafa}
.cg-det{margin-top:7px;padding-top:7px;border-top:1px solid #f0f1f4}
.cg-linha1{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}
.cg-planejado{font-size:13px;font-weight:800;color:#101828;font-variant-numeric:tabular-nums}
.cg-atend{font-size:10.5px;color:var(--cinza)}
.cg-faixas{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}
.cg-fx{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;padding:1px 6px;
  border-radius:5px;background:#f4f5f7;color:#475467;font-weight:700}
.cg-fx i{font-style:normal;font-weight:500;opacity:.72}
.cg-ind{display:flex;gap:6px;flex-wrap:wrap}
.cg-item{display:flex;flex-direction:column;gap:0;padding:3px 8px;border-radius:6px;
  background:#f8fafc;min-width:56px}
.cg-item i{font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:#98a2b3}
.cg-item b{font-size:12px;color:#344054;font-variant-numeric:tabular-nums}
.cg-item.atencao{background:#fffbeb}
.cg-item.atencao b{color:#b45309}
.cg-item.ruim{background:#fef2f2}
.cg-item.ruim b{color:#b91c1c}


/* ============ AVISO DE CARGA ANTES DE CONFIRMAR (Reinaldo, itens 2/4/5/11) ============
   Aparece so quando tem o que dizer. Verde nao interrompe a recepcao. */
.cg-alerta{max-width:520px}
.cg-alerta-top{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.cg-alerta-ico{font-size:24px;line-height:1}
.cg-alerta h3{margin:0;font-size:16px;color:#b45309}
.cg-alerta.grave h3{color:#b91c1c}
.cg-alerta-sub{font-size:12px;color:var(--cinza);margin-top:2px}
.cg-motivo{padding:10px 12px;border-radius:9px;margin-bottom:8px;background:#fffbeb;
  border-left:3px solid #d99e0b}
.cg-motivo.vermelho{background:#fef2f2;border-left-color:#dc2626}
.cg-motivo b{font-size:12.5px;color:#92400e}
.cg-motivo.vermelho b{color:#991b1b}
.cg-motivo div{font-size:12px;color:#57534e;line-height:1.5;margin-top:3px}
.cg-sug{font-size:11px !important;font-style:italic;opacity:.85;margin-top:5px !important}

/* o antes e depois lado a lado: e o que mostra o tamanho do estrago */
.cg-antes-depois{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 12px;
  background:#f8fafc;border-radius:9px;font-size:11.5px;line-height:1.5}
.cg-antes-depois > div{flex:1}
.cg-antes-depois span{display:block;font-size:9px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;color:#98a2b3;margin-bottom:2px}
.cg-antes-depois b{font-variant-numeric:tabular-nums;color:#101828}
.cg-seta{flex:0 0 auto !important;color:#98a2b3;font-size:16px}
.cg-ctx{font-size:11.5px;color:#475467;padding:8px 11px;background:#f8fafc;border-radius:8px;
  margin-bottom:10px}
.cg-alt{padding:11px 12px;background:#f0fdf4;border-radius:9px;margin-bottom:12px}
.cg-alt > b{font-size:11.5px;color:#15803d;display:block;margin-bottom:6px}
.cg-alt-l{display:flex;justify-content:space-between;font-size:11.5px;padding:3px 0}
.cg-alt-l i{font-style:normal;color:var(--cinza);font-size:10.5px}
.cg-acoes{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.btn.cg-perigo{background:#dc2626;border-color:#dc2626;color:#fff}
.btn.cg-perigo:hover{background:#b91c1c}

/* ============ A CAIXA DE ALERTAS DO TOPO (itens 7 e 8) ============ */
.cg-btn-alerta{opacity:.55}
.cg-btn-alerta.tem{opacity:1;color:#b45309;border-color:#fcd34d;background:#fffbeb;font-weight:700}
.cg-btn-alerta.grave{color:#b91c1c;border-color:#fca5a5;background:#fef2f2}
.cga{max-width:560px}
.cga-top{margin-bottom:14px}
.cga-top h3{margin:0;font-size:16px}
.cga-sub{font-size:12px;color:var(--cinza);margin-top:2px}
.cga-crit{color:#b91c1c}
.cga-vazio{padding:22px;text-align:center;font-size:12.5px;color:var(--cinza);
  background:#f8fafc;border-radius:10px;line-height:1.7}
.cga-prof{border:1px solid var(--linha);border-radius:11px;padding:12px;margin-bottom:10px}
.cga-prof.vermelho{border-color:#fca5a5;background:#fffafa}
.cga-prof.amarelo{border-color:#fcd34d;background:#fffdf5}
.cga-prof-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.cga-prof-h b{font-size:13px}
.cga-resumo{font-size:10.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
.cga-item{padding:8px 0;border-top:1px solid #f2f4f7}
.cga-item b{font-size:12px;color:#92400e}
.cga-item.vermelho b{color:#991b1b}
.cga-det{font-size:11px;color:#57534e;margin:2px 0 6px;line-height:1.45}
/* o culpado e clicavel: "ele precisa dizer QUEM replanejar" */
.cga-culpado{display:inline-flex;align-items:center;gap:6px;margin:2px 4px 2px 0;padding:4px 9px;
  border:1px solid var(--linha);border-radius:7px;background:#fff;cursor:pointer;font-size:11px;
  font-family:inherit;color:#344054}
.cga-culpado:hover{border-color:#7c5cff;background:#faf9ff}
.cga-culpado span{font-weight:700;font-variant-numeric:tabular-nums}
.cga-culpado i{font-style:normal;color:var(--cinza);font-size:10px}
.cga-culpado.sug{border-color:#86efac;background:#f0fdf4}
.cga-sug{margin-top:9px;padding-top:9px;border-top:1px dashed var(--linha)}
.cga-sug > b{font-size:11px;color:#15803d;display:block;margin-bottom:5px}


/* ---- formulario do profissional (19/08): secoes e foto ---- */
.prof-secao{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  color:var(--cinza);margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--linha)}
.prof-secao:first-of-type{margin-top:4px}
.pf-foto{width:92px;height:92px;border-radius:12px;border:1.5px dashed var(--linha);
  display:grid;place-items:center;overflow:hidden;background:var(--fundo)}
.pf-foto img{width:100%;height:100%;object-fit:cover}
.pf-foto span{font-size:11px;color:var(--cinza)}
/* presenca do profissional */
.presenca{display:inline-flex;align-items:center;gap:5px;font-size:11.5px}
.presenca i{width:7px;height:7px;border-radius:50%;background:#9aa3ae;display:inline-block}
.presenca.online i{background:#16a34a}
.presenca.ausente i{background:#f59e0b}


/* ---- abas de Documentos (contratos / questionarios), 19/08 ---- */
.doc-abas{display:flex;gap:4px;border-bottom:1px solid var(--linha);margin-bottom:16px}
.doc-aba{background:none;border:0;border-bottom:2.5px solid transparent;color:var(--cinza);
  padding:9px 15px;font:500 14px inherit;cursor:pointer;margin-bottom:-1px}
.doc-aba:hover{color:var(--tinta)}
.doc-aba.viva{color:var(--magenta);border-bottom-color:var(--magenta);font-weight:600}


/* ---- SINO DE NOTIFICACAO (Reinaldo, 20/08 14:34 e audio 14:36) -----------
   "Vai ficar um sinuzinho vermelho se caso tiver alguma notificacao, amarelo
    porque ela ja abriu mas nao finalizou, e verdinho quando ela tiver todas
    as notificacoes dela finalizadas." As cores sao as palavras dele.        */
#topbar{position:relative}
#sino{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:16px;line-height:1;border:1px solid var(--linha);background:#fff;user-select:none}
#sino:hover{filter:brightness(.97)}
#sino.verde{border-color:var(--verde-b);background:var(--verdeclaro)}
#sino.amarelo{border-color:var(--amarelo-b);background:var(--amarelo)}
#sino.vermelho{border-color:var(--vermelho-b);background:var(--vermelho)}
#sino .bolha{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:700;color:#fff;display:grid;place-items:center;background:var(--vermelho-b)}
#sino.amarelo .bolha{background:var(--amarelo-b)}
#sino-caixa{position:absolute;top:50px;right:16px;width:470px;max-width:calc(100vw - 24px);max-height:78vh;overflow:auto;background:#f8f9fc;border:1px solid #dde2ea;border-radius:18px;box-shadow:0 22px 60px rgba(20,27,45,.18);z-index:60;display:none}
#sino-caixa.on{display:block}
#sino-caixa .sc-topo{padding:14px 14px 12px;border-bottom:1px solid #e7eaf0;position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);z-index:2}
#sino-caixa .sc-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:12px}
#sino-caixa .sc-cabecalho>div{display:flex;flex-direction:column;gap:2px;min-width:0}
#sino-caixa .sc-cabecalho b{font-size:15px;color:#172033;letter-spacing:-.01em}
#sino-caixa .sc-cabecalho small{font-size:11.5px;color:#71798a}
#sino-caixa .sc-cabecalho .btn{white-space:nowrap;padding:7px 11px;font-size:11.5px;font-weight:700}
#sino-caixa .sc-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:7px;margin-top:12px;align-items:stretch}
#sino-caixa .sc-filtro{display:flex;align-items:center;gap:5px;min-width:0;padding:7px 8px;border:1px solid #e2e5eb;border-radius:10px;background:#fff;color:#687083;cursor:pointer;text-align:left}
#sino-caixa .sc-filtro strong{font-size:14px;color:#20283a}
#sino-caixa .sc-filtro span{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sino-caixa .sc-filtro.ativo{border-color:#8b5cf6;background:#f4efff;box-shadow:0 0 0 1px rgba(124,58,237,.08)}
#sino-caixa .sc-filtro.ativo strong,#sino-caixa .sc-filtro.ativo span{color:#6d28d9}
#sino-caixa .sc-finalizar-todas{padding:0 7px;border:0;background:transparent;color:#6e55b5;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap}
#sino-caixa .sc-finalizar-todas:hover{text-decoration:underline}
#sino-caixa .sc-lista{padding:9px;display:flex;flex-direction:column;gap:8px}
#sino-caixa .nt{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;background:#fff;border:1px solid #e3e7ee;border-radius:13px;box-shadow:0 2px 8px rgba(20,27,45,.035)}
#sino-caixa .nt[hidden]{display:none}
#sino-caixa .nt.nova{border-color:#f1c5c9;box-shadow:inset 3px 0 #d83a47,0 2px 8px rgba(20,27,45,.035)}
#sino-caixa .nt.aberta{border-color:#ead9a4;box-shadow:inset 3px 0 #d6a323,0 2px 8px rgba(20,27,45,.035)}
#sino-caixa .nt-icone{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f0eaff;color:#6d28d9;font-size:15px;font-weight:800}
#sino-caixa .nt.urgente .nt-icone{background:#fff0f1;color:#c92f3d}
#sino-caixa .nt-conteudo{min-width:0}
#sino-caixa .nt .t{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-weight:750;font-size:13.5px;color:#20283a;line-height:1.3}
#sino-caixa .nt .t span{min-width:0}
#sino-caixa .nt .t time{color:#858c9a;font-size:10.5px;white-space:nowrap;font-weight:500}
#sino-caixa .nt-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;color:#777f8e;font-size:10.5px}
#sino-caixa .nt-meta span{padding:2px 6px;border-radius:99px;background:#f0f2f6;color:#596173;font-weight:650}
#sino-caixa .nt-meta b{padding:2px 6px;border-radius:99px;background:#fff0f1;color:#bd2734;font-size:10px;text-transform:uppercase;letter-spacing:.03em}
#sino-caixa .nt-meta em{font-style:normal;color:#8a92a0}
#sino-caixa .nt .c{font-size:12.5px;color:#414a5d;margin:8px 0 10px;white-space:pre-wrap;line-height:1.45;padding:8px 9px;background:#f8f9fb;border-radius:9px;border:1px solid #edf0f4}
#sino-caixa .nt .acoes{display:flex;gap:6px;flex-wrap:wrap}
#sino-caixa .nt .acoes .btn{font-size:11px;padding:6px 9px}
#sino-caixa .vazio{padding:28px 14px;text-align:center;color:var(--cinza);font-size:13px}
#sino-caixa .sc-vazio{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:1px dashed #dce1e8;border-radius:13px}
#sino-caixa .sc-vazio span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eaf8ef;color:#16803c;font-weight:800;font-size:18px}
#sino-caixa .sc-vazio b{color:#293244;font-size:14px}
#sino-caixa .sc-vazio small{color:#828a99}
@media (max-width:820px){#sino-caixa{right:8px;width:auto;left:8px}.sc-resumo{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sc-finalizar-todas{grid-column:1/-1;justify-self:end;padding:5px!important}}


/* config: rotulo e valor em colunas (o texto longo vazava pra baixo do rotulo).
   O rotulo e absoluto de proposito: o valor pode ser texto + pill + o que for,
   que tudo continua fluindo na coluna da direita. */
.kv > div{position:relative;padding:7px 0 7px 148px;min-height:20px;line-height:1.7}
.kv > div > b{position:absolute;left:0;top:7px;width:134px;color:var(--cinza);font-weight:600;font-size:13px;line-height:1.4}
@media (max-width:820px){ #topbar .quem{display:none} }


/* ---- FLYOUT: topicos com cor e seta que fecha o bloco (20/08 noite) ------ */
.fly-cab{display:flex;align-items:center;gap:9px;width:100%;border:none;background:transparent;cursor:pointer;padding:11px 18px 7px;text-align:left}
.fly-cab .pt{width:9px;height:9px;border-radius:3px;background:var(--gcor,#7c3aed);flex:none}
.fly-cab .tx{flex:1;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gcor,#7c3aed)}
.fly-cab .qt{font-size:10.5px;font-weight:700;color:var(--gcor,#7c3aed);background:color-mix(in srgb, var(--gcor,#7c3aed) 12%, #fff);border-radius:8px;padding:1px 7px}
.fly-cab .seta{width:16px;height:16px;color:#a6adbb;flex:none;transition:transform .15s}
.fly-cab:hover .tx{filter:brightness(.85)}
.fly-bloco{overflow:hidden}
.fly-bloco.fechado{display:none}
.fly-cab.fechado .seta{transform:rotate(-90deg)}
.fly-bloco a{border-left:3px solid transparent}
.fly-bloco a:hover{border-left-color:color-mix(in srgb, var(--gcor,#7c3aed) 45%, #fff)}

/* ---- VIDA: micro-animacoes, so pra quem aceita movimento ----------------- */
@media (prefers-reduced-motion:no-preference){
  #view .pane.on{animation:vw-entra .18s ease-out}
  @keyframes vw-entra{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
  .btn{transition:background .15s,box-shadow .15s,transform .08s}
  .btn:active{transform:scale(.965)}
  .card{transition:box-shadow .18s}
  .modal-card{animation:md-pop .16s ease-out}
  @keyframes md-pop{from{opacity:0;transform:scale(.965) translateY(6px)}to{opacity:1;transform:none}}
  #taskbar .tab{transition:background .13s,border-color .13s,transform .08s}
  #taskbar .tab:active{transform:scale(.96)}
  #sidebar .ico:hover .gl{transform:translateY(-1px)}
  #sidebar .ico .gl{transition:transform .15s}
  #sino.vermelho .bolha{animation:sino-pulsa 1.6s ease-in-out infinite}
  @keyframes sino-pulsa{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
  .fly-bloco a{transition:background .12s,border-color .12s,padding-left .12s}
  .fly-bloco a:hover{padding-left:24px}
}

/* ---- CELULAR: o plano original (bottom-nav) manda; aqui so o complemento --
   A barra vira bottom-nav no bloco la de cima (max-width:680). O que entra
   aqui e apenas o que aquele bloco nao cobria: a marca e o divisor nao fazem
   sentido numa barra horizontal, o titulo nao pode empurrar o sino, e o modal
   ocupa a tela quase toda. */
@media (max-width:680px){
  #sidebar .marca, #sidebar .sb-div{display:none}
  #topbar .titulo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  #topbar .quem{display:none}
}
@media (min-width:681px) and (max-width:1024px){
  #view{padding:14px}
}


/* ---- ABAS DE BAIXO com a cor do grupo (20/08 noite) ----------------------
   Maximo 5 (o app fecha a esquecida sozinho). A bolinha diz de que grupo a
   tela e; a aba ativa pinta inteira com a cor do grupo. */
#taskbar{padding:6px 10px;gap:7px;background:#fbfbfd;scrollbar-width:none}
#taskbar::-webkit-scrollbar{display:none}
#taskbar .tab{position:relative;flex:0 0 auto;padding:7px 13px;border-radius:10px;gap:8px;
  border:1px solid var(--linha);background:#fff;font-weight:600;color:#3f4756}
#taskbar .tab::before{content:'';width:8px;height:8px;border-radius:3px;flex:none;
  background:var(--tcor,#7c3aed)}
#taskbar .tab:hover{border-color:var(--tcor,#7c3aed);background:color-mix(in srgb, var(--tcor,#7c3aed) 7%, #fff)}
#taskbar .tab.on{background:var(--tcor,#7c3aed);border-color:var(--tcor,#7c3aed);color:#fff;
  box-shadow:0 2px 8px color-mix(in srgb, var(--tcor,#7c3aed) 38%, transparent)}
#taskbar .tab.on::before{background:rgba(255,255,255,.85)}
/* O x de fechar so aparecia com o mouse em cima (e no toque nem existe hover),
   e o overflow da propria aba cortava o x nos nomes longos, como os da
   Lideranca. Agora quem encolhe com reticencias e o nome; o x fica sempre
   visivel, em qualquer aba e em qualquer aparelho. */
#taskbar .tab{overflow:hidden}
#taskbar .tab .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#taskbar .tab .x{opacity:.55;margin-left:2px;flex:0 0 auto;transition:opacity .12s}
#taskbar .tab:hover .x,#taskbar .tab.on .x{opacity:.9}
#taskbar .tab .x:hover{opacity:1}


/* ---- DRE pelo plano de contas (20/08) ------------------------------------
   O relatorio tem tres pesos: linha calculada (total), grupo e conta. Sem
   essa hierarquia visual o DRE vira uma lista e ninguem acha o lucro. */
.drp-tab{width:100%;border-collapse:collapse}
.drp-tab td{padding:9px 16px;border-bottom:1px solid #f1f3f7;font-size:13.5px}
.drp-tab th{padding:8px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--cinza);background:#f7f8fb;border-bottom:1px solid #e7e9f0;text-align:left}
.drp-tab .drp-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.drp-tab .drp-pct{width:112px;color:var(--cinza);font-size:12.5px}
.drp-tab .drp-grupo td{font-weight:700;background:#fbfbfd;color:#1b2030;
  text-transform:uppercase;font-size:12.5px;letter-spacing:.03em}
.drp-tab .drp-grupo{cursor:pointer}
.drp-tab .drp-grupo:hover td{background:#f4f2fd}
.drp-tab .drp-vazia{cursor:default}
.drp-tab .drp-vazia td{color:#9aa3b2;background:#fff;font-weight:600}
.drp-tab .drp-vazia:hover td{background:#fff}
.drp-tog{display:inline-block;width:14px;color:var(--magenta-2);font-size:11px}
.drp-sinal{color:#9aa3b2;font-weight:600}
.drp-qtd{margin-left:8px;font-weight:500;text-transform:none;letter-spacing:0;
  font-size:11.5px;color:var(--cinza)}
.drp-tab .drp-total td{font-weight:800;font-size:14.5px;background:#f4f2fd;
  border-top:2px solid var(--magenta);border-bottom:2px solid var(--magenta);text-transform:uppercase;letter-spacing:.02em}
.drp-tab .drp-conta td{padding-left:48px;color:#4b5567}
/* o cabecalho da folha: nome do relatorio, mes e os tres numeros que o dono
   procura antes de ler linha por linha */
.drp-cab{display:flex;gap:16px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid #edeff4;
  background:linear-gradient(180deg,#faf9ff,#fff)}
.drp-cab h3{margin:0 0 2px;font-size:15px}
.drp-topo{display:flex;gap:22px;flex-wrap:wrap}
.drp-topo>div{display:flex;flex-direction:column;line-height:1.25}
.drp-topo span{font-size:10.5px;letter-spacing:.06em;color:var(--cinza)}
.drp-topo b{font-size:17px;font-variant-numeric:tabular-nums}
.drp-topo i{font-style:normal;font-size:11.5px;color:var(--cinza)}
.drp-tab .drp-conta{cursor:pointer}
.drp-tab .drp-conta:hover td{background:#f7f5ff}
.drp-cod{display:inline-block;min-width:62px;font-variant-numeric:tabular-nums;
  font-size:11.5px;font-weight:700;color:var(--magenta-2)}
.drp-cc{display:grid;grid-template-columns:170px 1fr 120px;gap:12px;align-items:center;padding:6px 0;font-size:13.5px}
.drp-cc-b{background:#f1f3f7;border-radius:6px;height:9px;overflow:hidden}
.drp-cc-b i{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#6d28d9);border-radius:6px}
.drp-cc b{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:680px){
  .drp-cc{grid-template-columns:1fr 90px}
  .drp-cc-b{display:none}
  .drp-tab td,.drp-tab th{padding:8px 10px;font-size:13px}
  .drp-tab .drp-conta td{padding-left:26px}
  .drp-tab .drp-pct,.drp-tab th:last-child{display:none}
  .drp-topo{gap:14px}
  .drp-topo b{font-size:15px}
}


/* ---- Extrato e Fechamento (21/08) ---------------------------------------
   A tabela tem 3 niveis: as contas, o compilado da Loja e a Saude do caixa.
   Sem separar visualmente, vira um paredao de numero e ninguem acha o que
   importa, que e a ultima coluna. */
.ef-tab{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap}
.ef-tab th,.ef-tab td{padding:6px 10px;border-bottom:1px solid #f1f3f7;text-align:right}
.ef-tab th{background:#fbfbfd;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cinza)}
.ef-tab th.ef-grupo{text-align:center;border-bottom:2px solid var(--linha);color:#3f4756;font-weight:700}
.ef-tab th.ef-loja{background:#f4f2fd;color:var(--magenta-2)}
.ef-tab th.ef-saude{background:var(--verdeclaro);color:var(--verde-b)}
.ef-tab .ef-dia{text-align:left;font-weight:700;color:#1b2030;position:sticky;left:0;background:#fff}
.ef-tab .ef-saldo{font-variant-numeric:tabular-nums;color:#1b2030}
.ef-tab td.ef-saude{background:#f7fdf9}
.ef-tab tbody tr:hover td{background:#f9f9fc}
.ef-tab tbody tr:hover td.ef-dia{background:#f9f9fc}
@media (max-width:900px){ .ef-tab th,.ef-tab td{padding:5px 7px;font-size:11.5px} }


/* ---- menu da conta, no avatar do topo (21/08) ---------------------------
   Sair de um sistema se procura aqui, nao dentro de Configuracoes. */
#topbar .avatar{cursor:pointer;transition:box-shadow .15s}
#topbar .avatar:hover{box-shadow:0 0 0 3px rgba(139,92,246,.28)}
#menu-eu{position:absolute;top:52px;right:16px;width:240px;background:#fff;
  border:1px solid var(--linha);border-radius:12px;box-shadow:0 8px 30px rgba(20,10,50,.18);
  z-index:70;display:none;overflow:hidden}
#menu-eu.on{display:block}
#menu-eu .me-topo{padding:12px 14px;border-bottom:1px solid var(--linha);background:var(--fundo)}
#menu-eu .me-nome{font-weight:700;font-size:13.5px;color:var(--tinta)}
#menu-eu .me-sub{font-size:11.5px;color:var(--cinza);margin-top:1px}
#menu-eu .me-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;
  padding:11px 14px;font-size:13.5px;color:var(--tinta);cursor:pointer;text-align:left;font-family:inherit}
#menu-eu .me-item svg{width:17px;height:17px;color:var(--cinza);flex:none}
#menu-eu .me-item:hover{background:var(--fundo)}
#menu-eu .me-sair{color:var(--vermelho-b);border-top:1px solid var(--linha)}
#menu-eu .me-sair svg{color:var(--vermelho-b)}
#menu-eu .me-sair:hover{background:var(--vermelho)}
@media (max-width:680px){ #menu-eu{right:8px;top:48px} }

#menu-eu .me-item span{display:flex;flex-direction:column;line-height:1.25}
#menu-eu .me-item small{font-size:11px;color:var(--cinza);font-weight:400}
#menu-eu .me-sair small{color:#c98a8a}


/* =====================================================================
   FORMULARIO DENTRO DO MODAL (21/08)
   Metade dos formularios do financeiro escreve <label>Texto<select>…</select>
   </label> direto, sem .field em volta, e isso nao pegava estilo nenhum: o
   rotulo colava no campo ("Categoria— escolha —") e o select largo furava a
   largura do cartao, criando rolagem horizontal. Aqui o rotulo sobe, o campo
   ocupa a linha inteira e nada mais estoura.
   ===================================================================== */
.modal-card label{display:block;font-size:12px;color:#7b8194;font-weight:600;
  margin-bottom:11px;line-height:1.35}
.modal-card label>input,.modal-card label>select,.modal-card label>textarea{
  display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:5px;
  padding:10px 11px;border:1px solid var(--linha);border-radius:8px;
  font-size:14px;font-weight:400;color:var(--tinta);background:#fff}
/* campo solto (sem label em volta) tambem nao pode estourar */
.modal-card input,.modal-card select,.modal-card textarea{max-width:100%;box-sizing:border-box}
/* numa linha de dois, o espaco entre eles ja vem do gap do .row */
.modal-card .row>label{margin-bottom:0}
/* linha com campos de alturas diferentes (um tem dica embaixo, o outro nao):
   alinha pelo TOPO em vez de esticar um pra acompanhar o outro */
.modal-card .row{align-items:flex-start}
.modal-card .row.fim{align-items:flex-end}
/* marcavel: aqui o rotulo fica AO LADO, entao a regra de bloco nao serve */
.modal-card label:has(>input[type=checkbox]),
.modal-card label:has(>input[type=radio]){display:flex;align-items:center;gap:8px;
  font-weight:500;color:var(--tinta);font-size:13.5px}
.modal-card label:has(>input[type=checkbox])>input,
.modal-card label:has(>input[type=radio])>input{width:auto;display:inline-block;
  margin-top:0;padding:0;flex:none}
/* a dica de uma linha embaixo do campo */
.modal-card label .muted{font-weight:400;line-height:1.4;display:block;margin-top:4px}

/* o .field pode encolher dentro do modal: o min-width de 160px e' pensado pra
   tela larga, e numa linha de tres campos ele empurrava o ultimo pra fora da
   borda do cartao (foto do "Novo fornecedor", 21/08) */
.modal-card .field{min-width:0}
.modal-card .field input,.modal-card .field select,.modal-card .field textarea{
  min-width:0;width:100%;box-sizing:border-box}
.modal-card .row{flex-wrap:wrap}

/* selo "contrato" no cadastro do cliente (21/08): o campo não trava a abertura
   da ficha, mas sem ele o contrato não sai. Nem asterisco (que travaria), nem
   nada (que esconderia a consequência). */
.field label .ct{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:20px;
  font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:#fff3e0;color:#b26a00;border:1px solid #f0d9a8;vertical-align:1px}

/* o rotulo nao manda na largura do campo (21/08). O selo "contrato" ao lado de
   "E-mail" fez o rotulo ficar mais largo que a caixa, o .field encolheu pelo
   conteudo e o input virou um quadradinho de 70px. */
.field:has(label .ct){min-width:190px}
.field label:has(.ct){white-space:nowrap}
.field:has(label .ct) input,.field:has(label .ct) select{width:100%}

/* filtro no cabeçalho do Contas a Pagar (21/08): a busca mora na própria
   coluna Descrição, e Vencimento/Valor ordenam ao clicar */
.fp-th-busca{display:block;width:100%;margin-top:5px;padding:5px 8px;font-size:12px;
  font-weight:400;border:1px solid var(--linha);border-radius:6px;background:#fff;
  color:var(--tinta)}
.fp-th-busca:focus{outline:none;border-color:var(--magenta,#7c3aed);
  box-shadow:0 0 0 3px rgba(124,58,237,.14)}
.fp-th-ord{cursor:pointer;user-select:none}
.fp-th-ord:hover{color:var(--magenta,#7c3aed)}
.fp-seta{font-size:10px;opacity:.55;margin-left:3px}
.fp-th-ord:hover .fp-seta{opacity:1}
tr.fp-cab th{vertical-align:top}

/* ===== CONFIGURAR FUNIS E ETAPAS (21/08) =====
   A configuração se parece com o resultado: a etapa mostra aqui a mesma cor e
   a mesma porcentagem que vai aparecer no topo da coluna do quadro. */
.cf-topo{margin-bottom:16px}
.cf-sec{margin-bottom:18px}
.cf-sec-cab{display:flex;justify-content:space-between;align-items:center;
  gap:10px;margin-bottom:9px;flex-wrap:wrap}
.cf-funis{display:flex;gap:8px;flex-wrap:wrap}
.cf-funil{display:flex;flex-direction:column;align-items:flex-start;gap:1px;
  padding:9px 13px;border:1px solid var(--linha);border-radius:9px;background:#fff;
  cursor:pointer;text-align:left;min-width:132px;transition:.12s}
.cf-funil:hover{border-color:var(--magenta,#7c3aed)}
.cf-funil.on{border-color:var(--magenta,#7c3aed);
  box-shadow:0 0 0 3px rgba(124,58,237,.14);background:#faf7ff}
.cf-funil span{font-size:13.5px;font-weight:600;color:var(--tinta)}
.cf-funil small{font-size:11px;color:var(--cinza)}

.cf-fases{display:flex;flex-direction:column;gap:6px}
.cf-fase{display:flex;align-items:center;gap:10px;padding:9px 12px;
  border:1px solid var(--linha);border-radius:9px;background:#fff;cursor:grab}
.cf-fase:hover{border-color:#d3d7e2}
.cf-fase.cf-arrastando{opacity:.45;cursor:grabbing}
.cf-ord{flex:none;width:20px;height:20px;border-radius:50%;background:#eef2f7;
  color:var(--cinza);font-size:11px;font-weight:700;display:grid;place-items:center}
.cf-cor{flex:none;width:11px;height:11px;border-radius:3px}
.cf-nome{flex:1;font-size:13.5px;font-weight:600;color:var(--tinta)}
.cf-prob{font-size:11.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
/* discretos, mas VISIVEIS: numa tela de configuracao esconder a acao ate o
   hover faz a pessoa nao descobrir que pode editar */
.cf-acoes{display:flex;gap:5px;opacity:.45;transition:.12s}
.cf-fase:hover .cf-acoes{opacity:1}
.cf-perigo{color:#c0392b}
.cf-perigo:hover{background:#fdeaea;border-color:#f3b9b9}

/* as cores da etapa: escolher vendo, não escrevendo hexadecimal */
.fe-cores{display:flex;gap:7px;flex-wrap:wrap}
.fe-cor{width:26px;height:26px;border-radius:7px;border:2px solid transparent;
  cursor:pointer;padding:0}
.fe-cor:hover{transform:scale(1.08)}
.fe-cor.on{border-color:var(--tinta);box-shadow:0 0 0 2px #fff inset}

/* ==========================================================================
   CENTRAL DE RELACIONAMENTO                                    (25/08/2026)

   Segue o desenho aprovado: quatro cards com ícone em círculo, categorias com
   ícone, avatar redondo nas conversas, abas Ativas|Finalizadas, divisor de dia,
   entrega confirmada pelo backend e painel contextual com Subitens · Resumo.

   ⚠️ Tudo com prefixo .rel- e nas variáveis que o sistema já define. Uma regra
      sem prefixo vazaria para as outras 87 telas.

   ⚠️ A TELA CABE NA JANELA: na primeira versão o campo de escrever ficava
      abaixo da dobra num monitor de 1366, e a recepção teria que rolar a página
      a cada conversa. A grade tem altura própria e cada coluna rola por dentro.
   ========================================================================== */

/* as cores das filas: o motor manda o nome, o CSS decide o tom */
.rel-ponto{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
.c-roxo{background:#7c3aed}      .c-verde{background:#1f9d55}
.c-laranja{background:#ea7c1a}   .c-amarelo{background:#e0a800}
.c-azul{background:#2b6cb0}      .c-turquesa{background:#0e9aa7}
.c-cinza{background:#98a0ae}
.rel-cresc{flex:1}
.rel-dica{font-size:12px;color:var(--cinza)}
.rel-verm{color:var(--vermelho-b)}
.rel-vazio{color:var(--cinza);padding:26px 10px;text-align:center;font-size:13px}
[class^="rel-"] svg,[class*=" rel-"] svg{width:16px;height:16px;flex:none}

/* ------------------------------------------------------------ o topo --- */
.rel-cab-topo{display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;margin-bottom:14px}
.rel-titulo{font-size:21px;font-weight:600;color:var(--tinta);line-height:1.2}
.rel-sub{color:var(--cinza);font-size:13px;margin-top:3px}
.rel-topo-acoes{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.rel-canal{display:flex;align-items:flex-end;flex-direction:column;gap:3px;min-width:205px}
.rel-canal-selo{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;
  color:#166534;background:#eaf8ef;border:1px solid #ccebd7;font-size:11.5px;font-weight:700}
.rel-canal small{font-size:10.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
.rel-contexto-toggle{display:none}

/* botão de contorno, o mesmo do desenho */
.rel-bt-linha{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;
  border:1px solid var(--linha);border-radius:9px;background:var(--card);
  font-size:13px;font-family:inherit;color:var(--tinta);white-space:nowrap}
.rel-bt-linha:hover{border-color:var(--magenta);color:var(--magenta-2)}
.rel-bt-linha svg{color:var(--magenta)}
.rel-bt-linha.sm{padding:6px 12px;font-size:12.5px}
.rel-ic-bt{display:inline-grid;place-items:center;width:30px;height:30px;
  border:none;background:transparent;border-radius:8px;color:var(--cinza);
  font-size:15px;line-height:1}
.rel-ic-bt:hover{background:var(--fundo);color:var(--magenta-2)}
.rel-ic-bt:disabled{opacity:.35}
.rel-ic-bt.quadrado{border:1px solid var(--linha);width:38px;height:38px;background:var(--card)}
.rel-ic-bt.quadrado.on{border-color:var(--magenta);color:var(--magenta);background:#f3efff}

/* --------------------------------------- os cards + os dois botões ----- */
.rel-faixa{display:flex;align-items:stretch;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.rel-cards{flex:1;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;min-width:0}
@media(max-width:1250px){.rel-cards{grid-template-columns:repeat(2,1fr)}}
.rel-faixa-bts{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.rel-card{display:flex;align-items:center;gap:10px;background:var(--card);
  border:1px solid var(--linha);border-radius:14px;padding:14px 16px;
  box-shadow:var(--sombra);min-width:0;text-align:left;font-family:inherit;color:inherit;
  cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s}
.rel-card:hover{border-color:#cdbdf4;transform:translateY(-1px);box-shadow:0 5px 16px rgba(62,38,105,.09)}
.rel-card.on{border-color:#a987ef;box-shadow:0 0 0 2px rgba(124,58,237,.10),var(--sombra)}
.rel-card:focus-visible,.rel-item:focus-visible,.rel-prio:focus-visible,
.rel-contexto-toggle:focus-visible{outline:3px solid rgba(124,58,237,.20);outline-offset:1px}
.rel-card-txt{flex:1;min-width:0}
.rel-card-rot{font-size:12.5px;color:var(--cinza);line-height:1.3}
.rel-card-val{font-size:27px;font-weight:600;line-height:1.25;margin:2px 0 1px;
  font-variant-numeric:tabular-nums;color:var(--tinta)}
.rel-card-sub{font-size:11.5px;color:var(--cinza)}
.rel-card-ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none}
.rel-card-ic svg{width:20px;height:20px}
/* o mesmo par de tons do desenho: círculo claro, traço forte */
.rel-card.roxo .rel-card-ic{background:#f0eafe;color:#7c3aed}
.rel-card.laranja .rel-card-ic{background:#fff2e2;color:#e08a2b}
.rel-card.vermelho .rel-card-ic{background:#fdecec;color:#e05252}
.rel-card.verde .rel-card-ic{background:#e6f8ee;color:#1f9d55}

/* ---------------------------------------------------------- as colunas - */
/* ⚠️ ALTURA: 100vh menos o que o sistema já ocupa (barra de cima 56, padding do
   #view 36, o topo 52, os cards 86, o rodapé 48, a barra de tarefas 36 e o
   rodapé do sistema 26). O min-height segura o monitor muito baixo. */
.rel-grade{display:grid;grid-template-columns:250px 306px minmax(0,1fr) 268px;
  gap:12px;align-items:stretch;height:calc(100vh - 348px);min-height:404px}
.rel-cx{background:var(--card);border:1px solid var(--linha);border-radius:14px;
  box-shadow:var(--sombra);padding:14px;min-width:0;min-height:0;
  display:flex;flex-direction:column;overflow:hidden}
#rel-filtros,#rel-contexto{overflow-y:auto;overscroll-behavior:contain}
#rel-conversa{padding:0}
@media(max-width:1500px){
  .rel-grade{grid-template-columns:232px 288px minmax(0,1fr)}
  #rel-contexto{display:none}          /* o contexto some antes da conversa */
}
@media(max-width:1150px){
  /* empilhado, a altura volta a ser natural e a PÁGINA rola */
  .rel-grade{grid-template-columns:1fr 1fr;height:auto;min-height:0}
  .rel-cx{max-height:70vh}
  #rel-conversa{grid-column:1/3}
}
@media(max-width:760px){
  .rel-grade{grid-template-columns:1fr}
  #rel-conversa{grid-column:auto}
}

.rel-bloco-cab{display:flex;align-items:center;gap:8px;margin-bottom:11px;flex:none}
.rel-bloco-tit{font-size:14px;font-weight:600;color:var(--tinta);flex:1;min-width:0}
.rel-conta{font-size:13px;color:var(--cinza);font-variant-numeric:tabular-nums}

/* --------------------------------------------------------- os filtros -- */
.rel-busca-linha{display:flex;gap:8px;margin-bottom:12px;flex:none}
.rel-busca-cx{flex:1;position:relative;display:flex;align-items:center;min-width:0}
.rel-busca-cx .rel-lupa{position:absolute;left:11px;width:15px;height:15px;color:var(--cinza)}
.rel-busca-cx input{width:100%;padding:9px 11px 9px 33px;border:1px solid var(--linha);
  border-radius:9px;font-size:13px;background:var(--card);font-family:inherit;color:var(--tinta)}
.rel-busca-cx input:focus{outline:2px solid var(--magenta);outline-offset:-1px}

.rel-cats{display:flex;flex-direction:column;gap:3px;flex:none}
.rel-cat{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;
  border:1px solid transparent;background:transparent;border-radius:10px;
  text-align:left;color:var(--tinta);font-size:13.5px}
.rel-cat:hover{background:var(--fundo)}
.rel-cat.on{background:#f3efff;border-color:#ddd0fb;font-weight:600;color:var(--magenta-2)}
.rel-cat-ic{display:grid;place-items:center;width:20px;height:20px;flex:none;color:var(--cinza)}
.rel-cat.on .rel-cat-ic{color:var(--magenta)}
/* o ícone herda a cor da fila, como o desenho */
.rel-cat-ic.c-roxo{background:none;color:#7c3aed} .rel-cat-ic.c-verde{background:none;color:#1f9d55}
.rel-cat-ic.c-laranja{background:none;color:#ea7c1a} .rel-cat-ic.c-amarelo{background:none;color:#c99400}
.rel-cat-ic.c-azul{background:none;color:#2b6cb0} .rel-cat-ic.c-turquesa{background:none;color:#0e9aa7}
.rel-cat-ic.c-cinza{background:none;color:#98a0ae}
.rel-cat-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-cat b{color:var(--cinza);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}
.rel-cat.on b{color:var(--magenta-2)}

.rel-subs{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 30px;
  border-left:1px solid var(--linha);padding-left:9px}
.rel-sub{display:flex;gap:8px;width:100%;padding:5px 8px;border:none;background:transparent;
  border-radius:7px;text-align:left;color:var(--cinza);font-size:12.5px}
.rel-sub span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-sub:hover{background:var(--fundo);color:var(--tinta)}
.rel-sub.on{background:var(--magenta);color:#fff;font-weight:600}
.rel-sub.on b{color:#fff}
.rel-sub b{font-variant-numeric:tabular-nums}

.rel-prio-tit{margin:18px 0 9px;flex:none}
.rel-prio{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;
  border:1px solid var(--linha);border-radius:11px;background:var(--card);
  text-align:left;margin-bottom:8px;flex:none}
.rel-prio-ic{display:grid;place-items:center;width:20px;height:20px;flex:none;margin-top:1px}
.rel-prio-txt{flex:1;min-width:0}
.rel-prio-txt b{display:block;font-size:12.5px;font-weight:600;line-height:1.3}
.rel-prio-txt i{display:block;font-size:11px;color:var(--cinza);font-style:normal;margin-top:2px}
.rel-prio-n{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;
  border-radius:7px;font-size:12px;font-weight:700;color:#fff;flex:none;
  font-variant-numeric:tabular-nums}
.rel-prio.urg{background:#fdf2f2;border-color:#f6d5d5}
.rel-prio.urg .rel-prio-ic,.rel-prio.urg .rel-prio-txt b{color:var(--vermelho-b)}
.rel-prio.urg .rel-prio-n{background:var(--vermelho-b)}
.rel-prio.amb{background:#fff8ec;border-color:#f5e3c3}
.rel-prio.amb .rel-prio-ic,.rel-prio.amb .rel-prio-txt b{color:#c47f16}
.rel-prio.amb .rel-prio-n{background:#e0972b}
.rel-prio:hover{filter:brightness(.985)}
.rel-prio.on{box-shadow:0 0 0 2px rgba(124,58,237,.14);border-color:#bda4f1}

/* ----------------------------------------------------------- a lista --- */
/* ⚠️ flex:1 + min-height:0 é o que faz a lista rolar DENTRO da coluna em vez de
   esticar a coluna e empurrar a paginação para fora da tela. */
.rel-itens{display:flex;flex-direction:column;gap:3px;flex:1;min-height:0;
  overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0 -4px;padding:0 4px}
.rel-busca-conversas{display:flex;align-items:center;gap:6px;margin:-2px 0 9px;flex:none}
.rel-busca-conversas .rel-busca-cx input{padding-top:8px;padding-bottom:8px}
.rel-limpar-busca{border:0;background:transparent;color:var(--magenta-2);font:600 11.5px/1 inherit;
  padding:7px 3px;border-radius:6px}
.rel-limpar-busca:hover{background:#f3efff}
.rel-recortes{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:0 0 8px;flex:none;
  scrollbar-width:none}
.rel-recortes::-webkit-scrollbar{display:none}
.rel-recortes span{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;
  border-radius:999px;background:#f0eafe;color:#6d28d9;font-size:10.5px;font-weight:600;white-space:nowrap}
.rel-recortes button{border:0;background:transparent;color:var(--cinza);font:600 10.5px/1 inherit;
  white-space:nowrap;padding:5px}
.rel-recortes button:hover{color:var(--magenta-2);text-decoration:underline}
.rel-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;
  border:1px solid transparent;background:transparent;border-radius:11px;
  padding:10px 11px;flex:none}
.rel-item:hover{background:var(--fundo)}
.rel-item.on{background:#f6f2ff;border-color:#ddd0fb}
.rel-item-corpo{flex:1;min-width:0;display:block}
.rel-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  color:#fff;font-size:13px;font-weight:600;flex:none;letter-spacing:.3px;user-select:none}
.rel-av.g{width:44px;height:44px;font-size:15px}
.rel-l1{display:flex;align-items:baseline;gap:8px}
.rel-nome{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--tinta);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-hora{font-size:11.5px;color:var(--cinza);flex:none;font-variant-numeric:tabular-nums}
.rel-previa{display:block;font-size:12.5px;color:var(--cinza);margin:3px 0 6px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-l3{display:flex;align-items:center;gap:6px}
.rel-tag{font-size:11px;font-weight:500;padding:3px 9px;border-radius:7px;color:#fff}
.rel-tag.c-roxo{background:#efe8fe;color:#6d28d9}
.rel-tag.c-verde{background:#e6f6ec;color:#1a7f45}
.rel-tag.c-laranja{background:#fdeee0;color:#c26a12}
.rel-tag.c-amarelo{background:#fdf4dc;color:#a37700}
.rel-tag.c-azul{background:#e6effa;color:#245b96}
.rel-tag.c-turquesa{background:#e0f5f6;color:#0b7f89}
.rel-tag.c-cinza{background:#eef0f3;color:#69707d}
.rel-est{font-size:11.5px;font-weight:500;white-space:nowrap}
.rel-est.urg{color:var(--vermelho-b)}
.rel-est.amb{color:#c47f16}
.rel-est.ok{color:var(--verde-b)}
.rel-est.at{color:var(--magenta-2)}
.rel-pgs{display:flex;align-items:center;justify-content:center;gap:10px;
  padding-top:10px;border-top:1px solid var(--linha);margin-top:8px;flex:none;
  font-size:12.5px;color:var(--cinza)}

/* ------------------------------------------------------- a conversa ---- */
.rel-abas-topo{display:flex;align-items:center;gap:4px;padding:6px 14px 0;
  border-bottom:1px solid var(--linha);flex:none}
.rel-aba-t{border:none;background:transparent;color:var(--cinza);font-size:13.5px;
  font-weight:500;padding:9px 13px;border-bottom:2px solid transparent;margin-bottom:-1px}
.rel-aba-t:hover{color:var(--tinta)}
.rel-aba-t.on{color:var(--magenta-2);border-bottom-color:var(--magenta);font-weight:600}
.rel-ordem{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;
  color:var(--cinza);font-size:12.5px;font-family:inherit;padding:6px 8px;border-radius:7px}
.rel-ordem:hover{background:var(--fundo);color:var(--tinta)}

.rel-cab{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;
  border-bottom:1px solid var(--linha);flex:none}
.rel-cab-txt{flex:1;min-width:0}
.rel-cab-l1{display:flex;align-items:center;gap:8px}
.rel-cab-l1 b{font-size:15.5px;font-weight:600}
.rel-cab-l2{font-size:12.5px;color:var(--tinta);margin-top:2px}
.rel-cab-l3{font-size:11.5px;color:var(--cinza);margin-top:2px}
.rel-cab-bts{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:none;flex-wrap:wrap}
.rel-cab-canal{font-size:10.5px;font-weight:700;color:#166534;background:#eaf8ef;
  border:1px solid #ccebd7;border-radius:999px;padding:4px 8px;white-space:nowrap}
.rel-status-finalizada{font-size:10.5px;font-weight:700;color:#166534;background:#e8f7ee;
  border-radius:999px;padding:4px 8px;white-space:nowrap}
.rel-selo{font-size:11px;font-weight:500;color:#1a7f45;background:#e6f6ec;
  padding:3px 10px;border-radius:20px}
.rel-selo.fora{color:#69707d;background:#eef0f3}

.rel-msgs{display:flex;flex-direction:column;gap:6px;padding:14px;
  background:var(--card);flex:1;min-height:96px;overflow-y:auto;overscroll-behavior:contain}
.rel-dia{display:flex;justify-content:center;margin:6px 0 4px;flex:none}
.rel-dia span{font-size:11px;color:var(--cinza);background:var(--fundo);
  padding:3px 12px;border-radius:20px}
.rel-msg{display:flex;flex:none}
.rel-msg.dela{justify-content:flex-start}
.rel-msg.nossa{justify-content:flex-end}
.rel-balao{max-width:74%;padding:9px 13px;border-radius:14px;font-size:13.5px;
  line-height:1.5;word-break:break-word}
.rel-txt-msg{white-space:pre-wrap}
.rel-msg.dela .rel-balao{background:#f2f3f6;color:var(--tinta);border-bottom-left-radius:5px}
.rel-msg.nossa .rel-balao{background:#efe8fe;color:var(--tinta);border-bottom-right-radius:5px}
.rel-msg-pe{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:3px}
.rel-msg-h{font-size:10.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
.rel-entrega{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;
  color:#697386;white-space:nowrap}
.rel-entrega small{font:600 9.5px/1 inherit}
.rel-entrega.entregue{color:#6d28d9}
.rel-entrega.lida{color:#1683c7}
.rel-entrega.falhou{color:#c73535}
.rel-entrega.sem_confirmacao{color:#8a6b31}
.rel-tr{display:block;font-size:10px;color:var(--magenta-2);font-style:normal;
  font-weight:600;margin-top:3px}

.rel-acoes{display:flex;gap:7px;flex-wrap:wrap;padding:11px 14px;
  border-top:1px solid var(--linha);flex:none}
.rel-ac{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;
  border:1px solid var(--linha);border-radius:9px;background:var(--card);
  font-size:12.5px;font-family:inherit;color:var(--tinta);white-space:nowrap}
.rel-ac:hover{border-color:var(--magenta);color:var(--magenta-2)}
.rel-ac svg{width:15px;height:15px;color:var(--cinza)}
.rel-ac:hover svg{color:var(--magenta)}
.rel-ac .rel-seta{width:13px;height:13px}
#rel-fim{border-color:#c9e6d4;color:#1a7f45}
#rel-fim svg{color:#1f9d55}
#rel-fim:hover{background:#f0faf4;border-color:#1f9d55}
#rel-reabrir{border-color:#cbb8f5;color:#6d28d9;background:#f8f5ff}
#rel-reabrir svg{color:#7c3aed}
.rel-finalizada-aviso{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 14px 14px;padding:11px 13px;border:1px solid #cce5d6;border-radius:11px;
  background:#f2faf5;color:#285c3d;flex:none}
.rel-finalizada-aviso div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rel-finalizada-aviso b{font-size:12.5px}.rel-finalizada-aviso span,.rel-finalizada-aviso small{font-size:11px}
.rel-finalizada-aviso small{color:#557162;white-space:nowrap}

/* ------------------------------------------------------ o compositor --- */
.rel-comp{padding:0 14px 14px;flex:none}
.rel-comp-identidade{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 1px 7px;color:var(--cinza);font-size:10.5px}
.rel-comp-identidade b{color:#166534}.rel-comp-identidade small{font-size:10px;text-align:right}
.rel-abas{display:flex;gap:2px;border-bottom:1px solid var(--linha);margin-bottom:10px}
.rel-aba{border:none;background:transparent;color:var(--cinza);font-size:12.5px;
  font-weight:500;padding:8px 12px;border-bottom:2px solid transparent;margin-bottom:-1px}
.rel-aba:hover{color:var(--tinta)}
.rel-aba.on{color:var(--magenta-2);border-bottom-color:var(--magenta);font-weight:600}
.rel-txt{width:100%;padding:10px 13px;border:1px solid var(--linha);border-radius:10px;
  font-family:inherit;font-size:13.5px;line-height:1.5;resize:none;color:var(--tinta);
  background:var(--card);min-height:40px;max-height:120px;overflow-y:auto}
.rel-txt:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.rel-inp{width:100%;padding:9px 12px;border:1px solid var(--linha);border-radius:9px;
  font-family:inherit;font-size:13.5px;color:var(--tinta);background:var(--card)}
.rel-inp:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.rel-comp-pe{display:flex;align-items:center;gap:3px;margin-top:8px}
.rel-enviar{display:inline-flex;align-items:center;gap:7px;padding:9px 17px;
  border:none;border-radius:9px;background:var(--magenta);color:#fff;
  font-size:13px;font-weight:500;font-family:inherit}
.rel-enviar:hover{background:var(--magenta-2)}
.rel-enviar:disabled{opacity:.6}
.rel-enviar svg{color:#fff;width:15px;height:15px}
.rel-notas{display:flex;flex-direction:column;gap:6px;margin-bottom:9px;
  max-height:130px;overflow-y:auto}
.rel-nota{background:#fff8ec;border:1px solid #f5e3c3;border-radius:9px;
  padding:7px 10px;font-size:12.5px}
.rel-nota b{font-size:12px}
.rel-nota span{font-size:10.5px;color:var(--cinza);margin-left:6px}
.rel-nota div{margin-top:3px;white-space:pre-wrap}

/* ----------------------------------------------------- painel direito -- */
.rel-cx-bloco{border:1px solid var(--linha);border-radius:11px;padding:12px;
  margin-bottom:11px;flex:none}
.rel-cx-tit{font-size:13px;font-weight:600;color:var(--tinta);margin-bottom:9px}
.rel-ctx-l{display:flex;flex-direction:column;gap:2px}
.rel-ctx-i{display:flex;align-items:center;gap:9px;width:100%;padding:6px 4px;
  border:none;background:transparent;border-radius:7px;text-align:left;
  font-size:12.5px;color:var(--tinta)}
.rel-ctx-i:hover:not(.estatico){background:var(--fundo)}
.rel-ctx-i.estatico{cursor:default}
.rel-ctx-ic{display:grid;place-items:center;width:17px;height:17px;flex:none;color:var(--cinza)}
.rel-ctx-ic svg{width:15px;height:15px}
.rel-ctx-i span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-ctx-i b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--tinta)}
.rel-sess{display:flex;flex-direction:column;gap:8px}
.rel-sess-i{display:flex;align-items:baseline;gap:9px;border-left:3px solid var(--magenta);
  padding-left:9px;font-size:12.5px}
.rel-sess-h{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.rel-sess-n{flex:1;min-width:0;color:var(--cinza);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;text-align:right}
.rel-link{display:block;width:100%;border:none;background:transparent;
  color:var(--magenta-2);font-size:12.5px;font-family:inherit;font-weight:500;
  padding:10px 0 2px;margin-top:6px;border-top:1px solid var(--linha)}
.rel-link:hover{text-decoration:underline}

/* ---------------------------------------------------------- o rodapé --- */
.rel-rodape{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;
  border-top:1px solid var(--linha)}
.rel-pe{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;
  border:1px solid var(--linha);border-radius:20px;background:var(--card);
  font-size:12.5px;color:var(--tinta)}
.rel-pe:hover{border-color:var(--magenta);background:var(--fundo)}
.rel-pe.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:500}
.rel-pe b{color:var(--cinza);font-size:11.5px;font-variant-numeric:tabular-nums}
.rel-pe.on b{color:#fff}
.rel-pe.on .rel-ponto{background:#fff!important}

/* --------------------------------------------------------- os modais --- */
.rel-modal-pe{display:flex;align-items:center;gap:8px;margin-top:16px}
.rel-menu{display:flex;flex-direction:column;gap:3px}
.rel-menu-i{display:block;width:100%;text-align:left;padding:11px 13px;
  border:1px solid var(--linha);border-radius:9px;background:var(--card);
  font-size:13.5px;font-family:inherit;color:var(--tinta)}
.rel-menu-i:hover:not(:disabled){border-color:var(--magenta);background:var(--fundo)}
.rel-menu-i.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}
.rel-menu-i:disabled{opacity:.5}
.rel-emojis{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.rel-emoji{border:1px solid var(--linha);border-radius:9px;background:var(--card);
  font-size:21px;padding:9px 0;line-height:1}
.rel-emoji:hover{border-color:var(--magenta);background:var(--fundo)}

.rel-class{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}
.rel-class label,.rel-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.rel-class span{font-size:10.5px;color:var(--cinza);font-weight:700;
  text-transform:uppercase;letter-spacing:.3px}
.rel-class select{padding:8px 9px;border:1px solid var(--linha);border-radius:8px;
  font-size:13px;background:var(--card);font-family:inherit;color:var(--tinta);max-width:100%}
.rel-class select:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.rel-info b{font-size:13px;padding:8px 0}
.rel-porque{font-size:12px;color:var(--cinza);background:var(--fundo);
  border-left:3px solid var(--linha);padding:8px 11px;border-radius:0 8px 8px 0;margin-top:12px}

.rel-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:2px}
.rel-dash-l{display:flex;align-items:baseline;gap:8px;padding:7px 10px;border-radius:8px;
  font-size:12.5px;flex-wrap:wrap}
.rel-dash-l:nth-child(odd){background:var(--fundo)}
.rel-dash-l span{flex:1;min-width:0}
.rel-dash-l b{font-variant-numeric:tabular-nums;color:var(--magenta-2)}
.rel-dash-l i{font-size:10.5px;color:var(--cinza);font-style:normal;flex-basis:100%}
.rel-dash-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));
  gap:16px;margin-top:16px}
.rel-dash-cols>div>b{display:block;font-size:11.5px;color:var(--cinza);
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}

.rel-audit{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto}
.rel-audit-l{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 11px;
  background:var(--fundo);border-radius:9px;font-size:12.5px}
.rel-audit-l span{color:var(--cinza);font-size:11px;font-variant-numeric:tabular-nums}
.rel-audit-l i{color:var(--magenta-2);font-style:normal;font-weight:600}
.rel-audit-l div{flex-basis:100%;color:var(--cinza);font-size:12px}

.rel-trechos{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto}
.rel-trecho{display:block;width:100%;text-align:left;padding:10px 13px;
  border:1px solid var(--linha);border-radius:10px;background:var(--card)}
.rel-trecho:hover{border-color:var(--magenta);background:var(--fundo)}
.rel-trecho b{display:block;font-size:13px}
.rel-trecho span{display:block;font-size:12px;color:var(--cinza);margin-top:3px}

.rel-sla-l{display:flex;flex-direction:column;gap:6px}
.rel-sla-i{display:flex;align-items:center;gap:10px;padding:8px 11px;
  background:var(--fundo);border-radius:9px;font-size:13.5px}
.rel-sla-i span{flex:1;min-width:0}
.rel-sla-i input{width:92px;padding:7px 10px;border:1px solid var(--linha);
  border-radius:8px;font-family:inherit;font-size:13.5px;text-align:right;
  font-variant-numeric:tabular-nums;background:var(--card);color:var(--tinta)}
.rel-sla-i input:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.rel-sla-i i{font-size:11.5px;color:var(--cinza);font-style:normal;width:56px}

/* ⚠️ MONITOR BAIXO (720p e afins). Medido: em 1280x720 o botão Enviar caía 4px
   abaixo da dobra — perto o bastante para parecer certo e errado o bastante
   para a recepção ter que rolar a página a cada conversa. Aqui a tela devolve
   altura onde ela sobra menos. Nenhum NÚMERO some. */
@media(max-height:820px){
  .rel-cab-topo{margin-bottom:9px}
  .rel-sub{display:none}
  .rel-titulo{font-size:18px}
  .rel-faixa{margin-bottom:9px;gap:9px}
  .rel-cards{gap:9px}
  .rel-card{padding:9px 13px;border-radius:11px}
  .rel-card-val{font-size:21px}
  .rel-card-ic{width:34px;height:34px}
  .rel-card-ic svg{width:17px;height:17px}
  .rel-rodape{margin-top:9px;padding-top:9px}
  .rel-pe{padding:5px 11px;font-size:11.5px}
  .rel-grade{height:calc(100vh - 292px);min-height:340px}
  .rel-cab{padding:9px 14px}
  .rel-acoes{padding:9px 14px}
  .rel-comp{padding:0 14px 10px}
}

/* ⚠️ ENVIO MANUAL DA CONFIRMAÇÃO (25/08/2026) — o modal da tela Disparos.
   Prefixo .dsp-env- para não esbarrar nas regras .dsp- que a tela já tinha. */
.dsp-env-quem{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding:8px 11px;background:var(--fundo);border-radius:9px;font-size:13px}
.dsp-env-quem span{font-weight:600}
.dsp-env-quem b{color:var(--magenta-2);font-variant-numeric:tabular-nums}
.dsp-env-quem i{color:var(--cinza);font-style:normal;font-size:12px}
.dsp-env-sem{color:var(--vermelho-b)!important}
.dsp-env-txt{width:100%;padding:11px 13px;border:1px solid var(--linha);border-radius:10px;
  font-family:inherit;font-size:13.5px;line-height:1.55;resize:vertical;
  color:var(--tinta);background:var(--card);white-space:pre-wrap}
.dsp-env-txt:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.dsp-env-pe{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.dsp-env-marca{font-size:11.5px;color:#b57f00;font-weight:600}

/* ⚠️ AJUSTES DEPOIS DE OLHAR A TELA AO LADO DO DESENHO (25/08, 2ª passada).
   Três coisas que só apareceram na comparação lado a lado:

   1. "Mais opções" caía na SEGUNDA linha. No desenho as cinco ações ficam
      numa fila só, e a linha extra ainda roubava altura das mensagens.
   2. O painel direito truncava "Cancelame..." — o desenho mostra o nome
      inteiro.
   3. Sobrava pouca altura para as mensagens: só dois balões à vista.
   ========================================================================== */

/* 1. as cinco ações numa fila só. Se um dia não couber, rola de lado aqui
      dentro em vez de quebrar a linha e comer a área da conversa. */
.rel-acoes{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;
  gap:6px;padding:9px 14px;scrollbar-width:thin}
.rel-acoes::-webkit-scrollbar{height:4px}
.rel-acoes::-webkit-scrollbar-thumb{background:var(--linha);border-radius:4px}
.rel-ac{padding:7px 11px;font-size:12px;flex:none}
.rel-ac svg{width:14px;height:14px}

/* 2. mais espaço na direita (o nome do subitem cabe) e menos na esquerda,
      que só tem sete linhas curtas */
.rel-grade{grid-template-columns:236px 300px minmax(0,1fr) 286px}
@media(max-width:1500px){.rel-grade{grid-template-columns:228px 284px minmax(0,1fr)}}
@media(max-width:1150px){.rel-grade{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.rel-grade{grid-template-columns:1fr}}

/* 3. altura de volta para as mensagens: os cards e o topo cedem alguns pixels
      (nenhum número some) e a fila de ações agora é uma só. */
.rel-cab-topo{margin-bottom:11px}
.rel-faixa{margin-bottom:11px}
.rel-card{padding:11px 15px}
.rel-card-val{font-size:24px}
.rel-grade{height:calc(100vh - 322px)}
@media(max-height:820px){.rel-grade{height:calc(100vh - 280px)}}

/* o painel direito respira melhor com os blocos um pouco mais justos */
.rel-cx-bloco{padding:11px;margin-bottom:10px}
.rel-ctx-i{padding:5px 3px}
.rel-sess{gap:7px}

/* ⚠️ O CARTÃO DE AÇÃO — a terceira coluna (26/08/2026).
   "Essa terceira coluna é a mais importante." A leitura vem primeiro e grande,
   a próxima ação em destaque, os dados em blocos, e a ação principal em roxo
   cheio — uma decisão por vez, como ele pede no item 9. */
.rel-cli-acoes{border:1px solid #ded3f4;background:linear-gradient(145deg,#fbf9ff,#f5f0ff);
  border-radius:12px;padding:11px;margin-bottom:11px;flex:none}
.rel-cli-acoes-cab{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.rel-cli-acoes-cab>div{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.rel-cli-acoes-cab small{font-size:9px;color:var(--magenta-2);font-weight:800;letter-spacing:.6px}
.rel-cli-acoes-cab b{font-size:14px;color:var(--magenta-esc)}
.rel-cli-acoes-cab>span{font-size:10px;color:var(--cinza);background:#fff;border:1px solid #e6def3;
  border-radius:12px;padding:3px 7px;white-space:nowrap}
.rel-cli-ident{display:flex;align-items:center;gap:8px;padding:8px 9px;background:#fff;
  border:1px solid #ebe5f5;border-radius:8px;margin-bottom:6px;min-width:0}
.rel-cli-ident>div{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.rel-cli-ident b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-cli-ident span{font-size:10.5px;color:var(--cinza);font-variant-numeric:tabular-nums}
.rel-cli-ident .rel-cli-vinculo{flex:none;padding:3px 6px;border-radius:999px;background:#fff3f0;color:#a74638;
  font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.25px}
.rel-cli-ident .rel-cli-vinculo.ok{background:#edf8f1;color:#28734a}
.rel-cli-proxima{display:grid;grid-template-columns:1fr auto;gap:1px 6px;padding:7px 9px;margin-bottom:8px;
  border:1px solid #ebe5f5;border-radius:8px;background:rgba(255,255,255,.68)}
.rel-cli-proxima span{font-size:9.5px;color:var(--cinza)}
.rel-cli-proxima b{font-size:10.5px;text-align:right}.rel-cli-proxima small{grid-column:1/-1;font-size:9px;color:var(--cinza);text-align:right}
.rel-cli-grade{display:grid;grid-template-columns:1fr;gap:5px}
.rel-cli-grade>button{display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #e6def3;
  background:#fff;border-radius:9px;padding:7px 8px;color:var(--tinta);min-width:0}
.rel-cli-grade>button:hover:not(:disabled){border-color:var(--magenta);box-shadow:0 3px 10px rgba(101,56,160,.08)}
.rel-cli-grade>button:disabled{opacity:.48;cursor:not-allowed}
.rel-cli-grade i{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f1e9ff;
  color:var(--magenta-2);font-size:11px;font-weight:800;font-style:normal;flex:none}
.rel-cli-grade span{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.rel-cli-grade b{font-size:11.5px}.rel-cli-grade small{font-size:9.5px;color:var(--cinza);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-cli-grade em{margin-left:auto;color:#9a82b7;font-size:17px;font-style:normal;line-height:1}
.rel-cli-grade>button:disabled em{display:none}
.rel-op-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;
  max-height:240px;overflow:auto;margin:12px 0}
.rel-op-areas>label{display:flex;align-items:center;gap:8px;border:1px solid var(--linha);
  border-radius:9px;padding:8px 10px;background:var(--card)}
.rel-op-areas>label span{display:flex;flex-direction:column;gap:2px;min-width:0}
.rel-op-areas>label b{font-size:12.5px}.rel-op-areas>label small{font-size:10.5px;color:var(--cinza)}
.rel-op-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;
  max-height:280px;overflow:auto;margin-top:12px}
.rel-op-horario,.rel-op-lista button{display:flex;flex-direction:column;gap:3px;text-align:left;
  border:1px solid var(--linha);border-radius:9px;background:var(--card);padding:9px 11px;color:var(--tinta)}
.rel-op-horario:hover,.rel-op-lista button:hover{border-color:var(--magenta);background:var(--fundo)}
.rel-op-horario b,.rel-op-lista b{font-size:13px}.rel-op-horario span,.rel-op-lista span{font-size:11px;color:var(--cinza)}
.rel-op-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;max-height:360px;overflow:auto}
.rel-op-resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.rel-op-resumo>span{display:flex;flex-direction:column;gap:3px;background:var(--fundo);border-radius:9px;padding:9px 11px}
.rel-op-resumo small{font-size:10px;color:var(--cinza)}.rel-op-resumo b{font-size:14px;font-variant-numeric:tabular-nums}
.rel-fin-lista,.rel-rev-lista{display:flex;flex-direction:column;gap:7px;max-height:420px;overflow:auto}
.rel-fin-item,.rel-rev-item{display:flex;align-items:center;gap:8px;border:1px solid var(--linha);
  border-radius:10px;padding:9px 11px;background:var(--card)}
.rel-fin-item>div,.rel-rev-item>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.rel-fin-item b,.rel-rev-item b{font-size:12.5px}.rel-fin-item span,.rel-rev-item span,
.rel-rev-item small{font-size:10.5px;color:var(--cinza);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-rev-item small{color:var(--magenta-2);font-weight:600}
.rel-baixa-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.rel-baixa-grade label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--cinza);font-weight:600}
.rel-baixa-grade input,.rel-baixa-grade select{padding:8px 10px;border:1px solid var(--linha);
  border-radius:8px;background:var(--card);color:var(--tinta);font:inherit}

.rel-leitura{display:flex;align-items:flex-start;gap:8px;padding:12px;
  background:#f6f2ff;border:1px solid #e0d3fb;border-radius:12px;margin-bottom:11px;flex:none}
.rel-leitura-txt{flex:1;min-width:0;font-size:13.5px;font-weight:600;
  color:var(--magenta-esc);line-height:1.4}
.rel-nao{border:none;background:transparent;color:var(--cinza);font-size:11px;
  font-family:inherit;padding:2px 5px;border-radius:6px;white-space:nowrap;flex:none;
  text-decoration:underline}
.rel-nao:hover{color:var(--vermelho-b);background:#fff}

.rel-prox-acao{display:flex;flex-direction:column;gap:2px;padding:10px 12px;
  border:1px solid var(--linha);border-left:3px solid var(--magenta);
  border-radius:0 10px 10px 0;margin-bottom:11px;flex:none}
.rel-prox-rot{font-size:10px;color:var(--cinza);font-weight:700;
  text-transform:uppercase;letter-spacing:.4px}
.rel-prox-acao b{font-size:13px;line-height:1.35}

.rel-kb{border:1px solid var(--linha);border-radius:11px;padding:11px;
  margin-bottom:9px;flex:none}
.rel-kb.alerta{background:#fdf2f2;border-color:#f6d5d5}
.rel-kb-tit{font-size:12px;font-weight:700;color:var(--cinza);margin-bottom:6px;
  text-transform:uppercase;letter-spacing:.3px}
.rel-kb.alerta .rel-kb-tit{color:var(--vermelho-b)}
.rel-kb-l{font-size:12.5px;line-height:1.55;color:var(--tinta)}
.rel-kb-l.forte{font-weight:600}
.rel-kb-txt{font-size:12.5px;line-height:1.5;color:var(--tinta)}
.rel-kb.alerta .rel-kb-txt{color:#912d2d}
.rel-kb-dica{font-size:11px;color:var(--cinza);margin:-3px 0 7px}

.rel-vagas{display:flex;flex-direction:column;gap:6px}
.rel-vaga{display:block;width:100%;text-align:left;padding:8px 11px;
  border:1px solid var(--linha);border-radius:9px;background:var(--card);font-family:inherit}
.rel-vaga:hover{border-color:var(--magenta);background:#faf8ff}
.rel-vaga b{display:block;font-size:12.5px;color:var(--tinta)}
.rel-vaga span{display:block;font-size:10.5px;color:var(--cinza);margin-top:2px}

.rel-kacoes{display:flex;flex-direction:column;gap:7px;margin-top:12px;flex:none}
.rel-kac{display:block;width:100%;padding:10px 13px;border:1px solid var(--linha);
  border-radius:9px;background:var(--card);font-size:12.5px;font-family:inherit;
  color:var(--tinta);text-align:left}
.rel-kac:hover{border-color:var(--magenta);color:var(--magenta-2);background:#faf8ff}
/* ⚠️ UMA decisão principal por etapa (item 9): só a primeira é cheia. */
.rel-kac.principal{background:var(--magenta);border-color:var(--magenta);color:#fff;
  font-weight:600;text-align:center}
.rel-kac.principal:hover{background:var(--magenta-2);color:#fff}
.rel-kac.alerta{color:var(--vermelho-b);border-color:#f0cdcd}
.rel-kac.alerta:hover{background:#fdf2f2;border-color:var(--vermelho-b);color:var(--vermelho-b)}

/* o fluxo guiado */
.rel-fluxo-passo{font-size:11px;color:var(--cinza);font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.rel-fluxo-perg{font-size:16px;font-weight:600;margin-bottom:14px}
.rel-fluxo-op{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.rel-fluxo-b{padding:14px 12px;border:1px solid var(--linha);border-radius:11px;
  background:var(--card);font-size:13.5px;font-family:inherit;color:var(--tinta)}
.rel-fluxo-b:hover{border-color:var(--magenta);background:#faf8ff}
.rel-fluxo-b.on{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}
.rel-fluxo-res{white-space:pre-wrap;font-size:12.5px;line-height:1.7;
  background:var(--fundo);border-radius:10px;padding:11px 13px;margin:11px 0}

/* ==========================================================================
   ANÚNCIOS — o raio-x da conta do Facebook                     (26/08/2026)
   Prefixo .an- em tudo. Uma regra sem prefixo vazaria para as outras 88 telas.
   ========================================================================== */
.an-topo{display:flex;align-items:flex-start;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.an-titulo{font-size:21px;font-weight:600;color:var(--tinta);line-height:1.2}
.an-sub{color:var(--cinza);font-size:12.5px;margin-top:3px}
.an-cache{font-style:normal;color:#98a0ae;font-size:11.5px}
.an-topo-bts{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.an-sel{padding:8px 11px;border:1px solid var(--linha);border-radius:9px;
  font-family:inherit;font-size:13px;background:var(--card);color:var(--tinta)}
.an-bt{padding:8px 15px;border:1px solid var(--linha);border-radius:9px;
  background:var(--card);font-family:inherit;font-size:13px;color:var(--tinta)}
.an-bt:hover{border-color:var(--magenta);color:var(--magenta-2)}
.an-bt.cheio{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:500}
.an-bt.cheio:hover{background:var(--magenta-2);color:#fff}

/* a faixa que deixa claro que ninguem muda nada por aqui */
.an-selo-leitura{font-size:12px;color:#5b6472;background:#f2f5f9;
  border:1px solid #e2e8f0;border-left:3px solid #94a3b8;
  padding:8px 12px;border-radius:0 9px 9px 0;margin-bottom:14px}

.an-vazio{color:var(--cinza);padding:26px 10px;text-align:center;font-size:13px}
.an-vazio i{font-style:normal;font-size:11.5px;opacity:.8}
.an-erro{padding:22px;text-align:center;color:var(--vermelho-b);font-size:13.5px;
  background:var(--vermelho);border:1px solid #f3c9c9;border-radius:12px}
.an-cresc{flex:1}
.an-verm{color:var(--vermelho-b)}
.an-verd{color:var(--verde-b)}
.an-amb{color:#b57f00}
.an-cinza{color:var(--cinza)}
.an-nota{font-size:11.5px;color:var(--cinza);margin-top:8px;line-height:1.5}

/* ----------------------------------------------------------- alertas --- */
.an-alertas{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
.an-alerta{display:flex;gap:10px;align-items:flex-start;padding:10px 13px;
  border:1px solid var(--linha);border-radius:11px;background:var(--card)}
.an-alerta-ic{font-size:13px;line-height:1.4;flex:none}
.an-alerta b{display:block;font-size:13px;margin-bottom:2px}
.an-alerta span{display:block;font-size:12px;color:var(--cinza);line-height:1.5}
.an-alerta.grave{background:#fdf2f2;border-color:#f6d5d5}
.an-alerta.grave b{color:var(--vermelho-b)}
.an-alerta.atencao{background:#fff8ec;border-color:#f5e3c3}
.an-alerta.atencao b{color:#b57f00}
.an-alerta.info{background:#f4f7fc;border-color:#dde6f2}
.an-alerta.info b{color:#2b6cb0}

/* ------------------------------------------------------------- cards --- */
.an-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));
  gap:11px;margin-bottom:14px}
.an-card{background:var(--card);border:1px solid var(--linha);border-radius:13px;
  padding:12px 14px;box-shadow:var(--sombra)}
.an-card-rot{font-size:11.5px;color:var(--cinza)}
.an-card-val{font-size:23px;font-weight:600;line-height:1.25;margin:2px 0;
  font-variant-numeric:tabular-nums;color:var(--tinta)}
.an-card-sub{font-size:11px;color:var(--cinza)}
.an-card.roxo .an-card-val{color:var(--magenta-2)}
.an-card.verm{background:var(--vermelho);border-color:#f3c9c9}
.an-card.verm .an-card-val{color:var(--vermelho-b)}
.an-card.amb{background:var(--amarelo);border-color:#f0dfa8}
.an-card.amb .an-card-val{color:#b57f00}

/* -------------------------------------------------------------- abas --- */
.an-abas{display:flex;gap:3px;border-bottom:1px solid var(--linha);margin-bottom:14px;
  overflow-x:auto}
.an-aba{border:none;background:transparent;color:var(--cinza);font-size:13.5px;
  font-family:inherit;font-weight:500;padding:9px 15px;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.an-aba:hover{color:var(--tinta)}
.an-aba.on{color:var(--magenta-2);border-bottom-color:var(--magenta);font-weight:600}

/* ------------------------------------------------------------ blocos --- */
.an-bloco{background:var(--card);border:1px solid var(--linha);border-radius:13px;
  padding:14px;box-shadow:var(--sombra);margin-bottom:12px;min-width:0}
.an-bloco-tit{font-size:13.5px;font-weight:600;color:var(--tinta);margin-bottom:11px}
.an-grade2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media(max-width:1100px){.an-grade2{grid-template-columns:1fr}}

.an-gr{position:relative;height:230px}
.an-gr.alto{height:300px}

.an-leituras{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.an-leitura{padding:10px 12px;background:var(--fundo);border-radius:10px}
.an-leitura b{display:block;font-size:12px;color:var(--magenta-2);margin-bottom:3px}
.an-leitura span{font-size:12.5px;line-height:1.55;color:var(--tinta)}

/* --------------------------------------------------------- listinhas --- */
.an-lista{display:flex;flex-direction:column;gap:4px}
.an-linha{display:flex;align-items:center;gap:10px;padding:9px 10px;
  border-radius:9px;background:var(--fundo)}
.an-linha-txt{flex:1;min-width:0}
.an-linha-txt b{display:block;font-size:13px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.an-linha-txt span{display:block;font-size:11px;color:var(--cinza);margin-top:2px}
.an-linha-num{text-align:right;flex:none}
.an-linha-num b{display:block;font-size:14px;color:var(--magenta-2);
  font-variant-numeric:tabular-nums}
.an-linha-num span{display:block;font-size:11px;color:var(--cinza)}
.an-ponto{width:8px;height:8px;border-radius:50%;background:#c6cbd4;flex:none}
.an-ponto.on{background:var(--verde-b);box-shadow:0 0 0 3px #1f9d5522}

/* ------------------------------------------------------- a árvore ------ */
.an-arv{display:flex;flex-direction:column;gap:8px}
.an-cp{border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.an-cp-cab{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;
  border:none;background:var(--card);text-align:left;font-family:inherit}
.an-cp-cab:hover{background:var(--fundo)}
.an-cp-txt{flex:1;min-width:0}
.an-cp-txt b{display:block;font-size:13.5px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.an-cp-txt span{display:block;font-size:11.5px;color:var(--cinza);margin-top:2px}
.an-modo{background:#ede7fd;color:var(--magenta-2);padding:1px 6px;border-radius:5px;
  font-size:10.5px;font-weight:700}
.an-cp-num{text-align:right;flex:none}
.an-cp-num b{display:block;font-size:14.5px;color:var(--magenta-2);
  font-variant-numeric:tabular-nums}
.an-cp-num span{display:block;font-size:11px;color:var(--cinza)}
.an-seta{color:var(--cinza);font-size:16px;flex:none;width:14px;text-align:center}
.an-cp-corpo{border-top:1px solid var(--linha);background:var(--fundo);padding:11px}

.an-cj{background:var(--card);border:1px solid var(--linha);border-radius:11px;
  padding:11px;margin-bottom:9px}
.an-cj:last-child{margin-bottom:0}
.an-cj-cab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.an-cj-cab b{font-size:13px}
.an-cj-sit{font-size:10.5px;color:var(--cinza);background:var(--fundo);
  padding:2px 8px;border-radius:20px}
.an-cj-custo{font-size:14px;color:var(--magenta-2);font-variant-numeric:tabular-nums}
.an-cj-sub{font-size:11px;color:var(--cinza)}
.an-cj-linhas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:7px;margin-bottom:9px}
.an-cj-linhas div{font-size:12px}
.an-cj-linhas i{display:block;font-size:10px;color:var(--cinza);font-style:normal;
  text-transform:uppercase;letter-spacing:.3px;margin-bottom:1px}
.an-pub{font-size:11.5px;line-height:1.65;color:var(--tinta);background:var(--fundo);
  padding:9px 11px;border-radius:9px;margin-bottom:9px}
.an-pub b{color:var(--tinta)}

.an-ads{display:flex;flex-direction:column;gap:6px}
.an-ad{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;
  border:1px solid var(--linha);border-radius:9px}
.an-ad.problema{background:var(--vermelho);border-color:#f3c9c9}
.an-ad-txt{flex:1;min-width:0}
.an-ad-txt b{display:block;font-size:12.5px}
.an-ad-tit{display:block;font-size:11.5px;color:var(--magenta-2);margin-top:2px}
.an-ad-corpo{display:block;font-size:11px;color:var(--cinza);margin-top:2px;line-height:1.45}
.an-ad-meta{display:block;font-size:10.5px;color:var(--cinza);margin-top:3px}
.an-ad-num{text-align:right;flex:none}
.an-ad-num b{display:block;font-size:13px;color:var(--magenta-2);
  font-variant-numeric:tabular-nums}
.an-ad-num span{display:block;font-size:10.5px;color:var(--cinza)}

/* ------------------------------------------------------------ tabela --- */
.an-tab-cx{overflow-x:auto;margin-top:10px}
.an-tab{width:100%;border-collapse:collapse;font-size:12.5px}
.an-tab th{text-align:left;font-size:10.5px;color:var(--cinza);font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;padding:6px 9px;
  border-bottom:1px solid var(--linha);white-space:nowrap}
.an-tab td{padding:7px 9px;border-bottom:1px solid #f2f3f6;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.an-tab td:first-child{white-space:normal}
.an-tab tr:last-child td{border-bottom:none}
.an-tab .an-melhor{background:#f2fbf5}
.an-tab .an-melhor b{color:var(--verde-b)}
.an-viv{font-size:9.5px;background:#e6f8ee;color:var(--verde-b);padding:1px 6px;
  border-radius:20px;font-weight:700}

/* ------------------------------------------------------------- funil --- */
.an-funil{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 0}
.an-fn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:10px;
  padding:13px;text-align:center;max-width:100%}
.an-fn.fim{background:linear-gradient(135deg,#1f9d55,#158043)}
.an-fn b{display:block;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.an-fn span{display:block;font-size:11.5px;opacity:.92;margin-top:2px}
.an-fn-seta{font-size:11.5px;color:var(--cinza);padding:2px 0}

.an-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}
.an-kv div{background:var(--fundo);border-radius:9px;padding:9px 11px}
.an-kv i{display:block;font-size:10.5px;color:var(--cinza);font-style:normal;
  text-transform:uppercase;letter-spacing:.3px}
.an-kv b{display:block;font-size:16px;margin-top:2px;font-variant-numeric:tabular-nums}

.an-aviso{font-size:12px;line-height:1.6;background:#fff8ec;border:1px solid #f5e3c3;
  border-radius:10px;padding:11px 13px;margin-top:12px;color:#7a5a12}
.an-aviso b{color:#b57f00}
.an-aviso.urg{background:var(--vermelho);border-color:#f3c9c9;color:#912d2d}
.an-aviso.urg b{color:var(--vermelho-b)}

.an-doisl{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.an-doisl{grid-template-columns:1fr}}
.an-doisl>div>b{display:block;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.3px;margin-bottom:7px}
.an-dia-l{display:flex;align-items:baseline;gap:8px;padding:5px 8px;border-radius:7px;
  font-size:12px}
.an-dia-l:nth-child(odd){background:var(--fundo)}
.an-dia-l span{color:var(--cinza);font-variant-numeric:tabular-nums;width:52px;flex:none}
.an-dia-l b{font-variant-numeric:tabular-nums;width:76px;flex:none}
.an-dia-l i{font-style:normal;color:var(--cinza);font-size:11px}

/* monitor baixo: os cards e o topo cedem, os graficos encolhem um pouco */
@media(max-height:820px){
  .an-titulo{font-size:18px}
  .an-selo-leitura{padding:6px 11px;margin-bottom:10px}
  .an-cards{gap:9px;margin-bottom:10px}
  .an-card{padding:9px 12px}
  .an-card-val{font-size:20px}
  .an-gr{height:200px}
  .an-gr.alto{height:250px}
}

/* ⚠️ "AVISARAM QUE NÃO VÊM" (26/08/2026) — a caixa que vale dinheiro.
   Vermelha e no topo das Prioridades porque é a única pendência que EXPIRA:
   passado o horário, não há mais o que reaproveitar. */
.rel-prio.avisou{background:#fdf0f0;border-color:#f3c9c9}
.rel-prio.avisou .rel-prio-ic,.rel-prio.avisou .rel-prio-txt b{color:#c0392b}
.rel-prio.avisou .rel-prio-n{background:#c0392b}

.rel-avisou-l{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow-y:auto}
.rel-avisou-i{display:flex;align-items:flex-start;gap:12px;padding:11px 13px;
  border:1px solid var(--linha);border-radius:11px;background:var(--card)}
.rel-avisou-i.urgente{background:#fdf2f2;border-color:#f3c9c9}
.rel-avisou-q{min-width:104px;flex:none}
.rel-avisou-q b{display:block;font-size:13px;font-variant-numeric:tabular-nums}
.rel-avisou-q span{display:block;font-size:11px;color:var(--cinza);margin-top:2px}
.rel-avisou-i.urgente .rel-avisou-q span{color:#c0392b;font-weight:600}
.rel-avisou-c{flex:1;min-width:0}
.rel-avisou-c b{display:block;font-size:13px}
.rel-avisou-c span{display:block;font-size:11px;color:var(--cinza);margin-top:1px}
.rel-avisou-c i{display:block;font-size:12px;color:var(--tinta);font-style:italic;
  margin-top:5px;line-height:1.45}

/* ==========================================================================
   FÊNIX GESTOR DE TRÁFEGO — o painel escuro                    (26/08/2026)

   ⚠️ O ESCURO VIVE SÓ DENTRO DESTE MODO (body.trf-modo). A Agenda continua
      clara: se o tema vazasse, as outras 88 telas ficariam com texto escuro
      sobre fundo escuro.

   ⚠️ Prefixo .trf- em tudo, e as regras globais (body, #view, #sidebar) só
      valem sob body.trf-modo.
   ========================================================================== */

body.trf-modo{background:#0b0d13}
body.trf-modo #main{background:#0b0d13}
body.trf-modo #topbar{display:none}
body.trf-modo #view{background:#0b0d13;padding:0}
body.trf-modo #rodape{background:#0b0d13;border-top-color:#1c2030;color:#4d5568}
body.trf-modo #rodape b{color:#a855f7}
body.trf-modo #taskbar{background:#12141c;border-top-color:#1c2030}
body.trf-modo #taskbar .tab{background:#171a24;border-color:#262b3a;color:#a8b0c2}
body.trf-modo #taskbar .tab.on{background:#7c3aed;border-color:#7c3aed;color:#fff}
body.trf-modo #sidebar{width:214px;background:#12141c;border-right:1px solid #1c2030;
  align-items:stretch;padding:0;gap:0;overflow-y:auto}

/* ------------------------------------------------------ a barra própria - */
.trf-marca{display:flex;align-items:center;gap:11px;padding:20px 18px 22px}
.trf-marca-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  font-size:19px;background:linear-gradient(135deg,#a855f7,#6d28d9);flex:none;
  box-shadow:0 4px 16px rgba(168,85,247,.42)}
.trf-marca b{display:block;color:#fff;font-size:16px;font-weight:700;letter-spacing:1.4px;
  line-height:1.1}
.trf-marca small{display:block;color:#6b7488;font-size:9.5px;letter-spacing:.5px;
  text-transform:uppercase;margin-top:2px}

.trf-item{display:flex;align-items:center;gap:11px;width:calc(100% - 20px);margin:1px 10px;
  padding:10px 12px;border:none;background:transparent;border-radius:10px;
  color:#8b93a7;font-family:inherit;font-size:13.5px;text-align:left;min-height:0}
.trf-item:hover{background:#1a1e2b;color:#d5dae6}
.trf-item.on{background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(124,58,237,.12));
  color:#c9a5fb;font-weight:600;box-shadow:inset 0 0 0 1px rgba(168,85,247,.28)}
.trf-ic{display:grid;place-items:center;width:18px;height:18px;flex:none}
.trf-ic svg{width:17px;height:17px}
body.trf-modo #sidebar .sep{flex:1;min-height:16px}

.trf-rodape{padding:12px 10px 16px;border-top:1px solid #1c2030;margin-top:8px}
.trf-perfil{display:flex;align-items:center;gap:10px;padding:10px 12px;
  background:#171a24;border-radius:11px;margin-bottom:8px}
.trf-perfil-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  font-size:15px;background:linear-gradient(135deg,#a855f7,#6d28d9);flex:none}
.trf-perfil b{display:block;color:#e7eaf2;font-size:12.5px}
.trf-perfil small{display:block;color:#6b7488;font-size:10.5px;margin-top:1px}
.trf-voltar{color:#6b7488}
.trf-voltar:hover{color:#c9a5fb;background:#1a1e2b}

/* ------------------------------------------------------------ o corpo -- */
.trf-raiz{padding:22px 26px 26px;min-height:100%;color:#d5dae6;
  background:radial-gradient(1100px 600px at 88% 108%,rgba(124,58,237,.16),transparent 62%),
             #0b0d13}
.trf-cresc{flex:1}
.trf-verde{color:#22c55e}
.trf-verm{color:#f87171}
.trf-amb{color:#fbbf24}
.trf-forte{color:#c9a5fb;font-weight:600}
.trf-dica{font-size:11.5px;color:#6b7488}
.trf-nota{font-size:11px;color:#5b6478;margin-top:8px;line-height:1.5}
.trf-vazio{color:#6b7488;padding:24px 10px;text-align:center;font-size:13px}
.trf-sub2{display:block;font-size:11px;color:#6b7488;margin-top:2px}

.trf-cab{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.trf-cab h1{margin:0;font-size:25px;font-weight:600;color:#fff;line-height:1.15}
.trf-cab>div>span{display:block;font-size:13px;color:#6b7488;margin-top:3px}
.trf-cab-dir{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.trf-sel{padding:9px 13px;border:1px solid #262b3a;border-radius:10px;background:#171a24;
  color:#d5dae6;font-family:inherit;font-size:12.5px}
.trf-sel:focus{outline:2px solid #7c3aed;outline-offset:-1px}
.trf-ic-bt{display:grid;place-items:center;width:38px;height:38px;border:1px solid #262b3a;
  border-radius:11px;background:#171a24;color:#8b93a7}
.trf-ic-bt:hover{border-color:#7c3aed;color:#c9a5fb}
.trf-ic-bt svg{width:17px;height:17px}
.trf-eu{display:flex;align-items:center;gap:10px}
.trf-eu-txt{text-align:right}
.trf-eu-txt b{display:block;font-size:12.5px;color:#e7eaf2}
.trf-eu-txt small{display:block;font-size:10.5px;color:#6b7488}
.trf-eu-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  font-size:17px;background:linear-gradient(135deg,#a855f7,#6d28d9);
  box-shadow:0 3px 14px rgba(168,85,247,.4)}
.trf-bt{padding:9px 16px;border:1px solid #2e3446;border-radius:10px;background:#1a1e2b;
  color:#c9a5fb;font-family:inherit;font-size:12.5px;font-weight:500}
.trf-bt:hover{border-color:#7c3aed;background:#20263a}
.trf-bt.cheio{background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;color:#fff}
.trf-link{border:none;background:transparent;color:#a855f7;font-family:inherit;
  font-size:12px;padding:10px 0 2px;margin-top:8px;border-top:1px solid #1c2030;width:100%;
  text-align:left}
.trf-link:hover{color:#c9a5fb}

.trf-carregando{display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:70px 20px;color:#6b7488}
.trf-carregando b{color:#d5dae6;font-size:14px}
.trf-carregando span{font-size:12px}
.trf-spin{width:30px;height:30px;border:3px solid #262b3a;border-top-color:#a855f7;
  border-radius:50%;animation:trfgira .8s linear infinite}
@keyframes trfgira{to{transform:rotate(360deg)}}
.trf-erro{padding:26px;text-align:center;background:rgba(248,113,113,.09);
  border:1px solid rgba(248,113,113,.28);border-radius:14px;color:#f87171;font-size:13.5px}
.trf-erro button{margin-top:12px}

/* ------------------------------------------------------------ alertas -- */
.trf-alertas{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.trf-alerta{display:flex;gap:11px;align-items:flex-start;padding:12px 15px;
  background:rgba(248,113,113,.09);border:1px solid rgba(248,113,113,.26);border-radius:12px}
.trf-alerta-ic{width:20px;height:20px;border-radius:50%;background:#f87171;color:#0b0d13;
  display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.trf-alerta b{display:block;font-size:13px;color:#fca5a5;margin-bottom:2px}
.trf-alerta span{display:block;font-size:12px;color:#b8909a;line-height:1.55}

/* ------------------------------------------------------------- cards --- */
.trf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));
  gap:14px;margin-bottom:16px}
.trf-card{display:flex;align-items:flex-start;gap:12px;background:#12141c;
  border:1px solid #1c2030;border-radius:15px;padding:16px 17px}
.trf-card-txt{flex:1;min-width:0}
.trf-card-rot{font-size:10.5px;color:#6b7488;letter-spacing:.7px;text-transform:uppercase}
.trf-card-val{font-size:26px;font-weight:600;color:#fff;line-height:1.2;margin:5px 0 6px;
  font-variant-numeric:tabular-nums}
.trf-var{font-size:11px;font-weight:600;display:flex;align-items:center;gap:5px}
.trf-var i{font-style:normal;font-weight:400;color:#5b6478;font-size:10.5px}
.trf-var.bom{color:#22c55e}
.trf-var.ruim{color:#f87171}
.trf-var.vazio i{color:#4d5568}
.trf-card-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none}
.trf-card-ic svg{width:21px;height:21px}
.trf-card-ic.roxo{background:rgba(168,85,247,.15);color:#c084fc;
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.24)}
.trf-card-ic.azul{background:rgba(59,130,246,.14);color:#60a5fa;
  box-shadow:inset 0 0 0 1px rgba(59,130,246,.24)}
.trf-card-ic.verde{background:rgba(34,197,94,.14);color:#4ade80;
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.24)}
.trf-card-ic.laranja{background:rgba(245,158,11,.14);color:#fbbf24;
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.24)}

/* ------------------------------------------------------------ caixas --- */
.trf-cx{background:#12141c;border:1px solid #1c2030;border-radius:15px;padding:16px;
  margin-bottom:14px;min-width:0}
.trf-cx-cab{display:flex;align-items:center;gap:10px;margin-bottom:13px;flex-wrap:wrap}
.trf-cx-cab b{font-size:14px;color:#e7eaf2;font-weight:600}
.trf-g2{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;align-items:start}
.trf-g2b{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;align-items:stretch}
.trf-g3{display:grid;grid-template-columns:1.25fr 1fr 1.15fr;gap:14px;align-items:start}
@media(max-width:1360px){.trf-g3{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){
  .trf-g2,.trf-g2b,.trf-g3{grid-template-columns:1fr}
  body.trf-modo #sidebar{width:74px}
  .trf-item span:last-child,.trf-marca>div,.trf-perfil>div{display:none}
  .trf-item{justify-content:center}
}

.trf-leg{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:11px;color:#6b7488}
.trf-leg i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:3px}
.trf-leg .p1{background:#ec4899}.trf-leg .p2{background:#3b82f6}.trf-leg .p3{background:#22c55e}

.trf-gr{position:relative;height:250px}
.trf-gr.alto{height:310px}
.trf-gr.baixo{height:170px}

/* ------------------------------------------------------------- funil --- */
.trf-funil{display:flex;flex-direction:column;gap:9px;padding:4px 0}
.trf-fn-l{position:relative;display:flex;align-items:center;min-height:44px}
.trf-fn-b{position:absolute;left:50%;transform:translateX(-50%);height:100%;
  background:linear-gradient(135deg,rgba(168,85,247,.85),rgba(109,40,217,.7));
  border-radius:9px}
.trf-fn-t{position:relative;z-index:1;width:100%;display:flex;align-items:center;
  justify-content:space-between;padding:0 15px}
.trf-fn-t span{font-size:11.5px;color:rgba(255,255,255,.86)}
.trf-fn-t b{font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.trf-fn-tx{position:absolute;right:-2px;top:50%;transform:translateY(-50%);
  font-size:10.5px;color:#8b93a7;background:#12141c;padding:2px 5px;border-radius:5px}
.trf-fn-total{display:flex;align-items:center;justify-content:space-between;
  margin-top:6px;padding-top:12px;border-top:1px solid #1c2030}
.trf-fn-total span{font-size:12px;color:#a855f7}
.trf-fn-total b{font-size:24px;color:#c084fc;font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------ tabela --- */
.trf-tab{width:100%;border-collapse:collapse;font-size:12.5px}
.trf-tab th{text-align:left;font-size:10px;color:#5b6478;font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;padding:7px 8px;
  border-bottom:1px solid #1c2030;white-space:nowrap}
.trf-tab td{padding:9px 8px;border-bottom:1px solid #161923;color:#b8c0d0;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.trf-tab td:nth-child(2){white-space:normal}
.trf-tab tr:last-child td{border-bottom:none}
.trf-tab .trf-top td{background:rgba(168,85,247,.05)}
.trf-tab.larga{display:block;overflow-x:auto}
.trf-pt{width:7px;height:7px;border-radius:50%;background:#3a4154;display:inline-block;
  margin-right:7px;vertical-align:middle}
.trf-pt.on{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16)}
.trf-viv{font-size:9px;background:rgba(34,197,94,.16);color:#4ade80;padding:1px 6px;
  border-radius:20px;font-style:normal}
.trf-mini{width:44px}
.trf-mini img{width:34px;height:34px;object-fit:cover;border-radius:7px;display:block}

.trf-legenda{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.trf-legenda div{display:flex;align-items:center;gap:8px;font-size:11.5px}
.trf-legenda i{width:9px;height:9px;border-radius:50%;flex:none}
.trf-legenda span{flex:1;min-width:0;color:#b8c0d0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.trf-legenda b{color:#e7eaf2;font-variant-numeric:tabular-nums}
.trf-legenda em{color:#5b6478;font-style:normal;font-size:10.5px;width:42px;text-align:right}

/* --------------------------------------------------------- criativos --- */
.trf-crias{display:flex;flex-direction:column;gap:9px}
.trf-cria{display:flex;align-items:center;gap:10px}
.trf-cria img{width:44px;height:44px;object-fit:cover;border-radius:9px;flex:none;
  border:1px solid #262b3a}
.trf-cria-sem{width:44px;height:44px;border-radius:9px;background:#1a1e2b;display:grid;
  place-items:center;font-size:17px;flex:none}
.trf-cria-txt{flex:1;min-width:0}
.trf-cria-txt b{display:block;font-size:12px;color:#e7eaf2;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.trf-cria-txt span{display:block;font-size:10.5px;color:#6b7488;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trf-cria-num{text-align:right;flex:none}
.trf-cria-num b{display:block;font-size:12.5px;color:#c9a5fb;font-variant-numeric:tabular-nums}
.trf-cria-num span{display:block;font-size:10px;color:#5b6478}

.trf-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.trf-gal{background:#171a24;border:1px solid #232838;border-radius:13px;overflow:hidden}
.trf-gal-img{position:relative;height:154px;background:#1a1e2b}
.trf-gal-img img{width:100%;height:100%;object-fit:cover;display:block}
.trf-gal-sem{height:100%;display:grid;place-items:center;font-size:34px;opacity:.32}
.trf-gal-viv{position:absolute;top:9px;right:9px;font-size:9.5px;background:rgba(34,197,94,.9);
  color:#04140a;padding:2px 8px;border-radius:20px;font-style:normal;font-weight:700}
.trf-gal-txt{padding:12px}
.trf-gal-txt>b{display:block;font-size:12.5px;color:#e7eaf2}
.trf-gal-tit{display:block;font-size:11.5px;color:#c9a5fb;margin-top:3px}
.trf-gal-corpo{display:block;font-size:11px;color:#6b7488;margin-top:4px;line-height:1.5}
.trf-gal-num{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px;
  padding-top:10px;border-top:1px solid #232838}
.trf-gal-num span{display:block}
.trf-gal-num i{display:block;font-size:9.5px;color:#5b6478;font-style:normal;
  text-transform:uppercase;letter-spacing:.4px}
.trf-gal-num b{font-size:12.5px;color:#e7eaf2;font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------- árvore -- */
.trf-arv{display:flex;flex-direction:column;gap:8px}
.trf-cp{border:1px solid #1f2434;border-radius:12px;overflow:hidden;background:#12141c}
.trf-cp-cab{display:flex;align-items:center;gap:11px;width:100%;padding:13px 15px;
  border:none;background:#161923;text-align:left;font-family:inherit}
.trf-cp-cab:hover{background:#1a1e2b}
.trf-cp-txt{flex:1;min-width:0}
.trf-cp-txt b{display:block;font-size:13px;color:#e7eaf2;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.trf-cp-txt span{display:block;font-size:11px;color:#6b7488;margin-top:2px}
.trf-modo{background:rgba(168,85,247,.16);color:#c084fc;padding:1px 6px;border-radius:5px;
  font-size:10px;font-weight:700;font-style:normal}
.trf-cp-num{text-align:right;flex:none}
.trf-cp-num b{display:block;font-size:14px;color:#c9a5fb;font-variant-numeric:tabular-nums}
.trf-cp-num span{display:block;font-size:10.5px;color:#5b6478}
.trf-seta{color:#5b6478;font-size:15px;width:14px;text-align:center;flex:none}
.trf-cp-corpo{padding:11px;background:#0f111a;border-top:1px solid #1f2434}
.trf-cj{background:#161923;border:1px solid #232838;border-radius:11px;padding:12px;
  margin-bottom:8px}
.trf-cj:last-child{margin-bottom:0}
.trf-cj-cab{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:9px}
.trf-cj-cab b{font-size:12.5px;color:#e7eaf2}
.trf-cj-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;
  margin-bottom:9px}
.trf-cj-kv div{font-size:11.5px;color:#b8c0d0}
.trf-cj-kv i{display:block;font-size:9.5px;color:#5b6478;font-style:normal;
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px}
.trf-pub{font-size:11.5px;color:#8b93a7;background:#0f111a;padding:8px 11px;
  border-radius:8px;margin-bottom:9px}
.trf-ads{display:flex;flex-direction:column;gap:5px}
.trf-ad{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#0f111a;
  border-radius:8px;font-size:11.5px;color:#b8c0d0}
.trf-ad-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trf-ad b{color:#c9a5fb;font-variant-numeric:tabular-nums}

/* --------------------------------------------------------- kv e avisos -- */
.trf-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:10px}
.trf-kv div{background:#171a24;border-radius:10px;padding:10px 12px}
.trf-kv i{display:block;font-size:9.5px;color:#5b6478;font-style:normal;
  text-transform:uppercase;letter-spacing:.4px}
.trf-kv b{display:block;font-size:15px;color:#e7eaf2;margin-top:3px;
  font-variant-numeric:tabular-nums}

.trf-aviso{font-size:12px;line-height:1.6;background:rgba(251,191,36,.07);
  border:1px solid rgba(251,191,36,.24);border-radius:11px;padding:12px 14px;
  margin-top:12px;color:#c9b183}
.trf-aviso b{display:block;color:#fbbf24;margin-bottom:3px}
.trf-aviso.urg{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.26);color:#c99a9a}
.trf-aviso.urg b{color:#f87171}

.trf-todos-alertas{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow-y:auto}
.trf-al{padding:10px 12px;border-radius:10px;border-left:3px solid #3a4154;background:#171a24}
.trf-al b{display:block;font-size:12.5px;color:#e7eaf2;margin-bottom:2px}
.trf-al span{display:block;font-size:11.5px;color:#8b93a7;line-height:1.55}
.trf-al.grave{border-left-color:#f87171;background:rgba(248,113,113,.07)}
.trf-al.grave b{color:#fca5a5}
.trf-al.atencao{border-left-color:#fbbf24;background:rgba(251,191,36,.06)}
.trf-al.atencao b{color:#fbbf24}
.trf-al.info{border-left-color:#60a5fa;background:rgba(59,130,246,.06)}
.trf-al.info b{color:#93c5fd}

.trf-leituras{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:11px}
.trf-leitura{background:#171a24;border-radius:11px;padding:12px 14px}
.trf-leitura b{display:block;font-size:11.5px;color:#c084fc;margin-bottom:4px;
  text-transform:uppercase;letter-spacing:.4px}
.trf-leitura span{font-size:12.5px;color:#b8c0d0;line-height:1.6}

.trf-insight{display:flex;gap:13px;align-items:flex-start;margin-bottom:0}
.trf-insight-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  font-size:17px;background:rgba(168,85,247,.15);flex:none;
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.26)}
.trf-insight b{display:block;font-size:13.5px;color:#e7eaf2;margin-bottom:5px}
.trf-insight span{display:block;font-size:12px;color:#8b93a7;line-height:1.6;margin-bottom:3px}
.trf-rec{display:flex;gap:13px;align-items:center;margin-bottom:0;
  border-left:3px solid #a855f7}
.trf-rec b{display:block;font-size:13.5px;color:#e7eaf2;margin-bottom:4px}
.trf-rec span{display:block;font-size:12px;color:#8b93a7;line-height:1.55}
.trf-rec button{flex:none}

.trf-integ{display:flex;flex-direction:column;gap:9px}
.trf-int{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#171a24;
  border:1px solid #232838;border-radius:12px}
.trf-int>span{font-size:21px}
.trf-int div{flex:1;min-width:0}
.trf-int b{display:block;font-size:13px;color:#e7eaf2}
.trf-int small{display:block;font-size:11px;color:#6b7488;margin-top:1px}
.trf-int em{font-style:normal;font-size:10.5px;padding:3px 10px;border-radius:20px;
  background:rgba(34,197,94,.14);color:#4ade80;font-weight:600}

/* monitor baixo */
@media(max-height:820px){
  .trf-raiz{padding:16px 20px 20px}
  .trf-cab h1{font-size:21px}
  .trf-cab{margin-bottom:14px}
  .trf-card{padding:12px 14px}
  .trf-card-val{font-size:22px}
  .trf-gr{height:210px}
  .trf-gr.alto{height:260px}
  .trf-marca{padding:14px 18px 16px}
}

/* ==========================================================================
   POLIMENTO DO GESTOR DE TRÁFEGO — 2ª passada, depois de olhar a tela
                                                              (26/08/2026)
   ========================================================================== */

/* ⚠️ O FUNIL REFEITO. A versão anterior empilhava barras com o texto POR CIMA:
   a barra larga cobria o rótulo e o percentual saía colado no número
   ("83.384%"). Agora são duas colunas — o desenho à esquerda, os números à
   direita — e não existe como um passar por cima do outro. */
.trf-funil2{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:stretch;
  padding:4px 0 2px}
.trf-fn-svg{width:132px;height:auto;align-self:stretch;
  filter:drop-shadow(0 4px 18px rgba(168,85,247,.28))}
.trf-fn-nums{display:flex;flex-direction:column;justify-content:space-between;gap:0}
.trf-fn-n{display:flex;flex-direction:column;justify-content:center;min-height:46px;
  padding:2px 0 2px 2px;border-left:2px solid rgba(168,85,247,.28);padding-left:12px}
.trf-fn-n span{font-size:11px;color:#8b93a7;line-height:1.2}
.trf-fn-n b{font-size:19px;color:#fff;font-variant-numeric:tabular-nums;line-height:1.25;
  margin-top:1px}
.trf-fn-n i{font-size:10px;color:#5b6478;font-style:normal;line-height:1.2}

.trf-fn-total{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:14px;padding-top:14px;border-top:1px solid #1c2030}
.trf-fn-total span{display:block;font-size:12px;color:#c084fc}
.trf-fn-total em{display:block;font-size:10.5px;color:#5b6478;font-style:normal;margin-top:2px}
.trf-fn-total b{font-size:27px;color:#fff;font-variant-numeric:tabular-nums;
  text-shadow:0 0 26px rgba(168,85,247,.5)}

/* ------------------------------------------------ o brilho da fênix ----- */
/* o desenho tem uma chama roxa no canto: aqui é luz, não figura — não compete
   com o dado nem atrapalha a leitura */
.trf-raiz{position:relative}
.trf-raiz::before{content:'';position:fixed;right:-140px;bottom:-180px;
  width:620px;height:620px;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 60% 60%,rgba(168,85,247,.20),
    rgba(124,58,237,.10) 42%,transparent 68%);
  filter:blur(30px)}
.trf-raiz::after{content:'';position:fixed;left:210px;top:-120px;
  width:440px;height:340px;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 40% 50%,rgba(59,130,246,.10),transparent 66%);
  filter:blur(38px)}
.trf-raiz>*{position:relative;z-index:1}

/* ------------------------------------------------------- mais respiro --- */
.trf-cx{background:linear-gradient(180deg,#13161f,#111319);
  border-color:#1e2333;box-shadow:0 2px 14px rgba(0,0,0,.28)}
.trf-card{background:linear-gradient(180deg,#13161f,#111319);
  border-color:#1e2333;transition:border-color .16s}
.trf-card:hover{border-color:#313850}

/* os cards ganham um brilho de acento na borda de cima, discreto */
.trf-card{position:relative;overflow:hidden}
.trf-card::before{content:'';position:absolute;top:0;left:16px;right:16px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(168,85,247,.42),transparent)}

/* ------------------------------------------------------- a barra ------- */
.trf-item.on{position:relative}
.trf-item.on::before{content:'';position:absolute;left:-10px;top:50%;
  transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#c084fc,#7c3aed)}

/* --------------------------------------------------------- criativos --- */
/* imagem que não carrega não pode virar ícone quebrado no meio do painel */
.trf-cria img,.trf-gal-img img,.trf-mini img{background:#1a1e2b}
.trf-cria img{border:1px solid #262b3a}

/* ------------------------------------------------- números que alinham -- */
.trf-tab td,.trf-card-val,.trf-cp-num b,.trf-kv b,.trf-fn-n b,.trf-fn-total b,
.trf-cria-num b,.trf-gal-num b{font-variant-numeric:tabular-nums}

/* a tabela do dashboard ganha um pouco mais de ar e contraste */
.trf-tab td{color:#c2c9d8}
.trf-tab tr:hover td{background:rgba(168,85,247,.045)}

/* ------------------------------------------------- rolagem discreta ---- */
body.trf-modo *::-webkit-scrollbar{width:9px;height:9px}
body.trf-modo *::-webkit-scrollbar-track{background:transparent}
body.trf-modo *::-webkit-scrollbar-thumb{background:#252b3a;border-radius:9px;
  border:2px solid transparent;background-clip:content-box}
body.trf-modo *::-webkit-scrollbar-thumb:hover{background:#39415a;background-clip:content-box}

/* ------------------------------------------------ foco visível sempre --- */
body.trf-modo button:focus-visible,body.trf-modo select:focus-visible{
  outline:2px solid #a855f7;outline-offset:2px}

@media(prefers-reduced-motion:reduce){
  .trf-spin{animation:none}
  .trf-card{transition:none}
}

/* ========================================================================== 
   FINANCEIRO 2026: acabamento unificado
   Mantem a logica de cada modulo e organiza todas as telas com a mesma regua.
   ========================================================================== */
.fin-hub{
  --fin-roxo:#7437e8;--fin-roxo-escuro:#5923bd;--fin-lilas:#f5f1ff;
  --fin-tinta:#192235;--fin-cinza:#687187;--fin-linha:#e5e7ef;
  --fin-sombra:0 7px 24px rgba(31,25,48,.055);
  gap:13px;max-width:1920px;margin:0 auto;color:var(--fin-tinta)
}
.fin-hub *{box-sizing:border-box}
.fin-nav-shell{border-color:#e2deeb;border-radius:16px;box-shadow:0 4px 16px rgba(36,25,61,.055)}
.fin-nav-shell .fin-nav{padding:8px 7px 7px;background:linear-gradient(180deg,#fff,#fdfcff)}
.fin-nav-seta{color:#6d35d5;background:linear-gradient(180deg,#fff,#fbf9ff)}
.fin-nav-shell.tem-ant .fin-nav-seta.ant,.fin-nav-shell.tem-esquerda .fin-nav-seta.ant{box-shadow:7px 0 15px rgba(42,31,67,.08)}
.fin-nav-shell.tem-prox .fin-nav-seta.prox,.fin-nav-shell.tem-direita .fin-nav-seta.prox{box-shadow:-7px 0 15px rgba(42,31,67,.08)}
.fin-tab{min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:9px;font-size:12.5px}
.fin-tab-ico{display:grid;place-items:center;width:17px;height:17px}
.fin-tab-ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.fin-tab:hover{border-color:#e6dff4;background:#f8f5ff;color:#5322b0}
.fin-tab.on{border-color:#7132dc;background:linear-gradient(135deg,#8245ef,#6c2cda);box-shadow:0 5px 13px rgba(105,45,216,.23)}
.fin-grupo{padding:0 5px}.fin-grupo+.fin-grupo::before{left:-2px;top:15px;bottom:3px;background:#ebe8f1}
.fin-grupo-rot{padding-left:7px;color:#8c93a3;font-size:9px;letter-spacing:.1em}

#fin-conteudo.fin-ui-2026{display:flex;flex-direction:column;gap:12px;min-width:0}
.fin-contexto-cab{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:88px;padding:16px 18px 16px 20px;overflow:hidden;border:1px solid #e1d8f4;border-radius:16px;
  background:linear-gradient(112deg,#fff 0%,#fbf9ff 64%,#f3edff 100%);box-shadow:var(--fin-sombra)}
.fin-contexto-cab::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#9a65f4,#692ad5)}
.fin-contexto-cab::after{content:"";position:absolute;right:-52px;top:-76px;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(125,67,232,.11),rgba(125,67,232,0) 69%);pointer-events:none}
.fin-contexto-marca{position:relative;z-index:1;display:flex;align-items:center;gap:13px;min-width:0}
.fin-contexto-ico{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;
  background:linear-gradient(145deg,#884bef,#6427ca);box-shadow:0 7px 18px rgba(99,39,202,.22)}
.fin-contexto-ico:empty::before{content:"";width:19px;height:19px;border:2px solid #fff;border-radius:5px;
  background:linear-gradient(90deg,transparent 28%,rgba(255,255,255,.9) 29% 40%,transparent 41% 59%,rgba(255,255,255,.9) 60% 71%,transparent 72%)}
.fin-contexto-ico svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fin-contexto-sobre{display:block;margin-bottom:2px;color:#7540d8;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.fin-contexto-cab h2{margin:0;color:#172033;font-size:19px;line-height:1.15;letter-spacing:-.02em}
.fin-contexto-cab p{margin:4px 0 0;color:#697287;font-size:12px;line-height:1.4}
.fin-contexto-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  min-height:32px;padding:6px 10px;border:1px solid #c7ead4;border-radius:999px;background:#f0fbf4;color:#18723b;
  font-size:11px;font-weight:750;white-space:nowrap}
.fin-contexto-status i{width:7px;height:7px;border-radius:50%;background:#20ac58;box-shadow:0 0 0 4px rgba(32,172,88,.10)}
.fin-atalhos-secao{display:flex;align-items:center;gap:6px;min-width:0;padding:0 3px;overflow-x:auto;scrollbar-width:none}
.fin-atalhos-secao::-webkit-scrollbar{display:none}.fin-atalhos-secao>span{margin-right:2px;color:#8b92a1;font-size:10px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.fin-atalhos-secao button{min-height:29px;padding:5px 9px;border:1px solid #e2dcef;border-radius:8px;background:#fff;color:#625a72;
  font:650 11px/1.2 inherit;white-space:nowrap;cursor:pointer}.fin-atalhos-secao button:hover{border-color:#bca6e8;background:#f8f5ff;color:#6227c9}

#fin-conteudo .fin-superficie,#fin-conteudo>.card,#fin-conteudo .fin-bloco{border-color:var(--fin-linha);border-radius:15px;box-shadow:var(--fin-sombra)}
#fin-conteudo .fin-superficie{animation:fin-entrada .24s ease both;animation-delay:calc(var(--fin-ordem,0) * 20ms)}
@keyframes fin-entrada{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
#fin-conteudo .card{background:#fff}
#fin-conteudo .sec{position:relative;color:#1d2638;font-size:14.5px;letter-spacing:-.01em}
#fin-conteudo h2.sec::after{content:"";display:block;width:34px;height:2px;margin-top:8px;border-radius:9px;background:linear-gradient(90deg,#7a3ce5,#c5acf4)}
#fin-conteudo .row h2.sec::after,#fin-conteudo .fin-sec-head h2.sec::after{margin-top:6px}
#fin-conteudo .muted{color:#6c7486}

.fin-filtro-geral{padding:11px 14px!important;margin:0!important;background:linear-gradient(90deg,#fff,#fcfbff)!important}
.fin-filtro-linha{display:grid!important;grid-template-columns:minmax(180px,230px) minmax(130px,170px) minmax(130px,170px) minmax(220px,1fr);align-items:end!important}
.fin-filtro-linha .field{min-width:0!important}.fin-filtro-linha #fv-aviso{padding:0 0 8px!important;line-height:1.35}
.fin-subnav{align-self:flex-start;display:inline-flex;gap:3px;margin:0;padding:4px;border:1px solid #e1dbea;border-radius:11px;background:#f4f2f8}
.fin-subnav .modo-btn{min-height:31px;padding:6px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#687083;font-weight:700}
.fin-subnav .modo-btn:hover{color:#5720b8;background:#faf8ff}.fin-subnav .modo-btn.on{border-color:#d6c8f1;background:#fff;color:#6727ce;box-shadow:0 2px 7px rgba(55,38,84,.09)}

#fin-conteudo .fin-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
#fin-conteudo .fin-card,#fin-conteudo .fin-cards>.card.kpi{min-height:104px;padding:14px 15px;border-radius:13px;box-shadow:0 3px 13px rgba(26,31,45,.045)}
#fin-conteudo .fin-card-val{font-size:23px;margin-top:7px}#fin-conteudo .fin-card-rot{color:#7c8496;font-size:9.5px}
#fin-conteudo .fin-card-sub{font-size:11px}.fin-card.destaque{box-shadow:0 8px 24px rgba(94,36,190,.23)!important}
#fin-conteudo .fin-duas,#fin-conteudo .fin-colunas{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#fin-conteudo .fin-bloco{padding:17px 18px}

#fin-conteudo .fin-controle{min-height:38px;border-color:#dfe2ea;border-radius:9px;background:#fff;transition:border-color .14s,box-shadow .14s,background .14s}
#fin-conteudo .fin-controle:hover{border-color:#c9bddf}#fin-conteudo .fin-controle:focus{outline:0;border-color:#8b52e8;box-shadow:0 0 0 3px rgba(124,58,237,.11)}
#fin-conteudo .fin-acao{min-height:36px;border-radius:9px;font-weight:700;box-shadow:0 2px 6px rgba(72,40,128,.08);transition:transform .12s,box-shadow .12s,background .12s}
#fin-conteudo .fin-acao:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 12px rgba(72,40,128,.14)}
#fin-conteudo .fin-acao.sm{min-height:30px;border-radius:8px}
#fin-conteudo .fin-acao.ghost{box-shadow:none;background:#fff}

#fin-conteudo .fin-tabela-card{overflow:auto!important;border:1px solid var(--fin-linha);background:#fff}
#fin-conteudo table{font-variant-numeric:tabular-nums}
#fin-conteudo thead th,.fin-tab-box thead th{top:0;padding:10px 12px;background:#f7f7fb;color:#70798b;border-bottom-color:#dfe2ea;font-size:10px;letter-spacing:.055em}
#fin-conteudo tbody td{padding:10px 12px;color:#343c4d}
#fin-conteudo tbody tr:nth-child(even){background:#fdfdff}#fin-conteudo tbody tr:hover{background:#f8f5ff}
#fin-conteudo tbody tr:focus-within{background:#f5f0ff;box-shadow:inset 3px 0 #7c3aed}
/* a folha do DRE tem hierarquia propria (grupo, conta, linha de chegada). O
   acabamento geral do financeiro acima zerava a indentacao e pintava a faixa
   do grupo com o listrado de tabela comum, e o relatorio virava uma lista. */
#fin-conteudo .drp-tab tbody tr:nth-child(even),
#fin-conteudo .drp-tab tbody tr:hover{background:transparent}
#fin-conteudo .drp-tab tbody td{padding:9px 16px}
#fin-conteudo .drp-tab .drp-conta td{padding-left:48px;color:#4b5567}
#fin-conteudo .drp-tab .drp-grupo td{background:#fbfbfd;color:#1b2030}
#fin-conteudo .drp-tab .drp-grupo:hover td{background:#f4f2fd}
#fin-conteudo .drp-tab .drp-vazia td,
#fin-conteudo .drp-tab .drp-vazia:hover td{background:#fff;color:#9aa3b2}
#fin-conteudo .drp-tab .drp-conta:hover td{background:#f7f5ff}
#fin-conteudo .drp-tab .drp-total td{background:#f4f2fd;font-size:14.5px}
#fin-conteudo .drp-tab .drp-pct{color:var(--cinza)}
@media (max-width:680px){
  #fin-conteudo .drp-tab tbody td{padding:8px 10px}
  #fin-conteudo .drp-tab .drp-conta td{padding-left:26px}
}
.fr-filtros>label,#fin-conteudo .row>label{display:grid;gap:4px;color:#596174;font-size:11.5px}
.fr-filtros label>span{font-size:10px;font-weight:750;letter-spacing:.03em;text-transform:uppercase;color:#7c8495}
.fr-totais,#fp-tot{min-height:47px;padding:9px 11px!important;gap:8px!important;border-top:1px solid #ebe8f1;background:#faf9fc;border-radius:9px}
.fr-totais>span,#fp-tot>span{padding:4px 8px;border-right:1px solid #e6e3eb}.fr-totais>span:last-child,#fp-tot>span:last-child{border-right:0}

#fin-conteudo .fin-alerta{margin:0;border-radius:14px}.fin-vazio{min-height:150px;display:grid;place-content:center}
#fin-conteudo .aviso{border-radius:11px}.fin-barra{padding:6px 0}.fin-barra-trilho{height:18px}.fin-gr{overflow:hidden}

@media(max-width:1200px){
  .fin-filtro-linha{grid-template-columns:minmax(180px,1fr) minmax(130px,170px) minmax(130px,170px)}
  .fin-filtro-linha #fv-aviso{grid-column:1/-1;padding:0!important}
  #fin-conteudo .fin-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .fin-contexto-cab{align-items:flex-start}.fin-contexto-status span{display:none}.fin-contexto-status{padding:6px 9px}
  #fin-conteudo .fin-duas,#fin-conteudo .fin-colunas{grid-template-columns:1fr}
  #fin-conteudo .fin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fin-barra{grid-template-columns:120px minmax(100px,1fr) 120px}
}
@media(max-width:640px){
  .fin-hub{gap:10px}.fin-contexto-cab{min-height:78px;padding:13px 12px 13px 15px;border-radius:13px}
  .fin-contexto-ico{width:36px;height:36px;border-radius:11px}.fin-contexto-cab h2{font-size:16px}.fin-contexto-cab p{font-size:11px}
  .fin-contexto-status{display:none}.fin-filtro-linha{display:flex!important;align-items:stretch!important}.fin-filtro-linha>.field{width:100%!important}
  .fin-subnav{align-self:stretch}.fin-subnav .modo-btn{flex:1}
  #fin-conteudo .fin-cards{grid-template-columns:1fr 1fr;gap:8px}#fin-conteudo .fin-card{min-height:96px;padding:12px}
  #fin-conteudo .fin-card-val{font-size:20px}.fin-barra{grid-template-columns:95px minmax(80px,1fr);gap:7px}.fin-barra-val{grid-column:2;text-align:left}
  .fr-totais,#fp-tot{align-items:flex-start;flex-direction:column}.fr-totais>span,#fp-tot>span{width:100%;border-right:0;border-bottom:1px solid #ece9f0}
}

/* Painel executivo da Visao Geral. As series sao selecionaveis e todas saem
   da mesma resposta auditavel do financeiro. */
.fin-executivo{display:flex;width:100%;max-width:100%;min-width:0;box-sizing:border-box;flex-direction:column;gap:0;overflow:hidden;border:1px solid #ddd6ea;
  border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(35,24,55,.075)}
.fin-exec-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 14px;
  border-bottom:1px solid #ece9f2;background:linear-gradient(120deg,#fff 0%,#fbf9ff 72%,#f4efff 100%)}
.fin-kicker{display:block;margin-bottom:4px;color:#7540d8;font-size:9.5px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.fin-exec-cab h2.sec{margin:0!important;font-size:17px!important}.fin-exec-cab h2.sec::after{display:none!important}
.fin-exec-cab p{margin:4px 0 0;color:#6b7385;font-size:11.5px}
.fin-exec-periodo{flex:none;padding:6px 9px;border:1px solid #ddd4ef;border-radius:8px;background:#fff;color:#686174;font-size:10.5px;font-weight:700}
.fin-exec-resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #ebe8f0;background:#fff}
.fin-exec-resumo>div{position:relative;min-width:0;padding:13px 16px;border-right:1px solid #ebe8f0}
.fin-exec-resumo>div:last-child{border-right:0}.fin-exec-resumo span{display:block;color:#7a8293;font-size:9.5px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.fin-exec-resumo b{display:block;margin-top:4px;overflow:hidden;color:#1e2739;font-size:18px;line-height:1.2;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.fin-exec-resumo b.verde{color:#15824b}.fin-exec-resumo b.vermelho{color:#d93333}
.fin-exec-resumo small{display:block;margin-top:3px;overflow:hidden;color:#828a9a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.fin-exec-corpo{display:grid;width:100%;max-width:100%;min-width:0;box-sizing:border-box;grid-template-columns:minmax(0,1fr) 315px;min-height:0}
.fin-exec-grafico{display:flex;min-width:0;flex-direction:column;padding:13px 16px 14px}
.fin-series-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.fin-series-topo>div:first-child{display:flex;flex-direction:column;gap:1px}.fin-series-topo b{color:#283145;font-size:11.5px}.fin-series-topo span{color:#7a8293;font-size:9.5px}
.fin-series-presets{display:flex;align-items:center;gap:5px}.fin-series-presets button{height:27px;padding:0 10px;border:1px solid #ddd4ef;border-radius:8px;background:#fff;color:#6030bb;font-size:9.5px;font-weight:800;cursor:pointer;transition:.15s}
.fin-series-presets button:hover,.fin-series-presets button.on{border-color:#7539e8;background:#7539e8;color:#fff;box-shadow:0 4px 10px rgba(117,57,232,.18);transform:translateY(-1px)}
.fin-series-presets button.limpar{border-color:#e4e7ec;color:#72798a}.fin-series-presets button.limpar:hover,.fin-series-presets button.limpar.on{border-color:#596274;background:#596274;color:#fff}
.fin-series-controle{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.fin-series-controle label{position:relative;display:inline-flex!important;align-items:center;gap:5px;min-height:27px;padding:4px 8px!important;
  border:1px solid #e5e2eb;border-radius:8px;background:#f8f9fb;color:#747b8a!important;font-size:9.5px!important;font-weight:750;cursor:pointer;transition:.15s}
.fin-series-controle label:hover{border-color:color-mix(in srgb,var(--serie-cor) 45%,#fff);background:#fff;color:#30384a!important}
.fin-series-controle label:has(input:checked){border-color:color-mix(in srgb,var(--serie-cor) 48%,#fff);background:color-mix(in srgb,var(--serie-cor) 10%,#fff);color:#20283a!important;box-shadow:0 2px 7px color-mix(in srgb,var(--serie-cor) 13%,transparent)}
.fin-series-controle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.fin-series-controle i{width:8px;height:8px;border:2px solid var(--serie-cor);border-radius:50%;background:#fff;box-shadow:0 0 0 2px #fff}
.fin-series-controle label:has(input:checked) i{background:var(--serie-cor)}
.fin-chart-wrap{position:relative;flex:none;height:255px;min-height:255px}.fin-chart-wrap canvas{width:100%!important;height:100%!important}
.fin-exec-leitura{display:flex;max-height:390px;overflow:auto;flex-direction:column;gap:4px;padding:14px;border-left:1px solid #ebe8f0;background:linear-gradient(180deg,#faf8ff,#f8f9fc);scrollbar-width:thin;scrollbar-color:#cfc3e6 transparent}
.fin-exec-leitura h3{margin:0 0 7px;font-size:14px;color:#283145}
.fin-diag-grade{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:1px 0 7px}
.fin-diag-grade>div{min-width:0;padding:9px;border:1px solid #e5e0ed;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(35,24,55,.035)}
.fin-diag-grade span{display:block;overflow:hidden;color:#788091;font-size:8.5px;font-weight:800;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.fin-diag-grade b{display:block;margin-top:4px;overflow:hidden;color:#242d40;font-size:14px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.fin-diag-grade b.verde{color:#13824a}.fin-diag-grade b.laranja{color:#c66a08}.fin-diag-grade b.vermelho{color:#d63030}.fin-diag-grade small{display:block;margin-top:3px;color:#8a91a0;font-size:8.5px}
.fin-diag-lista{display:flex;flex-direction:column}.fin-diag-lista>div{display:grid;grid-template-columns:9px 1fr;gap:8px;padding:8px 2px;border-top:1px solid #e6e2ec}
.fin-diag-lista i{width:7px;height:7px;margin-top:4px;border-radius:50%}.fin-diag-lista i.roxo{background:#7138e8}.fin-diag-lista i.verde{background:#16a05d}.fin-diag-lista i.vermelho{background:#e23b3b}.fin-diag-lista i.laranja{background:#ef8a17}.fin-diag-lista i.rosa{background:#d9469a}
.fin-diag-lista p{margin:0}.fin-diag-lista p b{display:block;color:#343c4e;font-size:10.5px}.fin-diag-lista p small{display:block;margin-top:2px;color:#757d8e;font-size:9.5px;line-height:1.32}
.fin-exec-nota{margin-top:auto!important;padding:8px 9px;border:1px solid #ded6ee;border-radius:9px;background:#fff;color:#6d647a!important;font-size:9.5px!important;line-height:1.35}
.fin-exec-dados{border-top:1px solid #ebe8f0;background:#fff}.fin-exec-dados summary{padding:11px 17px;color:#6329c8;font-size:11.5px;font-weight:750;cursor:pointer;list-style:none}
.fin-exec-dados summary::before{content:'+';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:6px;background:#eee8fb;color:#6d28d9}
.fin-exec-dados[open] summary::before{content:'−'}.fin-exec-tabela{max-height:360px;overflow:auto;border-top:1px solid #ebe8f0}
.fin-exec-tabela td,.fin-exec-tabela th{text-align:right!important;white-space:nowrap}.fin-exec-tabela td:first-child,.fin-exec-tabela th:first-child{text-align:left!important;position:sticky;left:0;background:inherit;z-index:1}

@media(max-width:1200px){.fin-exec-resumo{grid-template-columns:repeat(3,minmax(0,1fr))}.fin-exec-resumo>div:nth-child(3){border-right:0}.fin-exec-resumo>div:nth-child(n+4){border-top:1px solid #ebe8f0}.fin-exec-corpo{grid-template-columns:1fr}.fin-chart-wrap{height:245px;min-height:245px}.fin-exec-leitura{display:grid;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;border-top:1px solid #ebe8f0}.fin-exec-leitura>.fin-kicker,.fin-exec-leitura>h3,.fin-exec-nota{grid-column:1/-1}.fin-diag-grade{margin:0}.fin-diag-lista{padding:0 4px}}
@media(max-width:720px){.fin-exec-cab{align-items:stretch;flex-direction:column}.fin-exec-periodo{align-self:flex-start}.fin-exec-resumo{grid-template-columns:1fr 1fr}.fin-exec-resumo>div{border-top:1px solid #ebe8f0}.fin-exec-resumo>div:nth-child(odd){border-right:1px solid #ebe8f0}.fin-exec-resumo>div:nth-child(even){border-right:0}.fin-exec-resumo>div:first-child,.fin-exec-resumo>div:nth-child(2){border-top:0}.fin-exec-grafico{padding:11px 9px}.fin-series-topo{align-items:flex-start;flex-direction:column}.fin-series-presets{width:100%;overflow-x:auto;scrollbar-width:none}.fin-chart-wrap{height:225px;min-height:225px}.fin-series-controle{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.fin-series-controle label{flex:none}.fin-exec-leitura{grid-template-columns:1fr}.fin-exec-leitura>.fin-kicker,.fin-exec-leitura>h3,.fin-exec-nota{grid-column:auto}}

/* Confirmações: fila operacional guiada */
.cf-filtros{padding:14px 16px;margin-bottom:12px}
.cf-filtros-linha{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(2,minmax(130px,.65fr))
  repeat(3,minmax(140px,.8fr)) auto;gap:10px;align-items:end}
.cf-filtros-linha label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;color:#667085}
.cf-filtros-linha input,.cf-filtros-linha select{height:38px;border:1px solid var(--linha);border-radius:9px;
  background:#fff;padding:0 10px;color:#172033;font:inherit;font-weight:500;min-width:0}
.cf-rapidos{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #eef0f5}
.cf-rapidos>span{font-size:11.5px;font-weight:700;color:#667085;margin-right:3px}
.cf-rapidos button{border:1px solid #ded7f6;border-radius:999px;background:#fff;color:var(--magenta-2);
  padding:5px 10px;font-size:11.5px;font-weight:700;cursor:pointer}
.cf-rapidos button:hover,.cf-rapidos button[aria-pressed="true"]{background:#f5f1ff;border-color:#9a74eb;color:#5421a5}
.cf-status-cards{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 10px;scrollbar-width:thin}
.cf-status-card{display:grid;grid-template-columns:26px auto auto;align-items:center;gap:7px;flex:0 0 auto;
  min-height:38px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;padding:5px 12px 5px 6px;
  color:#475467;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.cf-status-card:hover,.cf-status-card.on{transform:translateY(-1px);border-color:#9a74eb;box-shadow:0 7px 18px rgba(92,52,163,.12)}
.cf-status-card.on{background:#f3edff;color:#5421a5}
.cf-status-card b{font-size:13px;color:#101828}
.cf-status-icone{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f3f4f6;color:#667085}
.cf-respondeu_nao .cf-status-icone,.cf-nao_vai .cf-status-icone{background:#fff0eb;color:#c2410c}
.cf-sem_resposta .cf-status-icone{background:#fff7d6;color:#a16207}
.cf-sem_telefone .cf-status-icone{background:#fff0ed;color:#b42318}
.cf-aguardando .cf-status-icone{background:#eaf9ee;color:#14783c}
.cf-nao_enviado .cf-status-icone{background:#e8f0ff;color:#315ea8}
.cf-respondeu_sim .cf-status-icone,.cf-confirmou .cf-status-icone{background:#dcfce7;color:#15803d}
.cf-lista-cab{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 2px 9px;
  color:#667085;font-size:12.5px}.cf-lista-cab>span{font-size:11.5px}
.cf-tabela{padding:0;overflow:auto;border-radius:14px}.cf-tabela table{min-width:1120px}
.cf-paginacao{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;
  border:1px solid #e7e3ef;border-radius:12px;background:#fff;color:#667085;font-size:12px;flex-wrap:wrap}
.cf-paginacao label,.cf-paginacao-acoes{display:flex;align-items:center;gap:8px}.cf-paginacao select{height:32px;
  border:1px solid var(--linha);border-radius:8px;background:#fff;padding:0 28px 0 9px;color:#344054;font:inherit}
.cf-paginacao-acoes{margin-left:auto}.cf-paginacao .btn:disabled{opacity:.45;cursor:not-allowed}
.cf-tabela th{background:#fafaff;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.35px}
.cf-tabela td{vertical-align:middle}.cf-linha{border-left:3px solid transparent}
.cf-linha-respondeu_sim{border-left-color:#22c55e}.cf-linha-respondeu_nao{border-left-color:#f97316}
.cf-linha-sem_resposta{border-left-color:#eab308}.cf-linha-sem_telefone,.cf-linha-nao_vai{border-left-color:#ef4444}
.cf-cliente{display:block;border:0;background:none;padding:0;color:var(--magenta-2);font:inherit;font-weight:750;
  text-align:left;cursor:pointer}.cf-tabela td small{display:block;margin-top:3px;color:#7b8497;font-size:10.8px;line-height:1.25}
.cf-envio b,.cf-tabela td:nth-child(6)>b{font-size:11.8px;white-space:nowrap}.cf-envio-nao{color:#7b8497;font-size:12px}
.cf-envio-simulacao{display:inline-flex;border-radius:999px;background:#fff4cc;color:#8a5a00;padding:3px 7px;
  font-size:10.5px;font-weight:800;letter-spacing:.25px}.cf-envio-falhou{color:#b42318;font-size:12px;font-weight:750}
.cfo-acoes{min-width:310px;text-align:right;white-space:nowrap}.cfo-acoes .btn{margin:2px 0 2px 4px}
.cf-icone-btn{min-width:34px;padding-left:7px!important;padding-right:7px!important}
.cf-resolver{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.cf-erro-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;
  margin:10px 0;padding:12px 14px;border:1px solid #f1c6c6;border-radius:11px;background:#fff7f7;color:#9b1c1c}
.cf-erro-inline>div{min-width:0}.cf-erro-inline b,.cf-erro-inline span{display:block}
.cf-erro-inline span{margin-top:3px;color:#7b4b4b;font-size:12px}
.cf-rm-opcoes{display:flex;flex-direction:column;gap:7px;min-height:90px;margin-top:14px;padding-top:12px;border-top:1px solid var(--linha)}
.cf-rm-opcao{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;
  border:1px solid #e5e0ef;border-radius:10px;background:#fff}
.cf-rm-opcao>div{display:flex;min-width:0;flex-direction:column;gap:3px}.cf-rm-opcao span{color:#737b8b;font-size:12px}
.cf-envio-links{display:flex;gap:14px;margin:9px 0 2px}.link-btn{border:0;background:none;color:var(--magenta-2);
  padding:0;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.link-btn:hover{text-decoration:underline}
.cf-historico{max-height:430px;overflow:auto;padding:4px}.cf-hist-item{display:grid;grid-template-columns:16px 1fr;gap:8px;position:relative;padding:5px 0 16px}
.cf-hist-item:after{content:"";position:absolute;left:6px;top:18px;bottom:-2px;border-left:1px solid #ddd4f4}
.cf-hist-item:last-child:after{display:none}.cf-hist-ponto{width:13px;height:13px;border:3px solid #8b5de1;border-radius:50%;background:#fff;margin-top:2px;z-index:1}
.cf-hist-item b{font-size:12.5px}.cf-hist-item span:not(.cf-hist-ponto){float:right;color:#7b8497;font-size:11px}.cf-hist-item p{white-space:pre-wrap;margin:6px 0;color:#475467;font-size:12px}
.cf-hist-item small{color:#8b93a4}
.cf-historico-painel{width:min(520px,92vw);height:100%;background:#fbfaff;
  box-shadow:-18px 0 55px rgba(31,20,58,.22);padding:20px 22px;overflow:auto;
  animation:cf-entra .18s ease-out}
.cf-historico-painel .cf-historico{margin-top:20px}

/* Editor lateral dos modelos */
.cf-editor-camada{position:fixed;inset:0;z-index:10020;background:rgba(25,18,43,.34);display:flex;justify-content:flex-end;
  backdrop-filter:blur(2px)}
.cf-editor{width:min(920px,92vw);height:100%;background:#fbfaff;box-shadow:-18px 0 55px rgba(31,20,58,.22);
  padding:20px 22px;overflow:auto;animation:cf-entra .18s ease-out}
@keyframes cf-entra{from{transform:translateX(32px);opacity:.6}to{transform:none;opacity:1}}
.cf-editor-carregando{padding:34px;color:#667085}.cf-editor-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.cf-editor-titulo{font-size:20px;font-weight:800;color:#171326}.cf-editor-fechar{border:0;background:#eee9f8;border-radius:50%;
  width:36px;height:36px;font-size:25px;line-height:1;color:#5e467e;cursor:pointer}
.cf-editor-abas{display:flex;gap:7px;overflow:auto;margin:18px 0 14px;padding-bottom:3px}.cf-editor-abas button{white-space:nowrap;border:1px solid #dfd7f2;
  border-radius:9px;background:#fff;color:#5f6676;padding:8px 11px;font-weight:700;cursor:pointer}.cf-editor-abas button.on{background:#6e36d2;color:#fff;border-color:#6e36d2}
.cf-editor-grade{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:16px}.cf-editor-grade section{background:#fff;border:1px solid #e7e3ef;border-radius:13px;padding:14px}
.cf-editor-label{display:block;margin-bottom:7px;color:#343043;font-size:12.5px;font-weight:750}.cf-editor textarea{width:100%;resize:vertical;border:1px solid #d9d4e3;
  border-radius:10px;padding:11px;font:13px/1.55 inherit;color:#262130}.cf-editor-vars{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.cf-editor-vars button{border:1px solid #ddd4f4;
  background:#faf8ff;color:#6e36d2;border-radius:7px;padding:5px 7px;font:11.5px monospace;cursor:pointer}
.cf-editor-aviso{font-size:12px;margin-top:10px}.ok-txt{color:#18794e}.erro-txt{color:#b54708}.cf-editor-balao{min-height:220px;
  white-space:pre-wrap;background:#e9f8ef;border:1px solid #c7e9d2;border-radius:13px;padding:15px;color:#193b29;font-size:13px;line-height:1.5}
.cf-editor-rodape{position:sticky;bottom:-20px;display:flex;gap:8px;background:#fbfaff;border-top:1px solid #e4deef;margin:18px -22px -20px;padding:13px 22px}
@media(max-width:1280px){.cf-filtros-linha{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,1fr));}.cf-filtros-linha>:nth-child(n+5){grid-row:2}}
@media(max-width:1100px){
  .cf-tabela th:last-child,.cf-tabela td:last-child{position:sticky;right:0;z-index:2;background:#fff;
    box-shadow:-9px 0 14px -12px rgba(31,24,52,.55)}
  .cf-tabela th:last-child{z-index:3;background:#fafaff}
  .cfo-acoes{min-width:240px;white-space:normal}
}
@media(max-width:760px){
  .cf-filtros-linha{display:flex;flex-wrap:wrap}.cf-filtros-linha label{flex:1 1 145px}.cf-busca{flex-basis:100%!important}
  .cf-filtros-linha input,.cf-filtros-linha select,.dsp-env-txt,.cf-editor textarea{font-size:16px}
  .cf-editor{width:100vw;padding:15px}.cf-editor-grade{grid-template-columns:1fr}
  .cf-editor-rodape{bottom:-15px;margin:16px -15px -15px;padding:12px 15px}
  .cf-lista-cab{align-items:flex-start;flex-direction:column}.cf-lista-cab>span{display:none}.cf-tabela table{min-width:940px}
  .cf-paginacao{align-items:stretch;flex-direction:column}.cf-paginacao-acoes{justify-content:space-between;margin-left:0;padding-right:72px}
  .cf-erro-inline,.cf-rm-opcao{align-items:stretch;flex-direction:column}.cf-rm-opcao .btn{width:100%}
}
﻿
/* o marcador que entra no lugar da imagem que nao veio — melhor que icone quebrado */
.trf-img-sem{display:grid;place-items:center;background:#1a1e2b;color:#3f4759;font-size:16px}
.trf-cria .trf-img-sem{width:44px;height:44px;border-radius:9px;border:1px solid #262b3a}
.trf-mini .trf-img-sem{width:34px;height:34px;border-radius:7px;font-size:13px}
.trf-gal-img .trf-img-sem{width:100%;height:100%;font-size:32px;opacity:.4}
/* ==========================================================================
   GESTOR DE TRÁFEGO — 3ª passada: tabelas, lupa e ferramentas
                                                              (26/08/2026)
   ========================================================================== */

/* ⚠️ A TABELA NÃO OCUPAVA A LARGURA e sobrava meia tela vazia. A causa: para
   poder rolar de lado eu tinha posto `display:block` na própria <table>, e
   bloco não estica. O certo é o CONTÊINER rolar e a tabela continuar tabela. */
.trf-rolar{overflow-x:auto;margin:0 -2px}
.trf-tab.larga{display:table;width:100%;min-width:760px}

/* cabeçalho que ordena */
.trf-tab th.ordenavel{cursor:pointer;user-select:none;position:relative;
  padding-right:16px;transition:color .12s}
.trf-tab th.ordenavel:hover{color:#c084fc}
.trf-tab th.ordenavel::after{content:'⇅';position:absolute;right:4px;opacity:.3;font-size:9px}
.trf-tab th.ord{color:#c084fc}
.trf-tab th.ord::after{content:'▲';opacity:.9}
.trf-tab th.ord.desc::after{content:'▼'}

/* linha de conjunto que não gastou no período: presente, mas apagada */
.trf-tab tr.trf-parado td{opacity:.5}
.trf-tab tr.trf-parado:hover td{opacity:.85}

/* a busca dentro do cabeçalho da caixa */
.trf-busca{padding:8px 12px;border:1px solid #262b3a;border-radius:9px;background:#171a24;
  color:#d5dae6;font-family:inherit;font-size:12.5px;min-width:230px;max-width:320px}
.trf-busca::placeholder{color:#5b6478}
.trf-busca:focus{outline:2px solid #7c3aed;outline-offset:-1px;background:#1a1e2b}

/* ⚠️ a imagem clicável precisa PARECER clicável, senão ninguém tenta */
.trf-clicavel{cursor:zoom-in;transition:transform .14s,box-shadow .14s}
.trf-clicavel:hover{transform:scale(1.04);box-shadow:0 6px 22px rgba(0,0,0,.5);
  position:relative;z-index:2}

/* ------------------------------------------------------------- a lupa --- */
.trf-lupa{position:fixed;inset:0;z-index:9999;background:rgba(6,8,13,.9);
  display:grid;place-items:center;padding:36px;backdrop-filter:blur(3px)}
.trf-lupa-cx{max-width:min(880px,92vw);max-height:90vh;display:flex;flex-direction:column;
  gap:12px;align-items:center}
.trf-lupa img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:14px;
  border:1px solid #2a2f3d;box-shadow:0 22px 70px rgba(0,0,0,.6);background:#12141c}
.trf-lupa-pe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.trf-lupa-pe span{color:#b8c0d0;font-size:13px}

/* o marcador quando a imagem não veio, agora também em <span> */
span.trf-img-sem{display:inline-grid;place-items:center;width:34px;height:34px;
  border-radius:7px;background:#1a1e2b;color:#3f4759;font-size:14px}

/* gráfico deitado precisa de mais altura, uma barra por anúncio */
.trf-gr.deitado{height:330px}

/* o cabeçalho da caixa com busca e botão respira melhor */
.trf-cx-cab{row-gap:9px}
.trf-cx-cab .trf-bt{padding:7px 13px;font-size:12px}

@media(max-width:900px){
  .trf-busca{min-width:0;flex:1}
  .trf-cx-cab{flex-wrap:wrap}
}

/* ⚠️ PENDÊNCIAS (26/08/2026) — o que a auditoria achou.
   Vermelho só no que passou do prazo; o resto fica sóbrio, senão a tela inteira
   grita e nada se destaca. */
.rel-bur-abas{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--linha);
  margin-bottom:12px;padding-bottom:2px}
.rel-bur-aba{border:none;background:transparent;color:var(--cinza);font-size:12.5px;
  font-family:inherit;font-weight:500;padding:7px 11px;border-bottom:2px solid transparent;
  margin-bottom:-3px;display:inline-flex;align-items:center;gap:6px}
.rel-bur-aba b{background:var(--fundo);color:var(--cinza);font-size:11px;
  padding:1px 7px;border-radius:20px;font-variant-numeric:tabular-nums}
.rel-bur-aba:hover{color:var(--tinta)}
.rel-bur-aba.on{color:var(--magenta-2);border-bottom-color:var(--magenta);font-weight:600}
.rel-bur-aba.on b{background:var(--magenta);color:#fff}

.rel-bur-p{max-height:54vh;overflow-y:auto}
.rel-bur-p.hidden{display:none}
.rel-bur-tit{font-size:13.5px;font-weight:600;margin-bottom:4px;line-height:1.4}
.rel-bur-dest{font-size:26px;font-weight:700;color:var(--vermelho-b);
  font-variant-numeric:tabular-nums;margin:2px 0 8px}

.rel-bur-l{display:grid;grid-template-columns:1fr 130px minmax(120px,1.1fr);gap:12px;
  padding:9px 11px;border-bottom:1px solid var(--linha);font-size:12.5px;align-items:baseline}
.rel-bur-l.cab{font-size:10.5px;font-weight:700;color:var(--cinza);
  text-transform:uppercase;letter-spacing:.3px;border-bottom-width:2px}
.rel-bur-l.grave{background:#fdf2f2}
.rel-bur-l b{display:block;font-weight:600}
.rel-bur-l i{display:block;font-size:10.5px;color:var(--cinza);font-style:normal;margin-top:2px}
.rel-bur-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--vermelho-b);
  text-align:right}
.rel-bur-frase{font-style:italic;color:var(--cinza);font-size:11.5px;line-height:1.45}
@media(max-width:760px){
  .rel-bur-l{grid-template-columns:1fr;gap:3px}
  .rel-bur-val{text-align:left}
}

/* ==========================================================================
   ⚠️ A CASCATA — por que as tabelas do painel escuro apareciam claras
                                                              (26/08/2026)

   O sistema tem regras GLOBAIS de tabela, feitas para o tema claro:

       table                        { background:#fff }
       th                           { background:#fbfbfd }
       tbody tr:nth-child(even) td  { background:#fcfcfe }
       tbody tr:hover td            { background:#f5f0ff }
       td b, td strong              { color:#171b26 }

   ⚠️ E ELAS GANHAM DAS MINHAS. `tbody tr:nth-child(even) td` tem
      especificidade (0,1,3) — o :nth-child conta como classe — contra
      (0,1,1) do meu `.trf-tab td`. Resultado: linha branca com texto quase
      preto no meio de um painel escuro.

   A correção não é !important espalhado: é subir a especificidade prendendo
   tudo a `body.trf-modo`, que só existe dentro deste sub-sistema. Assim as
   outras 88 telas continuam exatamente como estavam.
   ========================================================================== */

body.trf-modo .trf-tab{background:transparent}
body.trf-modo .trf-tab th{background:transparent;border-bottom-color:#1c2030}
body.trf-modo .trf-tab td{background:transparent;border-bottom-color:#161923;
  padding:9px 10px;font-size:12.5px}
body.trf-modo .trf-tab tbody tr:nth-child(even) td{background:rgba(255,255,255,.014)}
body.trf-modo .trf-tab tbody tr:hover td{background:rgba(168,85,247,.07)}
body.trf-modo .trf-tab tbody tr.trf-top td{background:rgba(168,85,247,.06)}
body.trf-modo .trf-tab tbody tr.trf-top:hover td{background:rgba(168,85,247,.11)}
/* ⚠️ o <b> dentro de td vinha #171b26 (quase preto) da regra global */
body.trf-modo .trf-tab td b,body.trf-modo .trf-tab td strong{color:#e7eaf2}
body.trf-modo .trf-tab td .trf-forte,body.trf-modo .trf-tab td.trf-forte{color:#c9a5fb}
body.trf-modo .trf-tab td.trf-verm,body.trf-modo .trf-tab td .trf-verm{color:#f87171}
body.trf-modo .trf-tab td.trf-amb{color:#fbbf24}
body.trf-modo .trf-tab td.trf-dica,body.trf-modo .trf-tab td .trf-dica{color:#6b7488}
body.trf-modo .trf-tab td .trf-sub2{color:#6b7488}
body.trf-modo .trf-tab tbody tr:last-child td{border-bottom:none}

/* a mesma família de regras globais mexe na primeira coluna e no status */
body.trf-modo .trf-tab tbody tr td:first-child{border-left:none}
body.trf-modo .trf-tab tbody tr td{border-left:none}

/* e o cabeçalho ordenável precisa manter o tom, mesmo com o th global */
body.trf-modo .trf-tab th.ordenavel:hover{color:#c084fc;background:transparent}
body.trf-modo .trf-tab th.ord{color:#c084fc}

/* ⚠️ o mesmo cuidado nas tabelas dos modais e blocos do painel */
body.trf-modo table{background:transparent}
body.trf-modo th,body.trf-modo td{border-bottom-color:#1c2030}

/* KPIs secundários do Fênix Gestor (26/08/2026): CTR, CPC, CPM e frequência.
   Mesma linguagem dos cards grandes, só menores — informação de leitura
   rápida, não de destaque. Vive sob o modo escuro do tráfego. */
.trf-cards-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;margin-top:12px}
.trf-kpi2{background:#12141c;border:1px solid #1c2030;border-radius:12px;
  padding:11px 15px;min-width:0}
.trf-kpi2 i{display:block;font-size:10.5px;font-weight:700;color:#7f8aa3;
  font-style:normal;letter-spacing:.5px}
.trf-kpi2 b{display:block;font-size:19px;font-weight:700;color:#f1f3f9;
  margin:3px 0 1px;font-variant-numeric:tabular-nums}
.trf-kpi2 span{display:block;font-size:10.5px;color:#4d5568}

/* ========================================================================== 
   ACABAMENTO SISTÊMICO 2026
   Uma camada só para dar o mesmo nível de acabamento às telas antigas e novas,
   sem trocar a identidade roxa nem reescrever componentes que já funcionam.
   ========================================================================== */

/* tipografia e foco: legibilidade também em monitor de recepção */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid rgba(124,58,237,.28);outline-offset:2px}
:where(input,select,textarea):focus{
  border-color:#9a7eea;box-shadow:0 0 0 3px rgba(124,58,237,.10)}
button:disabled{cursor:not-allowed;opacity:.58}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* cartões, tabelas e controles com a mesma sensação de profundidade */
.card{transition:border-color .15s ease,box-shadow .15s ease}
.card:hover{border-color:#ddd6ee}
.btn{min-height:36px;box-shadow:0 1px 2px rgba(76,29,149,.12);
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn:hover{box-shadow:0 4px 11px rgba(76,29,149,.18)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn.sm{min-height:30px}
.btn.ghost{border-color:#d9cef5;box-shadow:none}
.btn.ghost:hover{background:#f6f2ff;border-color:#ad94ed}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.025em}
td{line-height:1.4}
tbody tr{transition:background .12s ease}
tbody tr:last-child td{border-bottom-color:transparent}

/* rolagem discreta e previsível no sistema inteiro */
:not(body.trf-modo) *{scrollbar-width:thin;scrollbar-color:#cfc7e1 transparent}
:not(body.trf-modo) *::-webkit-scrollbar{width:9px;height:9px}
:not(body.trf-modo) *::-webkit-scrollbar-track{background:transparent}
:not(body.trf-modo) *::-webkit-scrollbar-thumb{background:#d6cfdf;border:2px solid transparent;
  background-clip:content-box;border-radius:999px}
:not(body.trf-modo) *::-webkit-scrollbar-thumb:hover{background:#b8accb;background-clip:content-box}

/* marca Fênix: chama vetorial, nítida em qualquer escala */
#sidebar .marca{position:relative;overflow:hidden;background:linear-gradient(145deg,#9b78f1,#6d28d9 58%,#4c1d95)}
#sidebar .marca::before{content:'';position:absolute;inset:-18px -12px auto auto;width:38px;height:38px;
  border-radius:50%;background:rgba(255,255,255,.22);filter:blur(8px)}
#sidebar .marca svg{position:relative;width:31px;height:31px;filter:drop-shadow(0 2px 3px rgba(42,13,87,.28))}
#sidebar .ico{position:relative}
#sidebar .ico.on::after{content:'';position:absolute;left:-6px;top:16px;width:3px;height:20px;
  border-radius:0 4px 4px 0;background:#c4b5fd}

/* estados de carregamento, pausa, vazio e erro */
.estado-tela{min-height:250px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;gap:7px;padding:36px 24px;margin:10px 0;
  color:var(--cinza);background:linear-gradient(145deg,#fff,#faf9fd);
  border:1px dashed #d9d2e5;border-radius:16px}
.estado-tela b{font-size:16px;color:var(--tinta)}
.estado-tela>span:not(.estado-spinner):not(.estado-icone){max-width:560px;line-height:1.55}
.estado-tela.erro{background:#fffafa;border-color:#efcaca}
.estado-tela.pausado{background:linear-gradient(145deg,#fbf9ff,#fff);border-color:#d9cef5}
.estado-icone{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;
  font-size:25px;color:var(--magenta-2);background:#eee8fc;border:1px solid #dfd3fa}
.estado-spinner{width:28px;height:28px;border:3px solid #e5ddf8;border-top-color:var(--magenta);
  border-radius:50%;animation:estado-girar .8s linear infinite}
.estado-acoes{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:9px}
@keyframes estado-girar{to{transform:rotate(360deg)}}
.ia-vazio{min-height:62px;padding:18px 20px;border:1px dashed #d7ddea;border-radius:12px;
  background:linear-gradient(145deg,#f8fbff,#fff);display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center}
.ia-vazio b{font-size:14px}
.cc-vazio{min-height:280px}

/* avisos antigos agora têm leitura consistente em todas as áreas */
.aviso{padding:12px 14px;background:linear-gradient(135deg,#fff9e9,#fffdf7);
  border:1px solid #eadba8;border-radius:11px;color:#695510;line-height:1.5}
.aviso b{color:#514009}
.ag-hist{color:var(--magenta-2);font-weight:600;text-decoration:none}
.ag-hist:hover{text-decoration:underline}

/* follow-up: cadência, mensagem pronta e ações no mesmo acabamento da Central */
.fu-prontos{padding:0;overflow:hidden;border-color:#d9cef5}
.fu-prontos-cab{display:flex;align-items:center;gap:9px;justify-content:space-between;
  flex-wrap:wrap;padding:12px 15px;background:linear-gradient(135deg,#fbf9ff,#fff);
  border-bottom:1px solid var(--linha)}
.fu-prontos-cab b{font-size:14px;color:var(--tinta)}
.fu-pronto{padding:13px 15px;border-bottom:1px solid var(--linha);background:#fff}
.fu-pronto:last-child{border-bottom:0}
.fu-pronto:hover{background:#fcfbff}
.fu-pronto-cab{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.fu-pronto-cab>b{font-size:13.5px;color:var(--tinta)}
.fu-origem,.fu-tipo{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;
  border-radius:999px;font-size:10.5px;font-weight:700}
.fu-tipo{background:#f1f3f7;color:#667085}
.fu-pronto-msg{margin:9px 0;padding:10px 12px;border-left:3px solid #a78bfa;
  border-radius:0 8px 8px 0;background:#f9f7ff;color:#3e4655;font-size:12.5px;line-height:1.55;
  white-space:pre-wrap}
.fu-pronto-acoes{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.btn.mini{min-height:30px;padding:5px 9px;font-size:11.5px}

/* a ponte entre mensagens, agenda e equipe */
.operacao-nav{display:flex;align-items:center;gap:18px;min-height:62px;margin:0 0 14px;
  padding:9px 10px 9px 14px;background:linear-gradient(135deg,#fff,#fbf9ff);
  border:1px solid #ddd5ed;border-radius:15px;box-shadow:0 2px 10px rgba(41,24,77,.06)}
.operacao-marca{display:flex;align-items:center;gap:10px;min-width:250px}
.operacao-marca>span{width:37px;height:37px;display:grid;place-items:center;flex:none;
  border-radius:12px;color:#fff;font-weight:800;font-size:16px;
  background:linear-gradient(145deg,#8b5cf6,#5b21b6);box-shadow:0 4px 11px rgba(91,33,182,.25)}
.operacao-marca div{display:flex;flex-direction:column;min-width:0}
.operacao-marca b{font-size:13.5px;line-height:1.25}
.operacao-marca small{font-size:10.5px;color:var(--cinza);white-space:nowrap}
.operacao-abas{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;padding:2px}
.operacao-aba{border:1px solid transparent;background:transparent;color:#646b7a;
  padding:8px 11px;border-radius:9px;font:600 12.5px/1.2 inherit;white-space:nowrap}
.operacao-aba:hover{background:#f1edfb;color:var(--magenta-2)}
.operacao-aba.on{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);
  box-shadow:0 3px 9px rgba(109,40,217,.23)}

/* confirmação humana: destaque sem parecer erro */
.status-Revisao{background:#f1e9ff;color:#6b28d9;border:1px solid #dac7ff}
.acao-pulsante{box-shadow:0 0 0 0 rgba(124,58,237,.30);animation:acao-pulso 2.1s ease-out infinite}
@keyframes acao-pulso{70%,100%{box-shadow:0 0 0 9px rgba(124,58,237,0)}}
.at-card.at-confirmar{border-left-color:#7c3aed;background:linear-gradient(90deg,#f8f4ff,#fff 42%)}
.at-tag-confirmar{background:#eee7ff;color:#6425c7}

/* financeiro: a barra nunca mais aumenta a largura da página */
.fin-nav-shell{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr) 35px;
  align-items:stretch;background:#fff;border:1px solid var(--linha);border-radius:14px;
  box-shadow:0 1px 3px rgba(16,24,40,.06);overflow:hidden}
.fin-nav-shell .fin-nav{min-width:0;border:0;border-radius:0;box-shadow:none;overflow-x:auto;
  overscroll-behavior-x:contain;scrollbar-width:none}
.fin-nav-shell .fin-nav::-webkit-scrollbar{display:none}
.fin-nav-seta{position:relative;z-index:2;border:0;background:#fff;color:var(--magenta-2);
  font-size:22px;line-height:1;box-shadow:none;transition:background .12s,opacity .12s}
.fin-nav-seta:hover{background:#f3effd}
.fin-nav-seta:disabled{opacity:.22;background:#fff}
.fin-nav-shell.tem-esquerda .fin-nav-seta:first-child{box-shadow:5px 0 12px rgba(42,31,67,.08)}
.fin-nav-shell.tem-direita .fin-nav-seta:last-child{box-shadow:-5px 0 12px rgba(42,31,67,.08)}

/* a nova barra ocupa espaço real; a conversa mantém uma área útil previsível */
.pane[data-view="relacionamento"] .rel-grade{height:calc(100vh - 392px);min-height:330px}

/* carregamento e falha ficam dentro da coluna afetada, sem apagar a tela inteira */
.rel-skeleton{display:flex;flex:1;min-height:90px;flex-direction:column;gap:10px;
  padding:7px 3px;overflow:hidden}
.rel-cards>.rel-skeleton{grid-column:1/-1;min-height:70px;display:grid;
  grid-template-columns:repeat(4,1fr);padding:0}
.rel-skeleton span{display:block;width:calc(100% - (var(--rel-sk,0) * 7%));height:42px;
  max-width:100%;border-radius:10px;background:linear-gradient(100deg,#f0edf5 20%,#faf9fc 38%,#f0edf5 56%);
  background-size:240% 100%;animation:rel-skeleton 1.25s ease-in-out infinite}
.rel-cards>.rel-skeleton span{width:100%;height:100%}
.rel-cards-erro{grid-column:1/-1;display:grid;place-items:center;min-height:70px;
  border:1px dashed #d8d2e3;border-radius:12px;color:var(--cinza);font-size:12px}
@keyframes rel-skeleton{to{background-position-x:-240%}}
.rel-carregando{opacity:.62;pointer-events:none;transition:opacity .12s}
.rel-estado{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;min-height:150px;padding:22px 14px;text-align:center;color:var(--cinza)}
.rel-estado b{font-size:13px;color:var(--tinta)}
.rel-estado small{font-size:11.5px;line-height:1.45;max-width:280px}
.rel-estado-icone{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  color:#6d28d9;background:#f0eafe;font-weight:800}
.rel-estado-icone svg{width:17px;height:17px}
.rel-estado-erro .rel-estado-icone{color:#b42318;background:#feeceb}
.rel-estado .rel-bt-linha{margin-top:4px}

/* O painel de contexto vira gaveta. A informação continua acessível e a
   conversa não perde largura útil. */
.rel-contexto-fundo{display:none}
.rel-contexto-fechar{display:none;width:36px;height:36px;place-items:center;position:sticky;top:0;
  z-index:5;margin:0 0 0 auto;border:1px solid #ddd5ec;border-radius:10px;background:#fff;
  color:#5f6675;font:500 23px/1 inherit;box-shadow:0 3px 10px rgba(37,28,57,.10)}
.rel-contexto-fechar:hover{color:#6d28d9;border-color:#bba7e9;background:#faf8ff}
.pane[data-view="relacionamento"] .rel-contexto-toggle{display:inline-flex}
.pane[data-view="relacionamento"] .rel-contexto-fechar{display:grid}
.pane[data-view="relacionamento"] #rel-contexto{display:flex;position:fixed;
  z-index:86;top:74px;right:14px;bottom:48px;width:min(370px,calc(100vw - 28px));
  max-height:none;border-radius:15px;box-shadow:0 18px 55px rgba(24,16,41,.22);
  transform:translateX(calc(100% + 36px));transition:transform .2s ease;
  pointer-events:none;overflow-y:auto}
.pane[data-view="relacionamento"] #rel-contexto button{min-height:36px}
.pane[data-view="relacionamento"].rel-contexto-aberto #rel-contexto{
  transform:translateX(0);pointer-events:auto}
.pane[data-view="relacionamento"] .rel-contexto-fundo{display:block;position:fixed;
  inset:0;z-index:85;border:0;background:rgba(30,22,45,.28);opacity:0;visibility:hidden;
  transition:opacity .2s,visibility .2s}
.pane[data-view="relacionamento"].rel-contexto-aberto .rel-contexto-fundo{
  opacity:1;visibility:visible}

/* A barra de utilidades fica em uma única linha e deixa os indicadores com a
   largura inteira. Em telas estreitas ela rola por dentro, sem criar outra faixa. */
.rel-cab-topo>div:first-child{flex:none}
.rel-utilitarios{display:flex;align-items:center;justify-content:flex-end;gap:6px;
  min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;
  scrollbar-width:none;padding:1px}
.rel-utilitarios::-webkit-scrollbar{display:none}
.rel-utilitario{padding:7px 9px;font-size:12px;min-height:34px;flex:none}
.rel-utilitario svg{width:14px;height:14px}
.rel-utilitarios .rel-canal{min-width:0;flex:none;align-items:center;flex-direction:row;
  gap:7px;white-space:nowrap}
.rel-utilitarios .rel-canal small{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.rel-faixa{display:block}
.rel-cards{grid-template-columns:repeat(4,minmax(150px,1fr))}
.rel-painel{min-height:0}
.rel-painel[hidden]{display:none!important}

/* Cada indicador controla o painel que nasce logo abaixo dele. */
.rel-card{position:relative;padding-right:35px}
.rel-card-seta{position:absolute;right:10px;bottom:9px;display:grid;place-items:center;
  width:18px;height:18px;color:#8b91a0;transition:transform .16s,color .16s}
.rel-card-seta svg{width:13px;height:13px}
.rel-card.on .rel-card-seta{color:var(--magenta)}
.pane[data-view="relacionamento"]:not(.rel-painel-fechado) .rel-card.on .rel-card-seta{
  transform:rotate(180deg)}

/* Contexto virou gaveta em qualquer desktop. A conversa usa a quarta coluna que
   antes ficava ocupada permanentemente pelo cartão contextual. */
.pane[data-view="relacionamento"] .rel-grade{
  grid-template-columns:236px 300px minmax(0,1fr)}

/* O cabeçalho dos filtros continua visível como uma alça de reabertura. */
.rel-filtros-corpo{display:flex;flex-direction:column;flex:none;min-width:0}
.rel-filtros-corpo[hidden]{display:none!important}
.rel-filtros-toggle{flex:none}
.rel-filtros-toggle svg{transition:transform .16s}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-filtros-toggle svg{
  transform:rotate(180deg)}
.pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-filtros{
  padding:8px;overflow:hidden}
.pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-filtros .rel-bloco-cab{
  justify-content:center;margin:0}
.pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-filtros .rel-bloco-tit,
.pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-bt-rapidos{display:none}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{
  grid-template-columns:48px 300px minmax(0,1fr);height:calc(100vh - 333px)}

/* O modo recolhido também devolve altura: topo, cards e filas viram uma faixa
   de leitura rápida, mantendo todos os números e acessos. */
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-cab-topo{margin-bottom:6px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-sub{display:none}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-faixa{margin-bottom:7px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-cards{gap:7px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card{
  padding:7px 29px 7px 11px;border-radius:10px;min-height:51px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-rot{font-size:11.5px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-val{
  display:inline;font-size:20px;margin:0 5px 0 0}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-sub{
  display:inline;font-size:10.5px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-ic{
  width:30px;height:30px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-ic svg{
  width:15px;height:15px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-card-seta{
  right:7px;bottom:6px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-rodape{
  flex-wrap:nowrap;overflow-x:auto;margin-top:6px;padding-top:6px;scrollbar-width:none}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-pe{
  padding:4px 9px;font-size:11px;flex:none}

/* Compositor de mídia. Só aparece depois de uma escolha explícita. */
.rel-comp .rel-txt{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation}
.rel-midia-area{margin-top:8px;flex:none}
.rel-midia-preview,.rel-gravacao{display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:8px;padding:9px;border:1px solid #ddd4ef;border-radius:11px;
  background:#faf8ff;color:var(--tinta)}
.rel-midia-preview.enviando{opacity:.72}
.rel-midia-preview.bloqueada{border-color:#e7c36e;background:#fffaf0}
.rel-midia-preview.bloqueada #rel-midia-status{color:#8a6411;font-weight:600}
.rel-midia-imagem{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--linha)}
.rel-midia-audio{width:min(250px,42vw);height:38px}
.rel-midia-doc{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;
  background:#eee8fb;color:var(--magenta-2)}
.rel-midia-doc svg{width:21px;height:21px}
.rel-midia-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.rel-midia-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.rel-midia-info small{font-size:10.5px;color:var(--cinza)}
.rel-midia-legenda{grid-column:1/-1;display:grid;gap:4px}
.rel-midia-legenda span{font-size:10px;font-weight:700;color:var(--cinza);
  text-transform:uppercase;letter-spacing:.35px}
.rel-midia-legenda input{width:100%;padding:7px 9px;border:1px solid var(--linha);
  border-radius:8px;background:#fff;color:var(--tinta);font:12px/1.3 inherit}
.rel-midia-legenda input:focus{outline:2px solid var(--magenta);outline-offset:-1px}
.rel-midia-acoes{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.rel-midia-acoes small{flex:1;min-width:0;color:var(--cinza);font-size:10.5px}
.rel-midia-acoes .rel-enviar{padding:7px 12px;font-size:12px}
.rel-gravacao{display:flex;flex-wrap:wrap;background:#fff7f7;border-color:#f1cccc}
.rel-gravacao.preparando{background:#faf8ff;border-color:#ddd4ef}
.rel-gravacao-ponto{width:10px;height:10px;border-radius:50%;background:#d83b3b;
  box-shadow:0 0 0 5px rgba(216,59,59,.11);animation:rel-gravando 1.2s ease-in-out infinite}
.rel-gravacao.preparando .rel-gravacao-ponto{background:var(--magenta);animation:none}
.rel-gravacao-tempo{font:700 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#a42e2e;font-variant-numeric:tabular-nums}
@keyframes rel-gravando{50%{opacity:.45;transform:scale(.8)}}

@media(max-width:1500px){
  .pane[data-view="relacionamento"] .rel-grade{grid-template-columns:228px 284px minmax(0,1fr)}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{
    grid-template-columns:48px 284px minmax(0,1fr)}
}
@media(max-width:1150px){
  .rel-cab-topo{align-items:center}
  .rel-utilitario span{display:none}
  .rel-utilitario{width:34px;justify-content:center;padding:7px}
  .pane[data-view="relacionamento"] .rel-grade{grid-template-columns:1fr 1fr;height:auto}
  .pane[data-view="relacionamento"] #rel-conversa{grid-column:1/3}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{
    grid-template-columns:48px minmax(0,1fr);height:auto}
}
@media(max-width:760px){
  .pane[data-view="relacionamento"] .rel-grade,
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{
    grid-template-columns:1fr;height:auto}
  .pane[data-view="relacionamento"] #rel-conversa{grid-column:auto}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-filtros{
    min-height:46px;max-height:46px}
}
@media(max-width:900px){
  .rel-cab-topo{align-items:stretch;flex-direction:column;gap:7px}
  .rel-utilitarios{justify-content:flex-start}
  .rel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1080px){
  .operacao-nav{align-items:flex-start;flex-direction:column;gap:8px}
  .operacao-abas{width:100%}
  .pane[data-view="relacionamento"] .rel-grade{height:auto}
  .rel-cards>.rel-skeleton{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  #view{padding:12px}
  .operacao-marca{min-width:0}
  .operacao-marca small{white-space:normal}
  .operacao-nav{border-radius:12px;padding:10px}
  .rel-cab-topo{flex-direction:column;align-items:stretch}
  .rel-topo-acoes{justify-content:space-between}
  .rel-canal{align-items:flex-start;min-width:0}
  .rel-utilitarios .rel-canal small{display:none}
  .rel-cards{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;
    overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}
  .rel-cards::-webkit-scrollbar{display:none}
  .rel-card{flex:0 0 min(78vw,250px);scroll-snap-align:start}
  .rel-cards>.rel-skeleton{grid-template-columns:1fr}
  .rel-faixa-bts{width:100%}
  .rel-faixa-bts .rel-bt-linha{flex:1;justify-content:center}
  .pane[data-view="relacionamento"] .rel-grade{grid-template-columns:1fr}
  .pane[data-view="relacionamento"] #rel-conversa{grid-column:auto}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{
    grid-template-columns:1fr;height:auto}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos #rel-filtros{
    min-height:46px;max-height:46px}
  .rel-cab{flex-wrap:wrap}.rel-cab-txt{min-width:180px}
  .rel-cab-bts{width:100%;justify-content:flex-start;padding-left:55px}
  .rel-balao{max-width:91%}
  .rel-comp-identidade{align-items:flex-start;flex-direction:column;gap:2px}
  .rel-finalizada-aviso{align-items:flex-start;flex-direction:column}
  .rel-midia-preview,.rel-gravacao{gap:7px}
  .rel-midia-audio{grid-column:1/3;width:100%}
  .rel-midia-acoes{align-items:stretch;flex-direction:column}
  .rel-midia-acoes .rel-enviar{justify-content:center;width:100%}
  .pane[data-view="relacionamento"] #rel-conversa{height:calc(100vh - 110px);
    min-height:520px;max-height:none}
  .pane[data-view="relacionamento"] #rel-contexto{top:64px;right:8px;bottom:42px;
    width:calc(100vw - 16px)}
  .fin-nav-shell{grid-template-columns:30px minmax(0,1fr) 30px}
  th,td{padding:9px 10px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;
    animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* CLIENTES: painel inteligente da base. Todo o bloco e isolado por cli- para
   nao alterar tabelas, cards ou botoes das demais telas. */
.cli-page{--cli-purple:#7138e8;--cli-purple-2:#8b5cf6;--cli-ink:#202536;
  --cli-muted:#687086;--cli-line:#e6e8ef;--cli-soft:#f7f7fb;color:var(--cli-ink);
  width:100%;max-width:1900px;margin:0 auto;padding:2px 0 18px}
.cli-page *{box-sizing:border-box}
.cli-page button,.cli-page input,.cli-page select{font:inherit}
.cli-page button{cursor:pointer}
.cli-page button:focus-visible,.cli-page input:focus-visible,.cli-page select:focus-visible{
  outline:3px solid rgba(124,58,237,.18);outline-offset:1px}
.cli-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px}
.cli-head h2{font-size:24px;line-height:1.15;margin:0;color:#202536;letter-spacing:-.025em}
.cli-head p{margin:5px 0 0;color:var(--cli-muted);font-size:13px}
.cli-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cli-btn{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid transparent;border-radius:9px;padding:8px 14px;font-weight:700;font-size:12.5px;
  transition:transform .14s,box-shadow .14s,border-color .14s,background .14s}
.cli-btn:hover{transform:translateY(-1px)}
.cli-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.cli-btn-primary{color:#fff;background:linear-gradient(135deg,#8146ef,#6c2dde);
  box-shadow:0 5px 13px rgba(113,56,232,.2)}
.cli-btn-primary:hover{box-shadow:0 7px 17px rgba(113,56,232,.28)}
.cli-btn-secondary{color:#6530cb;background:#fff;border-color:#dcd4ec}
.cli-btn-secondary:hover{background:#f9f7ff;border-color:#bda9e8}

.cli-kpis{display:grid;grid-template-columns:repeat(6,minmax(155px,1fr));gap:11px;margin-bottom:13px}
.cli-kpi{position:relative;min-height:98px;display:grid;grid-template-columns:48px minmax(0,1fr) 12px;
  align-items:center;gap:10px;text-align:left;padding:13px;border:1px solid var(--cli-line);border-radius:13px;
  color:var(--cli-ink);background:#fff;box-shadow:0 2px 9px rgba(30,35,55,.045);
  transition:transform .14s,border-color .14s,box-shadow .14s,background .14s}
.cli-kpi:hover{transform:translateY(-2px);border-color:#cdbdec;box-shadow:0 7px 18px rgba(40,30,70,.09)}
.cli-kpi.cli-active{border-color:#8b5cf6;background:linear-gradient(145deg,#fbf9ff,#fff);
  box-shadow:0 0 0 2px rgba(124,58,237,.09),0 8px 18px rgba(65,38,120,.1)}
.cli-kpi-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;
  color:#7440d9;background:#f0e9ff}
.cli-kpi-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.cli-kpi-novos .cli-kpi-icon{color:#178b50;background:#e8f7ec}
.cli-kpi-ativos .cli-kpi-icon{color:#1674d1;background:#e9f2ff}
.cli-kpi-inativos .cli-kpi-icon{color:#d47a15;background:#fff1e4}
.cli-kpi-incompletos .cli-kpi-icon{color:#8b35dd;background:#f3e9ff}
.cli-kpi-duplicados .cli-kpi-icon{color:#e34d4d;background:#fff0ef}
.cli-kpi-copy{display:flex;min-width:0;flex-direction:column}
.cli-kpi-label{font-size:11.5px;color:#687086;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cli-kpi-copy strong{margin:1px 0;font-size:21px;line-height:1.1;letter-spacing:-.02em}
.cli-kpi-copy small{font-size:10.5px;color:#81889a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cli-kpi-arrow{font-size:23px;color:#82889a;line-height:1}

.cli-panel{border:1px solid var(--cli-line);border-radius:13px;background:#fff;
  box-shadow:0 2px 9px rgba(30,35,55,.045)}
.cli-analytics{display:grid;grid-template-columns:minmax(390px,1.55fr) minmax(245px,.9fr)
  minmax(260px,.95fr) minmax(280px,.95fr);gap:11px;margin-bottom:13px}
.cli-analytics>.cli-panel{min-height:294px;padding:14px 15px;overflow:hidden}
.cli-report-panel{margin-bottom:13px;padding:12px 14px 14px}
.cli-report-head{display:flex;align-items:center;gap:10px;width:100%;padding:0 0 10px;
  border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.cli-report-seta{font-size:13px;color:#7a8193;line-height:1}
.cli-report-copy{display:flex;min-width:0;flex-direction:column;flex:1}
.cli-report-copy strong{font-size:13.5px;line-height:1.25;color:#242a3a}
.cli-report-copy small{font-size:10.5px;line-height:1.25;margin-top:2px;color:#7a8193;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cli-report-acao{font-size:11px;color:#6b4ee6;white-space:nowrap}
.cli-report-panel .cli-analytics{margin-bottom:0}
.cli-report-fechado{padding-bottom:12px}
.cli-report-fechado .cli-report-head{padding-bottom:0}
.cli-report-fechado .cli-analytics{display:none}
.cli-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}
.cli-panel-head h3{font-size:13.5px;line-height:1.25;margin:0;color:#242a3a}
.cli-panel-head p{font-size:10.5px;line-height:1.25;margin:2px 0 0;color:#7a8193}
.cli-panel-head select{min-height:31px;max-width:145px;border:1px solid #dfe2e9;border-radius:7px;
  padding:5px 25px 5px 8px;color:#4e5566;background:#fff;font-size:11px}
.cli-chart-legend{display:flex;align-items:center;gap:14px;margin:4px 0 0;color:#737a8d;font-size:10px}
.cli-chart-legend span{display:inline-flex;align-items:center;gap:5px}
.cli-chart-legend span:before{content:"";width:13px;height:3px;border-radius:3px;background:#7c3aed}
.cli-chart-legend .cli-legend-new:before{height:8px;background:#a78bfa}
.cli-chart-legend .cli-chart-compare{margin-left:auto;color:#5e6575}.cli-chart-legend .cli-chart-compare:before{display:none}
.cli-growth-svg{display:block;width:100%;height:190px;margin-top:2px;overflow:visible}
.cli-grid-line{stroke:#eceef3;stroke-width:1}
.cli-growth-bar{fill:url(#cli-bar-gradient);fill:#a78bfa;transition:fill .12s,opacity .12s}
.cli-growth-hit{fill:transparent;cursor:pointer}
.cli-growth-month:hover .cli-growth-bar,.cli-growth-month:focus .cli-growth-bar{fill:#7138e8}
.cli-growth-month:focus{outline:none}.cli-growth-month:focus .cli-growth-hit{stroke:#7138e8;stroke-width:2;stroke-dasharray:4 3}
.cli-growth-line{fill:none;stroke:#7138e8;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;
  pointer-events:none;filter:drop-shadow(0 2px 2px rgba(113,56,232,.16))}
.cli-growth-dot{fill:#fff;stroke:#7138e8;stroke-width:2;pointer-events:none}
.cli-axis-label{fill:#687086;font-size:10px;font-weight:650;text-transform:capitalize}
.cli-axis-year{fill:#a0a5b2;font-size:8px}
.cli-empty-chart{height:210px;display:grid;place-items:center;color:#7b8292;font-size:12px}
.cli-data-note{margin:2px 0 0;color:#858b99;font-size:9.5px;line-height:1.35}

.cli-age-list{display:flex;flex-direction:column;gap:6px;margin-top:11px}
.cli-age-row{display:grid;grid-template-columns:78px minmax(50px,1fr) 34px 34px;align-items:center;
  gap:6px;width:100%;min-height:31px;border:0;border-radius:7px;padding:3px 5px;color:#555d70;
  background:transparent;text-align:left;font-size:10.5px;transition:background .12s,color .12s}
.cli-age-row:hover,.cli-age-row.cli-active{color:#6527cb;background:#f6f1ff}
.cli-age-row>span:first-child{white-space:nowrap}
.cli-age-track{height:8px;overflow:hidden;border-radius:5px;background:#f0edf6}
.cli-age-track i{display:block;height:100%;min-width:1px;border-radius:5px;
  background:linear-gradient(90deg,#8b5cf6,#a875f6);transition:width .25s}
.cli-age-row b{text-align:right;font-size:10.5px;color:#4c5364}
.cli-age-row small{text-align:right;color:#8a90a0;font-size:9.5px}

.cli-city-list{list-style:none;margin:8px 0 6px;padding:0;display:flex;flex-direction:column;gap:2px}
.cli-city-list li{margin:0}
.cli-city-row{display:grid;grid-template-columns:25px minmax(0,1fr) 42px 32px;align-items:center;
  gap:5px;width:100%;min-height:34px;border:0;border-radius:7px;padding:3px 5px;color:#565d6d;
  background:transparent;text-align:left;font-size:10.5px}
button.cli-city-row:hover,button.cli-city-row.cli-active{color:#6527cb;background:#f6f1ff}
.cli-city-row.cli-other{cursor:default}
.cli-rank{width:21px;height:21px;display:grid;place-items:center;border-radius:7px;color:#707789;background:#f4f5f8;font-size:9px}
.cli-city-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.cli-city-row b{text-align:right;font-size:10.5px}
.cli-city-row small{text-align:right;color:#9196a5;font-size:9.5px}
.cli-link{border:0;padding:5px 4px;color:#7534da;background:transparent;font-size:10.5px;font-weight:700}
.cli-link:hover{text-decoration:underline}

.cli-health-body{display:grid;grid-template-columns:105px minmax(130px,1fr);align-items:center;gap:9px;margin-top:6px}
.cli-donut{width:101px;height:101px;display:grid;place-items:center;border-radius:50%;
  background:conic-gradient(#7138e8 var(--cli-value),#eeeaf6 0);position:relative}
.cli-donut:after{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}
.cli-donut>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.cli-donut strong{font-size:21px;line-height:1;color:#3e4352}
.cli-donut span{margin-top:4px;color:#858b99;font-size:8.5px}
.cli-health-list{display:flex;flex-direction:column;gap:1px}
.cli-health-list button{display:grid;grid-template-columns:8px minmax(0,1fr) 29px;align-items:center;
  gap:5px;min-height:27px;border:0;border-radius:6px;padding:2px 4px;color:#666d7d;background:transparent;text-align:left;font-size:9.5px}
.cli-health-list button:hover,.cli-health-list button.cli-active{color:#6424c9;background:#f7f2ff}
.cli-health-list button b{text-align:right;font-size:10px}
.cli-health-dot{width:6px;height:6px;border-radius:50%;background:#8b5cf6}
.cli-health-dot-1{background:#ed5cac}.cli-health-dot-2{background:#f2b84b}.cli-health-dot-3{background:#f08a46}
.cli-health-dot-4{background:#39a7b8}.cli-health-dot-5{background:#ef5a5a}
.cli-health-foot{margin:8px 0 0;padding-top:7px;border-top:1px solid #eef0f4;color:#24905a;font-size:9.5px}
/* só a colocação na grade: os dois painéis de ticket ocupam meia linha cada.
   Cores, cabeçalho e espaçamento são os mesmos dos painéis de cima. */
.cli-ticket-panel{grid-column:span 2}

.cli-filter-panel{padding:12px 14px;margin-bottom:11px}
.cli-search-row{display:flex;align-items:center;gap:9px}
.cli-search{height:40px;display:flex;align-items:center;gap:8px;flex:1;min-width:240px;border:1px solid #dfe2e9;
  border-radius:9px;padding:0 11px;color:#858b99;background:#fff;transition:border-color .14s,box-shadow .14s}
.cli-search:focus-within{border-color:#9f7aea;box-shadow:0 0 0 3px rgba(124,58,237,.09)}
.cli-search svg,.cli-modal-search svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.cli-search input{width:100%;height:36px;border:0!important;outline:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;font-size:12.5px}
.cli-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr)) auto;align-items:end;gap:9px;margin-top:10px}
.cli-filter-grid>label,.cli-custom-dates label{display:flex;min-width:0;flex-direction:column;gap:4px}
.cli-filter-grid label>span,.cli-custom-dates label>span{color:#636a7b;font-size:9.5px;font-weight:700}
.cli-filter-grid select,.cli-custom-dates input{width:100%;height:35px;border:1px solid #dfe2e9;border-radius:8px;
  padding:6px 9px;color:#4f5667;background:#fff;font-size:11px}
.cli-custom-dates{display:none;grid-template-columns:130px 130px;gap:7px}
.cli-custom-dates.cli-visible{display:grid}
.cli-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:27px;margin-top:9px}
.cli-chips button{display:inline-flex;align-items:center;gap:6px;min-height:25px;border:0;border-radius:7px;
  padding:3px 8px;color:#6530c9;background:#f0e9ff;font-size:10px;font-weight:650}
.cli-chips button:hover{background:#e5d7ff}
.cli-chips button b{font-size:14px;line-height:1}
.cli-chips .cli-clear-chips{color:#7138e8;background:transparent}
.cli-no-filter{color:#9297a5;font-size:10px}

.cli-list-panel{padding:0;overflow:hidden}
.cli-table-wrap{width:100%;overflow:auto;transition:opacity .12s}
.cli-table-wrap.cli-loading-state{opacity:.52;pointer-events:none}
.cli-table{width:100%;min-width:1110px;border-collapse:separate;border-spacing:0}
.cli-table th{height:37px;padding:8px 12px;border-bottom:1px solid #e6e8ef;color:#6c7385;background:#fafafd;
  text-align:left;font-size:9.5px;font-weight:750;text-transform:none;white-space:nowrap}
.cli-table td{height:58px;padding:7px 12px;border-bottom:1px solid #eceef3;color:#4b5262;font-size:10.5px;vertical-align:middle}
.cli-table tbody tr{transition:background .12s}
.cli-table tbody tr[data-row-client]{cursor:pointer}
.cli-table tbody tr[data-row-client]:hover{background:#fbf9ff}
.cli-table tbody tr:last-child td{border-bottom:0}
.cli-client{display:flex;align-items:center;gap:9px;min-width:205px}
.cli-avatar{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:50%;font-size:9.5px;font-weight:800}
.cli-avatar-lilas{color:#7034d5;background:#eee5ff}.cli-avatar-azul{color:#2a73bd;background:#e5f1ff}
.cli-avatar-verde{color:#278354;background:#e2f5e9}.cli-avatar-laranja{color:#bd6d23;background:#fff0df}
.cli-avatar-rosa{color:#be4e81;background:#ffe6f1}
.cli-client>div{display:flex;min-width:0;flex-direction:column}
.cli-client strong{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#303545;font-size:10.8px}
.cli-client small{margin-top:2px;color:#979cab;font-size:8.5px}
.cli-contact{display:flex;min-width:145px;flex-direction:column;gap:2px;white-space:nowrap}
.cli-contact small{max-width:180px;overflow:hidden;text-overflow:ellipsis;color:#878d9d;font-size:9.5px}
.cli-muted{color:#9ba0ad;font-size:9.5px}
.cli-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:9.5px;font-weight:700}
.cli-status i{width:6px;height:6px;border-radius:50%}
.cli-status-ativo{color:#23854f;background:#e8f7eb}.cli-status-ativo i{background:#2da662}
.cli-status-inativo{color:#747b8b;background:#f0f1f4}.cli-status-inativo i{background:#a0a5b0}
.cli-status-lead{color:#6d3ac4;background:#f0e9ff}.cli-status-lead i{background:#8b5cf6}
.cli-quality{display:flex;align-items:center;gap:7px;min-width:105px}
.cli-quality>span{width:65px;height:5px;overflow:hidden;border-radius:5px;background:#eceef2}
.cli-quality>span i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#42aa67,#89bf36)}
.cli-quality b{width:30px;color:#5c6373;font-size:9.5px}
.cli-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}
.cli-row-actions button{height:30px;display:inline-flex;align-items:center;gap:4px;border:1px solid #ded7ec;
  border-radius:7px;padding:4px 7px;color:#7138d7;background:#fff;font-size:9.5px;font-weight:700}
.cli-row-actions button:hover{border-color:#a98ce1;background:#f8f4ff}
.cli-row-actions button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.cli-row-actions .cli-more{width:29px;padding:4px;justify-content:center;border-color:transparent;color:#5f6676}
.cli-empty{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center}
.cli-empty>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#7b45dd;background:#f0e9ff}
.cli-empty>span svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.cli-empty strong{margin-top:10px;color:#363c4c;font-size:13px}.cli-empty p{margin:4px 0 12px;color:#858b99;font-size:11px}

.cli-list-panel>#cli-paginacao{min-height:49px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:8px 12px;border-top:1px solid #e8eaf0;background:#fcfcfe;transition:opacity .12s}
.cli-list-panel>#cli-paginacao.cli-loading-state{opacity:.5;pointer-events:none}
.cli-page-info{color:#7b8191;font-size:10.5px}.cli-page-info b{color:#4a5161}
.cli-page-controls{display:flex;align-items:center;gap:4px}
.cli-page-controls button{min-width:29px;height:29px;border:1px solid #e0e3e9;border-radius:7px;color:#62697a;background:#fff;font-size:10.5px}
.cli-page-controls button:hover:not(:disabled),.cli-page-controls button.cli-active{border-color:#7740de;color:#fff;background:#7740de}
.cli-page-controls button:disabled{cursor:not-allowed;opacity:.35}
.cli-page-controls>span{padding:0 3px;color:#969baa;font-size:10px}
.cli-page-controls select{height:31px;margin-left:5px;border:1px solid #dde0e7;border-radius:7px;padding:5px 24px 5px 8px;color:#596071;background:#fff;font-size:10px}
.cli-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:9px;color:#7b8191;font-size:11px}
.cli-loading span{width:17px;height:17px;border:2px solid #e0d7f4;border-top-color:#7138e8;border-radius:50%;animation:cli-spin .75s linear infinite}
.cli-load-error{grid-column:1/-1;min-height:150px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8b4050;font-size:12px}
.cli-load-error button{border:1px solid #dbcbe8;border-radius:7px;padding:6px 9px;color:#6f35cf;background:#fff;font-weight:700}
.cli-fatal{max-width:560px;margin:50px auto;padding:24px;text-align:center}
.cli-skeleton{border-color:transparent;background:linear-gradient(100deg,#f1f2f5 18%,#fafafd 38%,#f1f2f5 58%);background-size:220% 100%;animation:cli-shimmer 1.3s infinite linear}
.cli-skeleton-panel{min-height:294px}
.cli-analytics.cli-loading-state{opacity:.56;pointer-events:none}

.cli-modal-search{height:38px;display:flex;align-items:center;gap:7px;border:1px solid #dfe2e9;border-radius:8px;padding:0 10px;color:#848a99}
.cli-modal-search input{width:100%;height:34px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important}
.cli-modal-cities{max-height:360px;overflow:auto;margin-top:10px;border:1px solid #e7e8ed;border-radius:9px}
.cli-modal-cities button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #eceef2;padding:9px 11px;color:#4e5565;background:#fff;text-align:left;font-size:12px}
.cli-modal-cities button:last-child{border-bottom:0}.cli-modal-cities button:hover{color:#6d2fd5;background:#f8f5ff}
.cli-more-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cli-more-menu button{display:flex;align-items:flex-start;flex-direction:column;gap:3px;border:1px solid #e1dbea;border-radius:10px;padding:12px;color:#4c5363;background:#fff;text-align:left;font-weight:750}
.cli-more-menu button:hover{border-color:#a98ce1;color:#672bcf;background:#faf7ff}
.cli-more-menu button span{color:#858b99;font-size:10px;font-weight:500}

@keyframes cli-spin{to{transform:rotate(360deg)}}
@keyframes cli-shimmer{to{background-position-x:-220%}}

@media(max-width:1500px){
  .cli-kpis{grid-template-columns:repeat(3,1fr)}
  .cli-analytics{grid-template-columns:minmax(430px,1.45fr) minmax(250px,.9fr) minmax(270px,1fr)}
  .cli-health-panel{grid-column:span 1}
  .cli-filter-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}
}
@media(max-width:1100px){
  .cli-analytics{grid-template-columns:1.35fr 1fr}.cli-growth-panel{grid-column:1/-1}
  .cli-kpis{grid-template-columns:repeat(2,1fr)}
  .cli-row-actions button span{display:none}.cli-row-actions button{width:30px;justify-content:center;padding:4px}
  .cli-table th:last-child,.cli-table td:last-child{position:sticky;right:0;z-index:2;background:#fff;
    box-shadow:-8px 0 12px -12px rgba(31,24,52,.45)}
  .cli-table th:last-child{z-index:3;background:#fafafd}
}
@media(max-width:760px){
  .cli-head{align-items:flex-start;flex-direction:column}.cli-head-actions{width:100%}.cli-head-actions .cli-btn{flex:1}
  .cli-kpis{grid-template-columns:1fr}.cli-analytics{grid-template-columns:1fr}.cli-growth-panel{grid-column:auto}
  .cli-ticket-panel{grid-column:auto}
  .cli-filter-grid{grid-template-columns:1fr 1fr}.cli-search-row{align-items:stretch;flex-wrap:wrap}.cli-search{flex-basis:100%}
  .cli-custom-dates{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .cli-list-panel>#cli-paginacao{align-items:flex-start;flex-direction:column}.cli-page-controls{width:100%;overflow-x:auto}
  .cli-more-menu{grid-template-columns:1fr}
  .cli-chart-legend{align-items:flex-start;flex-wrap:wrap}.cli-chart-legend .cli-chart-compare{width:100%;margin-left:0}
  .cli-search input,.cli-filter-grid select,.cli-custom-dates input,.cli-page-controls select,.cli-modal-search input,.cli-panel-head select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .cli-skeleton,.cli-loading span{animation:none!important}
}
/* ══════════ BLOCO CLAUDE 26/08 — caixa de procedimentos (capacidade) ══════════
   Prefixo `cap-` em tudo pra nao colidir com classe existente nem com o Codex. */
.cap-caixa{max-height:280px;overflow:auto;border:1px solid var(--linha);border-radius:10px;
  padding:8px 10px;background:#fbfcfe}
.cap-cat{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#98a0ae;
  margin:8px 0 4px;padding-top:6px;border-top:1px solid #eef1f6}
.cap-grupo:first-child .cap-cat{margin-top:0;padding-top:0;border-top:0}
.cap-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:7px;
  font-size:13px;cursor:pointer;line-height:1.35}
.cap-item:hover{background:#eef3ff}
.cap-item input{margin:0;flex:none}
.cap-item span{flex:1}
.cap-dur{font-style:normal;font-size:11px;color:#98a0ae;flex:none}
.cap-mais{display:inline-block;font-size:11px;color:#5b7bc4;background:#eef3ff;
  border-radius:6px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.cap-tudo{font-size:12px;color:#15803d;background:#dcfce7;border-radius:6px;padding:1px 7px}

/* Salas e profissionais: ações continuam inteiras no tablet, sem obrigar a
   pessoa a descobrir um botão cortado na borda da tabela. */
.cfg-cap-table{width:100%}.cfg-cap-acoes{text-align:right}.cfg-cap-acoes>div{
  display:flex;justify-content:flex-end;gap:5px;white-space:nowrap}
@media(max-width:1100px){
  .cfg-cap-table th:last-child{width:190px!important}
  .cfg-cap-acoes>div{flex-wrap:wrap;white-space:normal}
}

/* Contas a receber: os filtros antigos agora seguem o mesmo acabamento dos
   painéis novos, com rótulo separado e área clicável confortável. */
.fr-filtros>label{display:flex;min-width:122px;flex-direction:column;gap:5px;color:#667085;
  font-size:11.5px;font-weight:700}.fr-filtros>label>span{display:block}
.fr-filtros select,.fr-filtros input{height:38px;min-width:0;border:1px solid var(--linha);
  border-radius:9px;padding:0 10px;background:#fff;color:var(--tinta);font-family:inherit;
  font-size:12px;font-weight:500}
.fr-filtros label:has(#fr-base){min-width:190px}.fr-filtros .fr-cliente{min-width:210px}
.fr-filtros input:focus,.fr-filtros select:focus{outline:3px solid rgba(124,58,237,.13);
  border-color:#9a74eb}.fr-totais{align-items:center;line-height:1.4}
@media(max-width:760px){
  .fr-filtros>label{flex:1 1 145px}.fr-filtros .fr-cliente{flex-basis:100%!important}
  .fr-filtros select,.fr-filtros input{font-size:16px}
}

/* ══════════ BLOCO CLAUDE 26/08 — saneamento no Contas a Receber ══════════ */
.san-cards{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.san-card{flex:1;min-width:158px;background:#fff;border:1px solid var(--linha);border-radius:11px;
  padding:11px 13px;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.san-card:hover{border-color:#c7d4ee;box-shadow:0 2px 8px rgba(37,99,235,.07)}
.san-card.on{border-color:#2563eb;box-shadow:0 0 0 2px #dbe4f7 inset}
.san-card b{display:block;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}
.san-card span{display:block;font-size:11.5px;color:var(--cinza);margin-top:2px}
.san-card i{display:block;font-style:normal;font-size:12.5px;color:#1e40af;margin-top:4px;
  font-variant-numeric:tabular-nums}
.san-card.alerta b{color:#b91c1c}
.san-card.alerta i{color:#b91c1c}
.san-card.atencao{border-color:#bfdbfe;background:linear-gradient(145deg,#fff,#eff6ff)}
.san-card.atencao b,.san-card.atencao i{color:#1d4ed8}
.san-cl{font-size:11px;border-radius:6px;padding:1px 7px;white-space:nowrap}
.san-cl.critico{background:#fee2e2;color:#b91c1c}
.san-cl.atencao{background:#fef3c7;color:#92400e}
.san-cl.regular{background:#dcfce7;color:#15803d}
.san-cl.suspenso{background:#e5e7eb;color:#4b5563}
.san-razao{font-size:11px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;
  border-radius:6px;padding:2px 7px;margin-top:3px;display:inline-block}
.san-tres-finais{margin-top:4px;padding:3px 6px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:750;white-space:nowrap}
.san-tab{width:100%;border-collapse:collapse}
.san-tab td,.san-tab th{font-variant-numeric:tabular-nums}
.san-num{text-align:right;font-variant-numeric:tabular-nums}

/* =====================================================================
   LOTE VISUAL OPERACIONAL 26/08
   Base compartilhada por Recepção, Painel do Dia e Atendente. O prefixo
   opsv mantém o acabamento isolado das telas financeiras e comerciais.
   ===================================================================== */
.opsv-page{--opsv-roxo:#7138e8;--opsv-roxo-2:#5e2bc5;--opsv-ink:#202536;
  --opsv-muted:#687086;--opsv-line:#e6e8ef;--opsv-soft:#f6f7fb;
  width:100%;max-width:1900px;margin:0 auto 20px;color:var(--opsv-ink)}
.opsv-page *{box-sizing:border-box}
.opsv-icone{width:18px;height:18px;display:block;flex:none}
.opsv-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  margin:0 0 15px;padding:2px 1px}
.opsv-sobretitulo{display:block;margin-bottom:4px;color:#7741d9;font-size:11px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase}
.opsv-cabecalho h1{margin:0;color:#202536;font-size:25px;line-height:1.15;letter-spacing:-.035em}
.opsv-cabecalho p{margin:5px 0 0;color:var(--opsv-muted);font-size:13px;line-height:1.45}
.opsv-cabecalho-acoes{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.opsv-btn-icone{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  min-height:34px;text-decoration:none;white-space:nowrap}
.opsv-btn-icone .opsv-icone{width:15px;height:15px}
.opsv-sincronia{min-height:38px;display:flex;align-items:center;gap:9px;padding:5px 11px;
  border:1px solid #dfe7e2;border-radius:10px;background:#fbfefc}
.opsv-sincronia>i{width:8px;height:8px;border-radius:50%;background:#22a75a;
  box-shadow:0 0 0 4px rgba(34,167,90,.1)}
.opsv-sincronia>div{display:flex;flex-direction:column;line-height:1.2}
.opsv-sincronia b{font-size:11.5px;color:#237a48}.opsv-sincronia b.erro{color:#b63c3c}
.opsv-sincronia span{font-size:9.5px;color:#82908a;margin-top:2px}
.opsv-barra-filtros{min-height:62px;display:flex;align-items:center;justify-content:space-between;
  gap:14px;margin-bottom:12px;padding:10px 12px;background:#fff;border:1px solid var(--opsv-line);
  border-radius:13px;box-shadow:0 2px 9px rgba(28,31,45,.035)}
.opsv-data{display:flex;align-items:center;gap:7px;min-width:0}
.opsv-data label{display:flex;flex-direction:column;gap:2px;color:#7a8192;font-size:9.5px;
  font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.opsv-data input{height:34px;min-width:142px;border:0;padding:0;color:#262c3a;background:transparent;
  font:700 13px/1 inherit;outline:0}
.opsv-data>b{margin-left:5px;color:#5f6678;font-size:12px;text-transform:capitalize}
.opsv-seta{width:32px;height:32px;display:grid;place-items:center;border:1px solid #e2dcef;
  border-radius:9px;background:#fff;color:#6a32ce;font-size:20px;line-height:1}
.opsv-seta:hover{background:#f5f1fd;border-color:#c8b7ea}
.opsv-busca{position:relative;min-width:280px;max-width:430px;flex:1;display:flex;align-items:center;
  gap:8px;padding:0 11px;border:1px solid #e2e4eb;border-radius:10px;background:#f9fafc}
.opsv-busca>.opsv-icone{width:16px;color:#7a8292}
.opsv-busca input{width:100%;height:38px;min-width:0;border:0;outline:0;background:transparent;
  color:#252b39;font-size:12.5px}
.opsv-busca span{color:#7a8292;font-size:10.5px;white-space:nowrap}
.rec-somente-leitura{justify-self:end;color:#8a90a0;font-size:10.5px;font-weight:700;white-space:nowrap}
.opsv-busca:focus-within{border-color:#9670e4;background:#fff;box-shadow:0 0 0 3px rgba(124,58,237,.09)}
.opsv-kpis{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.ch-palco{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:14px;align-items:start;min-width:0}
.ch-palco>*,.ch-palco>div>.card{min-width:0}
.ch-palco>div:last-child .card{overflow:auto}
@media(max-width:900px){
  .ch-palco{grid-template-columns:minmax(0,1fr)}
  .ch-palco .row{flex-wrap:wrap}
  .ch-palco .btn{max-width:100%;white-space:normal}
  .ch-palco>div:last-child .card{overflow-x:auto}
  .ch-palco>div:last-child table{min-width:520px}
}
.opsv-kpi{min-height:91px;display:flex;align-items:center;gap:12px;padding:13px 14px;background:#fff;
  border:1px solid var(--opsv-line);border-radius:13px;box-shadow:0 2px 9px rgba(30,35,55,.04)}
.opsv-kpi-icone{width:43px;height:43px;display:grid;place-items:center;flex:none;border-radius:12px;
  color:#7040d2;background:#f0e9ff}
.opsv-kpi-icone .opsv-icone{width:22px;height:22px}
.opsv-kpi>div{display:flex;min-width:0;flex-direction:column}
.opsv-kpi b{font-size:24px;line-height:1;color:#272d3b;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.opsv-kpi span:not(.opsv-kpi-icone){margin-top:5px;color:#343b4a;font-size:12px;font-weight:750}
.opsv-kpi small{margin-top:2px;color:#81889a;font-size:9.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opsv-kpi.azul .opsv-kpi-icone{color:#1971c8;background:#e8f2ff}
.opsv-kpi.verde .opsv-kpi-icone{color:#1c914f;background:#e8f7ed}
.opsv-kpi.laranja .opsv-kpi-icone{color:#c77616;background:#fff1df}
.opsv-kpi.violeta .opsv-kpi-icone{color:#a13bad;background:#f7eafa}
.opsv-painel{min-width:0;background:#fff;border:1px solid var(--opsv-line);border-radius:14px;
  box-shadow:0 2px 10px rgba(30,35,55,.045);overflow:hidden}
.opsv-painel-cab{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-bottom:1px solid #eceef3;background:linear-gradient(180deg,#fff,#fdfdfe)}
.opsv-painel-cab>div{display:flex;align-items:center;gap:10px;min-width:0}
.opsv-painel-cab h2{margin:0;color:#282e3c;font-size:13.5px;line-height:1.25}
.opsv-painel-cab p{margin:3px 0 0;color:#7b8293;font-size:10.5px;line-height:1.35}
.opsv-painel-cab.compacto{min-height:60px;padding:10px 12px}
.opsv-painel-icone{width:35px;height:35px;display:grid;place-items:center;flex:none;border-radius:10px;
  color:#6b34cc;background:#f1ebfc}
.opsv-painel-icone .opsv-icone{width:18px;height:18px}
.opsv-painel-icone.azul{color:#176ab8;background:#e9f3ff}
.opsv-painel-icone.alerta{color:#bd6b13;background:#fff0dc}
.opsv-painel-icone.violeta{color:#9840a5;background:#f7eafa}
.opsv-contador{min-width:29px;height:26px;display:grid;place-items:center;padding:0 8px;border-radius:999px;
  color:#6630c3;background:#f0eafd;font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums}
.opsv-estado-vazio{min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;
  gap:5px;padding:25px;text-align:center;color:#858c9c}
.opsv-estado-vazio>.opsv-icone{width:28px;height:28px;margin-bottom:4px;color:#8e6ed2}
.opsv-estado-vazio b{color:#4b5262;font-size:12.5px}.opsv-estado-vazio span{font-size:11px}
.opsv-estado-vazio.compacto{min-height:115px;padding:18px}.opsv-estado-erro{min-height:320px}
.opsv-filtrado{display:none!important}

/* Recepção */
.rec-status-operacao{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.rec-status-item{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;
  border:1px solid #dce8f5;background:#f7fbff;color:#32618b}
.rec-status-item.alerta{border-color:#eddda9;background:#fffaf0;color:#765e18}
.rec-status-item>.opsv-icone{width:19px;height:19px}.rec-status-item>div{display:flex;min-width:0;flex:1;flex-direction:column}
.rec-status-item b{font-size:11.5px}.rec-status-item span{margin-top:2px;font-size:10.5px;line-height:1.35}
.rec-grade{display:grid;grid-template-columns:minmax(540px,1.55fr) minmax(360px,.8fr);gap:12px;align-items:start}
.rec-grade-recepcao{grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-coluna{display:grid;gap:12px;min-width:0}
.rec-fila-lista{max-height:700px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.rec-fila-item{display:grid;grid-template-columns:48px 65px minmax(180px,1fr) 100px auto;align-items:center;
  gap:10px;min-height:82px;padding:11px 13px;border-bottom:1px solid #edf0f4;background:#fff;
  transition:background .12s,border-color .12s}
.rec-fila-item:last-child{border-bottom:0}.rec-fila-item:hover{background:#faf9fe}
.rec-fila-item.chamado{background:linear-gradient(90deg,#f5f0ff,#fff 55%);box-shadow:inset 3px 0 #7c3aed}
.rec-posicao{width:38px;height:44px;display:flex;align-items:center;justify-content:center;flex-direction:column;
  border-radius:10px;color:#6731c8;background:#f0eafd}
.rec-posicao b{font-size:17px;line-height:1}.rec-posicao span{margin-top:2px;font-size:8.5px;text-transform:uppercase}
.rec-horario{display:flex;flex-direction:column}.rec-horario b{font-size:16px;letter-spacing:-.02em}
.rec-horario span{margin-top:2px;color:#9096a4;font-size:9.5px}
.rec-pessoa{min-width:0;display:flex;flex-direction:column}.rec-nome{overflow:hidden;color:#242a38;font-size:12.8px;
  font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.rec-detalhe{margin-top:3px;overflow:hidden;color:#626a7a;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.rec-meta{margin-top:3px;overflow:hidden;color:#9197a6;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}
.rec-tempo{display:flex;align-items:flex-end;flex-direction:column;text-align:right}
.rec-tempo span{color:#8a91a0;font-size:9.5px}.rec-tempo b{margin-top:3px;color:#34704d;font-size:12px}
.rec-tempo.alerta b{color:#c06c16}.rec-acoes{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.rec-em-lista,.rec-agenda-lista{max-height:620px;overflow:auto;overscroll-behavior:contain}
.rec-em-lista>article{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:10px;
  min-height:90px;padding:11px 12px;border-bottom:1px solid #eef0f4}
.rec-em-lista>article:last-child{border-bottom:0}.rec-avatar{width:34px;height:34px;display:grid;place-items:center;
  border-radius:10px;color:#fff;background:linear-gradient(135deg,#5799da,#3772b2);font-size:12px;font-weight:800}
.rec-em-areas{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.rec-em-areas>span{display:flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #dbe8f4;border-radius:8px;background:#f6faff;color:#315a7f}.rec-em-areas b{font-size:9.5px}.rec-em-areas small{padding-left:5px;border-left:1px solid #cbddea;color:#63809a;font-size:8.5px;white-space:nowrap}.rec-em-tempo{display:flex;min-width:92px;align-items:flex-end;flex-direction:column}.rec-em-tempo span,.rec-em-tempo small{color:#86909f;font-size:9px}.rec-em-tempo b{margin:3px 0;color:#176ab8;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rec-em-areas>span.em_andamento{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.rec-em-areas>span.finalizado{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.rec-em-areas>span.sem_atendimento{border-color:#e5e7eb;background:#f9fafb;color:#6b7280}
.rec-em-areas>span.finalizado small{border-color:#bbf7d0;color:#15803d}
.rec-em-areas>span.sem_atendimento small{border-color:#e5e7eb;color:#6b7280}
.rec-agenda-lista{max-height:620px}.rec-agenda-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;gap:8px;min-height:76px;padding:10px 11px;border-bottom:1px solid #eef0f4}
.rec-agenda-item:last-child{border-bottom:0}.rec-agenda-hora{display:flex;flex-direction:column}.rec-agenda-hora b{font-size:13.5px}
.rec-agenda-hora span{margin-top:2px;color:#999eab;font-size:9.5px}.rec-agenda-item>.pill{justify-self:start;
  grid-column:2;font-size:9.5px;padding:2px 7px}.rec-agenda-item>.btn{grid-column:3;grid-row:1/3}
.rec-atrasos{margin-bottom:12px;border-color:#eedcb7}.rec-atrasos .opsv-painel-cab{background:#fffcf5}
.rec-atrasos-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:0}
.rec-atrasos-lista>article{display:grid;grid-template-columns:75px minmax(0,1fr) auto;align-items:center;gap:10px;
  min-height:72px;padding:10px 13px;border-right:1px solid #f0e8d7;border-bottom:1px solid #f0e8d7}
.rec-atraso-hora{display:flex;flex-direction:column}.rec-atraso-hora b{font-size:15px}.rec-atraso-hora span{color:#b56a1c;font-size:9.5px;font-weight:700}

@media(max-width:1350px){
  .rec-grade{grid-template-columns:minmax(480px,1.35fr) minmax(330px,.8fr)}
  .rec-fila-item{grid-template-columns:42px 58px minmax(160px,1fr) auto}
  .rec-tempo{display:none}.rec-acoes .btn span{display:none}.rec-acoes .btn{width:33px;padding:5px}
}
@media(max-width:1050px){
  .opsv-cabecalho{align-items:stretch;flex-direction:column;gap:10px}.opsv-cabecalho-acoes{justify-content:flex-start}
  .opsv-kpis{grid-template-columns:repeat(2,minmax(160px,1fr))}.rec-grade{grid-template-columns:1fr}
  .rec-coluna{grid-template-columns:repeat(2,minmax(0,1fr))}.rec-fila-lista{max-height:520px}
}
@media(max-width:720px){
  .opsv-barra-filtros{align-items:stretch;flex-direction:column}.opsv-data{flex-wrap:wrap}.opsv-busca{width:100%;max-width:none;min-width:0}
  .opsv-kpis{grid-template-columns:1fr 1fr}.opsv-kpi{min-height:82px;padding:11px}.opsv-kpi-icone{width:38px;height:38px}
  .opsv-kpi b{font-size:20px}.opsv-kpi small{display:none}.rec-status-operacao,.rec-coluna{grid-template-columns:1fr}
  .rec-fila-item{grid-template-columns:38px 52px minmax(0,1fr);gap:7px}.rec-acoes{grid-column:2/4;justify-content:flex-start}
  .rec-acoes .btn span{display:inline}.rec-acoes .btn{width:auto;padding:5px 9px}.rec-agenda-item{grid-template-columns:45px minmax(0,1fr)}
  .rec-agenda-item>.btn{grid-column:2;grid-row:auto;justify-self:start}.rec-atrasos-lista{grid-template-columns:1fr}
  .rec-atrasos-lista>article{grid-template-columns:66px minmax(0,1fr)}.rec-atrasos-lista .rec-acoes{grid-column:1/3}
}
@media(max-width:500px){
  .opsv-kpis{grid-template-columns:1fr}.opsv-sincronia{display:none}.opsv-cabecalho-acoes{display:grid;grid-template-columns:1fr 1fr}
  .opsv-cabecalho-acoes .btn{width:100%}.opsv-data>b{display:none}.rec-status-item{align-items:flex-start;flex-wrap:wrap}
}

/* Painel do Dia */
.dia-page{--dia-roxo:#7138e8;--dia-roxo-suave:#f3edff;--dia-verde:#18864b;
  --dia-amarelo:#ba6d0b;--dia-vermelho:#bd3d49;--dia-azul:#1971c8}
.dia-page button:disabled{cursor:wait;opacity:.62}
.dia-atualizando [data-dia-host]{cursor:progress}
.dia-atualizando [data-dia-sync]{color:#8b5bdc}
.dia-atualizando .opsv-sincronia>i{background:#8b5bdc;box-shadow:0 0 0 4px rgba(113,56,232,.11)}

.dia-filtros-topo .opsv-data{flex:1}
.dia-filtros-topo .opsv-busca{flex:0 1 470px}
.dia-filtros-topo [data-dia-hoje]{margin-left:2px}

.dia-prioridades{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);align-items:center;
  gap:14px;margin-bottom:12px;padding:12px 13px;border:1px solid #eadcf8;border-radius:14px;
  background:linear-gradient(118deg,#fbf8ff 0,#fff 64%);box-shadow:0 3px 13px rgba(74,40,119,.045)}
.dia-prioridades-titulo{display:flex;align-items:center;gap:10px;min-width:0;padding-right:13px;
  border-right:1px solid #eee4f7;color:#7b3bd4}
.dia-prioridades-titulo>.opsv-icone{width:21px;height:21px;flex:none}
.dia-prioridades-titulo>div{display:flex;min-width:0;flex-direction:column}
.dia-prioridades-titulo b{color:#3b3048;font-size:12.5px;line-height:1.25}
.dia-prioridades-titulo span{margin-top:3px;color:#84788e;font-size:10px;line-height:1.3}
.dia-prioridades-acoes{display:flex;align-items:stretch;gap:7px;min-width:0;overflow-x:auto;
  scrollbar-width:thin;scrollbar-color:#d9caef transparent}
.dia-atalho{min-width:122px;min-height:48px;display:flex;align-items:flex-start;justify-content:center;
  flex-direction:column;padding:7px 10px;border:1px solid #ded2f2;border-radius:10px;background:#fff;
  color:#6532bd;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.dia-atalho:hover{border-color:#a985e2;box-shadow:0 4px 12px rgba(83,45,137,.1);transform:translateY(-1px)}
.dia-atalho:focus-visible{outline:3px solid rgba(113,56,232,.18);outline-offset:1px}
.dia-atalho b{font-size:17px;line-height:1;font-variant-numeric:tabular-nums}
.dia-atalho span{margin-top:4px;color:#6d6575;font-size:9.8px;line-height:1.2;white-space:nowrap}
.dia-atalho.perigo{border-color:#f0cdd1;background:#fff8f8;color:var(--dia-vermelho)}
.dia-atalho.aviso{border-color:#eeddbd;background:#fffbf4;color:var(--dia-amarelo)}

.dia-alertas-gerais{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.dia-alerta-card{min-height:67px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;
  gap:10px;padding:10px 11px;border:1px solid #e5e7ed;border-radius:12px;background:#fff;
  box-shadow:0 2px 8px rgba(30,35,55,.035)}
.dia-alerta-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;
  color:#6a38c7;background:#f1ebfc}
.dia-alerta-card>span .opsv-icone{width:18px;height:18px}
.dia-alerta-card>div{display:flex;min-width:0;flex-direction:column}
.dia-alerta-card b{overflow:hidden;color:#333947;font-size:11.5px;line-height:1.3;text-overflow:ellipsis}
.dia-alerta-card small{margin-top:3px;color:#7d8493;font-size:9.8px;line-height:1.35}
.dia-alerta-card.capacidade{border-color:#d9e6f3;background:#fbfdff}
.dia-alerta-card.capacidade>span{color:#1c70bb;background:#e9f3ff}
.dia-alerta-card.contrato{border-color:#efd9d9;background:#fffafa}
.dia-alerta-card.contrato>span{color:#b84148;background:#fdeced}
.dia-aviso-falha{display:flex;align-items:center;gap:8px;margin:-2px 0 12px;padding:9px 11px;
  border:1px solid #ecdbae;border-radius:10px;background:#fffaf0;color:#7a621e;font-size:10.5px}
.dia-aviso-falha .opsv-icone{width:16px;height:16px}

.dia-page .dia-kpis{grid-template-columns:repeat(6,minmax(150px,1fr));gap:9px}
.dia-page .dia-kpi{width:100%;min-width:0;text-align:left;font:inherit;cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.dia-page .dia-kpi:hover{border-color:#cbb9ec;box-shadow:0 7px 18px rgba(46,35,68,.08);transform:translateY(-1px)}
.dia-page .dia-kpi:focus-visible{outline:3px solid rgba(113,56,232,.17);outline-offset:1px}
.dia-page .dia-kpi.neutro .opsv-kpi-icone{color:#5a6273;background:#edf0f5}
.dia-page .dia-kpi.neutro b{font-size:20px;white-space:nowrap}

.dia-layout{display:grid;grid-template-columns:minmax(710px,1fr) minmax(305px,345px);align-items:start;gap:12px}
.dia-agenda{min-height:360px}
.dia-agenda-cab{position:relative;z-index:2}
.dia-agenda-cab .dia-filtros-tabela{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.dia-filtros-tabela select{width:auto;max-width:190px;height:34px;padding:0 29px 0 9px;border:1px solid #dfe2e9;
  border-radius:9px;outline:0;background-color:#fff;color:#444b5a;font:600 10.5px/1 inherit;cursor:pointer}
.dia-filtros-tabela select:focus{border-color:#9870e0;box-shadow:0 0 0 3px rgba(113,56,232,.09)}
.dia-tabela-wrap{max-height:690px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  scrollbar-color:#cec4df #f7f7fa}
.dia-tabela{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.dia-tabela th{position:sticky;z-index:1;top:0;height:39px;padding:7px 10px;border-bottom:1px solid #e4e6ec;
  background:#f8f8fb;color:#747b8c;text-align:left;font-size:9.5px;font-weight:800;
  letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.dia-tabela th:nth-child(1){width:72px}.dia-tabela th:nth-child(2){width:22%}
.dia-tabela th:nth-child(3){width:25%}.dia-tabela th:nth-child(4){width:19%}
.dia-tabela th:nth-child(5){width:16%}.dia-tabela th:nth-child(6){width:166px;text-align:right}
.dia-tabela td{height:77px;padding:10px;border-bottom:1px solid #eceef3;background:#fff;
  color:#343a49;font-size:10.5px;vertical-align:middle;transition:background .12s}
.dia-tabela tr:last-child td{border-bottom:0}
.dia-linha:hover td{background:#fbf9ff}
.dia-linha td:first-child{box-shadow:inset 3px 0 #61b880}
.dia-linha.finalizada td{background:#fdf9f9;color:#736b70}
.dia-linha.finalizada:hover td{background:#fbf3f3}
.dia-linha.finalizada td:first-child{box-shadow:inset 3px 0 #dc8b91}
.dia-linha.sem-profissional td{background:#fffdf8}
.dia-linha.sem-profissional:hover td{background:#fff9ed}
.dia-linha.sem-profissional td:first-child{box-shadow:inset 3px 0 #e3a13b}
.dia-hora{font-variant-numeric:tabular-nums}
.dia-hora b{display:block;color:#262c39;font-size:14px;line-height:1.1;letter-spacing:-.02em}
.dia-hora span{display:block;margin-top:4px;color:#9298a5;font-size:9px}
.dia-cliente{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.dia-cliente>b{max-width:100%;overflow:hidden;color:#292f3d;font-size:11.8px;line-height:1.25;
  text-overflow:ellipsis;white-space:nowrap}
.dia-risco{padding:2px 5px;border-radius:999px;background:#fff0e9;color:#b35b34;font-size:8.5px;
  font-weight:800;line-height:1.3;white-space:nowrap}
.dia-contato{margin-top:5px;color:#777f8e;font-size:9.8px;line-height:1.25}
.dia-contato a{color:#16864b;font-weight:700;text-decoration:none}.dia-contato a:hover{text-decoration:underline}
.dia-contato .erro,.dia-profissional .erro{color:#bd3d49;font-weight:750}
.dia-servicos{display:-webkit-box;overflow:hidden;color:#3b4250;font-size:10.5px;line-height:1.35;
  -webkit-box-orient:vertical;-webkit-line-clamp:2}
.dia-valor{display:block;margin-top:4px;color:#18864b;font-size:8.8px;font-weight:750}
.dia-profissional{overflow:hidden;color:#343b49;font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.dia-sala{display:block;margin-top:4px;overflow:hidden;color:#888f9d;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dia-tabela td:nth-child(5)>.pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dia-chegou{display:flex;align-items:center;gap:3px;margin-top:5px;color:#208450;font-size:8.8px;font-weight:700}
.dia-chegou .opsv-icone{width:12px;height:12px}
.dia-acoes-linha{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.dia-acoes-linha .btn{min-height:29px;padding:5px 8px;font-size:9.5px}
.dia-acoes-linha .btn.alerta{border-color:#e4b868;background:#fff9ed;color:#9a5c0c}

.dia-lateral{position:sticky;top:8px;display:grid;gap:12px;min-width:0}
.dia-buracos,.dia-whatsapp{min-width:0}
.dia-buracos-lista,.dia-conversas-lista{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
  scrollbar-color:#d7cce8 transparent}
.dia-buracos-lista{max-height:330px}
.dia-buracos-lista>button{width:100%;min-height:61px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:9px 11px;border:0;border-bottom:1px solid #eceef3;background:#fff;color:#303644;
  text-align:left;font:inherit;cursor:pointer;transition:background .13s,padding-left .13s}
.dia-buracos-lista>button:last-child{border-bottom:0}
.dia-buracos-lista>button:hover{padding-left:14px;background:#faf8ff}
.dia-buracos-lista>button:focus-visible{position:relative;z-index:1;outline:3px solid rgba(113,56,232,.17);outline-offset:-3px}
.dia-buracos-lista>button>span{display:flex;min-width:0;flex-direction:column}
.dia-buracos-lista b{font-size:11.5px;line-height:1.2;font-variant-numeric:tabular-nums}
.dia-buracos-lista small{margin-top:4px;overflow:hidden;color:#858c9a;font-size:9.3px;text-overflow:ellipsis;white-space:nowrap}
.dia-buracos-lista em{flex:none;padding:4px 7px;border-radius:7px;background:#f0eafd;color:#6c32ca;
  font-size:8.7px;font-style:normal;font-weight:750;white-space:nowrap}
.dia-abrir-encaixe,.dia-abrir-atendente{width:calc(100% - 20px);margin:9px 10px 10px}
.dia-conversas-lista{max-height:355px}
.dia-conversas-lista>article{display:grid;grid-template-columns:83px minmax(0,1fr);align-items:start;gap:8px;
  min-height:66px;padding:9px 11px;border-bottom:1px solid #eceef3}
.dia-conversas-lista>article:last-child{border-bottom:0}
.dia-conversas-lista>article>span{overflow:hidden;padding:3px 6px;border-radius:999px;background:#eaf3ff;
  color:#216aa9;font-size:8.4px;font-weight:750;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.dia-conversas-lista>article>div{min-width:0}.dia-conversas-lista b{display:block;overflow:hidden;
  color:#2f3543;font-size:10.7px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.dia-conversas-lista p{display:-webkit-box;margin:4px 0 0;overflow:hidden;color:#747c8c;font-size:9.4px;
  line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}

@media(max-width:1540px){
  .dia-page .dia-kpis{grid-template-columns:repeat(3,minmax(160px,1fr))}
  .dia-layout{grid-template-columns:minmax(650px,1fr) minmax(285px,320px)}
  .dia-tabela th:nth-child(2){width:21%}.dia-tabela th:nth-child(3){width:24%}
  .dia-tabela th:nth-child(4){width:18%}.dia-tabela th:nth-child(5){width:15%}
}
@media(max-width:1180px){
  .dia-layout{grid-template-columns:1fr}.dia-lateral{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .dia-prioridades{grid-template-columns:220px minmax(0,1fr)}
  .dia-buracos-lista,.dia-conversas-lista{max-height:300px}
}
@media(max-width:900px){
  .dia-prioridades{grid-template-columns:1fr;gap:9px}.dia-prioridades-titulo{padding:0 0 9px;border-right:0;border-bottom:1px solid #eee4f7}
  .dia-alertas-gerais{grid-template-columns:1fr}.dia-agenda-cab{align-items:flex-start;flex-direction:column}
  .dia-agenda-cab .dia-filtros-tabela{width:100%;justify-content:flex-start}.dia-filtros-tabela select{max-width:none;flex:1}
}
@media(max-width:720px){
  .dia-page .dia-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dia-filtros-topo .opsv-busca{flex-basis:auto}.dia-prioridades-acoes{padding-bottom:3px}
  .dia-alerta-card{grid-template-columns:34px minmax(0,1fr)}.dia-alerta-card>span{width:33px;height:33px}
  .dia-alerta-card>.btn{grid-column:2;justify-self:start}
  .dia-lateral{grid-template-columns:1fr}
  .dia-tabela-wrap{max-height:none;overflow:visible}.dia-tabela{min-width:0;display:block}
  .dia-tabela thead{display:none}.dia-tabela tbody{display:grid;gap:9px;padding:9px;background:#f6f7fa}
  .dia-tabela .dia-linha{display:grid;grid-template-columns:62px minmax(0,1fr);overflow:hidden;
    border:1px solid #e4e6ec;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(33,37,50,.04)}
  .dia-tabela .dia-linha td{height:auto;min-width:0;padding:9px 10px;border-bottom:1px solid #eff0f4;background:transparent}
  .dia-tabela .dia-linha td:first-child{grid-row:1;display:flex;align-items:center;justify-content:center;
    flex-direction:column;border-right:1px solid #eff0f4;box-shadow:inset 3px 0 #61b880}
  .dia-tabela .dia-linha td:nth-child(2){grid-column:2}.dia-tabela .dia-linha td:nth-child(3),
  .dia-tabela .dia-linha td:nth-child(4),.dia-tabela .dia-linha td:nth-child(5),
  .dia-tabela .dia-linha td:nth-child(6){grid-column:1/3}
  .dia-tabela .dia-linha td:nth-child(3)::before,.dia-tabela .dia-linha td:nth-child(4)::before,
  .dia-tabela .dia-linha td:nth-child(5)::before{display:block;margin-bottom:5px;color:#959baa;
    font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
  .dia-tabela .dia-linha td:nth-child(3)::before{content:'Procedimentos'}
  .dia-tabela .dia-linha td:nth-child(4)::before{content:'Equipe e sala'}
  .dia-tabela .dia-linha td:nth-child(5)::before{content:'Situa\00e7\00e3o'}
  .dia-tabela .dia-linha td:nth-child(6){border-bottom:0}.dia-acoes-linha{justify-content:flex-start}
  .dia-linha.finalizada td,.dia-linha.sem-profissional td{background:transparent}
  .dia-linha.finalizada{background:#fdf9f9}.dia-linha.sem-profissional{background:#fffdf8}
  .dia-tabela tbody>tr:not(.dia-linha){display:block;background:#fff;border-radius:12px}
  .dia-tabela tbody>tr:not(.dia-linha) td{display:block;height:auto;border:0}
}
@media(max-width:500px){
  .dia-page .dia-kpis{grid-template-columns:1fr}.dia-page .dia-kpi{min-height:76px}
  .dia-page .dia-kpi small{display:block}.dia-prioridades{padding:10px}
  .dia-atalho{min-width:112px}.dia-alerta-card{padding:9px}
  .dia-agenda-cab .dia-filtros-tabela{align-items:stretch;flex-direction:column}.dia-filtros-tabela select{width:100%}
  .dia-conversas-lista>article{grid-template-columns:76px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .dia-atalho,.dia-page .dia-kpi,.dia-buracos-lista>button{transition:none}
}

/* =====================================================================
   ATENDENTE
   Fila humana de mensagens e confirmações. Prefixo próprio para não
   interferir nos componentes antigos do atendimento clínico (.at-*).
   ===================================================================== */
.ath-page{
  --ath-purple:#7138e8;
  --ath-purple-dark:#5825bd;
  --ath-purple-soft:#f3edff;
  --ath-ink:#252a39;
  --ath-muted:#70778a;
  --ath-line:#e5e7ee;
  --ath-surface:#fff;
  --ath-soft:#f7f8fb;
  width:100%;
  max-width:1900px;
  min-width:0;
  margin:0 auto 20px;
  color:var(--ath-ink);
  overflow-x:hidden;
}
.ath-page,.ath-page *{box-sizing:border-box}
.ath-page *{min-width:0}
.ath-page button,.ath-page input,.ath-page select{font:inherit}
.ath-page button:disabled{cursor:not-allowed;opacity:.58}
.ath-page :focus-visible{outline:3px solid rgba(113,56,232,.18);outline-offset:2px}

.ath-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:12px;
  padding:18px 20px;
  border:1px solid #e5dcf5;
  border-radius:16px;
  background:
    radial-gradient(circle at 8% 0,rgba(124,58,237,.11),transparent 34%),
    linear-gradient(118deg,#fbf8ff 0,#fff 60%);
  box-shadow:0 5px 18px rgba(65,39,103,.055);
}
.ath-hero-main{display:flex;align-items:center;gap:14px;min-width:0}
.ath-hero-main>div{min-width:0}
.ath-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#7540d4;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ath-title{margin:0;color:#222735;font-size:25px;line-height:1.12;letter-spacing:-.035em}
.ath-subtitle{max-width:760px;margin:6px 0 0;color:var(--ath-muted);font-size:12.5px;line-height:1.5}
.ath-live{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:none;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #d6ebde;
  border-radius:999px;
  background:#f7fcf9;
  color:#237849;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.ath-live::before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:#27a75d;box-shadow:0 0 0 4px rgba(39,167,93,.11)}
.ath-live small{padding-left:8px;border-left:1px solid #cfe4d7;color:#4c8d68;font-weight:700}

.ath-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid var(--ath-line);
  border-radius:14px;
  background:var(--ath-surface);
  box-shadow:0 2px 10px rgba(30,35,55,.04);
}
.ath-date-nav{display:flex;align-items:center;gap:6px;flex:none}
.ath-date-nav button{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:none;
  padding:0;
  border:1px solid #e1d9ef;
  border-radius:9px;
  background:#fff;
  color:#6630c5;
  font-size:17px;
  line-height:1;
}
.ath-date-nav button:hover{border-color:#bca5e6;background:#f6f2fd}
.ath-date-nav input{
  width:142px;
  height:36px;
  padding:0 9px;
  border:1px solid #e1e3e9;
  border-radius:9px;
  outline:0;
  background:#fff;
  color:#2b303e;
  font-size:12px;
  font-weight:700;
}
.ath-day-copy{display:flex;flex-direction:column;flex:none;padding:0 4px;line-height:1.25}
.ath-day-copy b,.ath-day-copy strong{color:#444a5a;font-size:11.5px;text-transform:capitalize}
.ath-day-copy span{margin-top:2px;color:#8a91a1;font-size:9px}
.ath-search{
  position:relative;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  flex:1 1 300px;
  padding:0 11px;
  border:1px solid #e1e4ea;
  border-radius:10px;
  background:#f9fafc;
  color:#727a8d;
}
.ath-search:focus-within{border-color:#9870e1;background:#fff;box-shadow:0 0 0 3px rgba(113,56,232,.09)}
.ath-search input{width:100%;height:36px;padding:0;border:0;outline:0;background:transparent;color:#282e3c;font-size:12px}
input.ath-search{width:auto;padding:0 11px;color:#282e3c;outline:0}
input.ath-search:focus{border-color:#9870e1;background:#fff;box-shadow:0 0 0 3px rgba(113,56,232,.09)}
.ath-filters{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 1 auto}
.ath-select{
  width:auto;
  max-width:190px;
  height:36px;
  padding:0 30px 0 10px;
  border:1px solid #e0e3e9;
  border-radius:9px;
  outline:0;
  background-color:#fff;
  color:#454c5b;
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
}
.ath-select:focus{border-color:#9870e1;box-shadow:0 0 0 3px rgba(113,56,232,.09)}

.ath-kpis{display:grid;grid-template-columns:repeat(4,minmax(155px,1fr));gap:9px;margin-bottom:12px}
.ath-kpi{
  min-height:88px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:11px;
  padding:13px 14px;
  border:1px solid var(--ath-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 2px 9px rgba(30,35,55,.04);
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.ath-kpi:hover{border-color:#cdbbe9;box-shadow:0 6px 16px rgba(54,38,78,.08);transform:translateY(-1px)}
.ath-kpi.is-active{border-color:#956ddd;box-shadow:0 0 0 3px rgba(113,56,232,.1)}
.ath-kpi.is-danger .ath-kpi-value{color:#b93643}
.ath-kpi-icon{
  width:42px;
  height:42px;
  grid-row:1/3;
  display:grid;
  place-items:center;
  align-self:center;
  border-radius:12px;
  background:var(--ath-purple-soft);
  color:#7040d2;
}
.ath-kpi-icon svg{width:21px;height:21px;display:block}
.ath-kpi-value{align-self:end;color:#282d3b;font-size:23px;font-weight:850;line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.ath-kpi-label{align-self:start;margin-top:5px;overflow:hidden;color:#737b8c;font-size:10.5px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.ath-kpi:nth-child(2) .ath-kpi-icon{background:#eaf3ff;color:#1e6fb5}
.ath-kpi:nth-child(3) .ath-kpi-icon{background:#eaf8ef;color:#248653}
.ath-kpi:nth-child(4) .ath-kpi-icon{background:#fff1e3;color:#bb6c18}

.ath-section{
  min-width:0;
  margin-bottom:12px;
  overflow:hidden;
  border:1px solid var(--ath-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 3px 12px rgba(30,35,55,.045);
}
.ath-section-head{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 15px;
  border-bottom:1px solid #eceef3;
  background:linear-gradient(180deg,#fff,#fdfdfe);
}
.ath-section-head>div{min-width:0}
.ath-section-title{display:flex;align-items:center;gap:8px;margin:0;color:#2a303e;font-size:14px;line-height:1.25}
.ath-section-copy{margin:4px 0 0;color:#7c8394;font-size:10.5px;line-height:1.4}
.ath-count{
  min-width:29px;
  height:26px;
  display:grid;
  place-items:center;
  flex:none;
  padding:0 8px;
  border-radius:999px;
  background:#efe8fc;
  color:#6630c3;
  font-size:11px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.ath-list{display:grid;gap:9px;padding:10px;background:#f7f8fb}
.ath-card{
  --ath-state:#7a43de;
  --ath-state-soft:#f2ecfd;
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) minmax(210px,auto);
  gap:0;
  min-width:0;
  overflow:hidden;
  border:1px solid #e4e6ed;
  border-left:4px solid var(--ath-state);
  border-radius:13px;
  background:#fff;
  box-shadow:0 2px 8px rgba(34,38,54,.04);
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.ath-card:hover{border-color:#d5c9e8;box-shadow:0 7px 18px rgba(45,34,65,.075);transform:translateY(-1px)}
.ath-card-urgente{--ath-state:#c33c49;--ath-state-soft:#fff0f1}
.ath-card-humano{--ath-state:#ca7416;--ath-state-soft:#fff4e7}
.ath-card-fila{--ath-state:#397fc0;--ath-state-soft:#edf6ff}
.ath-card-confirmar{--ath-state:#7440d5;--ath-state-soft:#f2ecfd}
.ath-card-feito{--ath-state:#4f9b6d;--ath-state-soft:#edf9f1;background:#fcfefc}

.ath-timeline{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-direction:column;
  gap:5px;
  padding:17px 10px;
  border-right:1px solid #eceef3;
  background:var(--ath-state-soft);
  text-align:center;
}
.ath-timeline::before{content:'';width:9px;height:9px;flex:none;border:2px solid #fff;border-radius:50%;background:var(--ath-state);box-shadow:0 0 0 2px var(--ath-state)}
.ath-hour{margin-top:2px;color:#2e3442;font-size:16px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}
.ath-wait{color:#777f90;font-size:9.5px;font-weight:700;line-height:1.3}
.ath-wait-danger{color:#bb3845}
.ath-content{min-width:0;padding:14px 16px}
.ath-person-line{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:9px;flex-wrap:wrap}
.ath-avatar{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:none;
  border-radius:11px;
  background:linear-gradient(135deg,#8857e6,#6530c9);
  color:#fff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.02em;
  box-shadow:0 3px 8px rgba(101,48,201,.18);
}
.ath-name-wrap{display:flex;flex:1 1 180px;flex-direction:column;min-width:0}
.ath-name{overflow:hidden;color:#272d3b;font-size:12.5px;font-weight:800;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.ath-profile{margin-top:2px;color:#858c9b;font-size:9.5px;line-height:1.3}
.ath-contact{flex:none;color:#17834a;font-size:10px;font-weight:750;text-decoration:none;white-space:nowrap}
.ath-contact:hover{text-decoration:underline}
.ath-message,.ath-response,.ath-observation{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ath-message{margin:0;color:#4c5363;font-size:11px;line-height:1.5}
.ath-response{
  margin-top:9px;
  padding:8px 10px;
  border:1px solid #e6dcf7;
  border-radius:9px;
  background:#faf7ff;
  color:#4d4261;
  font-size:10.5px;
  line-height:1.45;
}
.ath-response b,.ath-response strong{color:#6530bd}
.ath-observation{
  margin-top:8px;
  padding:7px 9px;
  border-left:3px solid #dfa24d;
  border-radius:0 8px 8px 0;
  background:#fffaf1;
  color:#765b32;
  font-size:10px;
  line-height:1.45;
}
.ath-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin-top:10px}
.ath-context-item{min-height:43px;padding:7px 9px;border:1px solid #eceef3;border-radius:9px;background:#fafbfc}
.ath-context-item b,.ath-context-item strong{display:block;color:#818898;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.ath-context-item span{display:block;margin-top:3px;color:#3d4453;font-size:10px;line-height:1.3;overflow-wrap:anywhere}

.ath-side{
  min-width:210px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border-left:1px solid #eceef3;
  background:#fdfdfe;
  text-align:right;
}
.ath-reason{
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  background:var(--ath-state-soft);
  color:var(--ath-state);
  font-size:9px;
  font-weight:850;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.ath-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;max-width:100%;flex-wrap:wrap}
.ath-page .ath-btn-primary,.ath-page .ath-btn-secondary{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 11px;
  border-radius:9px;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  white-space:normal;
}
.ath-page .ath-btn-primary{border:1px solid var(--ath-purple);background:var(--ath-purple);color:#fff;box-shadow:0 3px 8px rgba(113,56,232,.14)}
.ath-page .ath-btn-primary:hover{border-color:var(--ath-purple-dark);background:var(--ath-purple-dark)}
.ath-page .ath-btn-secondary{border:1px solid #d9caef;background:#fff;color:#6530bd}
.ath-page .ath-btn-secondary:hover{border-color:#a98bda;background:#f8f4ff}
.ath-action-warning{max-width:190px;padding:6px 8px;border:1px solid #f0c9c9;border-radius:8px;background:#fff4f4;color:#a43943;font-size:9.5px;font-weight:800;line-height:1.3;text-align:center}
.ath-resolved-meta{color:#4f8a65;font-size:9px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.ath-card-feito .ath-content,.ath-card-feito .ath-side{opacity:.82}

.ath-empty{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  padding:28px 20px;
  border:1px dashed #dcd4ea;
  border-radius:12px;
  background:#fff;
  color:#838a99;
  text-align:center;
  line-height:1.45;
}
.ath-empty b,.ath-empty strong{color:#4a5160;font-size:12px}
.ath-empty span:not(.ath-empty-icon){max-width:480px;font-size:10.5px}
.ath-empty-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:2px;border-radius:13px;background:#f1ebfc;color:#7040d2}
.ath-empty-icon svg{width:22px;height:22px;display:block}
.ath-closed-toggle{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:8px;
  padding:8px 12px;
  border:1px solid #e1e3e9;
  border-radius:10px;
  background:#fafbfc;
  color:#626979;
  font-size:10.5px;
  font-weight:800;
}
.ath-closed-toggle:hover{border-color:#cbb9e8;background:#f8f4ff;color:#6630c3}
.ath-hidden,.ath-filtered{display:none!important}
.ath-updated{animation:ath-updated .72s ease-out}
@keyframes ath-updated{0%{box-shadow:0 0 0 3px rgba(113,56,232,.2)}100%{box-shadow:0 0 0 0 rgba(113,56,232,0)}}

@media(max-width:1080px){
  .ath-toolbar{flex-wrap:wrap}
  .ath-search{order:3;flex-basis:55%}
  .ath-filters{order:4;flex:1 1 auto}
  .ath-kpis{grid-template-columns:repeat(2,minmax(155px,1fr))}
  .ath-card{grid-template-columns:82px minmax(0,1fr)}
  .ath-side{grid-column:2;min-width:0;align-items:center;justify-content:space-between;flex-direction:row;
    border-top:1px solid #eceef3;border-left:0;text-align:left}
}

@media(max-width:720px){
  .ath-hero{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}
  .ath-live{min-height:40px}
  .ath-toolbar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:9px;padding:10px}
  .ath-date-nav,.ath-day-copy,.ath-search,.ath-filters{order:initial;width:100%;max-width:none;flex:none}
  .ath-date-nav input{width:auto;flex:1}
  .ath-search{min-height:42px}
  .ath-search input{height:40px}
  input.ath-search{height:42px}
  .ath-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
  .ath-select{width:100%;max-width:none;height:42px}
  .ath-filters .btn{min-height:42px}
  .ath-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ath-section-head{align-items:flex-start}
  .ath-list{gap:10px;padding:9px}
  .ath-card{grid-template-columns:1fr}
  .ath-timeline{min-height:0;align-items:center;justify-content:flex-start;flex-direction:row;padding:10px 12px;
    border-right:0;border-bottom:1px solid #eceef3;text-align:left}
  .ath-timeline::before{margin-right:2px}
  .ath-hour{margin:0}
  .ath-wait{margin-left:auto;text-align:right}
  .ath-content{padding:13px}
  .ath-side{grid-column:1;align-items:stretch;flex-direction:column;padding:12px 13px;text-align:left}
  .ath-reason{align-self:flex-start}
  .ath-actions{justify-content:flex-start}
  .ath-page .ath-btn-primary,.ath-page .ath-btn-secondary,.ath-closed-toggle,.ath-date-nav button{min-height:40px}
  .ath-page .ath-btn-primary,.ath-page .ath-btn-secondary{flex:1 1 140px;padding:9px 12px;font-size:10.5px}
  .ath-date-nav button{width:40px;height:40px}
  .ath-date-nav input{height:40px}
  .ath-context{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:480px){
  .ath-hero{padding:14px;border-radius:14px}
  .ath-hero-main{align-items:flex-start;gap:10px}
  .ath-title{font-size:22px}
  .ath-subtitle{font-size:11.5px}
  .ath-live{width:100%;justify-content:center}
  .ath-day-copy{padding:0 2px}
  .ath-filters{grid-template-columns:1fr}
  .ath-kpis{grid-template-columns:1fr}
  .ath-kpi{min-height:78px;padding:11px 12px}
  .ath-kpi-icon{width:39px;height:39px}
  .ath-kpi-value{font-size:21px}
  .ath-section-head{min-height:60px;padding:11px 12px}
  .ath-section-title{font-size:13px}
  .ath-section-copy{font-size:9.8px}
  .ath-list{padding:7px}
  .ath-content{padding:12px 11px}
  .ath-person-line{align-items:flex-start}
  .ath-avatar{width:34px;height:34px}
  .ath-name-wrap{flex-basis:calc(100% - 45px)}
  .ath-contact{width:100%;padding-left:45px;white-space:normal;overflow-wrap:anywhere}
  .ath-context{grid-template-columns:1fr}
  .ath-actions{display:grid;grid-template-columns:1fr;width:100%}
  .ath-page .ath-btn-primary,.ath-page .ath-btn-secondary{width:100%;min-height:42px}
  .ath-reason{border-radius:8px}
  .ath-empty{min-height:150px;padding:22px 14px}
}

@media(prefers-reduced-motion:reduce){
  .ath-card{transition:none}
  .ath-updated{animation:none}
}

/* ========================================================================== 
   FOLLOW-UP COMERCIAL
   A fila deixa de ser um atalho para wa.me e vira uma conferência operacional:
   identidade, texto editável, remetente seguro e um único envio comprovado.
   ========================================================================== */
.fu-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}
.fu-resumo-item{position:relative;min-width:0;min-height:88px;padding:13px 15px 12px 17px;
  overflow:hidden;background:#fff;border:1px solid #e3dfec;border-radius:14px;
  box-shadow:0 3px 12px rgba(42,30,73,.055)}
.fu-resumo-item::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;
  border-radius:0 4px 4px 0;background:#7c3aed}
.fu-resumo-item>span,.fu-resumo-item>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fu-resumo-item>span{font-size:10.5px;font-weight:750;letter-spacing:.035em;text-transform:uppercase;color:#707789}
.fu-resumo-item>b{display:block;margin:3px 0 1px;color:#1b2538;font-size:23px;line-height:1.05;font-variant-numeric:tabular-nums}
.fu-resumo-item>small{font-size:10.5px;color:#808797}
.fu-resumo-item.azul::before{background:#1389a5}.fu-resumo-item.verde::before{background:#21a366}
.fu-resumo-item.vermelho::before{background:#d64545}.fu-resumo-item.roxo::before{background:#7c3aed}
.fu-resumo-item .fu-wa-estado{font-size:16px;margin-top:7px}
.fu-resumo-item.verde .fu-wa-estado{color:#187a4e}.fu-resumo-item.vermelho .fu-wa-estado{color:#b42332}

.fu-prontos-cab>div:first-child{display:flex;align-items:baseline;gap:9px;min-width:0}
.fu-prontos-contagem{font-size:11px!important;white-space:nowrap}
.fu-prontos-filtros{display:flex;align-items:center;gap:7px;min-width:300px}
.fu-prontos-filtros input,.fu-prontos-filtros select{height:34px;border:1px solid #ded8ea;border-radius:9px;
  background:#fff;color:#344054;font:500 11.5px/1.2 inherit}
.fu-prontos-filtros input{width:220px;padding:7px 10px}.fu-prontos-filtros select{padding:6px 28px 6px 9px}
.fu-wa-aviso{padding:10px 15px;background:#fff8eb;border-bottom:1px solid #f0d7a4;color:#73510a;
  font-size:11.5px;line-height:1.45}
.fu-wa-aviso b{color:#5d4006}
.fu-pronto{position:relative;padding:15px 16px 14px;transition:background .15s ease,box-shadow .15s ease}
.fu-pronto:hover{z-index:1;background:#fefeff;box-shadow:inset 3px 0 #8b5cf6}
.fu-pronto-cab{min-height:34px}
.fu-avatar{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:10px;
  color:#6430bf;background:linear-gradient(145deg,#eee8ff,#e5d8ff);font-size:12px;font-weight:800}
.fu-identidade{display:flex;flex-direction:column;min-width:145px;max-width:270px}
.fu-identidade>b,.fu-identidade>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-identidade>b{font-size:12.5px;color:#222b3d}.fu-identidade>small{font-size:10px;color:#818899}
.fu-editor-label{display:block;margin:10px 0 5px;color:#707789;font-size:10.5px;font-weight:700}
textarea.fu-pronto-msg{display:block;width:100%;min-height:70px;margin:0;padding:10px 12px;
  border:1px solid #e1daef;border-left:3px solid #8b5cf6;border-radius:9px;background:#fbfaff;
  color:#343b4a;font:500 12.5px/1.5 inherit;resize:vertical;white-space:pre-wrap}
textarea.fu-pronto-msg:hover{border-color:#ccbdf0}textarea.fu-pronto-msg:focus{background:#fff}
.fu-pronto-acoes{align-items:center;margin-top:8px}.fu-caracteres{margin-right:auto;color:#8a91a0;font-size:10px;
  font-variant-numeric:tabular-nums}
.fu-pronto-acoes .btn.mini{min-height:34px}.fu-pronto-acoes .cc-mini{min-height:34px;padding-inline:10px}
.fu-pronto-acoes button:disabled{box-shadow:none}
.fu-vazio{min-height:150px;margin:0;border:0;border-radius:0;background:linear-gradient(145deg,#fcfbff,#fff)}

@media(max-width:1120px){
  .fu-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fu-prontos-cab{align-items:stretch}.fu-prontos-filtros{width:100%;min-width:0}
  .fu-prontos-filtros input{flex:1;width:auto;min-width:130px}
}
@media(max-width:680px){
  .fu-resumo{grid-template-columns:1fr 1fr;gap:8px}
  .fu-resumo-item{min-height:78px;padding:11px 12px 10px 15px}.fu-resumo-item>b{font-size:20px}
  .fu-prontos-cab>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}
  .fu-prontos-filtros{align-items:stretch;flex-direction:column}.fu-prontos-filtros input,.fu-prontos-filtros select{width:100%;height:40px}
  .fu-pronto{padding:13px 11px}.fu-pronto-cab{align-items:flex-start}
  .fu-identidade{min-width:0;max-width:calc(100% - 45px);flex:1}
  .fu-pronto-cab>.muted{width:100%;margin-left:39px!important}
  .fu-pronto-acoes{display:grid;grid-template-columns:1fr 1fr}.fu-caracteres{grid-column:1/-1;margin:0}
  .fu-pronto-acoes button{width:100%;min-height:40px!important}
}

/* Checkout recorrente Vindi dentro do fechamento comercial. */
.vp-vindi{margin-top:13px;padding:16px;border:1px solid #b9dddc;border-radius:16px;background:linear-gradient(135deg,#f2fbfa 0%,#fff 52%,#f4f7ff 100%);box-shadow:0 8px 22px rgba(16,74,83,.07)}
.vp-vindi[hidden]{display:none}.vp-vindi-marca{display:flex;align-items:center;gap:11px}.vp-vindi-marca>span,.vindi-contrato-icone{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#0a7884,#15aaa4);color:#fff;font-size:18px;font-weight:900;box-shadow:0 7px 17px rgba(10,120,132,.2)}
.vp-vindi-marca div{display:grid}.vp-vindi-marca small,.vindi-contrato-corpo>small{color:#087078;font-size:10px;font-weight:850;letter-spacing:.1em}.vp-vindi-marca b{color:#123248;font-size:15px}
.vp-vindi-fluxo{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.vp-vindi-fluxo>span{position:relative;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:10px;border:1px solid #d9e7e9;border-radius:12px;background:rgba(255,255,255,.85)}
.vp-vindi-fluxo>span:not(:last-child)::after{content:"›";position:absolute;right:-8px;top:16px;z-index:1;color:#0a8f91;font-size:18px;font-weight:900}.vp-vindi-fluxo i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e2f5f3;color:#087078;font-style:normal;font-size:11px;font-weight:850}.vp-vindi-fluxo b{color:#19384a;font-size:12px}.vp-vindi-fluxo small{color:#607482;font-size:10.5px}
.vp-vindi-nota{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#e8f7ef;color:#176244;font-size:12px}.vp-vindi-nota span{color:#46665b}.vp-vindi.bloqueado{border-color:#efd083;background:linear-gradient(135deg,#fff9e9,#fff)}.vp-vindi.bloqueado .vp-vindi-nota{background:#fff1c9;color:#785200}.vp-vindi.bloqueado .vp-vindi-nota span{color:#745f28}
.vp-vindi-cartoes{display:grid;gap:8px;margin-top:10px}.vp-vindi-cartoes[hidden]{display:none}
.vp-vindi-cartoes>b{color:#087078;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.vp-vindi-cartoes label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #b9dddc;border-radius:11px;background:#fff;color:#19384a;cursor:pointer}
.vp-vindi-cartoes label:has(input:checked){border-color:#0a8f91;box-shadow:0 0 0 2px rgba(10,143,145,.14)}
.vp-vindi-cartoes input{margin-top:3px;accent-color:#0a8f91}.vp-vindi-cartoes span{display:grid;gap:3px}
.vp-vindi-cartoes label b{font-size:12.5px}.vp-vindi-cartoes label small{color:#607482;font-size:11px;line-height:1.35}
.vp-vindi-cartoes-carregando{color:#607482;font-size:11.5px}
.vp-vindi-tokenizacao{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid #b9dddc;border-radius:11px;background:#fff;color:#19384a;cursor:pointer}.vp-vindi-tokenizacao[hidden]{display:none}.vp-vindi-tokenizacao input{margin-top:3px;accent-color:#0a8f91}.vp-vindi-tokenizacao span{display:grid;gap:3px}.vp-vindi-tokenizacao b{font-size:12.5px}.vp-vindi-tokenizacao small{color:#607482;font-size:11px;line-height:1.35}

.vindi-contrato{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:14px;padding:14px;border:1px solid #c9dddd;border-radius:14px;background:linear-gradient(135deg,#f0faf9,#fff);box-shadow:0 6px 16px rgba(16,74,83,.06)}.vindi-contrato-corpo{display:grid;gap:2px}.vindi-contrato-corpo>b{color:#14374a;font-size:14px;text-transform:capitalize}.vindi-contrato-corpo>span{color:#526b77;font-size:12px}.vindi-contrato-corpo>em{margin-top:5px;color:#a14224;font-size:11px;font-style:normal}.vindi-contrato.status-concluido{border-color:#a9ddc2;background:#f0fbf5}.vindi-contrato.status-divergencia,.vindi-contrato.status-erro,.vindi-contrato.status-pagamento_recusado{border-color:#efc0ae;background:#fff7f3}

.vindi-entrega{min-width:min(620px,80vw)}.vindi-entrega-topo{display:flex;gap:13px;align-items:flex-start;padding:4px 0 16px}.vindi-entrega-topo>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#dff6e9;color:#167247;font-size:22px;font-weight:900}.vindi-entrega-topo small{color:#087078;font-weight:850;letter-spacing:.09em}.vindi-entrega-topo h3{margin:3px 0;color:#123248;font-size:21px}.vindi-entrega-topo p{margin:0;color:#59707d;font-size:12px}.vindi-entrega-resumo{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid #dce6e9;border-radius:13px}.vindi-entrega-resumo>div{display:grid;gap:3px;padding:12px}.vindi-entrega-resumo>div+div{border-left:1px solid #dce6e9}.vindi-entrega-resumo small,.vindi-entrega-link label{color:#657883;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vindi-entrega-resumo b{color:#183849;font-size:14px}.vindi-entrega-link{margin-top:13px;padding:13px;border-radius:13px;background:#f4f8f9}.vindi-entrega-link>div{display:flex;gap:7px;margin-top:6px}.vindi-entrega-link input{flex:1;min-width:0;font-size:12px}.vindi-entrega-link>small{display:block;margin-top:6px;color:#627680;font-size:11px}.vindi-entrega-alerta{display:flex;gap:9px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid #cce5df;border-radius:11px;color:#326457;background:#f2fbf8;font-size:11.5px}.vindi-entrega-alerta i{display:grid;place-items:center;flex:none;width:21px;height:21px;border-radius:50%;background:#0a8f91;color:#fff;font-style:normal;font-weight:900}
@media(max-width:720px){.vp-vindi-fluxo{grid-template-columns:1fr 1fr}.vp-vindi-fluxo>span::after{display:none}.vp-vindi-nota{align-items:flex-start;flex-direction:column}.vindi-contrato{grid-template-columns:auto 1fr}.vindi-contrato .btn{grid-column:1/3;width:100%}.vindi-entrega{min-width:0}.vindi-entrega-resumo{grid-template-columns:1fr}.vindi-entrega-resumo>div+div{border-left:0;border-top:1px solid #dce6e9}.vindi-entrega-link>div{flex-direction:column}}
@media(max-width:430px){
  .fu-resumo{grid-template-columns:1fr}.fu-resumo-item{min-height:70px}
  .fu-pronto-acoes{grid-template-columns:1fr}
}

/* ========================================================================== 
   CENTRAL DE RELACIONAMENTO, ÁREA ÚTIL E MÍDIA
   Indicadores e ferramentas vivem em uma única gaveta. Fechada, a conversa
   ganha altura sem esconder filtros, lista ou compositor.
   ========================================================================== */
.rel-resumo-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:38px;margin:0 0 8px}
.rel-resumo-toggle{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;
  border:1px solid #ded7eb;border-radius:9px;background:#fff;color:#4a5261;font:650 12px/1.2 inherit}
.rel-resumo-toggle:hover{border-color:#bda8eb;color:#6930ca;background:#fbf9ff}
.rel-resumo-toggle svg{width:14px;height:14px;color:#7c3aed;transition:transform .16s ease}
.rel-resumo-toggle small{color:#8a91a0;font-size:10.5px;font-weight:500}
.pane[data-view="relacionamento"].rel-resumo-fechado .rel-resumo-toggle svg{transform:rotate(-90deg)}
.rel-resumo-gaveta{margin:0 0 9px;padding:10px;border:1px solid #e3deec;border-radius:12px;
  background:#fbfaff;box-shadow:0 3px 12px rgba(45,31,78,.045)}
.rel-resumo-gaveta[hidden]{display:none!important}
.rel-resumo-gaveta .rel-faixa{margin:0}
.rel-resumo-gaveta .rel-utilitarios{justify-content:flex-start;margin-top:8px;overflow:visible}
.rel-resumo-gaveta .rel-card{padding:9px 12px;border-radius:10px;box-shadow:none}
.rel-resumo-gaveta .rel-card-val{font-size:21px}
.rel-resumo-gaveta .rel-card-ic{width:34px;height:34px}
.rel-resumo-gaveta .rel-card-ic svg{width:17px;height:17px}
.pane[data-view="relacionamento"] .rel-grade{height:calc(100vh - 310px);min-height:430px}
.pane[data-view="relacionamento"].rel-resumo-fechado .rel-grade{height:calc(100vh - 224px);min-height:500px}
.pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{grid-template-columns:48px 306px minmax(0,1fr)}
.pane[data-view="relacionamento"] .rel-canal{min-width:0;align-items:flex-end}

.rel-proxima-sessao{display:flex;align-items:flex-end;flex-direction:column;gap:1px;padding:5px 8px;
  border:1px solid #d7e6dd;border-radius:9px;background:#f4fbf7;color:#275b3c;text-align:right}
.rel-proxima-sessao:hover{border-color:#76b68e;background:#eef9f2}
.rel-proxima-sessao span{font-size:9px;color:#6b7e71;text-transform:uppercase;letter-spacing:.035em}
.rel-proxima-sessao b{font-size:11.5px}.rel-proxima-sessao small{max-width:170px;overflow:hidden;
  color:#688073;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}

.rel-midia-hist{min-width:180px;max-width:320px}
.rel-midia-hist-carregar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;
  padding:8px 12px;border:1px solid rgba(109,40,217,.18);border-radius:9px;background:rgba(255,255,255,.64);
  color:#6530be;font:650 12px/1.2 inherit}
.rel-midia-hist-carregar:hover{border-color:#8f6ad8;background:#fff}
.rel-midia-hist-carregar:disabled{opacity:.7}.rel-midia-hist-carregar svg{width:17px;height:17px}
.rel-audio-hist{display:block;width:260px;max-width:100%;height:38px}
.rel-imagem-hist{display:block;max-width:300px;padding:0;overflow:hidden;border:0;border-radius:10px;background:#eee}
.rel-imagem-hist img{display:block;width:100%;max-height:280px;object-fit:cover}
.rel-documento-hist{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:8px;
  background:#fff;color:#6530be;font-size:12px;font-weight:700;text-decoration:none}
.rel-midia-indisponivel{display:block;padding:7px 9px;border-radius:7px;background:rgba(255,255,255,.55);
  color:#7d8390;font-size:11px}.rel-midia-legenda-hist{display:block;margin-top:6px}
.rel-imagem-modal{display:grid;place-items:center;max-width:min(88vw,1000px);max-height:82vh}
.rel-imagem-modal img{display:block;max-width:100%;max-height:78vh;border-radius:12px;object-fit:contain}

@media(max-width:1500px){
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{grid-template-columns:48px 288px minmax(0,1fr)}
}
@media(max-width:1150px){
  .pane[data-view="relacionamento"] .rel-grade,
  .pane[data-view="relacionamento"].rel-resumo-fechado .rel-grade{height:auto;min-height:0}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{grid-template-columns:48px minmax(0,1fr)}
}
@media(max-width:760px){
  .rel-resumo-bar{align-items:flex-start}.rel-resumo-toggle small{display:none}
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade{grid-template-columns:1fr}
  .rel-proxima-sessao{align-items:flex-start;width:100%;text-align:left}
}

/* A Central usa a altura REAL que sobrou dentro de #view. Os antigos
   calc(100vh - ...) ignoravam a barra de abas e o rodapé do aplicativo; por
   isso o campo, o microfone e o Enviar ficavam abaixo da parte visível. */
@media(min-width:1151px){
  #main,#view{min-height:0}
  #view .pane.on[data-view="relacionamento"]:has(.rel-painel){
    display:flex;height:100%;min-height:0;flex-direction:column;overflow:hidden
  }
  .pane[data-view="relacionamento"]>.operacao-nav,
  .pane[data-view="relacionamento"]>.rel-resumo-bar,
  .pane[data-view="relacionamento"]>.rel-resumo-gaveta{flex:none}
  .pane[data-view="relacionamento"] .rel-painel{
    display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden
  }
  .pane[data-view="relacionamento"] .rel-grade,
  .pane[data-view="relacionamento"].rel-resumo-fechado .rel-grade{
    flex:1;height:auto;min-height:0
  }

  /* Com as duas gavetas recolhidas, a tela assume o modo de conversa. Tudo
     continua acessível pelos dois botões de reabertura. */
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-rodape{
    display:none
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.operacao-nav{
    min-height:41px;margin-bottom:6px;padding-top:3px;padding-bottom:3px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .operacao-marca>span{
    width:30px;height:30px;border-radius:10px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.rel-resumo-bar{
    min-height:34px;margin-bottom:6px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.rel-resumo-bar .rel-canal{
    align-items:center;flex-direction:row;gap:7px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.rel-resumo-bar .rel-canal-selo{
    padding:4px 8px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-abas-topo{
    padding-top:3px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-aba-t{
    padding-top:6px;padding-bottom:6px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-cab{
    padding-top:8px;padding-bottom:8px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-cab-l3{
    display:none
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-msgs{
    padding-top:10px;padding-bottom:10px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-acoes{
    gap:5px;padding-top:5px;padding-bottom:5px;flex-wrap:nowrap;overflow-x:auto
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-ac{
    padding:6px 10px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-comp{
    padding-bottom:8px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-abas{
    margin-bottom:6px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-aba{
    padding-top:6px;padding-bottom:6px
  }
  .pane[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-comp-pe{
    margin-top:5px
  }
}

@media(max-width:640px){
  .pane[data-view="relacionamento"] #rel-conversa{
    height:calc(100vh - 110px);height:calc(100dvh - 110px)
  }
}

/* Ações da cliente são parte do atendimento, não uma ferramenta escondida.
   No computador ficam na quarta coluna; em telas menores continuam na gaveta
   e abrem junto com a conversa escolhida. */
@media(min-width:1280px){
  .pane[data-view="relacionamento"] .rel-grade{
    grid-template-columns:228px 284px minmax(0,1fr) 304px
  }
  .pane[data-view="relacionamento"].rel-filtros-recolhidos .rel-grade,
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-grade{
    grid-template-columns:44px 270px minmax(0,1fr) 304px
  }
  .pane[data-view="relacionamento"] #rel-contexto{
    display:flex;position:static;z-index:auto;inset:auto;width:auto;max-height:none;
    border-radius:12px;box-shadow:var(--sombra);transform:none;transition:none;
    pointer-events:auto;overflow-y:auto
  }
  .pane[data-view="relacionamento"] .rel-contexto-fechar,
  .pane[data-view="relacionamento"] .rel-contexto-toggle,
  .pane[data-view="relacionamento"] .rel-contexto-fundo{display:none!important}
}

/* Central em modo de atendimento: a conversa começa mais acima e usa toda a
   altura disponível. Os acessos continuam na faixa compacta e nas gavetas. */
@media(min-width:1151px){
  body:has(#view .pane.on[data-view="relacionamento"] .rel-painel) #topbar{height:44px}
  body:has(#view .pane.on[data-view="relacionamento"] .rel-painel) #view{padding-top:8px;padding-bottom:8px}
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.operacao-nav{
    min-height:34px;margin-bottom:4px;padding:2px 8px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .operacao-marca{
    min-width:215px;gap:7px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .operacao-marca>span{
    width:27px;height:27px;border-radius:8px;font-size:12px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .operacao-marca small{display:none}
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .operacao-aba{
    padding:5px 9px;font-size:11.5px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos>.rel-resumo-bar{
    min-height:29px;margin-bottom:4px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-resumo-toggle{
    min-height:29px;padding:4px 8px
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-grade{
    grid-template-columns:44px 270px minmax(0,1fr)
  }
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos #rel-filtros{padding:6px}
}
@media(min-width:1280px){
  .pane.on[data-view="relacionamento"].rel-resumo-fechado.rel-filtros-recolhidos .rel-grade{
    grid-template-columns:44px 270px minmax(0,1fr) 304px
  }
}
/* ========================================================================== 
   FÊNIX VOZ
   Assistente global isolada pelo prefixo fxv. Não herda o desenho das telas e
   não disputa IDs/classes com os módulos antigos que carregam no mesmo escopo.
   ========================================================================== */
.fxv-raiz {
  --fxv-roxo: #7437ef;
  --fxv-roxo-2: #9b6cff;
  --fxv-tinta: #172238;
  --fxv-suave: #667085;
  --fxv-linha: #e7e1f2;
  --fxv-verde: #139c61;
  position: fixed;
  right: 24px;
  bottom: 48px;
  z-index: 8200;
  font-family: inherit;
}
.fxv-raiz[hidden] { display: none !important; }
.fxv-chamar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 154px;
  min-height: 56px;
  padding: 7px 15px 7px 7px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 19px;
  color: #fff;
  background: linear-gradient(135deg, #5520cc 0%, #7b35f4 54%, #a16bff 100%);
  box-shadow: 0 15px 38px rgba(70, 28, 152, .29), 0 3px 10px rgba(33, 19, 68, .18);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.fxv-chamar:hover { transform: translateY(-2px); box-shadow: 0 19px 44px rgba(70,28,152,.35), 0 4px 12px rgba(33,19,68,.2); }
.fxv-chamar:focus-visible, .fxv-painel button:focus-visible, .fxv-painel textarea:focus-visible {
  outline: 3px solid rgba(116,55,239,.24);
  outline-offset: 2px;
}
.fxv-chamar-icone {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #fff;
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
.fxv-chamar-icone svg { width: 29px; height: 29px; }
.fxv-chamar-texto { display: flex; flex-direction: column; text-align: left; line-height: 1.05; }
.fxv-chamar-texto b { font-size: 14px; letter-spacing: .01em; }
.fxv-chamar-texto small { margin-top: 4px; color: rgba(255,255,255,.78); font-size: 10.5px; }
.fxv-chamar-pulso {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 13px;
  height: 13px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #31cf80;
}
.fxv-raiz[data-fase="ouvindo"] .fxv-chamar-pulso,
.fxv-raiz[data-fase="falando"] .fxv-chamar-pulso { animation: fxv-pulsar 1.3s infinite; }

.fxv-painel {
  position: absolute;
  right: 0;
  bottom: 68px;
  display: grid;
  grid-template-rows: auto auto auto minmax(170px, 1fr) auto auto auto auto;
  width: min(470px, calc(100vw - 32px));
  height: min(780px, calc(100vh - 116px));
  overflow: hidden;
  border: 1px solid rgba(112, 77, 171, .2);
  border-radius: 24px;
  color: var(--fxv-tinta);
  background: rgba(255,255,255,.975);
  box-shadow: 0 28px 80px rgba(30, 22, 50, .28), 0 8px 24px rgba(41, 22, 77, .14);
  backdrop-filter: blur(18px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(.97);
  transform-origin: bottom right;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.fxv-painel.fxv-aberto { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.fxv-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 66px;
  padding: 11px 14px 10px 16px;
  border-bottom: 1px solid var(--fxv-linha);
  background: linear-gradient(135deg, #fbf9ff 0%, #f5f0ff 100%);
}
.fxv-marca { display: flex; align-items: center; gap: 10px; }
.fxv-marca > span {
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px;
  color: #fff; background: linear-gradient(135deg, #5b22d3, #9562ff);
  box-shadow: 0 7px 16px rgba(91,34,211,.23);
}
.fxv-marca svg { width: 27px; height: 27px; }
.fxv-marca div { display: flex; flex-direction: column; }
.fxv-marca strong { font-size: 15px; }
.fxv-marca small { max-width: 270px; margin-top: 3px; color: var(--fxv-suave); font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fxv-icone-btn {
  width: 34px; height: 34px; border: 0; border-radius: 11px; color: #5b6473;
  background: rgba(255,255,255,.8); font-size: 23px; line-height: 1; cursor: pointer;
}
.fxv-icone-btn:hover { color: #2f1b53; background: #eee6fc; }
.fxv-seguranca {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 30px; padding: 6px 12px; color: #28704f; background: #f1fbf5;
  border-bottom: 1px solid #d8f0e2; font-size: 10.5px; font-weight: 650;
}
.fxv-seguranca span { width: 7px; height: 7px; border-radius: 50%; background: #20b86e; box-shadow: 0 0 0 4px rgba(32,184,110,.1); }
.fxv-presenca {
  position: relative; display: flex; align-items: center; gap: 16px; min-height: 104px; padding: 8px 18px 7px;
  overflow: hidden; border-bottom: 1px solid #eeeaf5;
  background: radial-gradient(circle at 16% 55%, rgba(94,211,255,.15), transparent 27%),
    linear-gradient(118deg, #fff 0%, #faf7ff 62%, #f2f8ff 100%);
}
.fxv-presenca > div:last-child { display: flex; min-width: 0; flex-direction: column; }
.fxv-presenca strong { font-size: 14px; letter-spacing: -.01em; }
.fxv-presenca small { margin-top: 5px; color: var(--fxv-suave); font-size: 10.8px; }
.fxv-avatar-cena {
  position: relative; display: grid; place-items: center; width: 118px; height: 88px; flex: 0 0 118px;
  isolation: isolate;
}
.fxv-avatar-cena::before {
  content: ''; position: absolute; z-index: -2; inset: 18px 9px 4px; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(91,31,214,.26), rgba(47,192,255,.1) 52%, transparent 72%);
  filter: blur(8px);
}
.fxv-avatar-cena img {
  position: relative; z-index: 2; width: 112px; height: 103px; object-fit: contain;
  transform-origin: 50% 68%; filter: drop-shadow(0 10px 12px rgba(62,30,122,.2));
  animation: fxv-flutuar 3.8s ease-in-out infinite;
}
.fxv-avatar-halo {
  position: absolute; z-index: -1; width: 78px; height: 78px; border: 1px solid rgba(103,63,231,.24);
  border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.92), rgba(132,219,255,.12) 48%, rgba(115,55,239,.09));
  box-shadow: 0 0 0 10px rgba(116,55,239,.035), 0 0 28px rgba(69,179,255,.16);
}
.fxv-equalizador {
  position: absolute; z-index: 4; right: 0; bottom: 5px; display: flex; align-items: end; gap: 2px;
  height: 21px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.72); border-radius: 10px;
  background: rgba(86,38,200,.88); box-shadow: 0 5px 13px rgba(66,27,148,.25); opacity: .42;
}
.fxv-equalizador i { display: block; width: 2px; height: 4px; border-radius: 3px; background: #fff; }
.fxv-raiz[data-fase="ouvindo"] .fxv-avatar-halo { animation: fxv-respirar-halo 1.15s ease-in-out infinite; }
.fxv-raiz[data-fase="pensando"] .fxv-avatar-halo { animation: fxv-pensar-halo 1.25s linear infinite; }
.fxv-raiz[data-fase="falando"] .fxv-avatar-cena img { animation: fxv-falar-avatar .72s ease-in-out infinite; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador { opacity: 1; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador i { animation: fxv-eq .62s ease-in-out infinite alternate; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador i:nth-child(2) { animation-delay: -.24s; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador i:nth-child(3) { animation-delay: -.42s; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador i:nth-child(4) { animation-delay: -.16s; }
.fxv-raiz[data-fase="falando"] .fxv-equalizador i:nth-child(5) { animation-delay: -.35s; }
.fxv-raiz[data-fase="erro"] .fxv-avatar-cena img { filter: grayscale(.25) hue-rotate(95deg) drop-shadow(0 9px 12px rgba(168,37,70,.2)); }

.fxv-mensagens {
  min-height: 0; overflow-y: auto; padding: 14px 16px 8px;
  background: linear-gradient(180deg, #fbfaff 0%, #fff 28%);
  scrollbar-width: thin; scrollbar-color: #d6cbe8 transparent;
}
.fxv-msg { display: flex; flex-direction: column; max-width: 88%; margin: 0 0 12px; }
.fxv-msg-usuario { align-items: flex-end; margin-left: auto; }
.fxv-msg-rotulo { margin: 0 5px 4px; color: #8b8299; font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.fxv-msg-corpo {
  padding: 10px 12px; border: 1px solid #e7e1ef; border-radius: 6px 16px 16px 16px;
  color: #263146; background: #fff; box-shadow: 0 3px 10px rgba(32,24,48,.05);
  font-size: 12.5px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere;
}
.fxv-msg-usuario .fxv-msg-corpo { border: 0; border-radius: 16px 6px 16px 16px; color: #fff; background: linear-gradient(135deg, #6930de, #8d58f5); }
.fxv-boas-vindas .fxv-msg-corpo { background: #f8f4ff; border-color: #e5d8fd; }
.fxv-sugestoes { display: flex; gap: 6px; padding: 6px 14px 9px; overflow-x: auto; border-top: 1px solid #f0ecf5; background: #fff; scrollbar-width: none; }
.fxv-sugestoes::-webkit-scrollbar { display: none; }
.fxv-sugestoes button {
  flex: 0 0 auto; padding: 7px 9px; border: 1px solid #ded3ef; border-radius: 999px;
  color: #6231be; background: #fff; font: 650 10.5px/1 inherit; cursor: pointer;
}
.fxv-sugestoes button:hover { border-color: #9d76e6; background: #f8f4ff; }
.fxv-compositor { display: grid; grid-template-columns: 1fr 40px; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--fxv-linha); background: #fff; }
.fxv-compositor textarea {
  width: 100%; min-height: 42px; max-height: 94px; resize: none; padding: 11px 12px;
  border: 1px solid #dcd6e5; border-radius: 13px; color: #1e293b; background: #fbfbfd;
  font: 12.5px/1.4 inherit;
}
.fxv-compositor textarea:focus { border-color: #9a72e8; background: #fff; outline: none; box-shadow: 0 0 0 3px rgba(116,55,239,.08); }
.fxv-enviar {
  display: grid; place-items: center; width: 40px; height: 40px; align-self: end; border: 0;
  border-radius: 13px; color: #fff; background: linear-gradient(135deg, #6930dd, #8b4ff3);
  box-shadow: 0 7px 15px rgba(102,42,218,.22); cursor: pointer;
}
.fxv-enviar:hover { filter: brightness(1.06); transform: translateY(-1px); }
.fxv-enviar svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fxv-controles { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 0 14px 12px; background: #fff; }
.fxv-iniciar {
  display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px;
  border: 0; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #5720cc, #7f3df0 62%, #985cff);
  box-shadow: 0 9px 20px rgba(93,36,202,.2); cursor: pointer;
}
.fxv-iniciar:disabled { opacity: .55; cursor: wait; }
.fxv-iniciar svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.fxv-iniciar span { display: flex; flex-direction: column; text-align: left; }
.fxv-iniciar b { font-size: 11.5px; }
.fxv-iniciar small { margin-top: 2px; color: rgba(255,255,255,.75); font-size: 9.5px; }
.fxv-raiz[data-fase="ouvindo"] .fxv-iniciar,
.fxv-raiz[data-fase="falando"] .fxv-iniciar { background: linear-gradient(135deg, #bc3855, #ed5b72); }
.fxv-raiz[data-fase="ouvindo"] .fxv-iniciar b::after { content: ' • toque para parar'; font-weight: 500; }
.fxv-raiz[data-fase="falando"] .fxv-iniciar b::after { content: ' • toque para interromper'; font-weight: 500; }
.fxv-encerrar { padding: 0 13px; border: 1px solid #e0d9ea; border-radius: 13px; color: #695d77; background: #fff; font: 650 10.5px/1 inherit; cursor: pointer; }
.fxv-encerrar:hover { color: #a12e45; border-color: #efbcc6; background: #fff7f8; }
.fxv-painel > footer { padding: 8px 14px 10px; color: #8a8293; background: #faf9fc; border-top: 1px solid #eeeaf3; font-size: 9.5px; text-align: center; }

@keyframes fxv-onda { 0% { transform: scale(.75); opacity: .7; } 80%,100% { transform: scale(1.35); opacity: 0; } }
@keyframes fxv-pulsar { 0%,100% { box-shadow: 0 0 0 0 rgba(49,207,128,.5); } 50% { box-shadow: 0 0 0 8px rgba(49,207,128,0); } }
@keyframes fxv-flutuar { 0%,100% { transform: translateY(1px) rotate(-.5deg); } 50% { transform: translateY(-4px) rotate(.7deg); } }
@keyframes fxv-falar-avatar { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.025); } }
@keyframes fxv-respirar-halo { 0%,100% { transform: scale(.9); opacity: .52; } 50% { transform: scale(1.18); opacity: 1; } }
@keyframes fxv-pensar-halo { 0% { transform: rotate(0) scale(.98); border-color: rgba(116,55,239,.24); } 50% { transform: rotate(180deg) scale(1.1); border-color: rgba(46,185,245,.62); } 100% { transform: rotate(360deg) scale(.98); border-color: rgba(116,55,239,.24); } }
@keyframes fxv-eq { from { height: 4px; } to { height: 13px; } }

@media (max-width: 700px) {
  .fxv-raiz { right: 12px; bottom: 58px; }
  .fxv-chamar { min-width: 56px; width: 56px; padding: 7px; border-radius: 18px; }
  .fxv-chamar-texto { display: none; }
  .fxv-painel {
    position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none;
    border: 0; border-radius: 0; transform: translateY(20px);
  }
  .fxv-painel.fxv-aberto { transform: translateY(0); }
  .fxv-marca small { max-width: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  .fxv-raiz *, .fxv-raiz *::before, .fxv-raiz *::after { animation: none !important; transition-duration: .01ms !important; }
}
/* ========================================================================== */
/* REPORTAR: contexto visual por tela, texto longo e áudio                    */
/* ========================================================================== */
.rpt-raiz{position:relative;z-index:225}
.rpt-chamar{position:fixed;z-index:190;right:24px;bottom:118px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd6fe;background:rgba(255,255,255,.94);color:#5b21b6;border-radius:12px;padding:0;font:700 12px/1 inherit;box-shadow:0 8px 24px rgba(76,29,149,.13);cursor:pointer;backdrop-filter:blur(12px);transition:.18s ease}
.rpt-chamar:hover{transform:translateY(-1px);border-color:#8b5cf6;box-shadow:0 12px 28px rgba(76,29,149,.2)}
.rpt-chamar>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rpt-chamar svg,.rpt-gravar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rpt-drawer{position:fixed;z-index:230;top:176px;right:18px;bottom:54px;width:min(520px,calc(100vw - 112px));overflow:auto;background:#fff;border:1px solid #d8ccff;border-radius:20px 12px 12px 20px;box-shadow:-22px 18px 70px rgba(36,14,83,.24);opacity:0;visibility:hidden;transform:translateX(calc(100% + 40px));transition:transform .24s ease,opacity .2s ease,visibility .2s}
.rpt-drawer.aberto{opacity:1;visibility:visible;transform:translateX(0)}
.rpt-drawer>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px 15px;background:linear-gradient(115deg,#faf7ff,#f3f7ff 60%,#ecfeff);border-bottom:1px solid #e8e3f4}
.rpt-drawer h2{margin:2px 0 4px;font-size:22px;line-height:1.1;color:#172033}
.rpt-drawer header p{margin:0;color:#667085;font-size:12.5px}
.rpt-etapa{font-size:10px;font-weight:900;letter-spacing:.11em;color:#7c3aed}
.rpt-fechar{width:34px;height:34px;border:1px solid #ddd6fe;border-radius:10px;background:white;color:#6d28d9;font-size:24px;line-height:1;cursor:pointer}
.rpt-corpo{display:grid;grid-template-columns:1fr;gap:18px;padding:18px 22px 22px}
.rpt-coluna-principal,.rpt-coluna-contexto{min-width:0;display:flex;flex-direction:column;gap:12px}
.rpt-linha-acoes{display:flex;align-items:center;gap:12px;color:#667085;font-size:12px}
.rpt-linha-acoes span{border-left:1px solid #e5e7eb;padding-left:12px}
.rpt-marcar{border:1px solid #c4b5fd;background:#fff;color:#6d28d9;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}
.rpt-marcar.ativo{background:#6d28d9;color:#fff;border-color:#6d28d9;box-shadow:0 7px 16px rgba(109,40,217,.2)}
.rpt-selecionados{display:flex;align-items:center;gap:7px;min-height:34px;overflow:auto;padding:3px 1px}
.rpt-selecionados>small{color:#98a2b3}
.rpt-selecionado{display:inline-flex;align-items:center;gap:6px;max-width:260px;flex:0 0 auto;border:1px solid #ddd6fe;background:#faf7ff;color:#4338ca;border-radius:999px;padding:5px 7px 5px 6px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpt-selecionado>b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#7c3aed;color:#fff;font-size:10px;flex:0 0 auto}
.rpt-selecionado button{border:0;background:transparent;color:#7c3aed;font-size:17px;line-height:1;cursor:pointer;padding:0 2px}
.rpt-campo{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:12px;font-weight:800}
.rpt-campo>span small{font-weight:500;color:#98a2b3}
.rpt-campo textarea,.rpt-campo input,.rpt-campo select{width:100%;border:1px solid #d7dce5;border-radius:11px;background:#fff;color:#172033;padding:10px 12px;font:500 13px/1.45 inherit;outline:none;box-sizing:border-box;transition:.16s}
.rpt-campo textarea{min-height:136px;resize:vertical}
.rpt-campo textarea:focus,.rpt-campo input:focus,.rpt-campo select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.11)}
.rpt-audio-linha{display:flex;align-items:center;gap:10px;min-height:42px}
.rpt-gravar{display:flex;align-items:center;gap:7px;border:1px solid #c4b5fd;background:#f8f5ff;color:#6d28d9;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}
.rpt-gravar.gravando{background:#dc2748;border-color:#dc2748;color:#fff;animation:rpt-pulso 1.2s infinite}
.rpt-audio-linha>b{font-variant-numeric:tabular-nums;color:#667085;font-size:12px}
.rpt-audio-linha audio{height:34px;min-width:220px;max-width:100%}
.rpt-aviso{border:1px solid #e4def3;background:#faf8ff;color:#667085;border-radius:11px;padding:11px 12px;font-size:12px;line-height:1.45}
.rpt-aviso[data-tipo="erro"]{border-color:#fecdd3;background:#fff1f2;color:#be123c}
.rpt-aviso[data-tipo="ok"]{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.rpt-aviso[data-tipo="gravando"]{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}
.rpt-salvar{border:0;border-radius:11px;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;padding:12px 15px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(109,40,217,.24)}
.rpt-salvar:disabled{opacity:.55;cursor:wait}
.rpt-historico{border-top:1px solid #ece8f3;padding-top:10px}
.rpt-historico summary{cursor:pointer;color:#6d28d9;font-weight:800;font-size:12px}
#rpt-historico-lista{display:flex;flex-direction:column;gap:7px;max-height:185px;overflow:auto;padding-top:9px}
.rpt-historico-item{display:flex;flex-direction:column;gap:2px;border:1px solid #ece8f3;border-radius:9px;padding:8px;background:#fcfbff}
.rpt-historico-item>b{font-size:11.5px;color:#344054}.rpt-historico-item>span{font-size:10px;color:#7c3aed}.rpt-historico-item>small{color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpt-historico-item audio{width:100%;height:30px;margin-top:4px}
.rpt-ouvir{align-self:flex-start;margin-top:5px;border:1px solid #c4b5fd;border-radius:8px;background:#fff;color:#6d28d9;padding:6px 9px;font:800 10.5px/1 inherit;cursor:pointer}
.rpt-ouvir:hover{background:#f5f3ff}.rpt-ouvir:disabled{opacity:.6;cursor:wait}
.rpt-pontos{position:fixed;z-index:220;inset:0;pointer-events:none}
.rpt-ponto{position:fixed;pointer-events:auto;display:grid;place-items:center;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #fff;border-radius:50%;background:#7c3aed;color:#fff;font:900 9px/1 inherit;box-shadow:0 2px 8px rgba(76,29,149,.45);cursor:crosshair;animation:rpt-entrada .18s ease both}
.rpt-ponto:not(.marcado)::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.2)}
.rpt-ponto:hover{transform:scale(1.35);background:#4f46e5}.rpt-ponto.marcado{background:#059669;width:24px;height:24px;margin:-12px 0 0 -12px}
body.rpt-marcando #view .pane.on{outline:2px solid rgba(124,58,237,.22);outline-offset:-2px}
@keyframes rpt-entrada{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes rpt-pulso{50%{box-shadow:0 0 0 7px rgba(220,39,72,.14)}}

@media(max-width:900px){
  .rpt-chamar{right:16px;bottom:126px;width:36px;height:36px}.rpt-drawer{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:92vh;border-radius:18px;transform:translateY(calc(100% + 30px))}.rpt-drawer.aberto{transform:translateY(0)}
  .rpt-corpo{grid-template-columns:1fr;padding:14px}.rpt-drawer>header{padding:15px}
  .rpt-audio-linha{flex-wrap:wrap}.rpt-audio-linha audio{width:100%}
}

/* Fênix: abrir já ativa; controles separados de áudio e pausa total. */
.fxv-audio{
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;
  border:1px solid #d9d2e7;border-radius:14px;color:#62566f;background:#f8f7fb;
  box-shadow:none;cursor:pointer;transition:.18s ease
}
.fxv-audio:hover{border-color:#9b77e4;background:#f7f2ff;transform:translateY(-1px)}
.fxv-audio.ligado{border-color:transparent;color:#fff;background:linear-gradient(135deg,#5720cc,#7f3df0 62%,#985cff);box-shadow:0 9px 20px rgba(93,36,202,.2)}
.fxv-audio svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.fxv-audio span{display:flex;flex-direction:column;text-align:left}.fxv-audio b{font-size:11.5px}.fxv-audio small{margin-top:2px;color:inherit;opacity:.74;font-size:9.5px}
.fxv-parar{min-width:82px;padding:0 13px;border:1px solid #f0a8b7;border-radius:13px;color:#b42343;background:#fff6f8;font:800 10.5px/1 inherit;cursor:pointer;transition:.18s ease}
.fxv-parar:hover{background:#c93655;color:#fff;border-color:#c93655}.fxv-parar.pausada{color:#16764b;border-color:#a7e0c2;background:#f1fbf5}.fxv-parar.pausada:hover{color:#fff;border-color:#168552;background:#168552}
.fxv-compositor textarea:disabled,.fxv-enviar:disabled{opacity:.5;cursor:not-allowed}

/* ========================================================================== */
/* PAINEL DE ATENDIMENTOS: central clínica, prontuário e evolução por área    */
/* ========================================================================== */
.pat-pagina,.pat-lista-pagina{display:flex;flex-direction:column;gap:14px;padding:16px;min-height:calc(100vh - 178px);background:linear-gradient(180deg,#f7f7fb 0,#f3f5f9 100%);color:#172033}
.pat-cabecalho{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(520px,1.8fr) auto;gap:24px;align-items:center;padding:18px 20px;border:1px solid #e2deed;box-shadow:0 8px 24px rgba(32,22,55,.06)}
.pat-identidade{display:flex;align-items:center;gap:13px;min-width:0}.pat-avatar{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#f0e8ff,#ddd3ff);color:#6530d7;font-size:20px;font-weight:900;box-shadow:inset 0 0 0 1px #d8caff}.pat-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:850}.pat-meta{margin-top:4px;color:#7a7289;font-size:11.5px}
.pat-contexto{display:grid;grid-template-columns:auto 1fr 1fr 1.45fr;gap:15px;align-items:center;min-width:0;padding-left:20px;border-left:1px solid #ece8f2}.pat-contexto>div{display:flex;min-width:0;flex-direction:column;gap:3px}.pat-contexto b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.pat-contexto span:not(.pill){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#787182;font-size:11px}.pat-servicos{padding-left:15px;border-left:1px solid #ece8f2}.pat-acoes{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.pat-acoes .btn{white-space:nowrap}.pat-acoes .btn:disabled{color:#50705d;background:#edf8f1;border-color:#cbead7;opacity:1}
.pat-resumos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pat-resumo{display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;align-items:center;min-height:82px;padding:13px 15px;border:1px solid #e2e5ec;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(32,22,55,.04)}.pat-resumo>div{display:flex;min-width:0;flex-direction:column;gap:2px}.pat-resumo small{text-transform:uppercase;color:#8b8496;font-size:9.5px;font-weight:850;letter-spacing:.055em}.pat-resumo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.pat-resumo span:not(.pat-resumo-icone){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777083;font-size:10.5px}.pat-resumo.com-alerta{border-color:#f1c8cc;background:#fffafb}.pat-resumo-icone{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:20px;font-weight:800}.pat-resumo-icone.roxo{color:#7335df;background:#f0e9ff}.pat-resumo-icone.azul{color:#2873cc;background:#eaf4ff}.pat-resumo-icone.laranja{color:#be6a16;background:#fff1df}.pat-resumo-icone.vermelho{color:#d03b49;background:#fff0f1}
.pat-saldo{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(430px,1.4fr);gap:18px;padding:16px 18px}.pat-saldo-cab{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid #ece8f1}.pat-saldo-cab>div{display:flex;flex-direction:column;gap:3px}.pat-saldo-cab b{font-size:15px}.pat-saldo-cab span{color:#7b7484;font-size:11px}.pat-saldo-numeros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pat-saldo-numeros article{display:flex;min-height:70px;flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;border-radius:11px;background:#f7f4fb;border:1px solid #ebe4f3}.pat-saldo-numeros small{text-transform:uppercase;color:#867d91;font-size:8.5px;font-weight:850;letter-spacing:.04em}.pat-saldo-numeros b{color:#40225f;font-size:23px}.pat-saldo-tabela{overflow:hidden;border:1px solid #e8e3ed;border-radius:11px}.pat-saldo-linha{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(76px,.45fr));align-items:center;min-height:36px;padding:0 10px;border-top:1px solid #eeeaf2}.pat-saldo-linha:first-child{border-top:0}.pat-saldo-linha b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.pat-saldo-linha span{text-align:center;color:#51485b;font-size:11px}.pat-saldo-titulo{min-height:32px;background:#f7f5f9}.pat-saldo-titulo b,.pat-saldo-titulo span{text-transform:uppercase;color:#83798e;font-size:8.5px;font-weight:850}.pat-saldo-vazio{display:grid;place-items:center;min-height:70px;padding:12px;border:1px dashed #d9d1e1;border-radius:11px;color:#7b7484;font-size:11px}
.pat-centro{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:600px;overflow:hidden;border:1px solid #dfdce8;box-shadow:0 8px 26px rgba(32,22,55,.055)}.pat-lateral{padding:14px 10px;border-right:1px solid #e7e3ed;background:linear-gradient(180deg,#fcfbff,#f8f6fb)}.pat-lateral-titulo{display:flex;flex-direction:column;padding:5px 10px 12px}.pat-lateral-titulo b{font-size:14px}.pat-lateral-titulo span{margin-top:2px;color:#8b8496;font-size:10.5px}.pat-lateral nav{display:flex;flex-direction:column;gap:3px}.pat-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#464052;text-align:left;cursor:pointer;transition:.14s ease}.pat-item:hover{border-color:#e3daf9;background:#fff}.pat-item.on{border-color:#dac9ff;background:linear-gradient(110deg,#eee5ff,#f8f4ff);color:#6423cf;box-shadow:0 5px 13px rgba(101,48,215,.09)}.pat-item>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.pat-item>em{display:grid;place-items:center;min-width:19px;height:19px;border-radius:999px;background:#eee9f7;color:#6c627b;font-size:9px;font-style:normal}.pat-item.on>em{background:#6d2ee0;color:#fff}
.pat-conteudo{min-width:0;padding:20px;background:#fff}.pat-carregando,.pat-vazio{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#7d7589;text-align:center}.pat-vazio>b{color:#262031;font-size:14px}.pat-vazio>span{max-width:520px;font-size:12px}.pat-vazio.erro{color:#bd3443}.pat-vazio .btn{margin-top:10px}.pat-mod-cab{display:flex;min-height:48px;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #eeeaf3}.pat-mod-cab>div:first-child{display:flex;flex-direction:column;gap:3px}.pat-mod-cab>div>b{font-size:15px}.pat-mod-cab>div>span{color:#7d7589;font-size:11.5px}.pat-foto-acoes{display:flex!important;align-items:center;justify-content:flex-end;flex-direction:row!important;gap:5px;flex-wrap:wrap}.pat-aviso,.pat-faixa{margin:14px 0;padding:11px 13px;border:1px solid #f0d79a;border-left:4px solid #dca724;border-radius:10px;background:#fffaf0;color:#775819;font-size:11.5px}.pat-faixa{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.pat-faixa span{color:#826f4d}
.pat-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.pat-area{display:flex;flex-direction:column;gap:13px;padding:15px;border:1px solid #e1dbea;border-radius:13px;background:linear-gradient(145deg,#fff,#fcfaff);box-shadow:0 5px 14px rgba(45,30,70,.035)}.pat-area-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}.pat-area-topo>div{display:flex;align-items:center;gap:8px}.pat-area-topo b{font-size:13.5px}.pat-area-icone{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#eee5ff;color:#6c2adb}.pat-area-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pat-area-grade>div{display:flex;min-width:0;min-height:62px;flex-direction:column;gap:2px;padding:9px;border-radius:9px;background:#f7f6fa}.pat-area-grade small{text-transform:uppercase;color:#90899a;font-size:8.5px;font-weight:850}.pat-area-grade b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.pat-area-grade span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b7484;font-size:9.5px}.pat-area>.btn{align-self:flex-end}
.pat-area.finalizado{border-color:#b9e7c9;background:linear-gradient(145deg,#fff,#f4fbf6)}
.pat-area.sem_atendimento{border-color:#dfe2e7;background:linear-gradient(145deg,#fff,#f7f8fa)}
.pat-area.em_andamento{border-color:#a9cfee;background:linear-gradient(145deg,#fff,#f4f9fd)}
.pat-area-situacao{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:#f7f6fa;color:#6b6474;font-size:10.5px}
.pat-area-situacao b{font-size:11px}.pat-area-situacao span{font-variant-numeric:tabular-nums}.pat-area-situacao small{display:block;flex:1;color:#7a7f89}
.pat-area-situacao.finalizado{background:#ecfdf3;color:#15803d}.pat-area-situacao.em_andamento{background:#eff6ff;color:#1d4ed8}.pat-area-situacao.sem_atendimento{background:#f3f4f6;color:#6b7280}
.pat-area-acoes{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pat-area-acoes .btn{white-space:nowrap}
.pat-linha-tempo{position:relative;display:flex;flex-direction:column;margin-top:13px;padding-left:12px}.pat-linha-tempo:before{content:'';position:absolute;top:12px;bottom:12px;left:92px;width:1px;background:#e2d9f2}.pat-linha-tempo article{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:26px;padding:10px 0}.pat-linha-tempo article:before{content:'';position:absolute;left:86px;top:19px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:#7d3de5;box-shadow:0 0 0 1px #d8c8f2}.pat-lt-data{display:flex;flex-direction:column;gap:2px;text-align:right}.pat-lt-data b{font-size:11px}.pat-lt-data span{color:#8c8596;font-size:10px}.pat-lt-corpo{display:flex;min-width:0;flex-direction:column;gap:4px;padding:9px 11px;border:1px solid #e9e5ee;border-radius:10px;background:#fff}.pat-lt-corpo>div:first-child{display:flex;align-items:center;gap:8px}.pat-lt-corpo>div:first-child>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pat-lt-corpo>span{color:#7e7788;font-size:10px}.pat-lt-parametros{margin-top:3px;padding-top:6px;border-top:1px dashed #e4ddec;color:#5e566a;font-size:10.5px;line-height:1.5}
.pat-hist-acoes{display:flex!important;align-items:center;flex-direction:row!important;gap:6px}.pat-hist-filtros{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end;margin:14px 0}.pat-hist-filtros label{display:flex;flex-direction:column;gap:4px;color:#7c7488;font-size:10px;font-weight:750}.pat-hist-filtros .pat-hist-desconsiderar{align-items:center;justify-content:center;flex-direction:row;min-height:38px;padding:0 10px;border:1px solid #e5e0ea;border-radius:9px;background:#faf9fc}.pat-hist-desconsiderar input{width:auto}.pat-hist-grade{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:14px;min-height:430px}.pat-hist-grade>section,.pat-hist-grade>aside{min-width:0;border:1px solid #e6e1eb;border-radius:12px;background:#fbfafd}.pat-hist-grade>section{padding:15px}.pat-hist-grade>aside{overflow:hidden}.pat-hist-detalhe-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e9e4ed}.pat-hist-detalhe-cab>div{display:flex;flex-direction:column;gap:3px}.pat-hist-detalhe-cab>div>span,.pat-hist-detalhe-cab small{color:#81798b;font-size:10px}.pat-hist-detalhe-cab b{font-size:15px}.pat-hist-cartao{margin-top:12px;padding:13px;border:1px solid #e2dbea;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(42,28,66,.035)}.pat-hist-cartao h4{display:flex;justify-content:space-between;gap:10px;margin:0 0 11px;color:#4e376e;font-size:12px}.pat-hist-cartao h4 span{color:#6c2bd7}.pat-hist-parametros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pat-hist-parametros>div{display:flex;min-width:0;flex-direction:column;gap:2px;padding:8px;border-radius:8px;background:#f7f5fa}.pat-hist-parametros small{color:#8a8295;font-size:8.5px;font-weight:800;text-transform:uppercase}.pat-hist-parametros b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.pat-hist-obs{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:9px;border-radius:8px;background:#fffaf0}.pat-hist-obs small{color:#8d6e29;font-size:9px;font-weight:800}.pat-hist-obs span{color:#665a3e;font-size:10.5px;line-height:1.45}.pat-hist-lista-cab{display:flex;align-items:center;justify-content:space-between;padding:13px;border-bottom:1px solid #e8e3ec;background:#fff}.pat-hist-lista-cab b{font-size:12px}.pat-hist-lista-cab span{color:#837b8d;font-size:10px}.pat-hist-itens{min-height:330px}.pat-hist-itens>button{display:flex;width:100%;align-items:center;flex-direction:column;gap:5px;padding:10px 12px;border:0;border-bottom:1px solid #ece8f0;background:#fff;text-align:left;cursor:pointer}.pat-hist-itens>button:hover,.pat-hist-itens>button.on{background:#f7f2ff;box-shadow:inset 3px 0 #7433df}.pat-hist-itens>button>span{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:8px}.pat-hist-itens b{font-size:10.5px}.pat-hist-itens small{color:#867e90;font-size:9px}.pat-hist-itens em{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#665e70;font-size:9.5px;font-style:normal}.pat-hist-paginacao{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-top:1px solid #e8e3ec;background:#fff}.pat-hist-paginacao span{color:#80788a;font-size:9.5px}
.pat-tabela{margin-top:13px;overflow:auto;border:1px solid #e6e2ec;border-radius:11px}.pat-tabela table{margin:0}.pat-tabela td>span{display:block;margin-top:2px;color:#827a8d;font-size:10px}.pat-album{margin-top:15px}.pat-album h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12px}.pat-album h4 span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#eee9f7;color:#6a6175;font-size:9px}.pat-galeria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pat-galeria article{overflow:hidden;border:1px solid #e4e0e9;border-radius:11px;background:#fff}.pat-foto-previa{display:grid;min-height:128px;place-items:center;background:#f5f3f8}.pat-foto-previa img{display:none;width:100%;height:150px;object-fit:cover;cursor:zoom-in}.pat-galeria article>div:last-child{display:flex;flex-direction:column;gap:2px;padding:9px}.pat-galeria article b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.pat-galeria article span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#857d8f;font-size:9px}
.pat-avaliacao-fichas{margin-top:18px;padding-top:16px;border-top:1px solid #e8e3ec}.pat-avaliacao-fichas>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.pat-avaliacao-fichas>div:first-child b{font-size:13px}.pat-avaliacao-fichas>div:first-child span{color:#81798b;font-size:10px}.pat-avaliacao-fichas .pat-vazio{min-height:120px}
.pat-prontuario-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.pat-prontuario-resumo article{display:flex;min-width:0;min-height:82px;flex-direction:column;gap:3px;padding:13px;border:1px solid #e8e3ee;border-radius:11px;background:#fbfaff}.pat-prontuario-resumo article.alerta{border-color:#f1c7cb;background:#fff8f9}.pat-prontuario-resumo small{text-transform:uppercase;color:#8a8295;font-size:9px;font-weight:850}.pat-prontuario-resumo b{font-size:16px}.pat-prontuario-resumo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d7588;font-size:10px}.pat-prontuario-blocos{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.pat-prontuario-blocos>section{padding:14px;border:1px solid #e8e4ed;border-radius:12px;background:#fff}.pat-prontuario-blocos h4{margin:0 0 10px;font-size:12px}.pat-prontuario-atalho{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;margin-top:7px;padding:10px;border:1px solid #e7e2ed;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.pat-prontuario-atalho:hover,.pat-prontuario-atalho.destaque{border-color:#d9c7ff;background:#faf7ff}.pat-prontuario-atalho>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eee7fb}.pat-prontuario-atalho>div{display:flex;min-width:0;flex-direction:column;gap:2px}.pat-prontuario-atalho b{font-size:11px}.pat-prontuario-atalho small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#81798c;font-size:9.5px}.pat-prontuario-atalho em{color:#6c2bd8;font-size:9px;font-style:normal;font-weight:800}.pat-prontuario-info{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:9px 0;border-bottom:1px solid #eeeaf2}.pat-prontuario-info span{color:#827a8d;font-size:10px}.pat-prontuario-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.pat-prontuario-obs{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:9px;border-radius:9px;background:#fffaf0}.pat-prontuario-obs small{color:#8a6a26;font-size:9px;font-weight:800}.pat-prontuario-obs span{color:#66583a;font-size:10px;line-height:1.45}
.pat-lista-cab{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px}.pat-lista-cab h2{margin:0;color:#1b1528;font-size:20px}.pat-lista-cab p{margin:4px 0 0;color:#777082;font-size:12px}.pat-lista-filtros{display:flex;align-items:flex-end;gap:7px}.pat-lista-filtros label,.pat-busca>label{display:flex;flex-direction:column;gap:5px;color:#756d7f;font-size:10px;font-weight:750}.pat-lista-filtros input{min-width:155px}.pat-busca{position:relative;padding:12px 15px}.pat-busca>label{max-width:520px}.pat-busca input{font-size:12.5px}.pat-busca #pat-sug{position:absolute;z-index:12;top:70px;left:15px;width:min(520px,calc(100% - 30px));overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 14px 35px rgba(35,24,60,.17)}#pat-sug:empty{display:none}#pat-sug button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid #eeeaf3;background:#fff;text-align:left;cursor:pointer}#pat-sug button:hover{background:#faf7ff}#pat-sug span{display:flex;min-width:0;flex-direction:column;gap:2px}#pat-sug b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}#pat-sug small{color:#827b8c;font-size:9.5px}#pat-sug em{color:#6c2ad8;font-size:9.5px;font-style:normal;font-weight:750}
.pat-atendimentos{overflow:hidden;border:1px solid #e2dee8;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(35,24,60,.045)}.pat-atendimento{display:grid;grid-template-columns:95px minmax(260px,1fr) 130px auto;gap:14px;align-items:center;min-height:68px;padding:10px 14px;border-bottom:1px solid #eeeaf2}.pat-atendimento:last-child{border-bottom:0}.pat-atendimento:hover{background:#fdfcff}.pat-hora,.pat-atendimento-cliente{display:flex;min-width:0;flex-direction:column;gap:3px}.pat-hora b{font-size:14px}.pat-hora span,.pat-atendimento-cliente span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7f7889;font-size:10.5px}.pat-atendimento-cliente b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.pat-atendimento-acoes{display:flex;justify-content:flex-end;gap:6px}.pat-aguarda-chegada{padding:6px 10px;border:1px solid #f1df9d;border-radius:999px;background:#fff8df;color:#8a6b16;font-size:11px;white-space:nowrap}
@media(max-width:1450px){.pat-cabecalho{grid-template-columns:minmax(240px,1fr) minmax(450px,1.6fr)}.pat-acoes{grid-column:1/-1;padding-top:10px;border-top:1px solid #eeeaf3}.pat-resumos{grid-template-columns:repeat(2,minmax(0,1fr))}.pat-galeria{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.pat-pagina,.pat-lista-pagina{padding:10px}.pat-cabecalho{grid-template-columns:1fr}.pat-contexto{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0 0;border-top:1px solid #eeeaf3;border-left:0}.pat-saldo{grid-template-columns:1fr}.pat-centro{grid-template-columns:205px minmax(0,1fr)}.pat-areas{grid-template-columns:1fr}.pat-galeria{grid-template-columns:repeat(2,minmax(0,1fr))}.pat-atendimento{grid-template-columns:70px minmax(180px,1fr) auto}.pat-atendimento>.pill{display:none}.pat-atendimento-acoes{grid-column:2/-1}.pat-hist-filtros{grid-template-columns:repeat(2,minmax(150px,1fr))}.pat-hist-grade{grid-template-columns:1fr}.pat-hist-parametros{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pat-resumos,.pat-prontuario-resumo{grid-template-columns:1fr}.pat-saldo-numeros{grid-template-columns:1fr}.pat-saldo-tabela{overflow-x:auto}.pat-saldo-linha{min-width:520px}.pat-prontuario-blocos{grid-template-columns:1fr}.pat-centro{display:block}.pat-lateral{border-right:0;border-bottom:1px solid #e7e3ed}.pat-lateral nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pat-conteudo{padding:14px}.pat-area-grade{grid-template-columns:1fr}.pat-galeria{grid-template-columns:1fr}.pat-lista-cab{align-items:flex-start;flex-direction:column}.pat-atendimento{grid-template-columns:60px minmax(0,1fr)}.pat-atendimento-acoes{grid-column:1/-1}.pat-contexto{grid-template-columns:1fr}.pat-servicos{padding-left:0;border-left:0}.pat-hist-filtros,.pat-hist-parametros{grid-template-columns:1fr}.pat-hist-acoes{flex-wrap:wrap}}
/* Funil de Vendas, acabamento visual e estrutura macro, 29/08/2026 */
.fv-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px;padding:2px 1px}.fv-hero h2{font-size:25px;line-height:1.15;margin:3px 0 5px;color:#182033}.fv-hero p{margin:0;color:#697386;font-size:12.5px}.fv-sobretitulo{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#7c3aed}.fv-hero-status{display:flex;align-items:center;gap:7px;margin-top:8px;padding:7px 10px;border:1px solid #e7e9ef;border-radius:999px;background:#fff;color:#667085;font-size:10.5px;white-space:nowrap}.fv-hero-status span{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #dcfce7}.fv-barra-filtros{padding:12px;background:#fff;border:1px solid #e7e9ef;border-radius:13px;box-shadow:0 2px 8px rgba(30,41,59,.035)}
.fv-quadro{display:flex;gap:12px;overflow-x:auto;padding:1px 1px 12px;align-items:stretch}.fv-colunas{display:flex;gap:12px;align-items:stretch;min-width:0}.fv-col{flex:0 0 255px;background:#f8f9fb;border:1px solid #e5e7eb;border-radius:13px;display:flex;flex-direction:column;max-height:calc(100vh - 250px);box-shadow:0 2px 7px rgba(15,23,42,.035)}
.fv-col-cab{padding:12px 13px 10px;border-radius:12px 12px 0 0;background:#fff;border-bottom:1px solid #eceef2}.fv-etapa-num{font-weight:800}.fv-contador{margin-left:auto;font-size:11px;font-weight:800;color:#697386;background:#f1f3f6;border-radius:999px;padding:2px 7px}.fv-col-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;color:#697386;font-size:10.5px}.fv-col-meta button{border:1px solid #e2dcfb;background:#fff;color:#6d28d9;border-radius:7px;padding:4px 8px;font:inherit;font-weight:700;cursor:pointer}.fv-col-meta button:hover{background:#f5f1ff;border-color:#c4b5fd}.fv-drop{font-size:10.5px;color:#a4aab5;text-align:center;padding:10px 7px;border:1px dashed #dfe2e8;border-radius:8px;background:#fbfcfd}.fv-ver-todos{border:0;border-top:1px solid #eceef2;background:#fff;color:#6d28d9;font-size:10.5px;font-weight:700;padding:10px;cursor:pointer;border-radius:0 0 12px 12px}.fv-ver-todos:hover{background:#faf8ff}
.fv-card-topo{display:flex;align-items:center;gap:8px}.fv-avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,#ede9fe,#ddd6fe);color:#6d28d9;font-size:10.5px;font-weight:800}.fv-identidade{display:flex;flex:1;min-width:0;flex-direction:column}.fv-identidade>span{font-size:10px;color:#858c9a;margin-top:1px}.fv-card-temp{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff7ed;font-size:12px}
.fv-proximo-passo{flex:0 0 210px;border:1px solid #ddd3ff;border-radius:13px;background:linear-gradient(160deg,#fff 20%,#f8f4ff);padding:18px 16px;display:flex;flex-direction:column;min-height:330px;color:#4c1d95;box-shadow:0 2px 9px rgba(109,40,217,.07)}.fv-proximo-kicker{font-size:10px;font-weight:800;color:#8b5cf6}.fv-proximo-passo h3{font-size:16px;margin:8px 0 18px;color:#312e81}.fv-proximo-passo p{font-size:11.5px;line-height:1.55;color:#697386;margin:0 0 18px}.fv-proximo-passo .btn{align-self:flex-start}.fv-proximo-icone{margin:auto auto 3px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#eee7ff;color:#7c3aed;font-size:24px;font-weight:800;position:relative}.fv-proximo-icone span{font-size:13px;position:absolute;right:9px}
.fv-criterios-modal{min-width:min(620px,85vw)}.fv-criterios-modal h3{margin:3px 0}.fv-criterios-modal>p{margin:0 0 16px}.fv-criterios-modal section{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:13px 0;border-top:1px solid #eceef2}.fv-criterios-modal section div b,.fv-criterios-modal section div span{display:block}.fv-criterios-modal section div span{font-size:11px;color:#7a8290;margin-top:2px}.fv-criterios-modal section p{grid-column:1;font-size:12px;color:#8b93a1;margin:5px 0 0;padding:9px;border:1px dashed #dfe2e8;border-radius:8px;background:#fafbfc}.fv-criterios-modal section .btn{grid-column:2;grid-row:1/3;align-self:center}.fv-criterios-nota{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f5f3ff;color:#5b21b6;font-size:11px;line-height:1.45}.fv-criterio-linha{display:block;padding:5px 0;border-bottom:1px solid #eceef2}.fv-criterio-linha:last-child{border-bottom:0}.fv-criterio-linha b,.fv-criterio-linha small{display:block}.fv-criterio-linha b{color:#3f4654}.fv-criterio-linha small{color:#8b93a1;margin-top:2px}.fv-subetapas{padding:13px 0;border-top:1px solid #eceef2}.fv-subetapas>b,.fv-subetapas>small{display:block}.fv-subetapas>span{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:9px 0}.fv-subetapas i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#ede9fe;color:#6d28d9;font-size:10px;font-weight:800;font-style:normal}.fv-subetapas em{font-size:11px;font-weight:650;color:#475569;font-style:normal;margin-right:5px}.fv-subetapas>small{font-size:10.5px;color:#8b93a1}.fv-exemplos{margin-top:7px}.fv-exemplos summary{cursor:pointer;color:#6d28d9;font-size:10.5px;font-weight:700}.fv-exemplos>div{margin-top:6px;padding:7px 8px;border-radius:7px;background:#f8fafc}.fv-exemplos>div>b{font-size:10px;margin-bottom:3px}.fv-exemplos>div>span{display:block;font-size:10px;line-height:1.35;color:#64748b}.fv-exemplos .positivo{border-left:3px solid #22c55e}.fv-exemplos .confusao{border-left:3px solid #f59e0b}.fv-exemplos .negativo{border-left:3px solid #ef4444}
@media (max-width:680px){.fv-hero{display:block}.fv-hero-status{display:inline-flex}.fv-barra-filtros{padding:10px}.fv-proximo-passo{display:none}}
.cf-regra{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #eceef2}.cf-regra>div{flex:1;min-width:0}.cf-regra small{display:block;color:#7a8290;margin-top:2px}.cf-vazio{padding:9px 0}.cf-criterio-bloco{padding:10px 0;border-top:1px solid #eceef2}.fv-card-subetapa{margin:7px 0 1px;padding:5px 7px;border-radius:7px;background:#f5f3ff;color:#6d28d9;font-size:10.5px}.fv-card-subetapa b{font-weight:750}
.fv-subfiltros{display:flex;gap:4px;overflow-x:auto;margin:9px -2px -1px;padding:1px 2px 3px}.fv-subfiltros button{display:inline-flex;align-items:center;gap:3px;flex:none;border:1px solid #e6e2ef;border-radius:999px;background:#fafafa;color:#6b7280;padding:3px 6px;font:inherit;font-size:8.5px;cursor:pointer}.fv-subfiltros button:hover,.fv-subfiltros button.on{border-color:#8b5cf6;background:#f0e9ff;color:#5b21b6}.fv-subfiltros button b{font-size:8px}.fv-subfiltros button i{display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#e9ddff;font-style:normal;font-weight:800}
.fv-progressao{margin-top:14px;padding:11px;border:1px solid #ddd6fe;border-radius:11px;background:#fbfaff}.fv-progressao>div:first-child b,.fv-progressao>div:first-child span{display:block}.fv-progressao>div:first-child b{font-size:12.5px}.fv-progressao>div:first-child span{margin-top:2px;color:#746d80;font-size:10.5px}.fv-progressao-passos{display:flex;align-items:stretch;gap:6px;margin-top:10px;overflow-x:auto}.fv-progressao-passos button{display:flex;align-items:center;gap:5px;flex:1;min-width:96px;border:1px solid #e5e1ec;border-radius:8px;background:#fff;color:#5f5868;padding:7px;font:inherit;font-size:10px;cursor:pointer}.fv-progressao-passos button:hover,.fv-progressao-passos button.on{border-color:#8b5cf6;background:#f0e9ff;color:#5b21b6;font-weight:700}.fv-progressao-passos i{display:grid;place-items:center;width:19px;height:19px;flex:none;border-radius:50%;background:#ede9fe;color:#6d28d9;font-style:normal;font-size:9px;font-weight:800}

/* Funil de Vendas, acabamento e separacao visual, 29/08/2026 */
.fv-hero{padding:6px 4px 2px}.fv-hero h2{letter-spacing:-.025em}.fv-hero-status{box-shadow:0 4px 14px rgba(15,23,42,.04)}
.fv-barra-filtros{display:flex;align-items:flex-end;gap:18px;margin-bottom:16px;padding:14px 15px;border-color:#e3e5eb;box-shadow:0 8px 24px rgba(29,22,48,.045)}
.fv-topo-l{min-width:310px;align-items:flex-end}.fv-topo-r{flex:1;justify-content:flex-end;align-items:flex-end;flex-wrap:wrap}
.fv-controle{display:flex;flex-direction:column;gap:5px}.fv-controle>small{color:#81798b;font-size:9px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.fv-controle-funil{min-width:190px}.fv-controle-busca{min-width:190px}.fv-controle .fv-sel,.fv-controle input{height:36px;margin:0;border-color:#ded9e7;background:#fbfafd}.fv-controle .fv-sel:focus,.fv-controle input:focus{border-color:#8b5cf6;background:#fff;box-shadow:0 0 0 3px #ede9fe;outline:0}.fv-divisor{width:1px;height:36px;margin:0 2px;background:#e5e1e9}.fv-barra-filtros .btn{height:36px;white-space:nowrap}.fv-topo-l #fv-resumo{max-width:270px;padding:0 2px 5px;font-size:10.5px;line-height:1.35}
.fv-analise{margin-bottom:19px}.fv-painel{padding:16px;border-color:#ded5f4;background:linear-gradient(145deg,#fff 0%,#faf8ff 100%);box-shadow:0 7px 22px rgba(84,48,128,.045)}.fv-painel-cab{padding-bottom:12px;border-bottom:1px solid #ece7f5}.fv-painel-cab b{font-size:14px}.fv-painel-cab span:not(.fv-painel-selo){max-width:90ch;line-height:1.45}.fv-metricas{gap:10px}.fv-metrica{min-height:63px;padding:11px 12px;border-color:#e7e3eb;box-shadow:0 2px 6px rgba(23,17,37,.025)}.fv-metrica strong{font-size:21px}.fv-metrica span{margin-top:5px}.fv-leituras{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.fv-leituras>div{padding:9px 10px;border:1px solid #ece8f1;background:#fff;line-height:1.45}
.fv-quadro-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 2px 10px}.fv-quadro-cab h3{margin:3px 0 0;color:#252033;font-size:17px}.fv-legenda{display:flex;align-items:center;gap:13px;color:#7d7587;font-size:9.5px}.fv-legenda span{display:flex;align-items:center;gap:5px;white-space:nowrap}.fv-legenda i{width:8px;height:8px;border-radius:50%;background:#7c3aed}.fv-legenda i.sugerido{border:1px dashed #d97706;background:#fffaf0}
.fv-quadro{gap:14px;margin:0 -3px;padding:3px 3px 18px;scrollbar-color:#cfc7dd transparent}.fv-colunas{gap:14px}.fv-col{flex-basis:286px;max-height:calc(100vh - 275px);border-color:#dedfe5;border-radius:14px;background:#f5f6f8;box-shadow:0 6px 18px rgba(28,24,42,.045)}.fv-col-cab{position:sticky;z-index:2;top:0;padding:13px 14px 11px;border-radius:13px 13px 0 0}.fv-col-nome{font-size:13.5px}.fv-etapa-num{display:grid;place-items:center;min-width:22px;height:22px;border-radius:7px;background:#f3f0fa}.fv-contador{padding:3px 8px}.fv-col-meta{margin-top:9px}.fv-col-meta button{padding:5px 8px}.fv-subfiltros{gap:5px;margin-top:10px;padding-bottom:5px}.fv-subfiltros button{min-height:25px;padding:4px 7px;font-size:9px}.fv-col-corpo{gap:9px;padding:10px}.fv-drop{padding:8px;border-color:#d8d4df;background:#f8f8fa}.fv-card{padding:11px 12px;border-color:#e0dde5;border-radius:11px;box-shadow:0 3px 9px rgba(26,20,38,.045)}.fv-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(44,30,67,.09)}.fv-avatar{width:34px;height:34px}.fv-identidade b{font-size:12.5px}.fv-card-subetapa{padding:6px 8px;border-left:3px solid #8b5cf6}.fv-card-resp{margin-top:8px;padding-top:8px}.fv-card-acao{margin-top:7px;padding:7px 8px}.fv-vazio{margin-top:2px;padding:22px 10px;background:rgba(255,255,255,.7)}.fv-ver-todos{padding:11px}
.fv-criterios-modal{min-width:min(720px,88vw)}.fv-criterios-modal section{margin-top:8px;padding:14px;border:1px solid #ebe7f0;border-radius:11px;background:#fbfafc}.fv-criterios-modal section p{border-style:solid;background:#fff}.fv-subetapas{margin-top:12px;padding:14px;border:1px solid #ded5f4;border-radius:11px;background:#faf8ff}.fv-subetapas>span{gap:7px}.fv-subetapas em{padding:5px 8px;border:1px solid #e4ddf1;border-radius:8px;background:#fff}
@media(max-width:1180px){.fv-barra-filtros{align-items:stretch;flex-direction:column}.fv-topo-l,.fv-topo-r{width:100%;justify-content:flex-start}.fv-leituras{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-divisor{display:none}}
@media(max-width:680px){.fv-barra-filtros{padding:12px}.fv-topo-r{display:grid;grid-template-columns:1fr 1fr}.fv-controle,.fv-controle-funil,.fv-controle-busca{min-width:0}.fv-controle{grid-column:span 1}.fv-controle .fv-sel,.fv-controle input{width:100%}.fv-barra-filtros .btn{width:100%;padding-inline:7px}.fv-topo-l #fv-resumo{max-width:none}.fv-quadro-cab{align-items:flex-start;flex-direction:column}.fv-legenda{flex-wrap:wrap}.fv-leituras{grid-template-columns:1fr}.fv-col{flex-basis:88vw}.fv-criterios-modal{min-width:0}}

/* Triagem profissional da Avaliacao Online no painel Comercial. */
.ccv-avaliacao-status.revisao {
  border-color: #fedf89;
  background: #fffaeb;
  color: #93370d;
}
.ccv-avaliacao-status > b,
.ccv-avaliacao-status > span {
  display: block;
  margin-bottom: 4px;
}
.ccv-triagem-alertas {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 7px 0;
}
.ccv-triagem-alertas span {
  border: 1px solid #fedf89;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  padding: 3px 7px;
  font-size: 9px;
  font-weight: 700;
}
.ccv-triagem-alertas span.prioritario {
  border-color: #fda29b;
  background: #fef3f2;
  color: #b42318;
}
.ccv-prontidao-plano {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid #fedf89;
  border-radius: 10px;
  background: #fffaeb;
  color: #93370d;
  font-size: 10px;
  line-height: 1.45;
}
.ccv-prontidao-plano.ok {
  border-color: #abefc6;
  background: #ecfdf3;
  color: #067647;
}

/* Ajustes finais do Painel do Dia. Este bloco fica após os estilos legados. */
.dia-prioridades{grid-template-columns:minmax(245px,.62fr) minmax(0,1.7fr);padding:10px;border-color:#e8def8;background:linear-gradient(110deg,#f7f3ff,#fff 52%);box-shadow:0 5px 18px rgba(83,45,137,.05)}
.dia-prioridades-titulo{gap:11px;padding:2px 15px 2px 2px;border-color:#e8def5}
.dia-prioridades-titulo b{margin-top:2px;color:#29243a;font-size:14px}.dia-prioridades-titulo span{margin:0}.dia-prioridades-titulo small{margin-top:2px;color:#8c8498;font-size:9px}
.dia-prioridades-acoes{gap:8px}.dia-atalho{position:relative;min-width:130px;min-height:53px;padding:8px 11px 8px 15px;overflow:hidden}
.dia-atalho::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#8b5cf6}.dia-atalho.perigo::before{background:#dc5964}.dia-atalho.aviso::before{background:#e5a63e}
.dia-atalho b{font-size:18px}.dia-atalho span{margin-top:4px;font-size:9.4px}
.dia-alerta-card{min-height:72px;border-radius:14px}.dia-alerta-card .btn{min-width:70px}
.dia-page .dia-kpis{grid-template-columns:repeat(6,minmax(150px,1fr));gap:9px;margin-bottom:14px}
.dia-page .dia-kpi{position:relative;display:grid;grid-template-columns:41px minmax(0,1fr) auto;gap:10px;min-height:94px;padding:12px 11px;overflow:hidden;border-radius:14px}
.dia-page .dia-kpi::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#8b5cf6}.dia-page .dia-kpi.verde::before{background:#31b76a}.dia-page .dia-kpi.roxo::before{background:#9a55d1}.dia-page .dia-kpi.azul::before{background:#408cdd}.dia-page .dia-kpi.laranja::before{background:#e69c3d}.dia-page .dia-kpi.neutro::before{background:#7b8496}
.dia-page .dia-kpi .opsv-kpi-icone{width:39px;height:39px;border-radius:11px}.dia-page .dia-kpi>div{align-self:center}.dia-page .dia-kpi>div>span:not(.opsv-kpi-icone){order:0;margin:0;color:#777f90;font-size:8.8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dia-page .dia-kpi>div>b{order:1;margin-top:5px;font-size:23px}.dia-page .dia-kpi>div>small{order:2;margin-top:4px}
.dia-page .dia-kpi>em{align-self:center;color:#8c70c4;font-size:8.5px;font-style:normal;font-weight:750;white-space:nowrap;opacity:0;transform:translateX(4px);transition:.15s}.dia-page .dia-kpi:hover>em{opacity:1;transform:none}.dia-page .dia-kpi.neutro b{font-size:17px}
.dia-layout{grid-template-columns:minmax(690px,1fr) minmax(320px,360px);gap:14px}.dia-agenda{min-height:410px;border-radius:16px}.dia-agenda-cab{min-height:74px;padding:13px 15px}.dia-tabela-wrap{max-height:680px}.dia-tabela th{height:42px;background:#faf9fc}.dia-tabela td{height:81px}
.dia-lateral{gap:14px}.dia-buracos,.dia-whatsapp{border-radius:16px}.dia-conversas-lista>article{grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:72px;padding:10px 12px}.dia-conversas-lista b{margin-top:4px;font-size:11.2px}.dia-conversas-lista p{margin-top:3px}.dia-abrir-atendente{min-height:36px;border-color:#6f3bcd!important;background:#7138e8!important;color:#fff!important}.dia-abrir-atendente:hover{background:#5f2bc7!important}
@media(max-width:1600px){.dia-page .dia-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}.dia-layout{grid-template-columns:minmax(620px,1fr) minmax(300px,330px)}}
@media(max-width:1180px){.dia-layout{grid-template-columns:1fr}.dia-lateral{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dia-prioridades{grid-template-columns:1fr}.dia-prioridades-titulo{padding:2px 2px 10px;border-right:0;border-bottom:1px solid #e8def5}.dia-page .dia-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dia-page .dia-kpi{grid-template-columns:36px minmax(0,1fr);min-height:88px;padding:10px}.dia-page .dia-kpi .opsv-kpi-icone{width:35px;height:35px}.dia-page .dia-kpi>em{display:none}.dia-lateral{grid-template-columns:1fr}}
@media(max-width:470px){.dia-page .dia-kpis{grid-template-columns:1fr}}

/* Painel do Dia 2.1. Tipografia nítida e composição premium. */
.dia-page{font-family:"Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif;font-size:14px;
  font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.dia-page button,.dia-page input,.dia-page select{font-family:inherit;font-synthesis:none}
.dia-page b,.dia-page strong{font-weight:700}.dia-page h1,.dia-page h2{font-weight:750}
.dia-comando{grid-template-columns:minmax(0,1.2fr) minmax(500px,.8fr);gap:30px;min-height:286px;
  padding:31px 32px 22px;border-radius:24px;box-shadow:0 20px 50px rgba(21,16,48,.22)}
.dia-comando-selo{margin-bottom:14px;font-size:11px;font-weight:700}.dia-comando h1{font-size:38px;line-height:1.04;letter-spacing:-.045em}
.dia-comando-principal>p{max-width:760px;margin:11px 0 22px;color:#c7cada;font-size:14.5px;line-height:1.55}
.dia-navegacao{gap:9px}.dia-navegacao label{min-height:49px;padding:7px 14px;border-radius:12px}.dia-navegacao label span{font-size:9.5px;font-weight:700}
.dia-navegacao input{width:150px;height:23px;font-size:13px;font-weight:700}.dia-seta{width:46px;height:46px;border-radius:12px;font-size:25px}
.dia-hoje{min-height:46px;padding:0 16px;border-radius:12px;font-size:12px;font-weight:700}
.dia-comando-leitura{grid-template-columns:132px minmax(0,1fr);gap:17px;padding-left:28px}
.dia-progresso{width:124px;height:124px}.dia-progresso::before{width:96px;height:96px}.dia-progresso b{font-size:27px}.dia-progresso span{font-size:9.5px}
.dia-comando-numeros{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dia-comando-numeros article{min-height:88px;align-items:flex-start;justify-content:center;
  flex-direction:column;gap:7px;padding:13px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055)}
.dia-comando-numeros article:last-child{padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.1)}
.dia-comando-numeros b{font-size:28px}.dia-comando-numeros b small{font-size:12px}.dia-comando-numeros span{max-width:none;color:#b6bbcb;font-size:11px;line-height:1.3;text-align:left}
.dia-comando-sync{margin-top:3px}.dia-comando .opsv-sincronia{min-height:44px;padding:6px 13px}.dia-comando .opsv-sincronia b{font-size:12.5px}.dia-comando .opsv-sincronia span{font-size:10.5px}
.dia-comando .opsv-btn-icone{min-height:42px;padding-inline:14px!important;font-size:12px!important}.dia-busca{margin-top:4px;padding:0 14px;border-radius:12px}
.dia-busca input{height:47px;font-size:14px}.dia-busca>.opsv-icone{width:18px;height:18px}.dia-busca span{font-size:11.5px}
.dia-secao-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:18px 3px 11px}
.dia-secao-cab>div>span{display:block;margin-bottom:3px;color:#7c3aed;font-size:10px;font-weight:800;letter-spacing:.095em;text-transform:uppercase}
.dia-secao-cab h2{margin:0;color:#22283a;font-size:20px;line-height:1.2;letter-spacing:-.025em}.dia-secao-cab p{margin:0 0 2px;color:#7c8495;font-size:12px}
.dia-prioridades{grid-template-columns:minmax(300px,.66fr) minmax(0,1.6fr);min-height:90px;gap:17px;padding:14px 15px;border-radius:17px}
.dia-prioridades-titulo{gap:14px;padding-right:18px}.dia-prioridades-icone{width:48px;height:48px;border-radius:14px}.dia-prioridades-icone .opsv-icone{width:22px;height:22px}
.dia-prioridades-titulo>div>span{font-size:9.5px;font-weight:700}.dia-prioridades-titulo>div>b{margin-top:4px;font-size:18px}.dia-prioridades-titulo>div>small{margin-top:3px;font-size:11px}
.dia-atalho{min-width:155px;min-height:64px;padding:10px 13px 10px 18px;border-radius:12px}.dia-atalho b{font-size:24px}.dia-atalho span{margin-top:5px;font-size:11.5px}
.dia-alertas-gerais{gap:12px;margin-bottom:15px}.dia-alerta-card{min-height:88px;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;padding:13px 14px;border-radius:16px}
.dia-alerta-card>span{width:46px;height:46px;border-radius:13px}.dia-alerta-card>span .opsv-icone{width:22px;height:22px}.dia-alerta-card b{font-size:14px;line-height:1.35}.dia-alerta-card small{margin-top:5px;font-size:11.5px;line-height:1.4}
.dia-alerta-card .btn{min-width:82px;min-height:37px;font-size:12px}
.dia-page .dia-kpis{gap:12px;margin-bottom:18px}.dia-page .dia-kpi{grid-template-columns:51px minmax(0,1fr) auto;gap:13px;min-height:118px;padding:17px 15px;border-radius:17px;box-shadow:0 7px 19px rgba(31,36,53,.055)}
.dia-page .dia-kpi.violeta{background:linear-gradient(145deg,#fff 52%,#faf6ff)}.dia-page .dia-kpi.verde{background:linear-gradient(145deg,#fff 52%,#f4fbf7)}
.dia-page .dia-kpi.roxo{background:linear-gradient(145deg,#fff 52%,#faf6ff)}.dia-page .dia-kpi.azul{background:linear-gradient(145deg,#fff 52%,#f4f9ff)}
.dia-page .dia-kpi.laranja{background:linear-gradient(145deg,#fff 52%,#fff9f1)}.dia-page .dia-kpi.neutro{background:linear-gradient(145deg,#fff 52%,#f7f8fa)}
.dia-page .dia-kpi .opsv-kpi-icone{width:49px;height:49px;border-radius:14px}.dia-page .dia-kpi .opsv-kpi-icone .opsv-icone{width:24px;height:24px}
.dia-page .dia-kpi>div>span:not(.opsv-kpi-icone){font-size:10.5px;font-weight:700;letter-spacing:.055em}.dia-page .dia-kpi>div>b{margin-top:7px;font-size:30px;line-height:.95}
.dia-page .dia-kpi>div>small{margin-top:7px;font-size:11px}.dia-page .dia-kpi>em{font-size:10px;font-weight:700}.dia-page .dia-kpi.neutro b{font-size:22px}
.dia-layout{grid-template-columns:minmax(760px,1fr) minmax(360px,390px);gap:16px}.dia-agenda{min-height:470px;border-radius:18px}.dia-buracos,.dia-whatsapp{border-radius:18px}
.dia-agenda-cab{min-height:86px;padding:16px 17px}.dia-agenda-cab .opsv-painel-icone,.dia-lateral .opsv-painel-icone{width:43px;height:43px;border-radius:13px}
.dia-agenda-cab .opsv-painel-icone .opsv-icone,.dia-lateral .opsv-painel-icone .opsv-icone{width:21px;height:21px}.dia-agenda-cab h2,.dia-lateral .opsv-painel-cab h2{font-size:16px}.dia-agenda-cab p,.dia-lateral .opsv-painel-cab p{margin-top:5px;font-size:11.5px}
.dia-filtros-tabela{gap:9px}.dia-filtros-tabela select{height:40px;max-width:220px;padding-inline:12px 33px;border-radius:11px;font-size:12.5px;font-weight:600}
.dia-tabela th{height:47px;padding-inline:13px;font-size:10.5px;letter-spacing:.055em}.dia-tabela td{height:94px;padding:13px;font-size:12.5px}.dia-hora b{font-size:17px}.dia-hora span{font-size:10.5px}
.dia-cliente>b{font-size:14px}.dia-risco{font-size:9.5px}.dia-contato{margin-top:7px;font-size:11px}.dia-servicos{font-size:12.5px}.dia-valor{margin-top:6px;font-size:10.5px}.dia-profissional{font-size:12.5px}.dia-sala{margin-top:6px;font-size:10.5px}
.dia-tabela td:nth-child(5)>.pill{padding:4px 8px;font-size:10.5px}.dia-chegou{font-size:10px}.dia-acoes-linha .btn{min-height:34px;padding:7px 10px;font-size:10.5px}
.dia-lateral .opsv-painel-cab{min-height:76px;padding:13px 14px}.dia-lateral .opsv-contador{min-width:34px;height:30px;font-size:12px}
.dia-buracos-lista>button{min-height:72px;padding:11px 13px}.dia-buracos-lista b{font-size:13px}.dia-buracos-lista small{font-size:10.5px}.dia-buracos-lista em{font-size:9.5px}
.dia-conversas-lista>article{grid-template-columns:35px minmax(0,1fr);gap:11px;min-height:86px;padding:13px 14px}.dia-conversas-lista>article>i{width:34px;height:34px;border-radius:10px;font-size:10px}
.dia-conversas-lista>article>div>span{padding:3px 7px;font-size:9px}.dia-conversas-lista b{margin-top:6px;font-size:13px}.dia-conversas-lista p{margin-top:5px;font-size:11px;line-height:1.42}
.dia-abrir-atendente,.dia-abrir-encaixe{min-height:42px;font-size:12px}.dia-agenda-vazia{min-height:350px;gap:33px}.dia-vazia-ilustracao{width:128px;height:128px;border-radius:36px}
.dia-vazia-ilustracao>.opsv-icone{width:48px;height:48px}.dia-agenda-vazia>div{max-width:450px}.dia-vazia-selo{font-size:10px}.dia-agenda-vazia b{font-size:24px}.dia-agenda-vazia p{font-size:13px}.dia-agenda-vazia .btn{min-height:41px;padding-inline:15px;font-size:12.5px}
.dia-page .opsv-estado-vazio b{font-size:14px}.dia-page .opsv-estado-vazio span{font-size:11.5px}
@media(max-width:1680px){.dia-page .dia-kpis{grid-template-columns:repeat(3,minmax(210px,1fr))}.dia-layout{grid-template-columns:minmax(680px,1fr) minmax(335px,365px)}}
@media(max-width:1250px){.dia-comando{grid-template-columns:1fr minmax(430px,.8fr)}.dia-layout{grid-template-columns:1fr}.dia-lateral{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.dia-comando{grid-template-columns:1fr}.dia-comando-leitura{padding:19px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}.dia-prioridades{grid-template-columns:1fr}.dia-secao-cab{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:720px){.dia-comando{min-height:0;padding:22px 17px 17px}.dia-comando h1{font-size:29px}.dia-comando-principal>p{font-size:13px}.dia-comando-leitura{grid-template-columns:100px minmax(0,1fr)}.dia-progresso{width:94px;height:94px}.dia-progresso::before{width:72px;height:72px}.dia-progresso b{font-size:20px}.dia-comando-numeros{grid-template-columns:1fr}.dia-comando-numeros article{min-height:61px;padding:9px 11px}.dia-comando-numeros b{font-size:22px}.dia-comando-sync{grid-column:1/3}.dia-prioridades{padding:12px}.dia-prioridades-titulo>div>b{font-size:16px}.dia-alerta-card{grid-template-columns:42px minmax(0,1fr)}.dia-alerta-card>span{width:40px;height:40px}.dia-page .dia-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dia-page .dia-kpi{grid-template-columns:43px minmax(0,1fr);min-height:105px;padding:14px 12px}.dia-page .dia-kpi .opsv-kpi-icone{width:42px;height:42px}.dia-page .dia-kpi>div>b{font-size:27px}.dia-agenda-cab{align-items:stretch}.dia-filtros-tabela select{font-size:14px}.dia-agenda-vazia{min-height:330px}.dia-lateral{grid-template-columns:1fr}}
@media(max-width:470px){.dia-page .dia-kpis{grid-template-columns:1fr}.dia-page .dia-kpi{min-height:100px}.dia-comando-sync{grid-column:1/3}.dia-agenda-vazia b{font-size:21px}}

/* Painel do Dia 2.2. Datas reais da agenda e acesso completo aos leads. */
.dia-datas{position:relative;margin:17px 0 18px;padding:18px 19px 20px;overflow:hidden;border:1px solid #e2daf2;border-radius:19px;
  background:linear-gradient(135deg,#fff 0%,#fcfaff 55%,#f4f0ff 100%);box-shadow:0 9px 28px rgba(59,38,100,.07)}
.dia-datas::after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(126,67,231,.13),transparent 68%)}
.dia-datas-cab{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}
.dia-datas-cab>div>span{display:block;margin-bottom:4px;color:#7438dc;font-size:9.5px;font-weight:800;letter-spacing:.105em;text-transform:uppercase}
.dia-datas-cab h2{margin:0;color:#202536;font-size:19px;letter-spacing:-.025em}.dia-datas-cab p{margin:5px 0 0;color:#778092;font-size:11.5px}
.dia-datas-cab>small{padding:7px 10px;border:1px solid #ded4f2;border-radius:999px;background:rgba(255,255,255,.8);color:#655577;font-size:10.5px;font-weight:700;white-space:nowrap}
.dia-datas-trilho{position:relative;z-index:1;display:grid;grid-template-columns:repeat(9,minmax(106px,1fr));gap:8px;overflow-x:auto;padding:8px 2px 4px;scrollbar-width:thin}
.dia-datas-trilho::before{content:"";position:absolute;left:5%;right:5%;top:31px;height:2px;background:linear-gradient(90deg,#cbd5e1,#8b5cf6,#cbd5e1);opacity:.55}
.dia-data-card{position:relative;z-index:1;min-width:106px;min-height:112px;padding:12px 10px 10px;border:1px solid #ded8ea;border-radius:14px;background:#fff;color:#252a3a;text-align:left;
  box-shadow:0 5px 14px rgba(35,28,59,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.dia-data-card:hover{transform:translateY(-2px);border-color:#a78bfa;box-shadow:0 9px 20px rgba(86,49,151,.13)}
.dia-data-card::before{content:"";display:block;width:11px;height:11px;margin:0 0 9px 2px;border:3px solid #fff;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 2px #a78bfa}
.dia-data-card>span{display:block;color:#6f7787;font-size:10px;font-weight:750;text-transform:capitalize}.dia-data-card>b{display:block;margin-top:6px;font-size:21px;line-height:1}
.dia-data-card>small{display:block;min-height:28px;margin-top:6px;color:#778092;font-size:9.5px;line-height:1.35}.dia-data-card>i{display:block;margin-top:7px;color:#7438dc;font-size:8.5px;font-style:normal;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.dia-data-card.vazia{background:#fafafa;color:#7b8190}.dia-data-card.vazia::before{background:#cbd0da;box-shadow:0 0 0 2px #d8dce4}.dia-data-card.vazia>i{color:#8b919d}
.dia-data-card.selecionada{border-color:#7138e8;background:linear-gradient(145deg,#31156b,#7032df);color:#fff;box-shadow:0 12px 25px rgba(80,37,164,.25)}
.dia-data-card.selecionada::before{background:#5ee0b4;box-shadow:0 0 0 2px rgba(94,224,180,.38)}.dia-data-card.selecionada>span,.dia-data-card.selecionada>small{color:#ddd2f5}.dia-data-card.selecionada>i{color:#8ff0cf}
.dia-conversas-lista{max-height:570px}.dia-leads-rodape{display:grid;gap:10px;padding:11px 13px 13px;border-top:1px solid #e9e5ef;background:#fbfaff}
.dia-leads-rodape>span{color:#737b8b;font-size:10.5px}.dia-leads-rodape>span b{color:#5926b8;font-size:12px}.dia-leads-rodape>div{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}
.dia-leads-rodape .btn{min-height:40px;justify-content:center;margin:0}.dia-agenda-vazia>div>div{flex-wrap:wrap}
@media(max-width:1450px){.dia-datas-trilho{grid-template-columns:repeat(9,minmax(112px,1fr))}.dia-conversas-lista{max-height:500px}}
@media(max-width:900px){.dia-datas-cab{align-items:flex-start;flex-direction:column;gap:9px}.dia-datas-trilho{grid-template-columns:repeat(9,118px)}.dia-conversas-lista{max-height:420px}}
@media(max-width:560px){.dia-datas{padding:15px 13px}.dia-datas-cab>small{white-space:normal}.dia-leads-rodape>div{grid-template-columns:1fr}.dia-data-card{min-height:108px}}

/* Navegação global entre abas. Discreta, mas sempre disponível após um salto. */
.nav-voltar-aba{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:72px;height:31px;padding:0 9px 0 7px;border:1px solid #e1ddea;border-radius:9px;
  background:#fbfaff;color:#696175;font:650 11px/1 "Segoe UI Variable Text","Segoe UI",Arial,sans-serif;cursor:pointer;box-shadow:0 2px 7px rgba(41,30,65,.035);transition:border-color .14s,background .14s,color .14s,transform .14s}
.nav-voltar-aba svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nav-voltar-aba:hover{border-color:#bca8df;background:#f6f1ff;color:#6230b7}.nav-voltar-aba:active{transform:translateX(-1px)}
.nav-voltar-aba[hidden]{display:none!important}.nav-voltar-flutuante{display:none}
/* O retorno ocupa espaço próprio, sem cobrir a marca ou o cabeçalho. */
body.trf-modo .nav-voltar-flutuante:not([hidden]){position:relative;z-index:1;align-self:flex-start;flex-shrink:0;margin:12px 20px 0;display:inline-flex;border-color:#d8d2ec;background:#fff;color:#513985;box-shadow:0 2px 7px rgba(32,22,62,.08)}
body.trf-modo .nav-voltar-flutuante:hover{border-color:#7650c9;background:#242033;color:#fff}
@media(max-width:820px){.nav-voltar-aba{min-width:32px;width:32px;padding:0}.nav-voltar-aba span{display:none}body.trf-modo .nav-voltar-flutuante:not([hidden]){margin:8px 12px 0}}

/* =====================================================================
   IDENTIDADE SYNO, MOVA E FÊNIX 31/08/2026
   Syno é a gestão principal; Mova vive somente no modo comercial;
   Fênix vive somente na aquisição e na assistente virtual.
   ===================================================================== */
body:not(.cc-modo):not(.trf-modo){background:#f4f8fb}
body:not(.cc-modo):not(.trf-modo) #main{background:linear-gradient(180deg,#f7fbfd,#f4f7fa)}
body:not(.cc-modo):not(.trf-modo) #topbar{border-bottom-color:#dce8ef;box-shadow:0 1px 0 rgba(8,43,92,.025)}
#sidebar{box-shadow:7px 0 24px rgba(3,26,56,.12)}
#sidebar .marca{width:48px;height:48px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(21,199,183,.08));
  box-shadow:0 8px 20px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.14)}
#sidebar .marca::before{display:none}
#sidebar .marca img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(0,9,30,.25))}
#sidebar .ico.on{color:#0871c4;box-shadow:0 7px 18px rgba(3,26,56,.24)}
#sidebar .ico.on::after{background:#15c7b7;box-shadow:0 0 10px rgba(21,199,183,.7)}
#sidebar #bt-mkt{color:#dcd8ff}
#sidebar #bt-mkt:hover{background:linear-gradient(145deg,rgba(91,78,247,.38),rgba(124,58,237,.32))!important}
#sidebar .cc-porta{color:#fff0e7!important;background:linear-gradient(145deg,rgba(255,122,26,.34),rgba(238,79,43,.28))!important}
#sidebar .cc-porta:hover{background:linear-gradient(145deg,rgba(255,122,26,.62),rgba(238,79,43,.48))!important}

.produto-atual{height:34px;display:flex;align-items:center;gap:7px;padding:3px 9px 3px 4px;border:1px solid #dce8ef;
  border-radius:10px;background:#f7fbfd;color:#082b5c;box-shadow:0 2px 7px rgba(8,43,92,.05)}
.produto-atual img{width:28px;height:28px;object-fit:contain}.produto-atual i{width:27px;height:27px;display:grid;place-items:center;
  border-radius:8px;background:linear-gradient(145deg,#ff922f,#ee4f2b);color:#fff;font:900 12px/1 inherit;font-style:normal}
.produto-atual span{font-size:9px;font-weight:900;letter-spacing:.12em}
body[data-produto="mova"] .produto-atual{border-color:#ffd6c1;background:#fff9f5;color:#b9381e}

/* Acesso da Syno: marca própria e uma paisagem conectada, sem herdar a Fênix. */
#login{background:radial-gradient(circle at 8% 12%,rgba(9,132,227,.12),transparent 30rem),
  radial-gradient(circle at 92% 88%,rgba(21,199,183,.1),transparent 28rem),#f2f7fa}
.login-shell{border-color:#d7e5ed;box-shadow:0 30px 80px rgba(3,26,56,.17),0 3px 12px rgba(3,26,56,.06)}
.login-showcase{background-image:linear-gradient(90deg,rgba(3,26,56,.12),rgba(3,26,56,.02)),url('/assets/syno-login-bg-v1.png');
  background-size:cover;background-position:center}
.login-brand{display:flex;align-items:center;gap:13px}.login-logo-syno{width:160px;height:auto;max-height:66px;padding:6px 10px;object-fit:contain;object-position:left center;border:1px solid rgba(255,255,255,.4);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(0,12,35,.14)}
.login-brand>span{padding-left:12px;border-left:1px solid rgba(255,255,255,.2);color:#bcecea;font-size:9px;
  font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.login-showcase-copy>span{color:#c8faf4}.login-showcase-copy p{color:#c5dbe7}
#login input:focus{border-color:#0984e3;box-shadow:0 0 0 3px rgba(9,132,227,.13)}
.login-btn{background:linear-gradient(135deg,#0984e3,#0871c4 52%,#0762ae)!important;box-shadow:0 8px 22px rgba(9,132,227,.24)!important}
.login-voltar{color:#0871c4}.login-voltar:hover{color:#082b5c}

/* Mova: aceleração comercial com identidade própria e sem alterar as APIs. */
body.cc-modo{--magenta:#f56b28;--magenta-2:#e94f2a;--magenta-esc:#9f2d1d;background:#fff8f4}
body.cc-modo #main{background:linear-gradient(180deg,#fffaf7,#f8f5f3)}
body.cc-modo #topbar{border-bottom-color:#f2ded3}
body.cc-modo #sidebar{background:#fff;border-right-color:#f2ded3;box-shadow:7px 0 24px rgba(112,44,20,.07)}
.cc-marca{position:relative;overflow:hidden;border-bottom-color:#f2ded3;background:linear-gradient(135deg,#fff8f3,#fff)}
.cc-marca::after{content:"";position:absolute;right:-25px;top:-35px;width:90px;height:90px;border:1px solid rgba(255,122,26,.18);border-radius:50%}
.cc-marca-ic{position:relative;z-index:1;background:linear-gradient(145deg,#ff922f,#ee4f2b);color:#fff;font-weight:900;
  box-shadow:0 7px 16px rgba(238,79,43,.22)}
.cc-marca b{color:#b9381e;font-size:15px}.cc-marca small{color:#b97355}
.cc-item:hover{background:#fff2ea;color:#d94723}.cc-item.on{background:linear-gradient(135deg,#ff7a1a,#ee4f2b);box-shadow:0 6px 14px rgba(238,79,43,.19)}
body.cc-modo .btn:not(.ghost){background:linear-gradient(135deg,#ff7a1a,#ee4f2b);border-color:#ee4f2b}
body.cc-modo .cc-exec,body.cc-modo .cc-prioridades,body.cc-modo .cc-card,body.cc-modo .cc-rel-card{border-color:#f0ddd3}
body.cc-modo .cc-exec{background:linear-gradient(135deg,#fff,#fff8f4)}
body.cc-modo .cc-degrau-b i{background:linear-gradient(90deg,#ff922f,#ee4f2b)}
body.cc-modo .cc-rel-selo{color:#c44322;background:#fff0e8}

/* Ritmo tipográfico e contraste do núcleo Syno. */
body:not(.trf-modo) #view{color:#1c2b3d}
body:not(.trf-modo) .card{border-color:#dde7ed;box-shadow:0 4px 14px rgba(8,43,92,.045)}
body:not(.cc-modo):not(.trf-modo) .btn:not(.ghost){background:linear-gradient(135deg,#0984e3,#0871c4);border-color:#0871c4}
body:not(.cc-modo):not(.trf-modo) .btn.ghost:hover{background:#eff9fc;border-color:#72cbd0}
body:not(.cc-modo):not(.trf-modo) .dia-page{--dia-noite:#031a38;--dia-noite-2:#082b5c;--dia-lilas:#0984e3;--dia-lilas-claro:#82d8f7;--dia-ciano:#15c7b7}
body:not(.cc-modo):not(.trf-modo) .dia-comando{border-color:rgba(21,199,183,.24);background:linear-gradient(128deg,#031a38,#082b5c 58%,#074d75)}
body:not(.cc-modo):not(.trf-modo) .dia-progresso{background:conic-gradient(#15c7b7 0 var(--dia-progresso),rgba(255,255,255,.09) var(--dia-progresso) 360deg)}
body:not(.cc-modo):not(.trf-modo) .dia-hoje{border-color:rgba(21,199,183,.28);background:rgba(21,199,183,.12);color:#d7fffb}

@media(max-width:820px){.produto-atual{padding-right:4px}.produto-atual span{display:none}.produto-atual img{width:27px;height:27px}}
@media(max-width:760px){.login-logo-syno{width:126px}.login-brand>span{font-size:8px}.login-showcase{background-position:67% center}}
body.entrada-modo #fxv-raiz,body.entrada-modo #rpt-raiz,body.entrada-modo .nav-voltar-flutuante{display:none!important}

/* WhatsApp da Clinica: tipografia de operacao com leitura confortavel e contraste alto. */
.wa-wrap{color:#151a28;font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5;text-rendering:optimizeLegibility}
.wa-wrap .muted{color:#515b6d!important}.wa-wrap .pill{font-size:12.5px;font-weight:750}.wa-wrap .tag{padding:5px 10px;font-size:12px;font-weight:750}.wa-wrap .btn{font-size:13px;font-weight:750}
.wa-sobretitulo{margin-bottom:9px;color:#6825d1;font-size:11px;letter-spacing:1.45px}
.wa-topo-manifesto>p{color:#f0ebfa;font-size:15px;line-height:1.62}.wa-topo-numeros>div{padding:13px 14px;border-color:rgba(255,255,255,.22);background:rgba(7,5,15,.34)}
.wa-topo-numeros b{font-size:25px}.wa-topo-numeros span{color:#f0eafa;font-size:11.5px;font-weight:650}.wa-hero-selos span{border-color:rgba(255,255,255,.23);background:rgba(7,5,15,.4);color:#fff;font-size:11px;font-weight:750}
.wa-radar-cab>span{color:#594b6f;font-size:10.5px}.wa-radar-cab>b{color:#12633a;font-size:11px}.wa-radar-ponto{color:#373044;font-size:10.5px;font-weight:750}.wa-radar-centro>b{font-size:11px}.wa-radar-centro>small{color:#ddd2ef;font-size:8px;font-weight:700}.wa-radar-rodape span{color:#655b73;font-size:9px}.wa-radar-rodape b{color:#201929;font-size:11.5px}
.wa-fluxo-titulo span{color:#6424c5;font-size:10.5px}.wa-fluxo-titulo b{color:#303747;font-size:12.5px}.wa-fluxo-passos>div{min-height:58px;padding:11px}.wa-fluxo-passos i{width:30px;height:30px;font-size:9px}.wa-fluxo-passos b{color:#171c28;font-size:12px}.wa-fluxo-passos small{color:#515c6d;font-size:10px;line-height:1.35}
.wa-status-label{color:#624d7a;font-size:10.5px}.wa-status-info{color:#303747}.wa-abas button{min-height:48px;color:#485266;font-size:14px;font-weight:750}.wa-abas button>span{color:#766c85;font-size:10px}.wa-abas button.on{color:#5220a6}.wa-abas button b{min-width:28px;height:24px;color:#5520ad;font-size:11.5px}
.wa-intencoes-cab .sec,.wa-painel-titulo h2{color:#161b28;font-size:23px}.wa-painel-titulo p{color:#4f596b;font-size:13.5px;line-height:1.5}.wa-busca{color:#3f495b;font-size:12.5px}.wa-busca input{height:43px;border-color:#cfc6dc;color:#141927;font-size:13px}.wa-busca input::placeholder,.wa-audio-busca input::placeholder{color:#626c7d;opacity:1}.wa-busca-resumo{color:#4d5768;font-size:12px}
.wa-intencao-item{gap:15px;padding:17px 16px;border-color:#d7d0df;box-shadow:0 5px 16px rgba(24,30,45,.055)}.wa-decisao-num{width:36px;height:36px;font-size:11px}.wa-decisao-titulo b{color:#171c28;font-size:15.5px}.wa-decisao-titulo>span{color:#596375;font-size:12px}.wa-decisao-fala{color:#414b5d;font-size:13.5px;line-height:1.55}.wa-decisao-leitura{padding:10px 11px;background:#f2eef8;color:#303849;font-size:13px;line-height:1.5}.wa-decisao-leitura span{color:#6125bd;font-size:10px}.wa-decisao-agenda{color:#4e596b;font-size:12.5px}.wa-decisao-acoes .btn{min-height:38px}
.wa-mensagens-tabela th{color:#3d4657;font-size:12px}.wa-mensagens-tabela td{color:#202634;font-size:13.5px;line-height:1.55}.wa-mensagens-tabela .muted{font-size:12.5px}
.wa-audio-cab h2{color:#151a28;font-size:25px}.wa-audio-cab p{color:#465164;font-size:13.5px;line-height:1.6}.wa-motor-selo{color:#135f36;font-size:10.5px}.wa-audio-kpis>div{padding:18px 16px;border-color:#d7d0df}.wa-audio-kpis span{color:#525d70;font-size:10px}.wa-audio-kpis b{color:#171d2a;font-size:29px}.wa-audio-kpis small{color:#4f5a6c;font-size:11.5px;line-height:1.45}
.wa-audio-verdade{color:#403a2f}.wa-audio-verdade b{color:#654305;font-size:13px}.wa-audio-verdade span{font-size:12.5px;line-height:1.55}.wa-audio-filtros button{min-height:38px;color:#3f495b;font-size:11.5px}.wa-audio-busca{border-color:#cfc6dc}.wa-audio-busca input{height:41px;color:#151a28;font-size:12.5px}.wa-audio-busca button{color:#5420aa;font-size:11.5px}
.wa-audio-item{padding:15px;border-color:#d6d0df}.wa-audio-estado{color:#424c5e;font-size:10.5px}.wa-audio-identidade b{color:#171c28;font-size:13.5px}.wa-audio-identidade span{color:#525d70;font-size:11.5px}.wa-audio-explicacao{color:#3e485a;font-size:12.5px;line-height:1.55}.wa-audio-explicacao blockquote{background:#f3eff8;color:#252c39;font-size:13px;line-height:1.55}.wa-audio-sem-player{color:#815608;font-size:10.5px}.wa-audio-paginacao{color:#4c5668;font-size:11.5px}.wa-midia-regra{background:#f1edf7;color:#444e60;font-size:12.5px;line-height:1.55}
@media(max-width:620px){.wa-wrap{font-size:14px}.wa-topo-manifesto h2{font-size:35px}.wa-topo-manifesto>p{font-size:14px}.wa-abas button{font-size:13px}.wa-intencoes-cab .sec,.wa-painel-titulo h2{font-size:21px}.wa-decisao-titulo b{font-size:15px}.wa-decisao-fala,.wa-decisao-leitura{font-size:13px}}

/* Centrais unificadas: uma aba por responsabilidade, ferramentas por dentro. */
.hub-unificado{display:grid;gap:14px}.hub-unificado-topo{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #ddd4ed;border-radius:18px;background:linear-gradient(135deg,#21103e 0%,#432080 58%,#6631c0 100%);color:#fff;box-shadow:0 11px 28px rgba(53,28,96,.14)}
.hub-unificado-topo>div>span{display:block;margin-bottom:4px;color:#8de1ff;font-size:10px;font-weight:850;letter-spacing:.13em}.hub-unificado-topo h1{margin:0;color:#fff;font-size:24px;letter-spacing:-.035em}.hub-unificado-topo p{margin:5px 0 0;color:#e8def8;font-size:12.5px}.hub-unificado-topo nav{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px}.hub-unificado-topo nav button{min-height:57px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(10,5,23,.25);color:#eee7fa;text-align:left;cursor:pointer}.hub-unificado-topo nav button.on{border-color:#9ee7ff;background:#fff;color:#321467;box-shadow:0 7px 17px rgba(13,8,28,.18)}.hub-unificado-topo nav b,.hub-unificado-topo nav small{display:block}.hub-unificado-topo nav b{font-size:12.5px}.hub-unificado-topo nav small{margin-top:2px;color:inherit;font-size:10px;opacity:.82}
.hub-operacao .hub-unificado-topo{justify-content:flex-start}.hub-operacao-nav{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:9px;padding:9px;border:1px solid #e0d9e9;border-radius:16px;background:#f5f2f9}.hub-operacao-nav section{min-width:0;padding:5px}.hub-operacao-nav section>span{display:block;margin:0 0 6px 5px;color:#70637f;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.hub-operacao-nav section>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px}.hub-operacao-nav button{min-width:0;min-height:56px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#40495b;text-align:left;cursor:pointer}.hub-operacao-nav button:hover{border-color:#d7c9ee;background:#fff}.hub-operacao-nav button.on{border-color:#c9b6ec;background:#fff;color:#5520ac;box-shadow:0 5px 14px rgba(59,33,101,.09)}.hub-operacao-nav b,.hub-operacao-nav small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-operacao-nav b{font-size:12px}.hub-operacao-nav small{margin-top:2px;color:#697386;font-size:9.5px}.hub-unificado-conteudo{min-width:0}.hub-unificado-conteudo>.opsv-page{margin-top:0}
.dia-proxima-operacao{display:flex;align-items:center;gap:13px;margin:0 0 13px;padding:12px 15px;border:1px solid #b8dfd0;border-radius:14px;background:linear-gradient(90deg,#eefbf5,#f6fbff);color:#164c3a;box-shadow:0 5px 15px rgba(25,105,75,.06)}.dia-proxima-operacao>span{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;background:#d8f5e8;color:#15704c}.dia-proxima-operacao svg{width:20px;height:20px}.dia-proxima-operacao b,.dia-proxima-operacao small{display:block}.dia-proxima-operacao b{font-size:13.5px}.dia-proxima-operacao small{margin-top:2px;color:#3e675a;font-size:11.5px}
@media(max-width:1100px){.hub-unificado-topo{align-items:flex-start;flex-direction:column}.hub-unificado-topo nav{width:100%}.hub-operacao-nav{grid-template-columns:1fr}.hub-operacao-nav section>div{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}
@media(max-width:620px){.hub-unificado-topo{padding:16px}.hub-unificado-topo h1{font-size:22px}.hub-unificado-topo nav{grid-template-columns:1fr}.hub-operacao-nav section>div{display:flex;overflow-x:auto}.hub-operacao-nav button{min-width:150px}.dia-proxima-operacao{align-items:flex-start}}

/* Assistente Syno: compacto, sem personagem, microfone ou reprodução de voz. */
.fxv-raiz{--fxv-roxo:#0878bd;--fxv-roxo-2:#15b8ad;--fxv-tinta:#102a43;--fxv-suave:#587085;--fxv-linha:#d9e7ee;right:20px;bottom:54px}
.fxv-chamar{width:46px;min-width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:linear-gradient(145deg,#075f9b,#0b84c6 58%,#13afa6);box-shadow:0 10px 24px rgba(4,66,111,.24)}
.fxv-chamar:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(4,66,111,.3)}
.fxv-chamar-icone{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.14);font-size:10px;font-weight:900;letter-spacing:.06em}
.fxv-chamar-icone svg{display:none!important}.fxv-chamar-texto{display:none!important}.fxv-chamar-pulso{right:3px;top:3px;width:7px;height:7px;background:#69ebc6}
.fxv-painel{width:min(402px,calc(100vw - 28px));height:min(610px,calc(100vh - 126px));border-color:#d5e5ed;border-radius:18px;background:#f8fbfc;box-shadow:0 24px 68px rgba(3,35,64,.2),0 4px 15px rgba(3,35,64,.08)}
.fxv-cabecalho{min-height:66px;padding:13px 15px;border-bottom-color:#d9e7ee;background:linear-gradient(135deg,#f8fcfe,#eef8fb 58%,#eafaf7)}
.fxv-marca>span{display:none!important}.fxv-marca strong{color:#0a3659;font-size:15px}.fxv-marca small{max-width:275px;color:#577084;font-size:10.5px}
.fxv-icone-btn{color:#547086;background:#edf5f8}.fxv-icone-btn:hover{color:#073c65;background:#dceef4}
.fxv-seguranca{padding:7px 15px;color:#176447;background:#ecfbf4;border-bottom-color:#cbeee0;font-size:10.5px;font-weight:700}.fxv-seguranca span{background:#22b878}
.fxv-presenca,.fxv-controles,.fxv-audio,.fxv-parar{display:none!important}
.fxv-status-texto{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid #dce9ef;background:#fff}
.fxv-status-texto>div{display:flex;min-width:0;flex-direction:column}.fxv-status-texto strong{color:#17364e;font-size:12.5px}.fxv-status-texto small{margin-top:3px;color:#62798b;font-size:10.5px}
.fxv-status-ponto{width:10px;height:10px;flex:0 0 auto;border:2px solid #fff;border-radius:50%;background:#18ad73;box-shadow:0 0 0 4px rgba(24,173,115,.12)}
.fxv-raiz[data-fase="pensando"] .fxv-status-ponto{background:#0b84c6;box-shadow:0 0 0 4px rgba(11,132,198,.13);animation:fxv-pulsar 1.25s infinite}.fxv-raiz[data-fase="erro"] .fxv-status-ponto{background:#d24a5b;box-shadow:0 0 0 4px rgba(210,74,91,.12)}
.fxv-mensagens{padding:14px 15px;background:linear-gradient(180deg,#f8fbfc,#f3f8fa)}.fxv-msg{max-width:91%;margin-bottom:11px}.fxv-msg-rotulo{color:#526d80;font-size:9px}.fxv-msg-corpo{border-color:#d7e6ed;color:#17324a;background:#fff;box-shadow:0 3px 10px rgba(4,52,87,.045)}
.fxv-msg-usuario .fxv-msg-corpo{background:linear-gradient(135deg,#076fae,#0b8fc8);box-shadow:0 5px 13px rgba(7,111,174,.16)}.fxv-boas-vindas .fxv-msg-corpo{border-color:#cfe5ed;background:#f0f8fb}
.fxv-sugestoes{padding:8px 13px;overflow-x:auto;overflow-y:hidden;border-top-color:#dce8ee;background:#fff;scrollbar-width:none}.fxv-sugestoes::-webkit-scrollbar{width:0;height:0}.fxv-sugestoes button{border-color:#cfe1e9;color:#15527a;background:#f8fcfd;font-weight:700}.fxv-sugestoes button:hover{border-color:#5bbac2;background:#ecf9f8}
.fxv-compositor{grid-template-columns:1fr 42px;gap:8px;padding:11px 13px 12px;border-top-color:#d9e7ed}.fxv-compositor textarea{min-height:42px;border-color:#cbdde5;color:#17324a;background:#f9fcfd;font-size:12.5px}.fxv-compositor textarea:focus{border-color:#14a8a4;box-shadow:0 0 0 3px rgba(20,168,164,.1)}
.fxv-enviar{border-radius:12px;background:linear-gradient(145deg,#0878bd,#0b91c3 57%,#11aaa2);box-shadow:0 7px 15px rgba(7,120,189,.18)}.fxv-painel>footer{padding:8px 13px;color:#6c8191;background:#f4f8fa;border-top-color:#dce8ed}
@media(max-width:560px){.fxv-raiz{right:11px;bottom:58px}.fxv-chamar{width:42px;min-width:42px;height:42px;border-radius:13px}.fxv-painel{right:0;bottom:52px;width:calc(100vw - 22px);height:min(570px,calc(100vh - 118px))}.fxv-marca small{max-width:220px}}

/* Paleta interna Syno: contraste alto e cores consistentes no núcleo de gestão. */
body:not(.cc-modo):not(.trf-modo){--magenta:#0878bd;--magenta-2:#096da7;--magenta-esc:#06456f;--fundo:#f4f8fb;--linha:#d9e5ec;--tinta:#162b3c;--cinza:#5b7082}
body:not(.cc-modo):not(.trf-modo) #topbar{background:rgba(255,255,255,.96)}
body:not(.cc-modo):not(.trf-modo) #topbar .avatar{background:linear-gradient(145deg,#0878bd,#0c91c3 58%,#14aaa3);box-shadow:0 4px 11px rgba(8,120,189,.2)}
body:not(.cc-modo):not(.trf-modo) #topbar .avatar:hover{box-shadow:0 0 0 3px rgba(20,170,163,.2)}
body:not(.cc-modo):not(.trf-modo) #flyout{border-right-color:#d7e5ed;box-shadow:10px 0 38px rgba(3,38,69,.14)}
body:not(.cc-modo):not(.trf-modo) #flyout .fly-busca:focus{outline-color:#13a8a3}
body:not(.cc-modo):not(.trf-modo) #flyout a.on{border-left-color:#0b87bc;background:#eaf6fa;color:#075984}
body:not(.cc-modo):not(.trf-modo) #taskbar{border-top-color:#d8e5ec;background:#f8fbfc}
body:not(.cc-modo):not(.trf-modo) #taskbar .tab{border-color:#d6e3ea;background:#fff;color:#284255}
body:not(.cc-modo):not(.trf-modo) #taskbar .tab:hover{border-color:#54b9bf;background:#eef9f9}
body:not(.cc-modo):not(.trf-modo) #taskbar .tab.on{--tcor:#0878bd;background:linear-gradient(135deg,#0878bd,#0a8fbe);border-color:#0878bd;box-shadow:0 5px 13px rgba(8,120,189,.18)}
body:not(.cc-modo):not(.trf-modo) input:focus,body:not(.cc-modo):not(.trf-modo) select:focus,body:not(.cc-modo):not(.trf-modo) textarea:focus{border-color:#32adb2;box-shadow:0 0 0 3px rgba(21,167,172,.1)}
body:not(.cc-modo):not(.trf-modo) .nav-voltar-aba{border-color:#d3e1e8;background:#f8fbfc;color:#466176}.nav-voltar-aba:hover{border-color:#60b8be;background:#ebf8f8;color:#086880}
body:not(.cc-modo):not(.trf-modo) .hub-unificado-topo{border-color:#0a527d;background:linear-gradient(132deg,#052d4b,#075d8e 58%,#078c98);box-shadow:0 11px 28px rgba(3,65,103,.15)}
body:not(.cc-modo):not(.trf-modo) .hub-unificado-topo>div>span{color:#8ee9df}body:not(.cc-modo):not(.trf-modo) .hub-unificado-topo p{color:#d7edf3}
body:not(.cc-modo):not(.trf-modo) .hub-unificado-topo nav button.on{border-color:#8ee9df;color:#07527c}body:not(.cc-modo):not(.trf-modo) .hub-operacao-nav{border-color:#d5e4eb;background:#eef6f8}
body:not(.cc-modo):not(.trf-modo) .hub-operacao-nav button:hover,body:not(.cc-modo):not(.trf-modo) .hub-operacao-nav button.on{border-color:#8acbd0;color:#086b91}
body:not(.cc-modo):not(.trf-modo) .dia-datas{border-color:#d5e5ec;background:linear-gradient(135deg,#fff 0%,#f7fbfd 55%,#edf8f8 100%);box-shadow:0 9px 28px rgba(6,70,108,.07)}
body:not(.cc-modo):not(.trf-modo) .dia-datas-cab>div>span,body:not(.cc-modo):not(.trf-modo) .dia-data-card>i{color:#0878a7}
body:not(.cc-modo):not(.trf-modo) .dia-datas-trilho::before{background:linear-gradient(90deg,#cbd5e1,#15aaa4,#cbd5e1)}body:not(.cc-modo):not(.trf-modo) .dia-data-card::before{background:#0b8dbc;box-shadow:0 0 0 2px #6bcbd0}
body:not(.cc-modo):not(.trf-modo) .dia-data-card.selecionada{border-color:#0878bd;background:linear-gradient(145deg,#064d78,#087fb4);box-shadow:0 12px 25px rgba(6,84,126,.22)}
body:not(.cc-modo):not(.trf-modo) .wa-sobretitulo,body:not(.cc-modo):not(.trf-modo) .wa-fluxo-titulo span,body:not(.cc-modo):not(.trf-modo) .wa-decisao-leitura span{color:#0878a7}
body:not(.cc-modo):not(.trf-modo) .wa-abas button.on,body:not(.cc-modo):not(.trf-modo) .wa-abas button b,body:not(.cc-modo):not(.trf-modo) .wa-audio-busca button{color:#0878a7}
body:not(.cc-modo):not(.trf-modo) .wa-decisao-leitura,body:not(.cc-modo):not(.trf-modo) .wa-midia-regra,body:not(.cc-modo):not(.trf-modo) .wa-audio-explicacao blockquote{background:#edf7f9}

/* Acabamento final do aplicativo: leitura, estados e pistas de interação. */
body:not(.entrada-modo):not(.trf-modo){font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"tnum" 1}
body:not(.entrada-modo):not(.trf-modo) #view{line-height:1.48}
body:not(.entrada-modo):not(.trf-modo) #view .muted{color:#536577}
body:not(.entrada-modo):not(.trf-modo) :is(button,a,input,select,textarea,[role="button"]):focus-visible{outline:3px solid #087078;outline-offset:2px}
body:not(.entrada-modo):not(.trf-modo) :is(button,.btn,[role="button"]){-webkit-tap-highlight-color:transparent}
body:not(.entrada-modo):not(.trf-modo) :is(button,.btn):disabled{cursor:not-allowed;filter:saturate(.55);opacity:.62}
body:not(.entrada-modo):not(.trf-modo) .btn{transition:background .16s,border-color .16s,box-shadow .16s,transform .08s}
body:not(.entrada-modo):not(.trf-modo) .btn:not(:disabled):active{transform:translateY(1px)}
.card.kpi.clicavel::after{opacity:.72}.card.kpi.clicavel:hover::after{opacity:1}
.dia-page .dia-kpi>em{opacity:.76;transform:none}.dia-page .dia-kpi:hover>em{opacity:1}
.dia-comando-selo,.dia-navegacao label span,.dia-progresso span,.dia-prioridades-titulo>div>span{letter-spacing:.065em}

/* Central da Operação: Recepção e Painel de Atendimentos parecem e agem como links. */
.hub-operacao-nav{grid-template-columns:minmax(145px,.72fr) minmax(270px,1.15fr) minmax(390px,1.55fr) minmax(300px,1.18fr);gap:8px}
.hub-operacao-nav section{border-radius:12px;transition:background .16s}
.hub-operacao-nav section:hover{background:rgba(255,255,255,.5)}
.hub-operacao-nav section>span{font-size:11px;color:#526b7b}
.hub-operacao-nav button{position:relative;min-height:78px;padding:11px 11px 29px;border-color:#d7e4ea;background:rgba(255,255,255,.72);box-shadow:0 2px 7px rgba(8,43,92,.035);transition:transform .13s,border-color .16s,box-shadow .16s,background .16s}
.hub-operacao-nav button:hover{transform:translateY(-2px);border-color:#69bcc2;background:#fff;box-shadow:0 8px 18px rgba(7,76,111,.09)}
.hub-operacao-nav button:active{transform:translateY(0)}
.hub-operacao-nav button:focus-visible{outline:3px solid #087078;outline-offset:2px}
.hub-operacao-nav b{min-height:31px;font-size:12.5px;line-height:1.25;overflow:visible;text-overflow:clip;white-space:normal}.hub-operacao-nav small{margin-top:3px;color:#536577;font-size:11px;line-height:1.35;white-space:normal}
.hub-operacao-abrir{position:absolute;right:10px;bottom:8px;display:inline-flex;align-items:center;gap:4px;color:#0878a7;font-size:11px;font-weight:800;letter-spacing:.025em;text-transform:uppercase;opacity:.84}
.hub-operacao-abrir i{font-size:12px;font-style:normal;transition:transform .13s}.hub-operacao-nav button:hover .hub-operacao-abrir i{transform:translate(2px,-2px)}
.hub-operacao-nav button.on{border-color:#54b7bd;background:#fff;color:#075e83;box-shadow:inset 3px 0 #15aaa4,0 7px 17px rgba(7,76,111,.09)}
.hub-operacao-nav button[data-operacao-hub="painelAtend"]{background:linear-gradient(135deg,#fff,#f0faf9);border-color:#abd9d9}
.hub-operacao-nav button[data-operacao-hub="painelAtend"] .hub-operacao-abrir{color:#087560;opacity:1}
@media(max-width:1450px){.hub-operacao-nav{grid-template-columns:1fr 1fr}.hub-operacao-nav section>div{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}}
@media(max-width:760px){.hub-operacao-nav{grid-template-columns:1fr}.hub-operacao-nav section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.hub-operacao-nav button{width:100%;min-width:0}}
@media(max-width:460px){.hub-operacao-nav section>div{grid-template-columns:1fr}}

/* Microtextos operacionais: aumento seletivo, sem alterar badges e controles de outros módulos. */
#sidebar .ico .lb,.time-min,.card.kpi.clicavel::after,.badge-menu{font-size:11px}
.dia-comando-selo,.dia-navegacao label span,.dia-progresso span,.dia-comando-numeros b small,.dia-comando-numeros span,.dia-prioridades-titulo>div>span,.dia-prioridades-titulo>div>small,.dia-atalho span,.dia-page .dia-kpi>div>span:not(.opsv-kpi-icone),.dia-page .dia-kpi>em,.dia-vazia-selo,.dia-conversas-lista>article>i,.dia-conversas-lista>article>div>span{font-size:11px}
.wa-topo-numeros span,.wa-hero-selos span,.wa-radar-cab>span,.wa-radar-cab>b,.wa-radar-centro>b,.wa-radar-centro>small,.wa-radar-ponto,.wa-radar-rodape span,.wa-radar-rodape b,.wa-fluxo-titulo span,.wa-fluxo-titulo b,.wa-fluxo-passos i,.wa-fluxo-passos b,.wa-fluxo-passos small,.wa-status-label,.wa-abas button>span,.wa-abas button b,.wa-decisao-num,.wa-decisao-leitura span,.wa-decisao-agenda,.wa-motor-selo,.wa-audio-kpis span,.wa-audio-kpis small,.wa-audio-filtros button,.wa-audio-busca button,.wa-audio-estado,.wa-audio-identidade span,.wa-audio-explicacao,.wa-audio-sem-player,.wa-audio-paginacao,.wa-midia-regra{font-size:11px}

/* Mova: fundo empresarial neutro; laranja fica somente como assinatura da marca. */
body.cc-modo{--magenta:#153248;--magenta-2:#0b2539;--magenta-esc:#061a29;--mova-acento:#e45e1b;--mova-acento-escuro:#a63f10;--mova-acento-suave:#fff4ed;--tinta:#162b3c;--cinza:#5b6b7a;--linha:#d9e1e7;--fundo:#f4f6f8;background:#f4f6f8}
body.cc-modo #main{background:linear-gradient(180deg,#f7f9fa,#f1f4f6)}
body.cc-modo #topbar{background:rgba(255,255,255,.97);border-bottom-color:#d9e1e7}
body.cc-modo #sidebar{background:#fff;border-right-color:#d9e1e7;box-shadow:6px 0 20px rgba(16,42,67,.07)}
body[data-produto="mova"] .produto-atual{border-color:#d9e1e7;background:#fff;color:#153248;box-shadow:0 2px 7px rgba(16,42,67,.06)}
body[data-produto="mova"] .produto-atual i,body.cc-modo .cc-marca-ic{background:linear-gradient(145deg,#a63f10,#b94a16);color:#fff;box-shadow:0 6px 14px rgba(166,63,16,.18)}
body.cc-modo .cc-marca{border-bottom-color:#d9e1e7;background:#fff}
body.cc-modo .cc-marca::after{border-color:rgba(228,94,27,.18)}
body.cc-modo .cc-marca b{color:#153248}body.cc-modo .cc-marca small{color:#5b6b7a}
body.cc-modo .cc-item{position:relative;overflow:hidden;transition:background .16s,color .16s,box-shadow .16s,transform .08s}
body.cc-modo .cc-item:hover{background:#eef3f6;color:#153248;box-shadow:inset 3px 0 #e45e1b}
body.cc-modo .cc-item.on{background:#153248;color:#fff;box-shadow:0 4px 12px rgba(21,50,72,.16)}
body.cc-modo .cc-item.on::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#e45e1b}
body.cc-modo .cc-item:active{transform:translateY(1px)}
body.cc-modo .btn:not(.ghost){border-color:#153248;background:#153248;color:#fff;box-shadow:0 2px 6px rgba(21,50,72,.14)}
body.cc-modo .btn:not(.ghost):hover{border-color:#0b2539;background:#0b2539;box-shadow:0 5px 13px rgba(21,50,72,.18)}
body.cc-modo .btn:not(.ghost):active{background:#061a29}
body.cc-modo .btn.ghost{border-color:#b8c6cf;background:#fff;color:#153248}
body.cc-modo .btn.ghost:hover{border-color:#8298a6;background:#eef3f6;color:#0b2539}
body.cc-modo :is(button,a,input,select,textarea):focus-visible{outline-color:#a63f10}
body.cc-modo #topbar .avatar{background:linear-gradient(145deg,#153248,#23596a);box-shadow:0 3px 9px rgba(21,50,72,.2)}
body.cc-modo #topbar .avatar:hover{box-shadow:0 0 0 3px rgba(228,94,27,.22)}
body.cc-modo .nav-voltar-aba{border-color:#ced8de;background:#fff;color:#41576a}
body.cc-modo .nav-voltar-aba:hover{border-color:#8fa4b0;background:#eef3f6;color:#153248}
body.cc-modo .cc-hero{border-left:3px solid #e45e1b;background:#fff}
body.cc-modo .cc-exec,body.cc-modo .cc-prioridades,body.cc-modo .cc-card,body.cc-modo .cc-rel-card{border-color:#d9e1e7;background:#fff}

/* Acabamento responsivo 01/09: controles legiveis e conteudo operacional em primeiro plano. */
.pat-lista-filtros input,
.pat-busca input{
  width:100%;min-height:42px;padding:10px 12px;border:1px solid #cbdce5;border-radius:10px;
  outline:0;color:#183246;background:#fbfdfe;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;
  transition:border-color .14s,box-shadow .14s,background .14s
}
.pat-lista-filtros input:hover,.pat-busca input:hover{border-color:#9fc3cf;background:#fff}
.pat-lista-filtros input:focus,.pat-busca input:focus{
  border-color:#1598a3;background:#fff;box-shadow:0 0 0 3px rgba(21,152,163,.12)
}
.pat-lista-filtros .btn{min-height:42px}
.pat-busca{padding:15px 18px}
.pat-busca>label{max-width:640px;font-size:11px}
.pat-busca #pat-sug{top:77px;left:18px;width:min(640px,calc(100% - 36px))}
.pat-carregando::before{
  content:"";width:24px;height:24px;border:3px solid #d9e8ed;border-top-color:#1598a3;
  border-radius:50%;animation:pat-girar .8s linear infinite
}
@keyframes pat-girar{to{transform:rotate(360deg)}}
.pat-fila-andamento{margin-bottom:12px;border-color:#b7ded7;background:linear-gradient(145deg,#fff,#f2fbf8)}
.pat-fila-andamento .opsv-painel-icone{color:#087560;background:#dcf6ed}
.pat-fila-andamento .rec-fila-item.em-atendimento{box-shadow:inset 3px 0 #15aaa4}
.pat-fila-andamento .rec-posicao b{color:#15a786;font-size:15px}
.pat-hist-grupo{
  padding:8px 12px;border-bottom:1px solid #e2e9ed;background:#f1f7f9;color:#526b7b;
  font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase
}

@media(min-width:1001px) and (max-width:1700px){
  .pat-cabecalho{grid-template-columns:minmax(270px,.85fr) minmax(0,1.65fr)}
  .pat-acoes{grid-column:1/-1;padding-top:10px;border-top:1px solid #eeeaf3}
  .pat-contexto{grid-template-columns:auto minmax(190px,1fr) minmax(180px,1fr)}
  .pat-servicos{grid-column:2/-1;padding-left:0;border-left:0}
  .pat-contexto .pat-servicos span:not(.pill){
    display:-webkit-box;overflow:hidden;white-space:normal;line-height:1.35;
    -webkit-box-orient:vertical;-webkit-line-clamp:2
  }
}

@media(max-width:1100px){
  /* Em telas menores, o seletor vira uma faixa horizontal e a ferramenta ativa vem primeiro. */
  .hub-operacao-nav{
    display:flex;align-items:stretch;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;scrollbar-width:thin
  }
  .hub-operacao-nav section{flex:0 0 min(340px,82vw);scroll-snap-align:start}
  .hub-operacao-nav section:has(button.on){order:-1;background:rgba(255,255,255,.58)}
  .hub-operacao-nav section>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .hub-operacao-nav section>div::-webkit-scrollbar{display:none}
  .hub-operacao-nav button{flex:0 0 155px;width:155px;min-width:155px;min-height:72px}
}

@media(max-width:680px){
  /* A Agenda aparece antes da dobra, sem perder a troca entre as duas leituras. */
  .hub-agenda .hub-unificado-topo{gap:12px;padding:14px}
  .hub-agenda .hub-unificado-topo h1{font-size:20px}
  .hub-agenda .hub-unificado-topo p{display:none}
  .hub-agenda .hub-unificado-topo nav{
    display:flex;width:100%;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none
  }
  .hub-agenda .hub-unificado-topo nav::-webkit-scrollbar{display:none}
  .hub-agenda .hub-unificado-topo nav button{flex:1 0 142px;min-height:50px}

  /* O menu inferior preserva o nome completo sem um item invadir o vizinho. */
  #sidebar .ico{min-width:82px;padding-inline:6px}
  #sidebar .ico .lb{
    display:block;width:100%;max-width:76px;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;font-size:10px
  }

  .hub-operacao-nav{padding:7px}
  .hub-operacao-nav section{flex-basis:min(320px,84vw);padding:4px}
  .hub-operacao-nav section>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .hub-operacao-nav section>div::-webkit-scrollbar{display:none}
  .hub-operacao-nav button{flex:0 0 148px;min-width:148px;min-height:74px}
  .hub-operacao-nav section:has(button.on) button.on{order:-1}

  .pat-lista-cab{align-items:stretch;flex-direction:column;gap:13px;padding:16px}
  .pat-lista-filtros{align-items:stretch;width:100%}
  .pat-lista-filtros label{flex:1}
  .pat-lista-filtros input,.pat-busca input{min-height:44px;font-size:16px}
  .pat-lista-filtros .btn{min-height:44px}
  .pat-busca{padding:14px}
  .pat-busca>label{max-width:none}
  .pat-busca #pat-sug{top:75px;left:14px;width:calc(100% - 28px)}
}

@media(prefers-reduced-motion:reduce){.pat-carregando::before{animation:none}}
body.cc-modo .cc-exec{background:#fff}
body.cc-modo .cc-exec-acoes>div{border-left-color:#3a7180;background:#f5f9fa}
body.cc-modo .cc-exec-acoes b{color:#23596a}
body.cc-modo .cc-exec-item.alerta{border-color:#d9e1e7;background:#fff;box-shadow:inset 3px 0 #d59a2e}
body.cc-modo .cc-exec-item.alerta strong{color:#153248}
body.cc-modo .cc-origem-aviso{border-color:#ebdaa6;border-left-color:#c58a1b;background:#fffcf3;color:#654a12}
body.cc-modo .cc-prioridades-kpis .atencao{border-color:#e8cf88;background:#fffaeb;color:#7a5200}
body.cc-modo .cc-degrau-b i{background:linear-gradient(90deg,#153248,#3a7180);box-shadow:inset -3px 0 #e45e1b}
body.cc-modo .cc-rel-selo{color:#23596a;background:#edf4f6}
body.cc-modo .cc-rel-kpis .alerta,body.cc-modo .cc-kpi.cc-kpi-alerta{border-color:#d9e1e7;background:#fff;box-shadow:inset 3px 0 #d59a2e}
body.cc-modo .cc-rel-kpis .alerta strong,body.cc-modo .cc-kpi.cc-kpi-alerta .cc-kpi-n{color:#153248}
body.cc-modo .cc-motivos-perda>div{border-color:#dfe5e9;background:#fff;box-shadow:inset 3px 0 #c43d4b}
body.cc-modo .cc-motivos-perda b{color:#8f2630}body.cc-modo .cc-motivos-perda span{color:#5b6b7a}
body.cc-modo .cc-sla-faixas em{background:linear-gradient(90deg,#153248,#3a7180)}
body.cc-modo .cc-rel-nota{border-left-color:#3a7180;background:#f3f8f9;color:#415766}
body.cc-modo #ccv-shell :is(.ccv-badge,.ccv-msg-meta,.ccv-dia span,.ccv-rr-preview .rr-preview-passo>small,.ccv-etapa,.ccv-chip,.ccv-ct-num,.ccv-campo label,.ccv-campo input,.ccv-campo select,.ccv-evento,.ccv-evidencia,.ccv-grade-acoes button,.ccv-follow-atalhos button,.ccv-orc-metrica,.ccv-orc-acoes button,.ccv-dados-lista span){font-size:11px}
body.cc-modo #ccv-shell :is(.ccv-rr-erro button,.ccv-botoes button){font-size:11px}
body.cc-modo #ccwa :is(.ccwa-invisivel-selo,.ccia-selo){font-size:11px}
/* Reinaldo, 03/09/2026: dentro da Mova a barra de abas de baixo sai da tela —
   a navegação é a lateral + a faixa do grupo. As abas continuam guardadas e
   voltam a aparecer fora da Mova; nada é fechado ao entrar aqui. */
body.cc-modo #taskbar{display:none}
body.cc-modo #taskbar .tab{border-color:#d5dfe5;background:#fff;color:#30495c}
body.cc-modo #taskbar .tab:hover{border-color:#8298a6;background:#eef3f6}
body.cc-modo #taskbar .tab.on{background:#153248;border-color:#153248;color:#fff;box-shadow:0 5px 13px rgba(21,50,72,.18)}
body.cc-modo #taskbar .tab[data-tab-contexto="comercial"]::before{background:#e45e1b}
body.cc-modo #taskbar .tab[data-tab-contexto="comercial"].on::before{background:#ff8a4d}
@media(max-width:680px){
  body.cc-modo #main{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  body.cc-modo #sidebar{position:fixed;inset:auto 0 0;width:auto;height:auto;max-height:none;display:flex;align-items:stretch;flex-direction:row;gap:3px;padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px));overflow-x:auto;overflow-y:hidden;border-top:1px solid #d9e1e7;border-right:0;box-shadow:0 -4px 16px rgba(16,42,67,.15)}
  body.cc-modo #sidebar :is(.cc-marca,.cc-secao,.sep){display:none}
  /* o rodapé é uma fileira: os grupos precisam ocupar a largura toda, senão
     encolhem no canto e o nome do grupo sai cortado */
  body.cc-modo #sidebar .cc-grupos{flex:1 1 auto;min-width:0;padding:0;gap:4px}
  body.cc-modo #sidebar .cc-grupo{flex:1 1 28%;min-width:0}
  body.cc-modo .cc-voltar{width:auto;margin:0;border-top:0;border-left:1px solid #d9e1e7;border-radius:10px}
}

/* =====================================================================
   PAINÉIS OPERACIONAIS 01/09
   Modais amplos, leitura maior e navegação branca com detalhes azuis.
   O acabamento é global; contrato e cliente recebem uma estrutura própria.
   ===================================================================== */
#modal{background:rgba(8,28,48,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#modal .modal-card{position:relative;width:min(720px,94vw);max-width:min(1180px,96vw);max-height:94dvh;padding:28px;border:1px solid #d9e5ec;border-radius:22px;background:#fff;box-shadow:0 32px 90px rgba(5,36,65,.25),0 5px 18px rgba(5,36,65,.09)}
#modal .modal-card:has(#modal-body table){width:min(1120px,96vw)}
#modal .modal-card:has(#modal-body>.rr-editor),#modal .modal-card:has(#modal-body>.cli-cadastro-modal){width:min(1260px,96vw)}
#modal .modal-card>.close-x{position:absolute;float:none;top:17px;right:17px;z-index:20;width:40px;height:40px;border:1px solid #d6e2e9;border-radius:12px;background:#fff;color:#17364e;font-size:22px;line-height:1;box-shadow:0 4px 13px rgba(8,43,92,.08)}
#modal .modal-card>.close-x:hover{border-color:#7fc1d1;background:#eef8fb;color:#075e8d}
#modal .modal-card #modal-body>h3,#modal .modal-card #modal-body>section>h3{padding-right:46px;color:#142b3d;font-size:23px;line-height:1.2;letter-spacing:-.025em}
#modal .modal-card #modal-body>.muted:first-of-type{font-size:13px;line-height:1.55}
#modal .modal-card .btn{min-height:42px;padding:9px 16px;border-radius:11px;font-size:13px;font-weight:800}
#modal .modal-card .btn.sm{min-height:35px;padding:7px 11px;font-size:11.5px}
#modal .modal-card table:not(.folha *){font-size:13.5px}
#modal .modal-card table:not(.folha *) th{padding:12px 11px;color:#4e6274;font-size:11.5px;font-weight:850;letter-spacing:.045em}
#modal .modal-card table:not(.folha *) td{padding:13px 11px;color:#24384a}
#modal .modal-card label{font-size:13px;color:#53697b}
#modal .modal-card label>input,#modal .modal-card label>select,#modal .modal-card label>textarea,#modal .modal-card .field>input,#modal .modal-card .field>select,#modal .modal-card .field>textarea{min-height:44px;border-color:#ccdbe4;border-radius:11px;background:#fbfdfe;font-size:13.5px}

/* Contrato: quase tela inteira e sem o bloco marinho pesado. */
#modal .modal-card:has(#modal-body>.detail-modal){width:min(1500px,96vw)!important;max-width:min(1500px,96vw)!important;height:min(950px,95dvh);max-height:95dvh;padding:0!important;overflow:hidden;border-color:#cddde7;border-radius:26px;background:#fff}
#modal .modal-card:has(#modal-body>.detail-modal)>#modal-body{height:100%}
#modal .modal-card:has(#modal-body>.detail-modal)>.close-x{top:18px;right:20px;width:42px;height:42px}
.detail-modal{display:grid;grid-template-columns:274px minmax(0,1fr);height:100%;min-height:0;color:#172b3b;background:#f7fafc}
.detail-rail{min-width:0;padding:24px 16px 18px;overflow:auto;border-right:1px solid #d8e5ec;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:8px 0 25px rgba(6,58,94,.045);display:flex;flex-direction:column;gap:7px;scrollbar-width:thin}
.detail-rail-brand{position:relative;margin:0 4px 10px;padding:0 8px 20px;border-bottom:1px solid #dce7ed;color:#15364f}
.detail-rail-brand>span{position:absolute;right:7px;top:1px;padding:4px 7px;border-radius:7px;background:#e8f5f9;color:#08769e;font-size:9px;font-weight:900;letter-spacing:.08em}
.detail-rail-brand small{display:block;margin:0 0 6px;color:#5b7689;font-size:10.5px;font-weight:850;letter-spacing:.13em}
.detail-rail-brand b{color:#082b5c;font-size:29px;letter-spacing:-.035em}
.detail-rail button{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;min-height:62px;padding:9px 11px;border:1px solid transparent;border-radius:14px;background:transparent;color:#284458;text-align:left;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .08s}
.detail-rail button::before{content:"";position:absolute;inset:10px auto 10px 0;width:3px;border-radius:0 4px 4px 0;background:transparent}
.detail-rail button>span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d6e5ec;border-radius:10px;background:#eef6f9;color:#167ca5;font-size:10px;font-weight:900}
.detail-rail button>div{display:grid;gap:3px;color:inherit;font-size:13.5px;line-height:1.15}
.detail-rail button small{color:#687f90;font-size:10.5px;font-weight:650;line-height:1.25}
.detail-rail button:hover{border-color:#cbe0e9;background:#f2f9fb;transform:translateX(2px)}
.detail-rail button.active{border-color:#b9d9e6;background:#eaf6fa;color:#075c88;box-shadow:0 5px 13px rgba(9,112,160,.08)}
.detail-rail button.active::before{background:#0984c6}.detail-rail button.active>span{border-color:#0984c6;background:#0984c6;color:#fff}.detail-rail button.active small{color:#3e7188}
.detail-rail-divider{display:flex;align-items:center;gap:8px;margin:6px 8px 0;color:#7890a0;font-size:9px;font-weight:900;letter-spacing:.11em}.detail-rail-divider::after{content:"";height:1px;flex:1;background:#dce7ed}
.detail-main{min-width:0;padding:22px 32px 20px;overflow:auto;scroll-behavior:smooth;background:linear-gradient(180deg,#f8fbfd,#f4f8fb)}
.detail-topline{display:flex;align-items:center;gap:12px;min-height:37px;margin-bottom:8px;padding-right:50px}.detail-topline>span{padding-left:12px;border-left:1px solid #cadbe4;color:#648093;font-size:10px;font-weight:900;letter-spacing:.13em}
.detail-back,.client-detail-back,.client-history-head>button,.document-list-panel>header>button,.document-detail-panel>header>button,.vindi-entrega-voltar{min-height:36px;padding:7px 11px;border:1px solid #cadbe4;border-radius:10px;background:#fff;color:#31566d;font:800 11.5px/1 inherit;cursor:pointer}.detail-back:hover,.client-detail-back:hover,.client-history-head>button:hover,.document-list-panel>header>button:hover,.document-detail-panel>header>button:hover,.vindi-entrega-voltar:hover{border-color:#68b9c8;background:#eef9fa;color:#07678b}
.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 15px;padding:0 52px 0 0}.detail-header small,.detail-section-title small{display:block;margin:0 0 5px;color:#58798e;font-size:10.5px;font-weight:900;letter-spacing:.13em}.detail-header h3{margin:0!important;color:#15283a;font-size:31px;line-height:1.08;letter-spacing:-.045em}.detail-subtitle{margin-top:7px;color:#536d80!important;font-size:13.5px!important}.detail-status{max-width:250px;padding:9px 13px;border:1px solid #bee9d2;border-radius:999px;background:#e9f8f0;color:#16724a;font-size:12px;font-weight:850;text-align:center}
.detail-actions{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:9px;margin:0 0 17px;padding:10px;border:1px solid #d8e5ec;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(8,43,92,.055)}
.detail-action{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:11px;border:1px solid #d9e6ed;border-radius:13px;background:#fbfdfe;color:#1c3a50;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s}
.detail-action>b{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:#e9f4f8;color:#0878a7;font-size:15px}.detail-action>span{display:grid;gap:4px;font-size:13px;font-weight:850;line-height:1.15}.detail-action small{color:#60798b;font-size:10px;font-weight:650;line-height:1.2}.detail-action:hover{border-color:#73bccb;background:#f2fafb;box-shadow:0 7px 16px rgba(8,100,142,.08);transform:translateY(-2px)}
.detail-action.primary{border-color:#0878bd;background:linear-gradient(135deg,#0878bd,#0a90b8);color:#fff}.detail-action.primary>b{background:#fff;color:#0878bd}.detail-action.primary small{color:#e0f4fb}
.detail-panel{display:none;min-width:0;animation:detail-panel-in .16s ease-out}.detail-panel.active{display:block}@keyframes detail-panel-in{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.detail-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:11px 14px;border:1px solid #f0d89c;border-left:4px solid #dca82e;border-radius:12px;background:#fffaf0;color:#725614}.detail-notice b,.detail-notice span{font-size:12px}
.detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 14px}.detail-kpis>div{position:relative;display:flex;min-height:94px;flex-direction:column;justify-content:center;padding:16px 18px;overflow:hidden;border:1px solid #d9e5ec;border-radius:16px;background:#fff;box-shadow:0 5px 15px rgba(8,43,92,.035)}.detail-kpis>div::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#1686b7}.detail-kpis>div.success::before{background:#20a66a}.detail-kpis>div.danger::before{background:#d3515c}.detail-kpis>div>span{color:#5c7486;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.detail-kpis>div>b{margin-top:5px;color:#172b3c;font-size:24px!important;line-height:1;letter-spacing:-.03em}.detail-kpis>div.success>b{color:#168053}.detail-kpis>div.danger>b{color:#bf3f4a}.detail-kpis>div>small{margin-top:7px;color:#6d8291;font-size:10.5px}.detail-kpis-compact>div{min-height:78px;padding-block:13px}.detail-kpis-compact>div>b{font-size:21px!important}
.detail-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-overview-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 14px;min-height:116px;padding:17px 18px;border:1px solid #d9e5ec;border-radius:16px;background:#fff;box-shadow:0 5px 15px rgba(8,43,92,.035)}.detail-overview-card>small{grid-column:1/-1;color:#5d798c;font-size:10px;font-weight:900;letter-spacing:.11em}.detail-overview-card>div:not(.detail-progress){display:grid;gap:5px}.detail-overview-card b{color:#193348;font-size:16px}.detail-overview-card span,.detail-overview-card p{margin:0;color:#63798a;font-size:11.5px;line-height:1.4}.detail-progress{display:grid;width:55px;height:55px;place-items:center;border-radius:50%;background:conic-gradient(#0b8db8 var(--detail-progress),#dcebf0 0)}.detail-progress::after{content:"";width:39px;height:39px;border-radius:50%;background:#fff}.detail-progress i{display:none}.detail-next-value{display:flex!important;align-items:baseline;justify-content:space-between;gap:10px;grid-column:1/-1}.detail-next-value>b{font-size:19px}.detail-next-value>span{font-weight:800}
.detail-section{min-width:0;margin:0;padding:20px;border:1px solid #d7e4eb;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(8,43,92,.045)}.detail-section-large{min-height:390px}.detail-section-finance{padding:16px 18px}.detail-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #e1eaf0}.detail-section-title>div{display:grid}.detail-section-title b{color:#183246;font-size:20px}.detail-section-title>span{padding:6px 9px;border-radius:999px;background:#edf6fa;color:#166f96;font-size:10.5px;font-weight:850}.detail-table{width:100%;border-collapse:separate!important;border-spacing:0}.detail-table th{position:sticky;top:0;z-index:2;background:#f3f7fa!important}.detail-table td{height:55px;border-bottom-color:#e1e9ee!important}.detail-table tbody tr:hover td{background:#edf8fa!important}.detail-row-paid td{background:#f1fbf6!important}.detail-table-scroll{max-height:calc(95dvh - 405px);min-height:300px;overflow:auto;border:1px solid #e0e9ee;border-radius:13px;scrollbar-width:thin}.detail-empty{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#667d8e;text-align:center}.detail-empty b{color:#28475d;font-size:16px}.detail-empty span{font-size:12px}
.detail-safety{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:13px 15px;border:1px solid #cbe5df;border-radius:12px;background:#f0faf7;color:#225f50}.detail-safety b{font-size:12.5px}.detail-safety span{font-size:11.5px}.detail-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-bottom:14px}.detail-area-grid article{display:grid;gap:4px;padding:12px;border:1px solid #dce7ed;border-radius:12px;background:#f8fbfc}.detail-area-grid b{font-size:12.5px}.detail-area-grid span{color:#08779f;font-size:12px;font-weight:800}.detail-area-grid small{color:#647b8c;font-size:10.5px}.detail-audit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.detail-audit-grid article{display:grid;gap:5px;min-height:112px;padding:15px;border:1px solid #dce7ed;border-radius:13px;background:#f8fbfc}.detail-audit-grid small{color:#678091;font-size:9.5px;font-weight:900;letter-spacing:.08em}.detail-audit-grid b{color:#1f3b50;font-size:14px}.detail-audit-grid span{color:#607788;font-size:11px;line-height:1.4}.detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:11px 2px 0;color:#6b8292;font-size:10.5px}

/* Ficha da cliente: cadastro, financeiro, sessões e histórico no mesmo painel. */
#modal .modal-card:has(#modal-body>.client-detail-panel){width:min(1480px,96vw)!important;max-width:min(1480px,96vw)!important;height:min(950px,95dvh);max-height:95dvh;padding:0!important;overflow:hidden;border-radius:26px;background:#f5f9fb}
#modal .modal-card:has(#modal-body>.client-detail-panel)>#modal-body{height:100%}
.client-detail-panel{height:100%;padding:24px 30px 22px;overflow:auto;color:#173044;background:linear-gradient(180deg,#f8fbfd,#f3f8fa)}
.client-detail-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 52px 17px 0;border-bottom:1px solid #d7e4eb}.client-detail-identity{display:flex;align-items:center;gap:14px;min-width:0}.client-detail-back{align-self:flex-start}.client-detail-avatar{display:grid;width:56px;height:56px;flex:0 0 auto;place-items:center;border-radius:17px;background:linear-gradient(145deg,#0878bd,#14aaa3);color:#fff;font-size:17px;font-weight:900;box-shadow:0 8px 20px rgba(8,120,189,.18)}.client-detail-identity>div{min-width:0}.client-detail-identity small{display:block;color:#5d7b8e;font-size:10px;font-weight:900;letter-spacing:.12em}.client-detail-identity h3{max-width:760px;margin:3px 0 4px!important;padding:0!important;overflow:hidden;color:#142d40;font-size:28px!important;text-overflow:ellipsis;white-space:nowrap}.client-detail-identity p{margin:0;color:#5d7486;font-size:12.5px}.client-detail-head-actions{display:flex;align-items:center;gap:9px}.client-status{padding:8px 11px;border:1px solid #bfe2d2;border-radius:999px;background:#eaf8f1;color:#19714c;font-size:11px;font-weight:850;text-transform:uppercase}
.client-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.client-quick-actions>button{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:11px;min-height:78px;padding:12px 14px;border:1px solid #d6e4eb;border-radius:14px;background:#fff;color:#1c3b51;text-align:left;cursor:pointer;box-shadow:0 4px 13px rgba(8,43,92,.035);transition:transform .12s,border-color .15s,box-shadow .15s}.client-quick-actions>button:hover{border-color:#67b9c8;box-shadow:0 8px 18px rgba(8,100,142,.08);transform:translateY(-2px)}.client-quick-actions>button>b{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:#eaf5f8;color:#0879a8;font-size:14px}.client-quick-actions>button>span{display:grid;gap:4px;font-size:13.5px;font-weight:850}.client-quick-actions small{color:#637b8c;font-size:10.5px;font-weight:650}
.client-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.client-detail-kpis article{position:relative;display:grid;gap:5px;min-height:100px;padding:15px 17px;overflow:hidden;border:1px solid #d7e4eb;border-radius:15px;background:#fff}.client-detail-kpis article::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0b84b8}.client-detail-kpis article.success::before{background:#1ca468}.client-detail-kpis article.danger::before{background:#cf4d59}.client-detail-kpis span{color:#5d7688;font-size:10.5px;font-weight:800;text-transform:uppercase}.client-detail-kpis b{color:#183246;font-size:25px;line-height:1}.client-detail-kpis small{color:#6a8090;font-size:10.5px}.client-detail-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.client-detail-info article{display:grid;gap:5px;min-height:108px;padding:14px 15px;border:1px solid #d8e5ec;border-radius:14px;background:#fff}.client-detail-info small{color:#647e90;font-size:9.5px;font-weight:900;letter-spacing:.09em}.client-detail-info b{overflow-wrap:anywhere;color:#1f3b50;font-size:13px}.client-detail-info span{overflow-wrap:anywhere;color:#657b8c;font-size:11px;line-height:1.45}.client-clinical-note{display:flex;align-items:flex-start;gap:13px;margin-bottom:12px;padding:12px 14px;border:1px solid #efc9cd;border-left:4px solid #cf4e59;border-radius:12px;background:#fff6f7;color:#7c3038}.client-clinical-note b{font-size:12px;white-space:nowrap}.client-clinical-note span{font-size:11.5px;line-height:1.45}
.client-detail-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-detail-panel .ag-bloco,.client-panel-block{min-width:0;margin:0!important;padding:17px;border:1px solid #d7e4eb;border-radius:17px;background:#fff;box-shadow:0 6px 17px rgba(8,43,92,.04)}.client-detail-panel .ag-bloco-tit,.client-panel-block>header{display:flex;align-items:center;justify-content:space-between;min-height:41px;margin:-2px 0 12px;padding:0 0 11px;border-bottom:1px solid #e1e9ee;color:#18364b;font-size:15px;font-weight:850}.client-panel-block>header>div{display:grid;gap:4px}.client-panel-block>header small{color:#607d8f;font-size:9.5px;font-weight:900;letter-spacing:.1em}.client-panel-block>header b{font-size:16px}.client-panel-block{grid-column:1/-1}.client-table-scroll{max-height:330px;overflow:auto;border:1px solid #e0e8ed;border-radius:12px}.client-table-scroll td:first-child small{display:block;margin-top:3px;color:#718696;font-size:10px}.client-row-actions{white-space:nowrap}.client-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #d8e4ea;color:#697f90;font-size:10.5px}

/* Histórico e documentos usam a mesma hierarquia dos painéis grandes. */
#modal .modal-card:has(#modal-body>.client-history-panel),#modal .modal-card:has(#modal-body>.document-list-panel),#modal .modal-card:has(#modal-body>.document-detail-panel),#modal .modal-card:has(#modal-body>.vindi-entrega){width:min(1180px,96vw);max-width:min(1180px,96vw)}
.client-history-head,.document-list-panel>header,.document-detail-panel>header{display:flex;align-items:center;gap:13px;margin:-4px 48px 18px 0;padding-bottom:14px;border-bottom:1px solid #d9e5ec}.client-history-head>div,.document-list-panel>header>div,.document-detail-panel>header>div{display:grid;gap:3px}.client-history-head small,.document-list-panel>header small,.document-detail-panel>header small{color:#5d798c;font-size:9.5px;font-weight:900;letter-spacing:.11em}.client-history-head h3,.document-list-panel>header h3,.document-detail-panel>header h3{margin:0!important;padding:0!important;color:#173147;font-size:24px!important}.client-history-head span{color:#657c8d;font-size:11.5px}.vindi-entrega-voltar{margin-bottom:13px}

@media(max-width:1320px){
  .detail-actions{grid-template-columns:repeat(4,minmax(135px,1fr))}.detail-action{min-height:72px}.detail-table-scroll{max-height:calc(95dvh - 485px)}
  .client-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .client-detail-info{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  #modal .modal-card:has(#modal-body>.detail-modal){width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh;border-radius:0}
  .detail-modal{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.detail-rail{display:flex;max-width:100vw;min-height:0;flex-direction:row;gap:6px;padding:58px 10px 9px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid #d8e5ec}.detail-rail-brand,.detail-rail-divider{display:none}.detail-rail button{display:grid;grid-template-columns:30px 1fr;min-width:145px;min-height:52px;padding:7px 9px}.detail-rail button>span{width:28px;height:28px}.detail-rail button>div{font-size:11.5px}.detail-rail button small{font-size:9px}.detail-rail button::before{inset:auto 9px 0;height:3px;width:auto}.detail-rail button:hover{transform:none}
  .detail-main{padding:16px 18px}.detail-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-overview-grid,.detail-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-table-scroll{max-height:calc(100dvh - 520px)}
  #modal .modal-card:has(#modal-body>.client-detail-panel){width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh;border-radius:0}.client-detail-panel{padding:58px 18px 18px}.client-detail-head{padding-right:0}.client-quick-actions,.client-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.client-detail-content{grid-template-columns:1fr}.client-panel-block{grid-column:1}.client-detail-info{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  #modal .modal-card{width:96vw;max-width:96vw;max-height:96dvh;padding:20px 16px;border-radius:18px}
  #modal .modal-card:has(#modal-body>.detail-modal),#modal .modal-card:has(#modal-body>.client-detail-panel){width:100vw!important;max-width:100vw!important}
  .detail-main{padding:13px 12px}.detail-topline{padding-right:42px}.detail-header{padding-right:0}.detail-header h3{font-size:25px}.detail-status{display:none}.detail-subtitle{font-size:11.5px!important}.detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.detail-action{grid-template-columns:34px 1fr;min-height:65px;padding:8px}.detail-action>b{width:34px;height:34px}.detail-action>span{font-size:11.5px}.detail-action small{font-size:9px}.detail-kpis{grid-template-columns:1fr}.detail-overview-grid,.detail-audit-grid{grid-template-columns:1fr}.detail-section{padding:13px}.detail-section-title b{font-size:17px}.detail-table-scroll{max-height:calc(100dvh - 460px);min-height:240px}.detail-safety,.detail-notice{align-items:flex-start;flex-direction:column}.detail-footer>span{display:none}
  .client-detail-panel{padding:56px 12px 16px}.client-detail-head{align-items:flex-start;flex-direction:column}.client-detail-identity{align-items:flex-start;flex-wrap:wrap}.client-detail-identity>div{width:calc(100% - 72px)}.client-detail-identity h3{font-size:22px!important;white-space:normal}.client-detail-head-actions{width:100%;justify-content:space-between}.client-quick-actions,.client-detail-kpis,.client-detail-info{grid-template-columns:1fr}.client-quick-actions>button{min-height:66px}.client-detail-content{grid-template-columns:1fr}.client-detail-panel .ag-bloco,.client-panel-block{padding:13px;overflow:auto}.client-detail-footer>span{display:none}.client-detail-footer{justify-content:flex-end}
  .client-history-head,.document-list-panel>header,.document-detail-panel>header{align-items:flex-start;flex-direction:column;margin-right:40px}
}

/* =====================================================================
   FLUXO COMPLETO DO CONTRATO 01/09
   Edição, revenda, histórico, documentos e checkout seguem o mesmo padrão
   amplo do contrato principal, com retorno explícito e leitura operacional.
   ===================================================================== */
.panel-back-btn{min-height:38px;padding:8px 12px;border:1px solid #c7dbe5;border-radius:10px;background:#fff;color:#31566d;font:800 11.5px/1 inherit;white-space:nowrap;cursor:pointer}
.panel-back-btn:hover{border-color:#68b9c8;background:#eef9fa;color:#07678b}

#modal .modal-card:has(#modal-body>.ops-modal-panel){width:min(1320px,96vw)!important;max-width:min(1320px,96vw)!important;height:min(860px,94dvh);max-height:94dvh;padding:0!important;overflow:hidden;border-color:#cddde7;border-radius:26px;background:#fff}
#modal .modal-card:has(#modal-body>.ops-modal-panel)>#modal-body{height:100%}
#modal .modal-card:has(#modal-body>.document-list-panel){height:min(760px,92dvh)}
#modal .modal-card:has(#modal-body>.document-detail-panel){width:min(1420px,97vw)!important;max-width:min(1420px,97vw)!important;height:min(920px,95dvh);max-height:95dvh}
#modal .modal-card:has(#modal-body>.vindi-entrega){width:min(1260px,96vw)!important;max-width:min(1260px,96vw)!important;height:min(780px,92dvh);max-height:92dvh}
.ops-modal-panel{display:flex;height:100%;min-width:0;flex-direction:column;padding:24px 30px 20px;overflow:auto;color:#173044;background:linear-gradient(180deg,#f8fbfd,#f3f8fa)}
.ops-modal-panel>.ops-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0;padding:0 52px 17px 0;border-bottom:1px solid #d6e4eb}
.ops-panel-head>div{display:grid;min-width:0;gap:3px}.ops-panel-head small{color:#5e7b8e;font-size:9.5px;font-weight:900;letter-spacing:.12em}.ops-panel-head h3{margin:0!important;padding:0!important;color:#142d40;font-size:28px!important;line-height:1.08;letter-spacing:-.035em}.ops-panel-head p,.ops-panel-head span{margin:2px 0 0;color:#647c8e;font-size:11.5px;line-height:1.4}
.ops-panel-status{align-self:center;padding:8px 11px;border:1px solid #c5dfe9;border-radius:999px;background:#edf7fa;color:#187398!important;font-size:9.5px!important;font-weight:900;letter-spacing:.06em;white-space:nowrap}.ops-panel-status.success{border-color:#bde3ce;background:#ebf8f1;color:#19724b!important}
.ops-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding:15px 2px 0;border-top:1px solid #d8e4ea;color:#667e90;font-size:10.5px}.ops-modal-footer>div{display:flex;gap:8px;flex-wrap:wrap}

/* Assistente de venda e revenda. */
#modal .modal-card:has(#modal-body>.sale-wizard-panel){width:min(1360px,96vw)!important;max-width:min(1360px,96vw)!important;height:min(900px,94dvh);max-height:94dvh;padding:0!important;overflow:hidden;border-color:#cddde7;border-radius:26px;background:#fff}
#modal .modal-card:has(#modal-body>.sale-wizard-panel)>#modal-body{height:100%}
.sale-wizard-panel{display:grid;height:100%;min-width:0;grid-template-rows:auto auto minmax(0,1fr) auto;color:#173044;background:linear-gradient(180deg,#f8fbfd,#f3f8fa)}
.sale-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 82px 17px 28px;border-bottom:1px solid #d7e4eb;background:#fff}.sale-wizard-title{display:flex;align-items:center;gap:15px;min-width:0}.sale-wizard-title>div{display:grid;min-width:0;gap:3px}.sale-wizard-title small{color:#5c7a8d;font-size:9.5px;font-weight:900;letter-spacing:.13em}.sale-wizard-title h3{margin:0!important;color:#142e41;font-size:27px!important;line-height:1.08;letter-spacing:-.035em}.sale-wizard-title p{margin:1px 0 0;overflow:hidden;color:#61798b;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.sale-wizard-stage{padding:8px 11px;border:1px solid #c9e0e9;border-radius:999px;background:#edf7fa;color:#146e95;font-size:9.5px;font-weight:900;letter-spacing:.07em;white-space:nowrap}
.sale-wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:12px 28px;border-bottom:1px solid #d7e4eb;background:#f8fbfd}.sale-wizard-steps .vpasso{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:9px 11px;border:1px solid #d7e4eb;border-radius:13px;background:#fff;color:#29485d;text-align:left;cursor:pointer}.sale-wizard-steps .vpasso>b{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#edf5f8;color:#1979a2;font-size:11px}.sale-wizard-steps .vpasso>span{display:grid;gap:3px;font-size:12.5px;font-weight:850}.sale-wizard-steps .vpasso small{color:#657d8e;font-size:9.5px;font-weight:650;line-height:1.25}.sale-wizard-steps .vpasso:hover{border-color:#78bdcc;background:#f4fafc}.sale-wizard-steps .vpasso.on{border-color:#58afc4;background:#eaf7fa;box-shadow:inset 0 -3px #0984c6}.sale-wizard-steps .vpasso.on>b{background:#0984c6;color:#fff}.sale-wizard-steps .vpasso.ok>b{background:#e7f7ef;color:#1c8a59}
.sale-wizard-body{min-width:0;padding:20px 28px;overflow:auto}.sale-wizard-form{min-width:0;min-height:320px;padding:20px;border:1px solid #d6e4eb;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(8,43,92,.04)}.sale-wizard-form>table{min-width:760px}.sale-wizard-form>.row{row-gap:10px}.sale-wizard-form .field{min-width:180px}.sale-wizard-form .field label{font-weight:800}.sale-wizard-form input,.sale-wizard-form select,.sale-wizard-form textarea{border-color:#cbdce5;background:#fbfdfe}
.sale-wizard-notice{margin-bottom:12px;padding:13px 15px;border:1px solid #c9e4dc;border-left:4px solid #27a273;border-radius:12px;background:#f1faf7;color:#285d50;font-size:12px;line-height:1.45}.sale-wizard-notice.revenda{border-color:#bedbe7;border-left-color:#0a87bd;background:#f1f8fb;color:#274f65}.sale-wizard-notice.revenda>div{display:grid;gap:7px}.sale-wizard-notice.revenda>div>span{color:#536f80}.sale-wizard-origin-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sale-wizard-origin-values>span{padding:9px 11px;border:1px solid #d6e5eb;border-radius:10px;background:#fff;color:#5e7585;font-size:10.5px}.sale-wizard-origin-values b{display:block;margin-top:3px;color:#18374c;font-size:15px}.sale-wizard-notice small{color:#607788}
.sale-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px 17px;border-top:1px solid #d5e3ea;background:#fff}.sale-wizard-total{display:grid;gap:5px}.sale-wizard-total>small{color:#688092;font-size:9px;font-weight:900;letter-spacing:.1em}.sale-wizard-total>div{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;color:#657b8b;font-size:10.5px}.sale-wizard-total span b{color:#28485d}.sale-wizard-total strong{color:#0877a5;font-size:20px}.sale-wizard-controls{display:flex;gap:8px;white-space:nowrap}

/* Jornada financeira da cliente. */
.client-history-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0 12px}.client-history-kpis article,.document-summary article{position:relative;display:grid;gap:5px;min-height:105px;padding:16px 18px;overflow:hidden;border:1px solid #d7e4eb;border-radius:15px;background:#fff;box-shadow:0 5px 15px rgba(8,43,92,.035)}.client-history-kpis article::before,.document-summary article::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0b84b8}.client-history-kpis article.success::before,.document-summary article.success::before{background:#1ca468}.client-history-kpis article.danger::before{background:#cf4d59}.client-history-kpis small,.document-summary small{color:#60798b;font-size:9.5px;font-weight:900;letter-spacing:.08em}.client-history-kpis b,.document-summary b{color:#183246;font-size:25px;line-height:1}.client-history-kpis article.success b{color:#168053}.client-history-kpis article.danger b{color:#bf3f4a}.client-history-kpis span,.document-summary span{color:#6a8090;font-size:10.5px}
.client-history-explainer,.document-guidance{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid #cde2e9;border-radius:12px;background:#f1f8fa;color:#47697b;font-size:11.5px;line-height:1.45}.client-history-explainer i,.document-guidance i{display:grid;width:23px;height:23px;flex:0 0 auto;place-items:center;border-radius:50%;background:#0a84b4;color:#fff;font-style:normal;font-weight:900}.client-history-warning{display:flex;align-items:flex-start;gap:5px;margin-bottom:12px;padding:12px 14px;border:1px solid #efd49c;border-left:4px solid #daa52f;border-radius:12px;background:#fffaf0;color:#735714;font-size:11.5px}.client-history-warning span{color:#806c38}
.client-history-list{display:flex;min-height:0;flex:1;flex-direction:column;padding:16px;border:1px solid #d7e4eb;border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(8,43,92,.035)}.client-history-list>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px 12px;border-bottom:1px solid #e0e9ee}.client-history-list>header>div{display:grid;gap:4px}.client-history-list>header small{color:#607b8d;font-size:9px;font-weight:900;letter-spacing:.1em}.client-history-list>header b{color:#19374b;font-size:17px}.client-history-list>header>span{color:#6d8291;font-size:10px}.client-history-list>div{min-height:0;padding:12px 2px 2px;overflow:auto;scrollbar-width:thin}
.client-history-contract{position:relative;margin-bottom:10px;padding:14px 15px 12px;border:1px solid #dce6eb;border-left:4px solid #1687b6;border-radius:13px;background:#fbfdfe}.client-history-contract.paid{border-left-color:#20a66a}.client-history-contract.neutral{border-left-color:#9aaab5}.client-history-contract.replaced{background:#f6f8f9}.client-history-contract>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.client-history-contract>header>div:first-child{display:grid;gap:3px}.client-history-contract>header small{color:#5e7a8c;font-size:9px;font-weight:900;letter-spacing:.09em}.client-history-contract>header b{color:#18364a;font-size:14px}.client-history-contract>header span{color:#698091;font-size:10.5px}.client-history-tags{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.client-history-tags span{padding:5px 8px;border-radius:999px;background:#edf5f8;color:#33708d!important;font-size:9px!important;font-weight:800}.client-history-origin{margin-top:9px;padding:7px 9px;border-radius:8px;background:#edf7fa;color:#4e7082;font-size:10.5px}
.client-history-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.client-history-values>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #e0e8ed;border-radius:9px;background:#fff}.client-history-values small{color:#6a8191;font-size:8px;font-weight:900;letter-spacing:.07em}.client-history-values b{overflow:hidden;color:#244257;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.client-history-values .success b{color:#168053}.client-history-values .danger b{color:#bf3f4a}.client-history-services{display:grid;gap:3px;margin-top:9px;padding:8px 10px;border-radius:9px;background:#f3f7f9}.client-history-services small{color:#678091;font-size:8px;font-weight:900;letter-spacing:.08em}.client-history-services span{color:#526c7e;font-size:10.5px;line-height:1.4}.client-history-contract>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding-top:9px;border-top:1px solid #e4eaee;color:#6a8191;font-size:10px}.client-history-empty{display:flex;min-height:430px;align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center}.client-history-empty>span{display:grid;width:62px;height:62px;place-items:center;border-radius:18px;background:#eaf5f8;color:#087aa8;font-size:18px;font-weight:900}.client-history-empty b{color:#234156;font-size:18px}.client-history-empty p{max-width:440px;margin:0;color:#667f90;font-size:12px;line-height:1.5}

/* Documentos, prévia e assinatura. */
.document-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:16px 0 12px}.document-summary article.info::before{background:#0b84b8}.document-summary b{font-size:24px}.document-list-body{display:flex;min-height:0;flex:1;overflow:hidden;border:1px solid #d7e4eb;border-radius:15px;background:#fff}.document-table-scroll{width:100%;overflow:auto}.document-table-scroll th{position:sticky;top:0;z-index:2;background:#f3f7fa!important}.document-table-scroll td{height:58px}.document-row-actions{text-align:right;white-space:nowrap}.document-pending{padding:5px 7px;border-radius:999px;background:#f3f6f8;color:#697f8e;font-size:9.5px;font-weight:800}.document-signer{margin-top:3px;font-size:9.5px!important}.document-empty{display:flex;width:100%;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center}.document-empty>span{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;background:#eaf5f8;color:#087aa8;font-size:23px}.document-empty b{color:#234156;font-size:17px}.document-empty p{max-width:420px;margin:0;color:#687f90;font-size:11.5px;line-height:1.45}
.document-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0 11px}.document-detail-meta article{display:grid;gap:4px;padding:11px 13px;border:1px solid #d9e5eb;border-radius:11px;background:#fff}.document-detail-meta small{color:#668092;font-size:8.5px;font-weight:900;letter-spacing:.08em}.document-detail-meta b{overflow:hidden;color:#244257;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.document-sign-link{display:grid!important;grid-template-columns:minmax(200px,.8fr) minmax(360px,1.5fr);gap:6px 14px;margin:0 0 11px!important;padding:12px 14px!important;border:1px solid #c9e3dd!important;border-radius:12px!important;background:#f1faf7!important}.document-sign-link>div:first-child{display:grid;gap:3px}.document-sign-link small{color:#278168;font-size:8.5px;font-weight:900;letter-spacing:.08em}.document-sign-link b{color:#28594d;font-size:11.5px}.document-sign-link>div:nth-child(2){display:flex;gap:7px}.document-sign-link input{min-width:0}.document-sign-link>span{grid-column:2;color:#648074;font-size:9.5px}
.document-preview-shell{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;border:1px solid #d7e4eb;border-radius:15px;background:#fff}.document-preview-shell>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #dce7ed;background:#f8fbfc}.document-preview-shell>header>div{display:grid;gap:3px}.document-preview-shell>header small{color:#668092;font-size:8.5px;font-weight:900;letter-spacing:.09em}.document-preview-shell>header b{color:#254258;font-size:12px}.document-preview-shell>header>span{padding:5px 8px;border-radius:999px;background:#edf5f8;color:#39718b;font-size:9px;font-weight:800}.document-preview-shell .ct-preview{min-height:0;max-height:none;flex:1;margin:0;padding:18px;overflow:auto;border:0;border-radius:0;background:#eef3f6}

/* Checkout recorrente, amplo e com sequência de decisão visível. */
.vindi-entrega-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 52px 17px 0;border-bottom:1px solid #d7e4eb}.vindi-entrega-identidade{display:flex;align-items:center;gap:13px;min-width:0}.vindi-entrega-identidade>div{display:grid;min-width:0;gap:3px}.vindi-entrega-marca{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:15px;background:linear-gradient(145deg,#0878bd,#13a9a1);color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 18px rgba(8,120,189,.18)}.vindi-entrega-cabecalho small{color:#5e7a8d;font-size:9.5px;font-weight:900;letter-spacing:.11em}.vindi-entrega-cabecalho h3{margin:0!important;color:#142e41;font-size:27px!important;line-height:1.08}.vindi-entrega-cabecalho p{margin:1px 0 0;color:#62798a;font-size:11.5px}.vindi-entrega-status{padding:8px 11px;border:1px solid #bde3ce;border-radius:999px;background:#ebf8f1;color:#19724b;font-size:9.5px;font-weight:900;text-transform:uppercase;white-space:nowrap}.vindi-entrega .vindi-entrega-voltar{margin:0}
.vindi-entrega-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 12px;overflow:visible;border:0}.vindi-entrega-resumo>div{position:relative;display:grid;gap:5px;min-height:106px;padding:16px 17px;overflow:hidden;border:1px solid #d7e4eb!important;border-radius:14px;background:#fff}.vindi-entrega-resumo>div::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0b84b8}.vindi-entrega-resumo small{color:#60798b;font-size:9px;font-weight:900;letter-spacing:.08em}.vindi-entrega-resumo b{color:#183246;font-size:19px}.vindi-entrega-resumo span{color:#687f90;font-size:10.5px}.vindi-entrega-link{margin:0 0 12px;padding:14px 15px;border:1px solid #d5e4ea;border-radius:14px;background:#fff}.vindi-entrega-link-titulo{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px!important}.vindi-entrega-link-titulo>div{display:grid;gap:3px}.vindi-entrega-link-titulo small{color:#607b8d;font-size:8.5px;font-weight:900;letter-spacing:.09em}.vindi-entrega-link-titulo b{color:#244257;font-size:12px}.vindi-entrega-link-titulo>span{padding:5px 8px;border-radius:999px;background:#eaf7f5;color:#217d72;font-size:8.5px;font-weight:900}.vindi-entrega-link>div:not(.vindi-entrega-link-titulo){display:flex;gap:8px;margin:0}.vindi-entrega-link input{min-height:44px;border:1px solid #c9dbe4;border-radius:10px;background:#f8fbfc;font-family:ui-monospace,Consolas,monospace}.vindi-entrega-link>small{margin-top:7px}
.vindi-entrega-fluxo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.vindi-entrega-fluxo article{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;min-height:70px;padding:10px;border:1px solid #d9e5eb;border-radius:12px;background:#fff}.vindi-entrega-fluxo i{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:#eaf5f8;color:#087aa7;font-style:normal;font-size:10px;font-weight:900}.vindi-entrega-fluxo article>div{display:grid;gap:3px}.vindi-entrega-fluxo b{color:#244257;font-size:11.5px}.vindi-entrega-fluxo span{color:#687f8f;font-size:9.5px;line-height:1.35}.vindi-entrega-alerta{margin:0 0 12px;padding:12px 14px}.vindi-entrega-alerta span{line-height:1.45}

@media(max-width:980px){
  #modal .modal-card:has(#modal-body>.ops-modal-panel),#modal .modal-card:has(#modal-body>.sale-wizard-panel){width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0}
  .ops-modal-panel{padding:58px 18px 18px}.ops-modal-panel>.ops-panel-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding-right:0}.ops-panel-head>.panel-back-btn{grid-column:1}.ops-panel-head>div{grid-column:1}.ops-panel-head>.ops-panel-status{grid-column:2;grid-row:1}
  .sale-wizard-head{padding:58px 18px 14px}.sale-wizard-title{align-items:flex-start;flex-direction:column;gap:9px}.sale-wizard-steps{display:flex;padding:10px 18px;overflow-x:auto}.sale-wizard-steps .vpasso{min-width:220px}.sale-wizard-body{padding:16px 18px}.sale-wizard-footer{padding:13px 18px 16px}
  .client-history-values{grid-template-columns:repeat(2,minmax(0,1fr))}.document-sign-link{grid-template-columns:1fr}.document-sign-link>span{grid-column:1}.vindi-entrega-cabecalho{align-items:flex-start;padding-right:45px}.vindi-entrega-identidade{align-items:flex-start;flex-wrap:wrap}.vindi-entrega-status{display:none}.vindi-entrega-fluxo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .ops-modal-panel{padding:56px 12px 14px}.ops-modal-panel>.ops-panel-head{display:flex;align-items:flex-start;flex-direction:column;gap:9px}.ops-panel-head h3{font-size:22px!important}.ops-panel-head>.ops-panel-status{align-self:flex-start}
  .ops-modal-footer{align-items:stretch;flex-direction:column}.ops-modal-footer>span{display:none}.ops-modal-footer>div{display:grid;grid-template-columns:1fr 1fr}.ops-modal-footer .btn{width:100%}
  .sale-wizard-head{align-items:flex-start;flex-direction:column;padding:56px 52px 12px 12px}.sale-wizard-title{width:100%}.sale-wizard-title h3{font-size:22px!important}.sale-wizard-title p{white-space:normal}.sale-wizard-stage{display:none}.sale-wizard-steps{padding:9px 12px}.sale-wizard-steps .vpasso{min-width:190px;min-height:57px}.sale-wizard-body{padding:12px}.sale-wizard-form{min-height:0;padding:13px;overflow:auto}.sale-wizard-form>.row{display:grid!important;grid-template-columns:1fr}.sale-wizard-form .field,.sale-wizard-form>.row>.field{width:100%!important;min-width:0}.sale-wizard-origin-values{grid-template-columns:1fr}.sale-wizard-footer{align-items:stretch;flex-direction:column;padding:11px 12px 14px}.sale-wizard-total>div{gap:7px 12px}.sale-wizard-controls{display:grid;grid-template-columns:1fr 1fr}.sale-wizard-controls .btn{width:100%;white-space:normal}
  .client-history-kpis,.document-summary,.vindi-entrega-resumo,.document-detail-meta{grid-template-columns:1fr}.client-history-kpis article,.document-summary article,.vindi-entrega-resumo>div{min-height:84px}.client-history-list{padding:12px}.client-history-contract>header{flex-direction:column}.client-history-tags{justify-content:flex-start}.client-history-values{grid-template-columns:1fr 1fr}.client-history-contract>footer{align-items:stretch;flex-direction:column}.client-history-contract>footer .btn{width:100%}.client-history-empty{min-height:300px}
  .document-guidance{align-items:flex-start}.document-list-body{min-height:300px}.document-table-scroll table{min-width:780px}.document-sign-link>div:nth-child(2),.vindi-entrega-link>div:not(.vindi-entrega-link-titulo){flex-direction:column}.document-preview-shell{min-height:430px}.document-preview-shell .ct-preview{padding:10px}
  .vindi-entrega-cabecalho{align-items:flex-start;flex-direction:column;padding-right:44px}.vindi-entrega-identidade{flex-direction:column}.vindi-entrega-marca{display:none}.vindi-entrega-cabecalho h3{font-size:22px!important}.vindi-entrega-fluxo{grid-template-columns:1fr}.vindi-entrega-link-titulo{align-items:flex-start!important}.vindi-entrega-alerta{align-items:flex-start}
}

/* Disparo manual e auditado do link de checkout. */
.vindi-entrega-comunicacao{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;margin-bottom:12px}.vindi-entrega-comunicacao .vindi-entrega-link{height:100%;margin:0}.vindi-entrega-mensagem{display:flex;min-width:0;min-height:178px;flex-direction:column;overflow:hidden;border:1px solid #cbe2da;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(8,43,92,.025)}.vindi-entrega-mensagem>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #dce9e4;background:#f3faf7}.vindi-entrega-mensagem>header>div{display:grid;min-width:0;gap:3px}.vindi-entrega-mensagem>header small{color:#32806a;font-size:8.5px;font-weight:900;letter-spacing:.09em}.vindi-entrega-mensagem>header b{overflow:hidden;color:#28584b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vindi-entrega-mensagem>header>span{padding:5px 8px;border-radius:999px;background:#daf4e8;color:#16704f;font-size:8.5px;font-weight:900}.vindi-entrega-mensagem pre{min-height:0;max-height:148px;flex:1;margin:0;padding:12px 14px;overflow:auto;color:#294b40;background:#fff;font:500 10.5px/1.45 inherit;white-space:pre-wrap;word-break:break-word}.vindi-entrega-mensagem>footer{padding:8px 13px;border-top:1px solid #e0ebe7;color:#617b71;background:#f8fbfa;font-size:9.5px;line-height:1.35}.vindi-entrega-mensagem>footer.enviando{color:#25698c;background:#f0f8fb}.vindi-entrega-mensagem>footer.enviado{color:#176744;background:#eaf8f0;font-weight:750}.vindi-entrega-mensagem>footer.incerto{color:#7a5b16;background:#fff8e8}.vindi-entrega-mensagem>footer.falhou{color:#9d4138;background:#fff4f2}.vindi-entrega-mensagem.indisponivel{border-color:#e5c7bd}.vindi-mensagem-erro{display:flex;min-height:120px;align-items:center;padding:14px;color:#8d493d;background:#fff8f6;font-size:11px;line-height:1.45}.vindi-disparar{border-color:#18845e!important;background:#18845e!important;color:#fff!important}.vindi-disparar:hover{border-color:#116d4d!important;background:#116d4d!important}.vindi-disparar.enviado{border-color:#168052!important;background:#e7f7ef!important;color:#168052!important}
.vindi-disparar.incerto{border-color:#d9a431!important;background:#fff5d8!important;color:#76530d!important}
@media(max-width:980px){.vindi-entrega-comunicacao{grid-template-columns:1fr}}
@media(max-width:680px){.vindi-entrega-mensagem pre{max-height:220px}.vindi-disparar{grid-column:1/3}}
.reopen-audit-panel{max-width:720px}.reopen-audit-notice{display:flex;flex-direction:column;gap:4px;margin:18px 0;padding:14px 16px;border:1px solid #cfe9e4;border-radius:14px;background:#f1fbf8;color:#174b43}.reopen-audit-notice span{color:#476b65}.reopen-audit-grid{display:grid;gap:16px;padding:2px 2px 18px}.reopen-audit-grid .field{display:grid;gap:7px}.reopen-audit-grid .field>span{font-weight:750;color:#17233a}.reopen-audit-grid select,.reopen-audit-grid textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#17233a;padding:11px 12px;font:inherit}.reopen-audit-grid textarea{resize:vertical;min-height:104px;line-height:1.45}.reopen-audit-grid select:focus,.reopen-audit-grid textarea:focus{outline:3px solid rgba(14,165,164,.15);border-color:#0ea5a4}.reopen-audit-grid small{color:#64748b}
.commercial-sale-created{max-width:880px}.commercial-sale-created-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.commercial-sale-created-flow article{display:flex;gap:12px;min-height:116px;padding:16px;border:1px solid #dbe5ee;border-radius:16px;background:linear-gradient(145deg,#fff,#f7fbfd)}.commercial-sale-created-flow i{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#e7f8f6;color:#087f7e;font-style:normal;font-weight:850}.commercial-sale-created-flow div{display:flex;flex-direction:column;gap:5px}.commercial-sale-created-flow small{font-size:10px;letter-spacing:.09em;color:#64748b}.commercial-sale-created-flow b{color:#10213b}.commercial-sale-created-flow span{color:#5a6a7f;line-height:1.4}.commercial-sale-created-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.commercial-sale-created-actions .detail-action{width:100%;min-height:76px}.commercial-sale-created-actions .detail-action:disabled{opacity:.5;cursor:not-allowed}.commercial-sale-created-actions .detail-action.done{border-color:#79d5c4;background:#f1fbf8}.commercial-sale-created-status{margin:14px 0 2px;padding:12px 14px;border-radius:12px;background:#f4f7fb;color:#506079;line-height:1.45}@media(max-width:720px){.commercial-sale-created-flow,.commercial-sale-created-actions{grid-template-columns:1fr}.commercial-sale-created-flow article{min-height:0}}

/* ===================== PEDIDOS DO REINALDO, 01 e 02/09 =====================
   1) Contatos: o telefone abria o WhatsApp por fora. Agora, quando existe
      conversa no comercial, vira um botão que abre ela aqui dentro.
   2) Vendas por Canal: filtro de mês/ano fechado, do lado dos atalhos. */
.cc-ir-conversa{border:1px solid #b9e3d3;background:#eefaf4;color:#127a56;
  border-radius:20px;padding:2px 10px;font:600 11.5px/1.5 inherit;cursor:pointer;
  white-space:nowrap;transition:background .12s,border-color .12s}
.cc-ir-conversa:hover{background:#d8f4e8;border-color:#5fc39c}
.cc-ir-conversa:focus-visible{outline:3px solid rgba(18,122,86,.25);outline-offset:1px}

.cn-mes-ano{display:inline-flex;align-items:center;gap:6px;margin-left:4px;
  color:#7b8194;font-size:12px}
.cn-mes-ano input{border:1px solid var(--linha);border-radius:20px;
  padding:3px 10px;font:inherit;font-size:12px;color:#2a2f3d;background:#fff}
.cn-mes-ano input:focus{outline:3px solid rgba(160,60,180,.15);border-color:var(--magenta)}
@media(max-width:640px){.cn-mes-ano{margin-left:0;width:100%}
  .cn-mes-ano input{flex:1;min-width:0}}

/* ===========================================================================
   DISPAROS: abas de situação, ver conversa e botão de refazer   (02/09/2026)
   Pedido do Lucas: saber quem confirmou, quem não confirmou e quem falhou,
   e poder olhar a conversa sem sair da tela.
   =========================================================================== */

/* o botão que refaz um envio que falhou precisa se distinguir do "Preparar" */
.dsp-btn-refazer { background: #b5480f; border-color: #b5480f; }
.dsp-btn-refazer:hover { background: #9c3d0b; border-color: #9c3d0b; }

/* a aba Falha só chama atenção quando existe falha */
.dsp-aba-falha { color: #b02a37; }
.dsp-aba-falha b { background: #f8d7da; color: #842029; }
.dsp-aba-falha.on { color: #fff; }
.dsp-aba-falha.on b { background: rgba(255,255,255,.25); color: #fff; }

/* atalho para a conversa, discreto ao lado do telefone */
.dsp-ver-conversa { margin-left: 8px; font-size: 11.5px; white-space: nowrap; }

/* ---- a conversa (somente leitura) ---- */
.dsp-conversa {
  display: flex; flex-direction: column; gap: 7px;
  padding: 12px 14px; overflow-y: auto;
  max-height: calc(100vh - 190px);
  background: #efe7de;   /* fundo de conversa, para as bolhas respirarem */
}
.dsp-cv-dia {
  align-self: center; margin: 8px 0 4px; padding: 3px 11px;
  background: rgba(255,255,255,.82); border-radius: 999px;
  font-size: 11.5px; color: #5b5b5b; box-shadow: 0 1px 1px rgba(0,0,0,.06);
}
.dsp-cv-linha { display: flex; }
.dsp-cv-linha.dela { justify-content: flex-start; }
.dsp-cv-linha.minha { justify-content: flex-end; }
.dsp-cv-bolha {
  max-width: 78%; padding: 7px 10px 16px; border-radius: 8px;
  font-size: 13.5px; line-height: 1.45; position: relative;
  white-space: pre-wrap; word-break: break-word;
  box-shadow: 0 1px 1px rgba(0,0,0,.13);
}
.dsp-cv-linha.dela .dsp-cv-bolha { background: #fff; border-top-left-radius: 2px; }
.dsp-cv-linha.minha .dsp-cv-bolha { background: #d9fdd3; border-top-right-radius: 2px; }
.dsp-cv-hora {
  position: absolute; right: 8px; bottom: 3px;
  font-size: 10.5px; color: #667781; white-space: nowrap;
}
.dsp-cv-bolha i { color: #5b6b73; }

@media (prefers-color-scheme: dark) {
  .dsp-conversa { background: #0f1a17; }
  .dsp-cv-dia { background: rgba(255,255,255,.10); color: #cfd6d3; }
  .dsp-cv-linha.dela .dsp-cv-bolha { background: #1f2c33; color: #e9edef; }
  .dsp-cv-linha.minha .dsp-cv-bolha { background: #005c4b; color: #e9edef; }
  .dsp-cv-hora { color: #9fb0b5; }
  .dsp-cv-bolha i { color: #a8bdc4; }
}

/* em tela baixa a conversa não pode empurrar o rodapé para fora */
@media (max-height: 820px) {
  .dsp-conversa { max-height: calc(100vh - 170px); }
}

/* ===========================================================================
   DISPAROS: painel lateral com relógio e conversas          (02/09/2026)
   Em monitor largo a tela usava só a metade esquerda. A coluna da direita
   traz o relógio de quem falta responder e as conversas chegando.
   =========================================================================== */

.dsp-palco { display: flex; gap: 16px; align-items: flex-start; }
.dsp-col-principal { flex: 1 1 auto; min-width: 0; }

/* @disparos-operacao-visual-20260905
   O motor e os identificadores da tela continuam os mesmos. Este bloco so
   organiza a leitura: primeiro estado e acao, depois data e por fim a fila. */
.dsp-palco{gap:18px;padding:4px 0 28px}
.dsp-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 22px;margin:0 0 12px;border:1px solid #d8e5ee;border-radius:18px;
  color:#eff9ff;background:
  radial-gradient(circle at 88% 8%,rgba(49,213,211,.24),transparent 31%),
  linear-gradient(118deg,#062c57 0%,#064d75 58%,#087c89 100%);
  box-shadow:0 12px 26px rgba(7,53,90,.13);position:relative;overflow:hidden}
.dsp-cabecalho:after{content:"";position:absolute;right:30%;top:-86px;width:230px;height:230px;
  border:1px solid rgba(171,248,255,.16);border-radius:50%;box-shadow:0 0 0 30px rgba(171,248,255,.05),0 0 0 62px rgba(171,248,255,.035);pointer-events:none}
.dsp-cabecalho-copy,.dsp-cabecalho-acoes{position:relative;z-index:1}
.dsp-sobrancelha{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:#a8f2ed}
.dsp-sobrancelha i,.dsp-modo-manual i{width:7px;height:7px;border-radius:50%;background:#4ce6c9;box-shadow:0 0 0 4px rgba(76,230,201,.14)}
.dsp-cabecalho .sec{margin:6px 0 4px;color:#fff;font-size:24px;letter-spacing:-.035em}
.dsp-cabecalho .muted{max-width:600px;color:#c9e2ef;font-size:13px}
.dsp-cabecalho-acoes{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.dsp-cabecalho .btn{min-height:36px;border-color:rgba(211,240,250,.26);box-shadow:none}
.dsp-cabecalho .btn.ghost{color:#f2fbff;background:rgba(2,22,48,.2)}
.dsp-cabecalho .btn:not(.ghost){background:#fff;color:#075978;border-color:#fff}
.dsp-cabecalho #dsp-reenviar-nao-recebeu{background:#078bdb!important;color:#fff!important;border-color:#19aaf3!important;box-shadow:0 5px 12px rgba(0,32,73,.18)!important}
.dsp-modo-manual{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(196,245,244,.28);border-radius:999px;background:rgba(1,25,52,.25);font-size:11px;font-weight:750;color:#dcfbf8;white-space:nowrap}
.dsp-seguranca{display:flex;align-items:flex-start;gap:10px;max-width:none!important;margin:0 0 14px!important;padding:12px 14px!important;border-radius:14px!important;color:#7a5a05!important;background:linear-gradient(90deg,#fff9df,#fffdf5)!important}
.dsp-faixa-icone{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;font-weight:900;font-size:12px;color:#755a00;background:#ffe58c}
.dsp-palco .nv-resumo{max-width:none;margin:0 0 13px;gap:10px}
.dsp-palco .nv-kpi{position:relative;min-height:82px;padding:15px 16px 13px;border:1px solid #dce6ee;border-top:0;border-radius:14px;background:linear-gradient(145deg,#fff,#f7fbfd);box-shadow:0 5px 14px rgba(24,58,87,.055);overflow:hidden}
.dsp-palco .nv-kpi:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#b9c7d4}
.dsp-palco .nv-kpi:nth-child(1):before{background:#0ba5bd}.dsp-palco .nv-kpi:nth-child(2):before{background:#6366d9}.dsp-palco .nv-kpi:nth-child(3):before{background:#ac70cf}
.dsp-palco .nv-kpi.k-hoje{background:linear-gradient(135deg,#067aa2,#07557b);border-color:#087a9e;color:#fff;box-shadow:0 10px 20px rgba(4,105,142,.19)}
.dsp-palco .nv-kpi.k-hoje:before{background:#55e2d4}.dsp-palco .nv-kpi.k-hoje .l{color:#d7f4fa}.dsp-palco .nv-kpi.k-hoje .l span{color:#9eece8!important}
.dsp-palco .nv-kpi .n{font-size:28px}.dsp-palco .nv-kpi .l{font-weight:700;color:#50647a}
.dsp-palco .dsp-abas{max-width:none;gap:7px;margin:0 0 10px;padding:5px;border:1px solid #dfe9ef;border-radius:13px;background:#f5f9fb}
.dsp-palco .dsp-secoes{padding:5px;margin-bottom:13px;border-top:0;background:#fff}
.dsp-palco .dsp-secoes .dsp-aba{margin-top:0}
.dsp-palco .dsp-aba{flex:0 0 auto;border:0;border-radius:9px;padding:8px 12px;background:transparent;color:#617188;font-size:12px}
.dsp-palco .dsp-aba:hover{background:#e8f1f5;color:#134c68}.dsp-palco .dsp-aba b{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;border-radius:7px;background:#e3edf2;color:#5e7185;font-size:10px}
.dsp-palco .dsp-aba.on{background:#087fa8;color:#fff;box-shadow:0 4px 11px rgba(8,127,168,.22)}.dsp-palco .dsp-aba.on b{background:rgba(255,255,255,.18);color:#fff}
.dsp-palco .dsp-aba.dsp-aba-falha:not(.on){color:#a54931}.dsp-palco .dsp-aba.dsp-aba-falha:not(.on) b{background:#ffebe6;color:#b44832}
.dsp-palco .nv-sec{display:flex;align-items:center;gap:8px;margin:16px 0 9px;font-size:15px;color:#183a55}.dsp-palco .nv-sec:before{content:"";width:4px;height:19px;border-radius:999px;background:#16b7c4}.dsp-palco .nv-conta{background:#e5f5f7;color:#057080}
.dsp-palco .nv-dica{font-size:11px;color:#74849a;font-weight:500}
.dsp-palco .dsp-lista{max-width:none;border-color:#dce7ed;border-radius:15px;box-shadow:0 8px 20px rgba(27,67,98,.06)}
.dsp-palco .dsp-linha{grid-template-columns:34px 78px minmax(145px,.7fr) minmax(280px,1.45fr) 160px;gap:11px;padding:13px 15px;border-color:#e8eff3}.dsp-palco .dsp-linha:hover{background:linear-gradient(90deg,#f4fbfd,#fff);box-shadow:inset 3px 0 #1bbec2}
.dsp-palco .dsp-n{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eef4f7;color:#6d8292;font-size:10px}.dsp-palco .dsp-hora{color:#0c5678;font-size:15px}.dsp-palco .dsp-hora>span{color:#8291a1}.dsp-palco .dsp-nome{color:#153650;font-weight:750}.dsp-palco .dsp-tel{color:#728397}.dsp-palco .dsp-sub{color:#738396}.dsp-palco .dsp-acao .btn{border-radius:9px}
.dsp-palco .nv-limpo{min-height:160px;display:grid;place-content:center;border:0;background:radial-gradient(circle at 50% 0,#edfafa,#fff 62%)}.dsp-palco .nv-limpo .em{font-size:28px}.dsp-palco .nv-limpo .t{color:#087c73}
.dsp-col-lateral{border-radius:16px}
@media (min-width:1400px){.dsp-col-lateral{padding:8px;background:linear-gradient(180deg,#f1f8fb,#fff);border:1px solid #dbe8ee;box-shadow:0 8px 20px rgba(23,67,94,.06)}}
.dsp-lat-bloco{border:1px solid #dbe7ed!important;border-radius:13px!important;overflow:hidden;background:#fff;box-shadow:0 3px 9px rgba(24,67,94,.04)}
.dsp-lat-titulo{padding:12px 13px 10px!important;background:#f6fafc;color:#1c405b!important;font-size:12px!important}.dsp-lat-nota{margin:0 10px 10px!important;border-radius:9px!important}.dsp-cv-item,.dsp-rel-item{margin:0!important;padding:10px 12px!important;border-bottom:1px solid #edf2f5!important}.dsp-cv-item:hover,.dsp-rel-item:hover{background:#f0fafb}.dsp-cv-nome,.dsp-rel-quem{color:#183b54!important}.dsp-cv-quando,.dsp-rel-conta{color:#087c93!important}
@media (max-width:900px){.dsp-cabecalho{display:block;padding:16px}.dsp-cabecalho-acoes{justify-content:flex-start;margin-top:14px}.dsp-modo-manual{width:100%;justify-content:center}.dsp-cabecalho .btn{flex:1 1 142px}.dsp-palco .dsp-abas{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.dsp-palco .dsp-aba{white-space:nowrap}.dsp-palco .nv-dica{display:none}.dsp-palco .dsp-linha{grid-template-columns:32px 62px minmax(0,1fr);padding:12px 10px}.dsp-palco .dsp-sessao{grid-column:2/4}.dsp-palco .dsp-acao{grid-column:2/4}.dsp-palco .dsp-linha:not(.dsp-barrado-detalhado) .dsp-acao{display:flex}.dsp-palco .dsp-linha:not(.dsp-barrado-detalhado) .dsp-acao .btn{flex:1 1 145px}}

/* @disparos-identidade-neutra-20260905
   Segunda direcao visual: sem degradês e sem blocos coloridos. A hierarquia
   vem de contraste, tipografia, espaco e um unico azul-marinho funcional. */
.dsp-cabecalho{
  padding:22px 24px;border:1px solid #dfe3e8;border-left:5px solid #172b43;
  color:#172437;background:#fff;box-shadow:0 8px 24px rgba(20,34,50,.07)}
.dsp-cabecalho:after{display:none}
.dsp-sobrancelha{color:#667586;letter-spacing:.16em}
.dsp-sobrancelha i,.dsp-modo-manual i{background:#172b43;box-shadow:0 0 0 4px #e9edf1}
.dsp-cabecalho .sec{color:#172437;font-size:25px}
.dsp-cabecalho .muted{color:#6d7886}
.dsp-modo-manual{color:#34475a;background:#f5f7f9;border-color:#dde3e8}
.dsp-cabecalho .btn.ghost{color:#263b50;background:#fff;border-color:#ccd4dc}
.dsp-cabecalho .btn.ghost:hover{color:#111d2b;background:#f1f4f6;border-color:#aeb9c3}
.dsp-cabecalho #dsp-reenviar-nao-recebeu{
  color:#fff!important;background:#172b43!important;border-color:#172b43!important;
  box-shadow:0 5px 12px rgba(23,43,67,.16)!important}
.dsp-seguranca{color:#39495b!important;background:#f7f8fa!important;border-color:#dce2e7!important}
.dsp-faixa-icone{color:#fff;background:#34495e}
.dsp-palco .nv-kpi,.dsp-palco .nv-kpi.k-hoje{
  color:#172437;background:#fff;border-color:#dfe4e8;box-shadow:0 5px 16px rgba(25,39,54,.055)}
.dsp-palco .nv-kpi:before,.dsp-palco .nv-kpi:nth-child(1):before,
.dsp-palco .nv-kpi:nth-child(2):before,.dsp-palco .nv-kpi:nth-child(3):before{background:#cdd4db}
.dsp-palco .nv-kpi.k-hoje{border-color:#172b43;box-shadow:inset 0 0 0 1px #172b43,0 6px 16px rgba(23,43,67,.09)}
.dsp-palco .nv-kpi.k-hoje:before{background:#172b43}
.dsp-palco .nv-kpi.k-hoje .l,.dsp-palco .nv-kpi.k-hoje .l span{color:#69788a!important}
.dsp-palco .nv-kpi .n{color:#172437}
.dsp-palco .dsp-abas{border-color:#dfe4e8;background:#f7f8f9}
.dsp-palco .dsp-secoes{background:#fff}
.dsp-palco .dsp-aba{color:#59697a}
.dsp-palco .dsp-aba:hover{color:#172b43;background:#eaedf0}
.dsp-palco .dsp-aba.on{color:#fff;background:#172b43;box-shadow:0 3px 9px rgba(23,43,67,.16)}
.dsp-palco .dsp-aba b{color:#59697a;background:#e6eaed}
.dsp-palco .dsp-aba.on b{color:#fff;background:rgba(255,255,255,.17)}
.dsp-palco .nv-sec{color:#1d2c3d}
.dsp-palco .nv-sec:before{background:#172b43}
.dsp-palco .nv-conta{color:#26394d;background:#e9edf0}
.dsp-palco .dsp-lista{border-color:#dce2e7;box-shadow:0 8px 22px rgba(24,37,51,.055)}
.dsp-palco .dsp-linha:hover{background:#f7f8fa;box-shadow:inset 3px 0 #172b43}
.dsp-palco .dsp-n{color:#536477;background:#edf0f2}
.dsp-palco .dsp-hora{color:#21374d}
.dsp-palco .dsp-nome{color:#172437}
.dsp-palco .dsp-tipo,.dsp-palco .dsp-t-v1,.dsp-palco .dsp-t-d0,.dsp-palco .dsp-t-pre{
  color:#445568;background:#edf0f2;border:1px solid #dde3e7}
.dsp-palco .dsp-acao .btn:not(.ghost){color:#fff!important;background-color:#172b43!important;background-image:none!important;border-color:#172b43!important;box-shadow:none}
.dsp-palco .dsp-acao .btn:not(.ghost):hover{background-color:#0f1f32!important;border-color:#0f1f32!important}
.dsp-palco .dsp-acao .btn.ghost{color:#33485d;background:#fff;border-color:#cfd7de}
.dsp-palco .nv-limpo{background:#fafbfc}
.dsp-palco .nv-limpo .t{color:#25384b}
.dsp-col-lateral{background:#f7f8f9!important;border-color:#dfe4e8!important;box-shadow:0 8px 20px rgba(24,37,51,.045)!important}
.dsp-lat-bloco{border-color:#dfe4e8!important;box-shadow:none}
.dsp-lat-titulo{color:#26394d!important;background:#f4f6f7}
.dsp-cv-item:hover,.dsp-rel-item:hover{background:#f3f5f6}
.dsp-cv-nome,.dsp-rel-quem{color:#22364a!important}
.dsp-cv-quando,.dsp-rel-conta{color:#53677b!important}

/* ⚠️ a lateral só existe onde SOBRA espaço. Abaixo de 1400px ela some inteira
   em vez de espremer a lista, que é a informação principal da tela. */
.dsp-col-lateral { display: none; }
@media (min-width: 1400px) {
  .dsp-col-lateral {
    display: block; flex: 0 0 336px; width: 336px;
    position: sticky; top: 12px;
    max-height: calc(100vh - 120px); overflow-y: auto;
  }
}

.dsp-lat-bloco {
  background: var(--card, #fff); border: 1px solid var(--linha, #e6e6e6);
  border-radius: 10px; padding: 11px 12px; margin-bottom: 12px;
}
.dsp-lat-titulo {
  font-size: 13px; font-weight: 600; margin-bottom: 7px;
  display: flex; align-items: center; justify-content: space-between; gap: 6px;
}
.dsp-lat-sub {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: .3px;
  color: var(--fraco, #6b6b6b); margin: 9px 0 5px;
}
.dsp-lat-sub b { color: inherit; }
.dsp-lat-nota { font-size: 11.5px; color: var(--fraco, #6b6b6b); line-height: 1.5; }
.dsp-lat-nota.alerta { color: #b02a37; }
.dsp-lat-nota.ok { color: #1a7f42; }

/* ---- relógio ---- */
.dsp-rel-item {
  border-left: 3px solid var(--linha, #dcdcdc);
  padding: 5px 0 5px 9px; margin-bottom: 6px; cursor: pointer; border-radius: 0 6px 6px 0;
}
.dsp-rel-item:hover { background: rgba(0,0,0,.035); }
.dsp-rel-item.urgente { border-left-color: #e0a800; }
.dsp-rel-item.venceu { border-left-color: #d9534f; }
.dsp-rel-quem {
  font-size: 12.8px; font-weight: 600; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.dsp-rel-meta { font-size: 11px; color: var(--fraco, #6b6b6b); }
.dsp-rel-conta { font-size: 11.5px; font-weight: 600; margin-top: 1px; }
.dsp-rel-item.urgente .dsp-rel-conta { color: #a67c00; }
.dsp-rel-item.venceu .dsp-rel-conta { color: #b02a37; }

/* ---- lista de conversas ---- */
.dsp-cv-item {
  padding: 7px 4px; border-bottom: 1px solid var(--linha, #f0f0f0);
  cursor: pointer; border-radius: 6px;
}
.dsp-cv-item:last-child { border-bottom: 0; }
.dsp-cv-item:hover { background: rgba(0,0,0,.035); }
.dsp-cv-topo { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.dsp-cv-nome {
  font-size: 12.8px; font-weight: 600; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.dsp-cv-quando { font-size: 10.5px; color: var(--fraco, #6b6b6b); white-space: nowrap; }
.dsp-cv-previa {
  font-size: 11.5px; color: var(--fraco, #6b6b6b); margin-top: 1px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

@media (prefers-color-scheme: dark) {
  .dsp-rel-item:hover, .dsp-cv-item:hover { background: rgba(255,255,255,.06); }
  .dsp-lat-nota.ok { color: #6ee7a8; }
  .dsp-lat-nota.alerta { color: #ff9aa3; }
  .dsp-rel-item.urgente .dsp-rel-conta { color: #ffd166; }
  .dsp-rel-item.venceu .dsp-rel-conta { color: #ff9aa3; }
}

/* Funil de Vendas: esconder uma etapa do quadro. A coluna vira uma faixa fina
   com o nome de pé, e as etapas que ficaram abertas ocupam o espaço que sobrou. */
.fv-col-encolher{margin-left:6px;border:1px solid #e2dcfb;background:#fff;color:#6d28d9;border-radius:7px;width:22px;height:22px;font:inherit;font-weight:800;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none}
.fv-col-encolher:hover{background:#f5f1ff;border-color:#c4b5fd}
.fv-colunas{flex:1 1 auto}
.fv-colunas.tem-encolhida .fv-col:not(.fv-col-encolhida){flex:1 0 286px}

/* ============================================================================
   CENTRAL DE RELACIONAMENTO E ALERTA DE CARGA, refinamento operacional 04/09
   Sem dependencia, sem alterar ids usados pelo JavaScript. */

/* Lista: o que acabou de chegar vence a leitura do status, sem transformar a
   coluna em uma arvore de etiquetas. */
.rel-item.rel-nao-lida{background:#fbfaff;border-color:#d9cdf8;box-shadow:inset 3px 0 0 var(--fenix-roxo)}
.rel-item.rel-nao-lida .rel-nome{font-weight:750;color:#27104f}
.rel-item.rel-nao-lida .rel-previa{color:#4b3c66;font-weight:600}
.rel-nao-lida-conta{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;background:var(--fenix-roxo);color:#fff;font-size:10px;font-weight:800;
  line-height:1;font-variant-numeric:tabular-nums;flex:none}

/* Conversa: divisor dentro do historico e aviso passivo fora dele. Nao ha
   botao, nao ha som e quem estava lendo acima nao e levado para baixo. */
.rel-divisor-novas{display:flex;align-items:center;gap:9px;margin:8px 0 2px;color:#5b21b6;
  font-size:10.5px;font-weight:800;letter-spacing:.025em;text-transform:uppercase;flex:none}
.rel-divisor-novas span{height:1px;background:#ddd0fb;flex:1}
.rel-divisor-novas b{white-space:nowrap}
.rel-msg.rel-chegou .rel-balao{box-shadow:0 0 0 2px rgba(124,58,237,.16),0 4px 12px rgba(76,29,149,.08);
  transition:box-shadow .16s ease}
.rel-msg.dela.rel-chegou .rel-balao{background:#f8f5ff}
.rel-novas-aviso{display:flex;align-items:center;gap:7px;padding:8px 14px;margin:0 14px 9px;
  border:1px solid #d9cdf8;border-radius:9px;background:#faf8ff;color:#4c1d95;flex:none}
.rel-novas-aviso>span{width:8px;height:8px;border-radius:50%;background:var(--fenix-roxo);font-size:0;flex:none}
.rel-novas-aviso b{font-size:11.5px}.rel-novas-aviso small{font-size:11px;color:#6b5b87;margin-left:auto}

/* Recibo: os checks permanecem acessiveis por aria-label e title, mas deixam
   de competir com a hora e com a mensagem. */
.rel-entrega{gap:0;font-size:12px;line-height:1;color:#758197}
.rel-entrega-ico{display:inline-block;letter-spacing:-2px;font-weight:800}
.rel-entrega.entregue{color:#6d28d9}.rel-entrega.lida{color:#1683c7}

/* Decisao de carga: primeiro risco, depois impacto, depois alternativa. O
   caminho seguro fica preenchido; a excecao continua possivel, mas deliberada. */
.cg-alerta{max-width:560px;color:var(--tinta)}
.cg-alerta-top{gap:11px;margin-bottom:12px}.cg-alerta-ico{width:32px;height:32px;display:grid;
  place-items:center;border-radius:10px;background:#fff6e9;font-size:17px;line-height:1;flex:none}
.cg-alerta.grave .cg-alerta-ico{background:#fff0f0}
.cg-alerta-nivel{display:block;margin-bottom:3px;color:#9a6700;font-size:9.5px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase}.cg-alerta.grave .cg-alerta-nivel{color:#b42318}
.cg-alerta h3{font-size:17px;line-height:1.25;color:#9a6700}.cg-alerta.grave h3{color:#991b1b}
.cg-alerta-sub{font-size:11.5px;font-weight:650;color:#596579;letter-spacing:.02em}
.cg-risco{border:1px solid #f8d7a2;border-radius:11px;background:#fffaf0;overflow:hidden;margin-bottom:10px}
.cg-alerta.grave .cg-risco{border-color:#fecaca;background:#fff7f7}
.cg-motivo,.cg-motivo.vermelho{margin:0;padding:9px 11px;border:0;border-left:3px solid #d99e0b;
  border-radius:0;background:transparent}.cg-motivo+.cg-motivo{border-top:1px solid rgba(154,103,0,.12)}
.cg-motivo.vermelho{border-left-color:#dc2626}.cg-motivo b,.cg-motivo.vermelho b{font-size:12px;color:#80550a}
.cg-motivo.vermelho b{color:#991b1b}.cg-motivo div{font-size:11.5px;color:#4b5563;line-height:1.45}
.cg-sug{display:block;font-size:10.5px!important;font-style:normal!important;opacity:1!important;color:#6b5b87!important}
.cg-impacto{margin:0 0 10px;border:1px solid var(--linha);border-radius:11px;overflow:hidden;background:#fff}
.cg-impacto-tit{padding:7px 11px;background:#f8fafc;border-bottom:1px solid var(--linha);color:#667085;
  font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cg-antes-depois{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px;margin:0;
  padding:10px 11px;background:transparent;border-radius:0;font-size:11px;line-height:1.3}
.cg-antes-depois>div{min-width:0}.cg-antes-depois span{font-size:9px;margin-bottom:3px;color:#667085}
.cg-antes-depois b{display:block;font-size:18px;line-height:1;color:#172033}.cg-antes-depois small{display:block;
  margin-top:4px;color:#667085;font-size:10.5px;line-height:1.3}.cg-antes-depois .cg-depois b{color:#b42318}
.cg-seta{align-self:center;justify-self:center;color:#98a2b3!important;font-size:16px!important}
.cg-ctx{margin:0 11px 10px;padding:7px 9px;border-radius:7px;background:#f8fafc;color:#596579;font-size:10.5px}
.cg-alt{margin:0 0 11px;padding:10px 11px;border:1px solid #bfe7ce;border-radius:11px;background:#f4fcf6}
.cg-alt>b{margin-bottom:5px;color:#167044;font-size:11.5px}.cg-alt-l{gap:10px;padding:4px 0;font-size:11px}
.cg-alt-l span{font-weight:650}.cg-alt-l i{font-size:10px;white-space:nowrap}
.cg-acoes{align-items:center;justify-content:flex-end;margin-top:0;padding-top:2px;border-top:1px solid var(--linha)}
.cg-acoes .cg-replanejar{background:var(--syno-azul);border-color:var(--syno-azul);color:#fff;font-weight:750}
.cg-acoes .cg-replanejar:hover{background:#0871c4;border-color:#0871c4}
.cg-acoes .cg-seguir{border-color:#f0b4b4;color:#a12c2c;background:#fff;font-weight:650}
.cg-acoes .cg-seguir:hover{border-color:#dc2626;background:#fff6f6;color:#991b1b}
.btn.cg-perigo{background:#fff;border-color:#f0b4b4;color:#a12c2c}.btn.cg-perigo:hover{background:#fff6f6;color:#991b1b}
.cg-registro{margin-top:8px;color:#7a4a4a;font-size:10.5px;line-height:1.35;text-align:right}

@media (max-width:700px){
  .rel-novas-aviso{margin-left:10px;margin-right:10px;align-items:flex-start;flex-wrap:wrap}
  .rel-novas-aviso small{width:100%;margin-left:15px}
  .cg-alerta{max-width:none}.cg-antes-depois{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
  .cg-antes-depois b{font-size:16px}.cg-alt-l{align-items:flex-start;flex-direction:column;gap:1px}
  .cg-acoes{display:grid;grid-template-columns:1fr}.cg-acoes .btn{width:100%;min-height:40px}
  .cg-registro{text-align:left}
}
@media (prefers-reduced-motion:reduce){.rel-msg.rel-chegou .rel-balao{transition:none}}
.fv-col.fv-col-encolhida{flex:0 0 48px;min-width:48px;background:#fff;overflow:hidden;padding:0}
.fv-col-abrir{flex:1;width:100%;border:0;background:transparent;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;padding:11px 4px 14px}
.fv-col-abrir:hover{background:#faf8ff}
.fv-col-abrir-ico{font-size:15px;font-weight:800;line-height:1}
.fv-col-abrir-nome{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;color:#312e81;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:230px}
@media(max-width:680px){.fv-col.fv-col-encolhida{flex:0 0 48px}}

/* ===========================================================================
   REMARCAÇÃO: revisão humana antes de liberar espaço para encaixe
   =========================================================================== */
.rmc-panel{gap:0}
.rmc-protection{display:flex;align-items:flex-start;gap:12px;margin:18px 0 12px;padding:13px 15px;border:1px solid #b9e3d7;border-radius:15px;background:linear-gradient(105deg,#effcf7,#f2fbff);color:#174a46}
.rmc-protection-icon{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#159b73;color:#fff;font-size:14px;font-weight:900;box-shadow:0 5px 12px rgba(21,155,115,.2)}
.rmc-protection b,.rmc-protection span{display:block}.rmc-protection b{font-size:13px;line-height:1.25}.rmc-protection span:not(.rmc-protection-icon){margin-top:3px;color:#48706e;font-size:11.5px;line-height:1.42}
.rmc-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 14px}.rmc-summary span{padding:10px 12px;border:1px solid #dce8ee;border-radius:12px;background:#fff;color:#6a7f8e;font-size:10.5px;line-height:1.3}.rmc-summary b{display:block;margin-bottom:2px;color:#173044;font-size:19px;line-height:1;font-variant-numeric:tabular-nums}.rmc-summary span:last-child{border-color:#b8dce9;background:#effaff;color:#2c738e}.rmc-summary span:last-child b{color:#157397}
.rmc-release-scroll{min-height:0;max-height:calc(94dvh - 360px);overflow:auto;padding-right:4px;scrollbar-gutter:stable}.rmc-release-group{margin:0 0 14px;border:1px solid #dbe7ed;border-radius:16px;background:#fff;overflow:hidden}.rmc-release-group>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid #e4edf1;background:#f8fbfc}.rmc-release-group h4{margin:0;color:#19364a;font-size:13px;line-height:1.2}.rmc-release-group p{margin:3px 0 0;color:#718593;font-size:10.5px;line-height:1.3}.rmc-release-group>header>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#e9f6f2;color:#14795d;font-size:11px;font-weight:900}.rmc-release-group--calado>header>span{background:#fff4de;color:#a86809}
.rmc-release-list{display:grid}.rmc-release-row{display:grid;grid-template-columns:auto 62px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 15px;border-bottom:1px solid #edf2f5;cursor:pointer;transition:background .16s ease}.rmc-release-row:last-child{border-bottom:0}.rmc-release-row:hover{background:#f7fbfd}.rmc-release-row:has(input:not(:checked)){background:#fcfdfd;opacity:.68}.rmc-release-row input,.rmc-select-all input{width:16px;height:16px;accent-color:#1685a8;cursor:pointer}.rmc-release-hour{font-variant-numeric:tabular-nums;color:#245068;font-size:13px;font-weight:900}.rmc-release-person{display:grid;min-width:0;gap:2px}.rmc-release-person b{overflow:hidden;color:#173044;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.rmc-release-person small{overflow:hidden;color:#778b98;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.rmc-release-state{padding:5px 8px;border-radius:999px;background:#eaf5f1;color:#21745d;font-size:10px;font-weight:800;white-space:nowrap}.rmc-release-row--calado .rmc-release-state{background:#fff5df;color:#a56a0b}
.rmc-modal-footer{flex:none;margin-top:0;padding-top:14px}.rmc-select-all{display:flex;align-items:center;gap:7px;color:#456373;font-size:11.5px;font-weight:700;cursor:pointer}.rmc-modal-footer .btn{min-height:36px}.rmc-empty-state{display:grid;place-items:center;align-content:center;min-height:265px;padding:24px;text-align:center;color:#476879}.rmc-empty-state>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border:1px solid #b7e3cf;border-radius:50%;background:#edfcf4;color:#178158;font-size:20px;font-weight:900}.rmc-empty-state b{color:#1d4352;font-size:16px}.rmc-empty-state p{max-width:300px;margin:6px 0 0;color:#718594;font-size:12px;line-height:1.45}
.rmc-queue-list{display:grid;gap:10px;margin-top:17px;overflow:auto;max-height:calc(94dvh - 235px);padding-right:4px;scrollbar-gutter:stable}.rmc-queue-item{display:grid;grid-template-columns:124px minmax(150px,1.05fr) 90px minmax(160px,1fr) auto;align-items:center;gap:15px;padding:14px 15px;border:1px solid #dce8ee;border-radius:15px;background:#fff;box-shadow:0 4px 13px rgba(26,67,90,.035)}
.rmc-queue-order,.rmc-queue-person,.rmc-queue-wait,.rmc-queue-next{display:grid;min-width:0;gap:3px}.rmc-queue-order{color:#254d64;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.rmc-queue-item small,.rmc-queue-item span{color:#708593;font-size:10.5px;line-height:1.35}.rmc-queue-person b,.rmc-queue-wait b,.rmc-queue-next b{overflow:hidden;color:#173044;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rmc-queue-person a{color:#17779a;text-decoration:none}.rmc-queue-wait b{color:#9a6210}.rmc-queue-next b{color:#2a6177;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.rmc-queue-actions{display:flex;justify-content:flex-end;gap:7px;white-space:nowrap}.rmc-queue-actions .btn{min-height:32px}.rmc-chat-missing{max-width:105px;color:#8798a3!important;font-size:9.5px!important;line-height:1.2!important;text-align:right}
.rmc-quick-actions{margin-top:8px!important;padding-top:10px!important;border-top:1px solid var(--linha)!important}.rmc-quick-actions>span{color:#486476!important}.rmc-quick-actions button:first-of-type{border-color:#9acedd;background:#ecfaff;color:#146d8c;font-weight:800}.rmc-operacao-aba{position:relative;color:#1c6f8a!important;font-weight:800!important}.rmc-operacao-aba::before{content:'';display:inline-block;width:6px;height:6px;margin:0 6px 1px 0;border-radius:50%;background:#1eabc0;box-shadow:0 0 0 3px rgba(30,171,192,.13)}.rmc-operacao-aba:hover{background:#edfaff!important;color:#146d8c!important}
@media(max-width:840px){.rmc-release-scroll{max-height:none}.rmc-summary{grid-template-columns:1fr}.rmc-queue-list{max-height:none}.rmc-queue-item{grid-template-columns:1fr 1fr;gap:10px}.rmc-queue-actions{grid-column:1/-1;justify-content:flex-start}.rmc-queue-next{display:none}}
@media(max-width:560px){.rmc-protection{margin-top:14px}.rmc-release-row{grid-template-columns:auto 50px minmax(0,1fr);gap:9px;padding:10px}.rmc-release-state{display:none}.rmc-modal-footer{align-items:stretch;flex-direction:column}.rmc-modal-footer>div{width:100%;justify-content:stretch}.rmc-modal-footer .btn{flex:1}.rmc-queue-item{grid-template-columns:1fr;padding:12px}.rmc-queue-wait{display:none}.rmc-queue-actions{grid-column:auto;flex-wrap:wrap}.rmc-chat-missing{text-align:left;max-width:none}.rmc-summary span{display:flex;align-items:baseline;gap:5px}.rmc-summary b{margin:0}.rmc-operacao-aba::before{margin-right:4px}}

/* Janela menor de leitura, por cima da conferência sem desmontar a seleção. */
.rmc-open-chat{display:block;width:max-content;max-width:100%;padding:0;border:0;background:transparent;color:#173044;font:inherit;font-size:12.5px;font-weight:800;text-align:left;cursor:pointer}.rmc-open-chat:hover{color:#087a9d;text-decoration:underline;text-underline-offset:3px}.rmc-open-chat:focus-visible{outline:2px solid #2aa4c3;outline-offset:3px;border-radius:3px}
.rmc-chat-overlay{position:fixed;inset:0;z-index:100005;display:grid;place-items:center;padding:28px;background:rgba(8,30,43,.26);backdrop-filter:blur(2px)}.rmc-chat-dialog{display:flex;width:min(610px,calc(100vw - 40px));height:min(680px,calc(100dvh - 74px));flex-direction:column;overflow:hidden;border:1px solid #bed5df;border-radius:19px;background:#f7fbfc;box-shadow:0 26px 70px rgba(12,41,57,.34);animation:rmc-chat-in .16s ease-out}.rmc-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px 14px;border-bottom:1px solid #d8e7ec;background:linear-gradient(125deg,#edf9fb,#fff)}.rmc-chat-head small{display:block;color:#3c7c93;font-size:9px;font-weight:900;letter-spacing:.12em}.rmc-chat-head h3{margin:4px 0 0;color:#17384c;font-size:17px;line-height:1.15}.rmc-chat-head p{margin:4px 0 0;color:#6c8390;font-size:10.5px}.rmc-chat-close{display:grid;place-items:center;width:31px;height:31px;border:1px solid #cbdde5;border-radius:9px;background:#fff;color:#31596b;font-size:23px;font-weight:400;line-height:1;cursor:pointer}.rmc-chat-close:hover{background:#edf7fa;color:#117596}.rmc-chat-loading,.rmc-chat-empty{display:grid;flex:1;place-items:center;align-content:center;gap:7px;padding:35px;color:#6d8490;text-align:center}.rmc-chat-loading>span{width:24px;height:24px;border:3px solid #c9e6ed;border-top-color:#1c91b2;border-radius:50%;animation:rmc-chat-spin .75s linear infinite}.rmc-chat-loading b,.rmc-chat-empty b{color:#25485a;font-size:13px}.rmc-chat-loading small,.rmc-chat-empty span{max-width:300px;font-size:11px;line-height:1.45}.rmc-chat-messages{display:flex;flex:1;min-height:0;flex-direction:column;gap:7px;overflow:auto;padding:16px;background:linear-gradient(135deg,#edf6f7,#f8fcfc);scroll-behavior:smooth}.rmc-chat-day{display:flex;justify-content:center;margin:4px 0}.rmc-chat-day span{padding:4px 10px;border:1px solid #d4e4e8;border-radius:999px;background:#fff;color:#708793;font-size:9.5px;font-weight:700}.rmc-chat-message{display:flex}.rmc-chat-message.their{justify-content:flex-start}.rmc-chat-message.our{justify-content:flex-end}.rmc-chat-message>div{max-width:79%;padding:9px 11px 6px;border:1px solid #d5e3e7;border-radius:12px 12px 12px 3px;background:#fff;color:#27495a;font-size:12px;line-height:1.42;white-space:normal;word-break:break-word}.rmc-chat-message.our>div{border-color:#b9e1ea;border-radius:12px 12px 3px 12px;background:#e3f7fa;color:#18546a}.rmc-chat-message small{display:block;margin-top:4px;color:#78909a;font-size:9px;text-align:right}.rmc-chat-media{display:inline-flex;padding:4px 7px;border-radius:6px;background:#edf4f6;color:#557481;font-size:10.5px}.rmc-chat-footer{padding:10px 15px;border-top:1px solid #d8e7ec;background:#fff;color:#708692;font-size:9.5px;text-align:center}.rmc-chat-dialog:focus{outline:0}@keyframes rmc-chat-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rmc-chat-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){.rmc-chat-overlay{padding:12px}.rmc-chat-dialog{width:100%;height:min(760px,calc(100dvh - 24px));border-radius:16px}.rmc-chat-head{padding:15px}.rmc-chat-message>div{max-width:88%}}
.rmc-open-chat-line{display:flex;align-items:center;gap:7px;min-width:0}.rmc-open-chat-line>span{padding:3px 6px;border-radius:999px;background:#eaf7fa;color:#197795;font-size:8.5px;font-weight:800;line-height:1;opacity:.82;white-space:nowrap}.rmc-release-row:hover .rmc-open-chat-line>span{background:#d9f2f7;color:#076b8e;opacity:1}.rmc-chat-head>div{min-width:0;margin-right:auto}.rmc-chat-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rmc-chat-readonly{align-self:center;padding:5px 7px;border:1px solid #bde3d2;border-radius:999px;background:#edf9f3;color:#16724f;font-size:8.5px;font-weight:800;white-space:nowrap}


/* ============================================================================
   SOCIAL — INSTAGRAM E MESSENGER                            (04/09/2026)
   "quero o desiner igual do face igualzinho" (Lucas). Então as medidas, as
   cores e o ritmo seguem a Caixa de Entrada do Meta Business: lista à
   esquerda, conversa no meio com o balão roxo da clínica à direita, contexto
   à direita. Quem trabalha nas duas telas não reaprende nada.
   ============================================================================ */
.soc-pagina{display:flex;flex-direction:column;height:calc(100dvh - 150px);min-height:520px;background:#fff;
  border:1px solid #dadde1;border-radius:14px;overflow:hidden}
.soc-carregando{padding:34px;color:#65676b;text-align:center;font-size:13px}

.soc-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 22px 12px;border-bottom:1px solid #e4e6eb}
.soc-topo h2{margin:0;color:#050505;font-size:22px;font-weight:800;letter-spacing:-.02em}
.soc-topo p{margin:2px 0 0;color:#65676b;font-size:12.5px}
.soc-topo-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.soc-conta{padding:5px 10px;border:1px solid #dbdee3;border-radius:999px;background:#f0f2f5;
  color:#050505;font-size:11.5px;font-weight:700}
.soc-conta-pg{background:#fff}

.soc-abas{display:flex;gap:4px;padding:0 14px;border-bottom:1px solid #e4e6eb;overflow-x:auto}
.soc-abas button{position:relative;padding:12px 14px;border:0;background:none;color:#65676b;
  font:inherit;font-size:13.5px;font-weight:650;white-space:nowrap;cursor:pointer}
.soc-abas button:hover{color:#050505}
.soc-abas button.on{color:#0064e0}
.soc-abas button.on::after{content:'';position:absolute;left:10px;right:10px;bottom:-1px;height:3px;
  border-radius:3px 3px 0 0;background:#0064e0}

.soc-palco{display:grid;grid-template-columns:322px minmax(0,1fr) 296px;min-height:0;flex:1}
.soc-lista{display:flex;min-width:0;flex-direction:column;border-right:1px solid #e4e6eb;background:#fff}
.soc-busca{padding:10px 12px;border-bottom:1px solid #e4e6eb}
.soc-busca input{width:100%;padding:8px 12px;border:0;border-radius:999px;background:#f0f2f5;
  color:#050505;font:inherit;font-size:13px}
.soc-busca input:focus{outline:2px solid #0064e0;outline-offset:1px}
.soc-itens{min-height:0;flex:1;overflow-y:auto}

.soc-item{display:flex;gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #f0f2f5;
  background:none;text-align:left;cursor:pointer}
.soc-item:hover{background:#f2f2f2}
.soc-item.on{background:#e7f3ff}
.soc-avatar{position:relative;display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;
  border-radius:50%;color:#fff;font-size:15px;font-weight:800;letter-spacing:.02em}
.soc-avatar.grande{width:66px;height:66px;flex-basis:66px;font-size:21px}
.soc-plat{position:absolute;right:-2px;bottom:-2px;display:grid;width:19px;height:19px;place-items:center;
  border:2px solid #fff;border-radius:50%;font-size:9px;line-height:1}
.soc-plat-ig{background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);color:#fff}
.soc-plat-ms{background:linear-gradient(45deg,#00b2ff,#006aff);color:#fff}
.soc-item-corpo{display:grid;min-width:0;flex:1;gap:2px}
.soc-item-linha1{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.soc-item-linha1 b{overflow:hidden;color:#050505;font-size:13.5px;font-weight:650;
  text-overflow:ellipsis;white-space:nowrap}
.soc-item-linha1 em{flex:0 0 auto;color:#65676b;font-size:11.5px;font-style:normal}
.soc-item-previa{overflow:hidden;color:#65676b;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.soc-item.nova .soc-item-linha1 b,.soc-item.nova .soc-item-previa{color:#050505;font-weight:800}
.soc-item-marcas{display:flex;gap:5px;flex-wrap:wrap}
.soc-marca{padding:2px 7px;border-radius:5px;background:#f0f2f5;color:#65676b;font-size:10px;font-weight:750}
.soc-marca-cliente{background:#e7f3ff;color:#0064e0}
.soc-marca-nova{background:#e7f8ee;color:#1a7f4b}
.soc-marca-fria{background:#fdf0e3;color:#9a5b12}

.soc-thread{display:flex;min-width:0;flex-direction:column;background:#fff}
.soc-thread-topo{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid #e4e6eb}
.soc-thread-topo .soc-avatar{width:40px;height:40px;flex-basis:40px;font-size:13px}
.soc-thread-topo>div{display:grid;min-width:0;flex:1;gap:1px}
.soc-thread-topo b{overflow:hidden;color:#050505;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.soc-thread-topo small{display:flex;align-items:center;gap:6px;color:#65676b;font-size:11.5px}
.soc-thread-topo small .soc-plat{position:static;width:15px;height:15px;border-width:0;font-size:8px}

.soc-mensagens{display:flex;min-height:0;flex:1;flex-direction:column;gap:3px;padding:16px 18px;overflow-y:auto;
  background:#fff}
.soc-dia{align-self:center;margin:14px 0 8px;color:#65676b;font-size:11px;font-weight:650}
.soc-balao{max-width:74%;padding:8px 13px;border-radius:18px;font-size:14px;line-height:1.4;
  white-space:pre-wrap;word-break:break-word}
.soc-balao.dela{align-self:flex-start;border-bottom-left-radius:5px;background:#f0f2f5;color:#050505}
.soc-balao.meu{align-self:flex-end;border-bottom-right-radius:5px;color:#fff;
  background:linear-gradient(135deg,#a033ff,#7c3aed)}
.soc-balao i{opacity:.72}

.soc-compositor{display:flex;gap:9px;padding:11px 16px;border-top:1px solid #e4e6eb;background:#fff}
.soc-compositor input{flex:1;padding:10px 15px;border:0;border-radius:999px;background:#f0f2f5;
  color:#050505;font:inherit;font-size:13.5px}
.soc-compositor input:focus{outline:2px solid #0064e0;outline-offset:1px}
.soc-fechado{display:grid;width:100%;gap:2px;padding:9px 13px;border:1px solid #f0d9bb;border-radius:11px;
  background:#fdf6ec}
.soc-fechado b{color:#8a5210;font-size:12.5px}
.soc-fechado span{color:#9a6a2c;font-size:11.5px}

.soc-contexto{min-width:0;padding:16px;overflow-y:auto;border-left:1px solid #e4e6eb;background:#fff}
.soc-ctx-topo{display:grid;justify-items:center;gap:6px;padding-bottom:15px;text-align:center}
.soc-ctx-topo b{color:#050505;font-size:15.5px}
.soc-ctx-topo small{display:flex;align-items:center;gap:6px;color:#65676b;font-size:11.5px}
.soc-ctx-topo small .soc-plat{position:static;width:15px;height:15px;border-width:0;font-size:8px}
.soc-ctx-bloco{padding:13px 0;border-top:1px solid #e4e6eb}
.soc-ctx-bloco h4{margin:0 0 9px;color:#050505;font-size:12.5px;font-weight:800}
.soc-ctx-nota{margin:0;color:#65676b;font-size:12px;line-height:1.45}
.soc-ctx-cliente{display:grid;gap:3px;padding:11px;border:1px solid #cfe3fb;border-radius:11px;background:#f2f8ff}
.soc-ctx-cliente b{color:#050505;font-size:13.5px}
.soc-ctx-cliente span{color:#65676b;font-size:12px}
.soc-ctx-acoes{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
.soc-ctx-dado{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 0}
.soc-ctx-dado span{color:#65676b;font-size:12px}
.soc-ctx-dado b{color:#050505;font-size:12.5px;text-align:right}
.soc-sim{color:#1a7f4b!important}
.soc-nao{color:#9a5b12!important}
.soc-sugestoes{display:grid;gap:6px}
.soc-sugestoes small{color:#65676b;font-size:11px;font-weight:700}
.soc-sugestao{display:grid;gap:1px;padding:9px 11px;border:1px solid #dbdee3;border-radius:10px;
  background:#fff;text-align:left;cursor:pointer}
.soc-sugestao:hover{border-color:#0064e0;background:#f2f8ff}
.soc-sugestao b{color:#050505;font-size:13px}
.soc-sugestao span{color:#65676b;font-size:11.5px}

.soc-vazio,.soc-vazio-lista{display:grid;place-content:center;justify-items:center;gap:5px;
  padding:40px 22px;text-align:center}
.soc-vazio span{font-size:30px}
.soc-vazio b,.soc-vazio-lista b{color:#050505;font-size:14.5px}
.soc-vazio p,.soc-vazio-lista p{margin:0;color:#65676b;font-size:12.5px}

.soc-aviso{display:flex;gap:15px;margin:22px;padding:20px;border:1px solid #cfe3fb;border-radius:14px;
  background:#f2f8ff}
.soc-aviso-icone{font-size:26px;line-height:1}
.soc-aviso b{display:block;margin-bottom:5px;color:#050505;font-size:15.5px}
.soc-aviso p{margin:0 0 11px;color:#3d4145;font-size:13px;line-height:1.5}
.soc-faltam{margin:0 0 13px;padding-left:19px;color:#3d4145;font-size:12.5px;line-height:1.6}
.soc-nota{display:block;margin-top:8px;color:#65676b;font-size:11.5px}

@media(max-width:1200px){
  .soc-palco{grid-template-columns:280px minmax(0,1fr)}
  .soc-contexto{display:none}
}
@media(max-width:820px){
  .soc-palco{grid-template-columns:1fr}
  .soc-lista{max-height:280px;border-right:0;border-bottom:1px solid #e4e6eb}
  .soc-balao{max-width:88%}
}

/* A faixa que lembra o que falta autorizar, sem esconder o que ja funciona. */
.soc-faixa{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:10px 22px;
  border-bottom:1px solid #f2dfc4;background:#fdf6ec}
.soc-faixa b{color:#8a5210;font-size:12.5px}
.soc-faixa span{flex:1;min-width:220px;color:#9a6a2c;font-size:11.5px}

/* A lista de quem veio do anuncio. Tabela longa: rola dentro da caixa, para a
   pagina inteira nunca rolar de lado. */
.trf-tab-rol{max-height:460px;overflow:auto;border:1px solid var(--trf-line,#e5e7eb);border-radius:12px}
.trf-tab-rol table{width:100%;min-width:640px}
.trf-tab-rol thead th{position:sticky;top:0;z-index:1;background:var(--trf-surface,#fff)}

/* WhatsApp do anuncio, dentro do Fenix Gestor de Trafego. Duas colunas: quem
   chegou pelo anuncio a esquerda, a conversa a direita. Quem esta sem resposta
   fica marcado, porque e o unico item da tela que custa dinheiro parado. */
.wan-palco{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;height:min(620px,68dvh);
  min-height:420px;overflow:hidden;border:1px solid var(--trf-line,#e5e7eb);border-radius:12px}
.wan-lista{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--trf-line,#e5e7eb)}
.wan-filtro{padding:9px 11px;border-bottom:1px solid var(--trf-line,#e5e7eb)}
.wan-filtro label{display:flex;align-items:center;gap:7px;color:var(--trf-muted,#6b7280);
  font-size:11.5px;cursor:pointer}
.wan-itens{min-height:0;flex:1;overflow-y:auto}
.wan-item{display:grid;width:100%;gap:3px;padding:10px 12px;border:0;
  border-bottom:1px solid var(--trf-line,#eef0f3);background:none;text-align:left;cursor:pointer}
.wan-item:hover{background:var(--trf-surface-2,#f7f8fa)}
.wan-item.on{background:var(--trf-primary-soft,#f2eefe)}
.wan-item.parado{box-shadow:inset 3px 0 var(--trf-warning,#d97706)}
.wan-item-linha1{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.wan-item-linha1 b{overflow:hidden;color:var(--trf-text,#111827);font-size:13px;
  text-overflow:ellipsis;white-space:nowrap}
.wan-item-linha1 em{flex:0 0 auto;color:var(--trf-muted,#6b7280);font-size:10.5px;font-style:normal}
.wan-item-previa{overflow:hidden;color:var(--trf-muted,#6b7280);font-size:11.5px;
  text-overflow:ellipsis;white-space:nowrap}
.wan-item-marcas{display:flex;gap:5px;flex-wrap:wrap}
.wan-marca{padding:2px 7px;border-radius:5px;background:var(--trf-surface-2,#f1f3f6);
  color:var(--trf-muted,#6b7280);font-size:9.5px;font-weight:750}
.wan-marca.urg{background:var(--trf-warning-soft,#fdf0e3);color:var(--trf-warning,#9a5b12)}
.wan-marca.ok{background:var(--trf-success-soft,#e8f7ef);color:var(--trf-success,#15803d)}

.wan-conversa{display:flex;min-width:0;flex-direction:column}
.wan-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;
  border-bottom:1px solid var(--trf-line,#e5e7eb)}
.wan-cab>div{display:grid;min-width:0;flex:1;gap:1px}
.wan-cab b{overflow:hidden;color:var(--trf-text,#111827);font-size:14px;
  text-overflow:ellipsis;white-space:nowrap}
.wan-cab small{color:var(--trf-muted,#6b7280);font-size:11px}
.wan-msgs{display:flex;min-height:0;flex:1;flex-direction:column;gap:5px;padding:14px 16px;overflow-y:auto}
.wan-dia{align-self:center;margin:10px 0 4px;color:var(--trf-muted,#6b7280);font-size:10.5px;font-weight:700}
.wan-balao{position:relative;max-width:76%;padding:8px 12px 15px;border-radius:14px;
  font-size:13px;line-height:1.42;white-space:pre-wrap;word-break:break-word}
.wan-balao.dela{align-self:flex-start;border-bottom-left-radius:4px;
  background:var(--trf-surface-2,#f1f3f6);color:var(--trf-text,#111827)}
.wan-balao.meu{align-self:flex-end;border-bottom-right-radius:4px;
  background:var(--trf-primary,#7c3aed);color:#fff}
.wan-balao small{position:absolute;right:10px;bottom:3px;font-size:9px;opacity:.65}
.wan-envio{display:flex;gap:8px;padding:10px 12px 6px;border-top:1px solid var(--trf-line,#e5e7eb)}
.wan-envio textarea{flex:1;padding:8px 12px;border:1px solid var(--trf-line,#e5e7eb);
  border-radius:10px;background:var(--trf-surface,#fff);color:var(--trf-text,#111827);
  font:inherit;font-size:13px;resize:vertical}
.wan-vazio{display:grid;place-content:center;justify-items:center;gap:4px;padding:34px 18px;text-align:center}
.wan-vazio b{color:var(--trf-text,#111827);font-size:14px}
.wan-vazio p{margin:0;color:var(--trf-muted,#6b7280);font-size:12px}
@media(max-width:900px){.wan-palco{grid-template-columns:1fr;height:auto}
  .wan-lista{max-height:260px;border-right:0;border-bottom:1px solid var(--trf-line,#e5e7eb)}
  .wan-msgs{min-height:300px}}

/* O balao que aparece antes da confirmacao. Fica esmaecido enquanto o servidor
   nao respondeu, e vermelho se recusar. Ninguem fica no escuro esperando. */
#ccv-shell .ccv-msg-linha.ccv-otimista .ccv-msg{opacity:.72}
#ccv-shell .ccv-msg-linha.ccv-otimista.falhou .ccv-msg{opacity:1;border-color:#fda4af;background:#fff1f2}
#ccv-shell .ccv-msg-linha.ccv-otimista.falhou .ccv-msg-meta{color:#b42318;font-weight:700}

.wan-balao.wan-otimista{opacity:.7}
.wan-balao.wan-otimista.falhou{opacity:1;background:var(--trf-danger,#b42318)}
.wan-balao.wan-otimista.falhou small{opacity:1;font-weight:700}

/* ================= AVISO E LEMBRETE DA PACIENTE (04/09/2026) =================
   Reinaldo: "ao clicar na paciente que está na agenda deverá ter uma página de
   Aviso, podendo acrescentar quem é a responsável pela ação... criar também
   lembrete quando não é para envio para ninguém, somente lembrar mesmo. Ambos
   os itens devem aparecer junto com os dados quando a funcionária passar o
   mouse."
   A cor é o que separa os dois de longe: âmbar é aviso (tem dono e vai tocar o
   sino de alguém quando a cliente chegar), cinza é lembrete (não avisa
   ninguém). Mesma família do .hv-obs, que já é o recado solto de hoje. */
.ag-recados{margin-top:12px;border-top:1px solid var(--linha);padding-top:11px}
.ag-rec-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ag-rec-cab > span{font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cinza)}
.ag-rec{position:relative;border-radius:9px;padding:8px 11px;margin-bottom:7px;
  border-left:3px solid}
.ag-rec.aviso{background:#fffaeb;border-left-color:#f79009}
.ag-rec.lembrete{background:#f2f4f7;border-left-color:#98a2b3}
.ag-rec-l1{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ag-rec-tag{font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ag-rec.aviso .ag-rec-tag{color:#b54708}
.ag-rec.lembrete .ag-rec-tag{color:#475467}
.ag-rec-txt{font-size:12.5px;color:var(--tinta);line-height:1.45;margin-top:2px;
  white-space:pre-wrap;word-break:break-word}
.ag-rec-quem{font-size:10.5px;color:var(--cinza);margin-top:4px}
.ag-rec-x{border:0;background:transparent;color:#98a2b3;font-size:17px;line-height:1;
  cursor:pointer;padding:0 5px;border-radius:6px;flex:none}
.ag-rec-x:hover{background:#fee4e2;color:#b42318}
.ag-rec-vazio{font-size:12.5px;color:var(--cinza);padding:1px 0 5px}
.ag-rec-form{border:1px solid var(--linha);border-radius:10px;padding:11px;
  background:var(--fundo);margin-top:6px}
.ag-rec-tipos{display:flex;flex-direction:column;gap:6px;margin-bottom:9px}
.ag-rec-tipos label{display:flex;align-items:baseline;gap:7px;font-size:12px;
  color:var(--cinza);cursor:pointer;line-height:1.35}
.ag-rec-tipos b{color:var(--tinta);font-weight:700}
.ag-rec-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--linha);
  border-radius:8px;padding:8px 9px;font:inherit;font-size:12.5px;resize:vertical;
  background:var(--card);color:var(--tinta)}
.ag-rec-alvos{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px}
.ag-rec-alvos-tit{flex:0 0 100%;font-size:10px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--cinza)}
.ag-rec-alvos label{display:flex;align-items:center;gap:5px;font-size:12.5px;cursor:pointer}
.ag-rec-pe{display:flex;justify-content:flex-end;gap:7px;margin-top:11px}

/* no balão que aparece ao passar o mouse na grade */
#ev-hover .hv-rec{margin-top:7px;padding:6px 9px;border-radius:7px;font-size:10.5px;
  line-height:1.45;border-left:3px solid}
#ev-hover .hv-rec.aviso{background:#fffaeb;border-left-color:#f79009;color:#93370d}
#ev-hover .hv-rec.lembrete{background:#f2f4f7;border-left-color:#98a2b3;color:#475467}
#ev-hover .hv-rec b{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:2px;font-weight:800}
#ev-hover .hv-rec i{display:block;font-style:normal;opacity:.8;margin-top:3px;font-size:9.5px}

/* ESCALA DO DIA no Planejamento (Reinaldo, 06/09/2026).
   Mesma caixa dos indicadores; a diferença é que ela recolhe, porque no dia
   normal ninguém precisa dela aberta o tempo todo. */
.pl2-esc-seta { background:none; border:0; cursor:pointer; color:var(--cinza);
  font-size:13px; padding:0 2px; line-height:1; }
.pl2-esc-qtd { background:var(--fundo); color:var(--cinza); border-radius:999px;
  padding:1px 8px; font-size:11.5px; font-weight:700; margin-left:auto; }
.pl2-esc-lista { display:flex; flex-direction:column; gap:8px; }
.pl2-esc-linha { display:grid; grid-template-columns:auto 1fr auto; gap:8px;
  align-items:center; padding:7px 0; border-bottom:1px solid var(--linha); }
.pl2-esc-linha:last-child { border-bottom:0; }
.pl2-esc-linha.fora { opacity:.55; }
.pl2-esc-quem { min-width:0; }
.pl2-esc-quem b { display:block; font-size:12.5px; color:var(--tinta);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pl2-esc-quem span { font-size:11px; color:var(--cinza); }
.pl2-esc-horas { text-align:right; }
.pl2-esc-horas b { display:block; font-size:12.5px; color:var(--tinta); }
.pl2-esc-horas span { font-size:11px; color:var(--cinza); }
.pl2-esc-aus { color:#dc2626; }
.pl2-esc-fonte { grid-column:2 / -1; display:flex; align-items:center; gap:8px;
  justify-content:flex-end; }
.pl2-esc-tag { font-size:10.5px; color:var(--cinza); background:var(--fundo);
  border-radius:999px; padding:1px 8px; }
.pl2-esc-tag.on { background:#dcfce7; color:#166534; font-weight:600; }
.pl2-esc-obs { grid-column:2 / -1; font-size:11px; color:var(--cinza); font-style:italic; }
@media (max-width: 520px) {
  .pl2-esc-linha { grid-template-columns:auto 1fr; }
  .pl2-esc-horas { grid-column:2; text-align:left; }
}

/* Contratos: edição legível, validade por categoria e assinatura da empresa. */
.ct-config-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.ct-config-card{padding:20px;min-width:0;border:1px solid #dbe5ef;box-shadow:0 8px 26px rgba(25,52,76,.055)}
.ct-config-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.ct-config-cab small{display:block;color:#25728f;font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:4px}
.ct-config-cab h3{margin:0;color:#13283b;font-size:18px;line-height:1.2}
.ct-config-card>p{color:#65788a;font-size:12.5px;line-height:1.55;margin:0 0 14px}
.ct-config-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf7fa;font-size:19px}
.ct-vigencias{display:grid;gap:8px;max-height:295px;overflow:auto;padding-right:3px}
.ct-vigencia{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e0e8ef;border-radius:11px;background:#fbfdff}
.ct-vigencia>span:first-child{min-width:0}.ct-vigencia b{display:block;color:#1c3144;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-vigencia small{display:block;color:#8192a2;font-size:10.5px;margin-top:2px}
.ct-vigencia-campo{display:flex;align-items:center;gap:5px;border:1px solid #ccd9e5;background:#fff;border-radius:9px;padding:0 8px}
.ct-vigencia-campo input{width:48px;border:0!important;box-shadow:none!important;padding:8px 1px!important;text-align:right;font-weight:700;color:#173b52}
.ct-vigencia-campo em{font-size:10.5px;color:#718496;font-style:normal}
.ct-ass-campos{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;margin-bottom:10px}
.ct-ass-campos label{font-size:10.5px;font-weight:700;color:#607487}.ct-ass-campos input{display:block;width:100%;margin-top:4px}
.ct-ass-area{position:relative;border:1px dashed #9bb3c7;border-radius:12px;overflow:hidden;background:linear-gradient(#fff,#fbfdff)}
.ct-ass-area:after{content:"";position:absolute;left:9%;right:9%;bottom:31px;border-top:1px solid #d3dfe8;pointer-events:none}
#ct-ass-canvas{display:block;width:100%;height:145px;touch-action:none;cursor:crosshair;position:relative;z-index:1}
.ct-ass-ajuda{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#9aabba;font-size:10.5px;pointer-events:none}
.ct-ass-acoes{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px}.ct-ass-acoes #ct-ass-salvar{margin-left:auto}
.ct-bloco{border:1px solid #dce5ed!important;border-radius:13px!important;background:#fbfdff!important;padding:12px!important;margin-bottom:10px!important}
.ct-bloco>.ct-rot{display:flex!important;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px!important;color:#173b52!important;font-weight:800!important}
.ct-bloco>.ct-rot small{font-size:10px;color:#8a9aa8;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.ct-visual{min-height:165px;padding:18px 20px;border:1px solid #cfdce7;border-radius:10px;background:#fff;color:#1b2733;font:14px/1.65 Arial,Helvetica,sans-serif;outline:none;box-shadow:inset 0 1px 2px rgba(15,39,60,.035)}
.ct-visual:focus{border-color:#2387ac;box-shadow:0 0 0 3px rgba(35,135,172,.12)}
.ct-visual p{margin:0 0 11px;text-align:justify}.ct-visual ul,.ct-visual ol{padding-left:22px}.ct-visual .cl{font-weight:800}
.ct-html-avancado{margin-top:9px}.ct-html-avancado summary{cursor:pointer;color:#617588;font-size:11px;font-weight:700;user-select:none}
.ct-html-avancado textarea{width:100%;margin-top:8px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:#142333;color:#dcecf7;border-radius:9px;border:0;padding:12px}
@media (max-width:980px){.ct-config-grade{grid-template-columns:1fr}.ct-ass-campos{grid-template-columns:1fr 1fr}.ct-ass-campos label:first-child{grid-column:1/-1}}
@media (max-width:620px){.ct-config-card{padding:15px}.ct-vigencia{grid-template-columns:1fr auto}.ct-vigencia>button{grid-column:1/-1;width:100%}.ct-ass-campos{grid-template-columns:1fr}.ct-ass-campos label:first-child{grid-column:auto}.ct-ass-acoes>*{flex:1 1 44%}.ct-ass-acoes #ct-ass-salvar{margin-left:0}.ct-visual{padding:14px;font-size:13px}.ct-bloco{padding:9px!important}}
