/* ===== Djenius — tema inspirado no SabIA ===== */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');

:root{
  /* gradiente do topo (azul clareando contínuo, esquerda -> direita) */
  --c1:#368EFB; --c2:#4A98FD; --c3:#5AA0FF;
  --grad:linear-gradient(90deg,var(--c1) 0%,var(--c2) 55%,var(--c3) 100%);
  /* superfícies */
  --bg:linear-gradient(150deg,#eef2ff 0%,#f5f3ff 55%,#faf5ff 100%);
  --sidebar:#eef2ff;
  --panel:#eef1fb;   /* quadros/painéis com tom levinho azul-acinzentado → contraste sobre a PÁGINA BRANCA */
  --line:#e0e7ff;        /* borda índigo suave */
  --line-2:#cbd5e1;      /* borda de inputs */
  --text:#1e293b; --muted:#64748b;
  --primary:#4877ED; --primary-d:#3a63d0;
  --emerald:#059669; --emerald-d:#047857;
  --amber:#f59e0b; --red:#dc2626;
  --radius:16px; --shadow:0 6px 18px rgba(99,102,241,.10);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:'Nunito',system-ui,Segoe UI,Arial,sans-serif;color:var(--text)}
body{background:#f5f6fb}
a{color:var(--primary);text-decoration:none}

/* ---------- Login ---------- */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--grad)}
.login-card{background:#fff;width:380px;max-width:92vw;padding:34px;border-radius:22px;box-shadow:0 24px 70px rgba(40,40,90,.30)}
.brand{text-align:center;margin-bottom:18px}
.brand-logo{font-size:46px}
.brand-logo-img{height:120px;width:auto;max-width:100%;display:inline-block}
.brand-credit{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.45;font-weight:600}
.brand h1{margin:6px 0 0;font-size:32px;font-weight:900;letter-spacing:-.5px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.brand-sub{margin:2px 0 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700}
.login-card label{display:block;margin:14px 0 4px;font-size:13px;font-weight:700;color:var(--muted)}
.login-card input{width:100%;padding:12px;border:1.5px solid var(--line-2);border-radius:10px;font-size:15px;font-family:inherit}
.login-card input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(72,119,237,.15)}
.login-hint{margin-top:16px;font-size:12px;color:var(--muted);text-align:center}
.error-msg{color:var(--red);font-size:13px;margin-top:10px;min-height:16px;text-align:center;font-weight:700}

/* ---------- Botões ---------- */
.btn{min-height:40px;border:1px solid var(--line);background:#fff;color:var(--text);padding:0 14px;border-radius:10px;
  cursor:pointer;font-size:14px;font-weight:700;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s}
.btn:hover{background:#f8fafc}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-d)}
.btn-emerald{background:var(--emerald);border-color:var(--emerald);color:#fff}
.btn-emerald:hover{background:var(--emerald-d)}
.btn-danger{background:var(--red);border-color:var(--red);color:#fff}
.btn-ghost{background:#f1f5f9;border-color:#e2e8f0;color:#475569}
.btn-block{width:100%;margin-top:18px;min-height:46px}
.btn-sm{min-height:32px;padding:0 10px;font-size:13px;border-radius:8px}

/* ---------- Shell ---------- */
/* Aura dourada do PREFERIDO (duplo-clique) — só aparece quando o botão preferido está SELECIONADO */
.pref-glow{box-shadow:0 0 0 2px #f59e0b, 0 0 16px 4px rgba(245,158,11,.75)!important;border-radius:10px!important;position:relative;z-index:2;animation:prefPulse 2.2s ease-in-out infinite}
/* menu lateral: brilha só quando é o preferido E o ativo (is-pref + active) */
.nav-item.is-pref.active{animation:prefPulse 2.2s ease-in-out infinite}
/* modal com barra azul (igual à barra superior do app) */
.modal-blue-head .modal-head{background:var(--grad)}
.modal-blue-head .modal-head h3,.modal-blue-head .modal-head .head-sub{color:#fff}
.modal-blue-head .modal-head .head-ico{background:rgba(255,255,255,.22)}
@keyframes prefPulse{0%,100%{box-shadow:0 0 0 2px #f59e0b,0 0 14px 3px rgba(245,158,11,.6)}50%{box-shadow:0 0 0 2px #fbbf24,0 0 22px 6px rgba(245,158,11,.9)}}
.topbar{position:fixed;top:0;left:0;right:0;height:100px;background:var(--grad);color:#fff;display:flex;align-items:center;gap:14px;padding:0 20px;z-index:50;box-shadow:0 2px 12px rgba(63,81,181,.25)}
.topbar .logo{font-size:24px}
.topbar .title{font-weight:900;letter-spacing:1px;font-size:18px}
.topbar-logo{height:60px;width:auto;display:block}
.topbar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:94px;width:auto;pointer-events:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.18))}
.topbar .spacer{flex:1}
.topbar .user{font-size:14px;font-weight:700;opacity:.97}
.perfil-badge{background:rgba(255,255,255,.25);border-radius:20px;padding:3px 10px;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-left:8px;font-weight:800}

.layout{display:flex;padding-top:0;min-height:100vh}
.sidebar{width:264px;background:var(--sidebar);height:100vh;padding:0;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #dfe3f7}
.sidebar-nav{flex:1;min-height:0;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column}
/* cabeçalho (título+"Selecione o cliente") e ferramentas ficam FIXOS; só a lista de clientes rola */
.sb-clients-head{flex:0 0 auto}
.sb-clients-scroll{flex:0 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}
.sb-tools{flex:0 0 auto}
.sidebar-logo{flex:0 0 auto;height:102px;display:flex;align-items:center;justify-content:center;padding:4px 8px;border-bottom:1px solid #dfe3f7}
.sidebar-logo img{max-height:72px;max-width:205px;height:auto;width:auto;object-fit:contain;display:block}
.sidebar-foot{flex:0 0 auto;border-top:1px solid #dfe3f7;background:#f8fafc;padding:9px 12px}
.sb-user{font-size:12.5px;font-weight:700;color:#334155;text-align:center;margin-bottom:7px}
.sb-foot-btns{display:flex;gap:6px;justify-content:center;align-items:center}
.sb-foot-btns .bell{position:relative;cursor:pointer;font-size:17px;width:34px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e2e8f0;background:#fff}
.sb-foot-btns .bell:hover{background:#eef2ff}
/* barra superior colorida (todas as telas de Ferramentas) — estilo protótipo */
.view-header{background:var(--grad);color:#fff;padding:14px 24px;min-height:102px;display:flex;align-items:center;gap:12px;position:relative;flex:0 0 auto;z-index:30}
.view-header .vh-ic{width:38px;height:38px;color:#fff;stroke-width:2.5;background:none;border-radius:0;backdrop-filter:none;flex:0 0 auto}
/* Tipografia dos títulos das Ferramentas — aumentada p/ igualar a barra "ETAPA X DE 5" da Jornada */
.view-header .vh-tit{display:flex;flex-direction:column;min-width:0;gap:2px}
.view-header .vh-label{font-size:11px;font-weight:800;opacity:.85;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.view-header h2{font-size:21px;font-weight:900;margin:0;line-height:1.4}
.view-header .vh-sub{font-size:13px;opacity:.92;line-height:1.35}
.view-header .vh-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:81px;pointer-events:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.22));z-index:1}
.view-header .vh-brand{margin-left:auto;text-align:right;line-height:1.35;z-index:2}
.view-header .vh-brand .b1{font-size:14px;font-weight:800}
.view-header .vh-brand .b2{font-size:11px;font-weight:800;opacity:.9}
.view-header .vh-brand .b3{font-size:10px;font-weight:800;opacity:.75}
@media(max-width:820px){.view-header .vh-center,.view-header .vh-brand{display:none}}
.nav-item{display:flex;align-items:center;gap:11px;color:#334155;padding:6px 12px;border-radius:10px;cursor:pointer;font-size:13.5px;font-weight:700;margin-bottom:1px;transition:.12s;border:1px solid transparent}
.nav-item:hover{background:#e0e7ff;color:#1e293b}
.nav-item.active{background:var(--grad);color:#fff;box-shadow:0 4px 12px rgba(72,119,237,.30)}
/* ícones da barra: sem círculo, no VERDE dos títulos (Clientes/Ferramentas); brancos quando ativo */
.nav-item .ico{width:19px;height:19px;display:flex;align-items:center;justify-content:center;background:none;border-radius:0;flex:0 0 auto;color:#0f766e}
.nav-item .ico svg,.nav-item svg{width:19px;height:19px;stroke-width:2}
.nav-item.active .ico{color:#fff}
.nav-sep{display:flex;align-items:center;gap:8px;color:#0f766e;font-size:11px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;padding:11px 12px 5px}
.nav-sep::before,.nav-sep::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#99f6e4,transparent)}
/* cabeçalho "Ferramentas" clicável: recolhe/expande a lista — CENTRALIZADO igual ao "Clientes" */
.nav-sep-toggle{cursor:pointer;user-select:none}
.nav-sep-toggle:hover{color:#368EFB}
.nav-sep-toggle .sep-caret{font-size:14px;line-height:1;letter-spacing:0;opacity:.85;margin-left:3px}
.sb-tools.collapsed .nav-item{display:none}
.sb-tools.collapsed .nav-item.active{display:flex}   /* a ferramenta atual continua visível mesmo recolhido */
.sb-tools.collapsed:hover .nav-item{display:flex}
/* menu do clipe (Foto/Vídeo/Arquivo) — chat do escritório */
.anx-menu{position:absolute;bottom:52px;left:6px;background:#fff;border:1px solid #e3e8ef;border-radius:12px;box-shadow:0 8px 24px rgba(20,40,80,.18);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:60;min-width:184px}
.anx-menu .anx-i{display:flex;align-items:center;gap:10px;background:none;border:none;font-size:15px;cursor:pointer;padding:9px 12px;border-radius:9px;text-align:left;color:#1e293b;font-weight:600}
.anx-menu .anx-i span{font-size:14px}
.anx-menu .anx-i:hover{background:#eef4ff}
/* etapas da Jornada no sidebar (estilo protótipo) */
.jstep-side{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;cursor:pointer;margin-bottom:3px;border:1px solid transparent;transition:.12s}
.jstep-side:hover{background:#eef2ff;transform:translateX(2px)}
.jstep-side.active{background:var(--grad);border-color:transparent;box-shadow:0 6px 16px rgba(72,119,237,.35)}
.jstep-side.done{background:#dcfce7;border-color:#bbf7d0}
.jstep-side.done:hover{background:#caf3d6}
.jstep-side-num{width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex:0 0 auto}
.jstep-side.active .jstep-side-num{background:#fff;color:var(--primary)}
.jstep-side.done .jstep-side-num{background:#16a34a;color:#fff}
.jstep-side-tit{font-weight:800;font-size:15px;color:#334155;line-height:1.15}
.jstep-side-sub{font-size:12px;color:#94a3b8;line-height:1.25;margin-top:2px}
.jstep-side.active .jstep-side-tit{color:#fff}
.jstep-side.active .jstep-side-sub{color:rgba(255,255,255,.85)}
.jstep-side.done .jstep-side-tit{color:#166534}
.jstep-side.done .jstep-side-sub{color:#15803d}
/* cabeçalho da cena */
.jscene-head{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border:1px solid #c7d2fe;border-radius:16px;padding:14px 18px;margin-bottom:16px}
.jscene-ic{width:48px;height:48px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 auto}
.jscene-etapa{font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--primary)}
.jscene-head h2{margin:0;font-size:21px;font-weight:900}
.jscene-sub{font-size:13px;color:var(--muted)}
.jnav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.jnav .btn[disabled]{opacity:.4;pointer-events:none}
.nav-subitem.active .nav-subnum{background:var(--primary);color:#fff}
.jdemo{background:#fff7e6;border:1px solid #fde68a;color:#92400e;border-radius:12px;padding:10px 14px;font-size:13px;margin-bottom:12px}
.jdireito{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer}
.jdireito:hover{border-color:var(--primary)}
.main{margin-left:264px;flex:1;padding:0;height:100vh;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;position:relative}
/* reserva a largura da barra de rolagem sempre → não há deslocamento horizontal ao trocar de tela */
#view{scrollbar-gutter:stable}
.main{max-width:calc(100vw - 264px);min-width:0}
/* fundo BRANCO em todas as telas de ferramentas + fichas (o gradiente fica só na Jornada). Os quadros/tabelas
   é que carregam a cor (azul-clarinho/cinza), mesmo conceito da Ficha do Cliente/Processo.
   PÁGINA BRANCA — os quadros/tabelas é que levam o tom levinho (--panel). Fichas têm wrap próprio. */
.view-body{flex:1;padding:24px 28px;min-width:0;overflow-y:auto;overflow-x:hidden;background:#fff}

.page-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.page-head h2{margin:0;font-size:24px;font-weight:900;letter-spacing:-.5px}
.page-head .sub{color:var(--muted);font-size:13px;font-weight:600}
.page-head .spacer{flex:1}

/* ---------- Painéis / métricas ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:18px}
/* painéis da FICHA DO CLIENTE ficam BRANCOS (o tom levinho é só nas telas de ferramentas) */
.panel.jcarteira,.panel.jmov{background:#fff}
.panel h3{font-weight:800}
.grid-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.metric .num{font-size:30px;font-weight:900;color:var(--primary)}
.metric .lbl{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
/* chips compactos da Minha Área (número ao lado do rótulo, tudo numa linha) */
.ma-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ma-stat{display:inline-flex;align-items:baseline;gap:5px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-size:12px;color:var(--muted);font-weight:700;box-shadow:var(--shadow);white-space:nowrap}
.ma-stat b{font-size:15px;color:var(--primary);font-weight:900}
.ma-stat.warn b{color:var(--amber)}
.ma-stat.late b{color:var(--red)}
/* Hub Minha Área → Pontuação: 1 linha só — seletores da esquerda | placar no meio | seletor da direita.
   Esquerda: tamanho PADRÃO (igual às abas Minhas tarefas/Enviadas, não encolhe).
   Direita: mais largo, p/ "Pontuação da equipe" caber inteiro. */
.ma-hub-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:nowrap}
.ma-hub-head>.segmode{flex:0 0 auto}
/* esquerda no tamanho PADRÃO (não encolhe na Pontuação); só a direita cabe "Pontuação da equipe" */
.ma-hub-head>.segmode:last-child .segmode-btn{width:160px!important}
/* MEIO: filtros Início/Fim/Período compactos (no lugar dos contadores, que saíram) */
.ma-hub-filtro{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.ma-hub-fld{display:flex;align-items:center;gap:6px}
.ma-hub-fld label{font-size:10.5px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.02em}
.ma-hub-filtro input,.ma-hub-filtro select{height:34px;box-sizing:border-box;border:1.5px solid var(--line-2);border-radius:9px;padding:0 8px;font-size:12.5px;font-family:inherit;background:#fff}
.ma-hub-filtro input[type=date]{width:148px}
.ma-hub-filtro select{width:150px;max-width:150px}
@media(max-width:1100px){.ma-hub-head{flex-wrap:wrap}.ma-hub-filtro{order:3;flex-basis:100%;margin-top:6px}}
/* arquivar/selecionar cards (Prazos e Minha Área) */
.card{position:relative}
.c-arch{position:absolute;bottom:6px;right:6px;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:8px;font-size:12px;line-height:1;padding:3px 6px;cursor:pointer;opacity:.45;transition:.12s}
.card:hover .c-arch{opacity:1}
.c-arch:hover{background:#fee2e2;border-color:#fecaca}
.card.selecting{outline:2px dashed #cbd5e1;outline-offset:-3px}
.card.selecting .c-arch{display:none}
.card.sel-on{outline:2.5px solid var(--primary);background:#eef4ff}
.c-sel{position:absolute;top:5px;right:8px;font-size:16px;color:var(--primary)}
.bulk-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:80;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.22);padding:10px 14px}
.bulk-bar .bulk-n{font-weight:800;color:#334155}

/* ---------- Quadros ---------- */
.quadro-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.qtab{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:800;font-size:13px;color:#475569;transition:.12s}
.qtab:hover{background:#eef2ff}
.qtab.active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(99,102,241,.3)}

.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:14px}
.kcol{min-width:270px;width:270px;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 260px)}
.kcol-head{padding:12px 14px;font-weight:800;font-size:13px;border-bottom:1px solid #d7defb;display:flex;align-items:center;gap:8px;position:sticky;top:0;background:rgba(255,255,255,.5);border-radius:var(--radius) var(--radius) 0 0}
.kcol-head .count{margin-left:auto;background:var(--primary);color:#fff;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:800}
.kcol-head .col-user{font-size:12px}
.kcol-body{padding:10px;overflow-y:auto;flex:1;min-height:60px}
.kcol-body.drag-over{background:rgba(72,119,237,.08);border-radius:10px}
/* Painel de Tarefas: colunas de usuário mais estreitas */
#userCols.kanban>.kcol{min-width:200px;width:200px}
.card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;padding:12px;margin-bottom:10px;cursor:pointer;box-shadow:0 1px 3px rgba(40,40,90,.06)}
.card:hover{box-shadow:0 6px 16px rgba(99,102,241,.16);transform:translateY(-1px)}
.card.dragging{opacity:.4}
.card .c-title{font-weight:800;font-size:14px;margin-bottom:4px}
.card .c-meta{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-weight:600}
.card-drop-line{height:3px;background:var(--primary);border-radius:3px;margin:4px 2px}
.tag{display:inline-block;font-size:10px;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.tag.tarefa{background:#fef3c7;color:#92400e}
.tag.area{background:#dcfce7;color:#166534}
.tag.prazo-tag{background:#ede9fe;color:#5b21b6}
.cp-tprazo-line{margin-top:3px}
/* área + tipos de atendimento numa linha só */
.area-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.area-pick{display:flex;gap:8px;align-items:center;font-weight:800;flex:1 1 auto;min-width:0}
.area-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* dropdown múltipla escolha (popover) */
.ms-wrap{position:relative;flex:0 0 240px;max-width:50%}
.ms-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff;cursor:pointer;font:inherit}
.ms-btn.has-val{border-color:var(--primary);background:#eef2ff}
.ms-btn .ms-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#334}
.ms-caret{color:var(--muted)}
.ms-panel{display:none;position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.18);max-height:200px;overflow:auto;padding:4px}
.ms-wrap.open .ms-panel{display:block}
.ms-opt{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:7px;cursor:pointer;white-space:nowrap}
.ms-opt:hover{background:#eef2ff}
.ms-opt input{width:16px;height:16px}
.ms-outros-wrap{padding:2px 8px 6px}
.ms-outros{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;outline:none}
.ms-outros:focus{border-color:var(--primary)}
.ta-row{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.ta-badge{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;white-space:nowrap}
.ta-badge.ok{background:#dcfce7;color:#166534}
.ta-badge.warn{background:#fef3c7;color:#92400e}
/* datas no card (cores fixas por tipo) */
.c-datas{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.dt-inicio{color:#d97706;font-weight:700;font-size:12px}
.dt-entrega{color:#7c3aed;font-weight:800;font-size:12px}
.dt-fatal{color:#dc2626;font-weight:800;font-size:12px}
/* contêiner do quadro engloba título + botões; cabeçalho transparente dentro dele */
.board-wrap{margin-top:6px}
.board-wrap .page-head{margin:0 0 10px}
/* badge de contagem nas abas dos quadros */
.qtab{display:inline-flex;align-items:center;gap:7px;font-weight:700;transition:transform .08s,box-shadow .12s}
.qtab.active{transform:translateY(-1px)}
.qtab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800}
/* ordenação por lista: botão ⇅ + menu popover */
.sort-wrap{position:relative;display:inline-block}
.sort-menu{display:none;position:absolute;top:calc(100% + 4px);right:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18);padding:4px;min-width:170px}
.sort-wrap.open .sort-menu{display:block}
.sort-item{padding:6px 10px;border-radius:7px;font-size:13px;cursor:pointer;white-space:nowrap}
.sort-item:hover{background:#eef2ff}
.sort-item.sel{font-weight:800;color:var(--primary);background:#eef2ff}
/* card órfão (sem Tipo de ação) — pulsa pra chamar atenção de classificar */
@keyframes orfaoPulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.55);background:#fff}50%{box-shadow:0 0 0 5px rgba(245,158,11,0);background:#fff7e6}}
.card-orfao{animation:orfaoPulse 1.6s ease-in-out infinite;border-left-color:#f59e0b !important}
/* Jornada do Cliente */
.jornada-steps{display:flex;gap:10px;margin:8px 0 18px;flex-wrap:wrap}
.jstep{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;flex:1 1 0;min-width:170px}
.jstep .jstep-num{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;background:#eef2ff;color:var(--primary);flex:0 0 auto}
.jstep.atual{border-color:var(--primary);box-shadow:0 4px 14px rgba(72,119,237,.18)}
.jstep.atual .jstep-num{background:var(--primary);color:#fff}
.jstep.done .jstep-num{background:#16a34a;color:#fff}
.jstep-tit{font-weight:800;font-size:13px}
.jstep-sub{font-size:11px;color:var(--muted)}
/* Cena 1 — hero central */
.jcena1{max-width:640px;margin:10px auto}
.jhero{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 18px rgba(40,40,90,.06);padding:34px 28px;text-align:center}
.jhero-ic{width:64px;height:64px;margin:0 auto 12px;border-radius:18px;background:#e0f2fe;display:flex;align-items:center;justify-content:center;font-size:30px}
.jhero h3{margin:0 0 4px;font-size:22px;font-weight:900}
.jbusca-wrap{max-width:420px;margin:14px auto 0}
.jbusca{width:100%;padding:13px 14px;border:2px solid var(--line-2);border-radius:12px;font-size:15px;font-weight:600;font-family:inherit}
.jbusca:focus{border-color:var(--primary);outline:none}
.jcli-list{margin-top:14px;display:flex;flex-direction:column;gap:8px;text-align:left;max-width:440px;margin-left:auto;margin-right:auto}
.jcli-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.jcli-item:hover{border-color:var(--primary);background:#f7f9ff}
.jcli-av{width:36px;height:36px;border-radius:50%;background:#e0f2fe;color:#0369a1;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex:0 0 auto}
.jcli-item .jcli-nome{font-weight:800}
.jcli-badge{font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;background:#dcfce7;color:#166534;white-space:nowrap}
/* Cena 2 — barra do cliente */
.jbar{display:flex;align-items:center;gap:14px;border:1px solid #c7d2fe;border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%)}
.jbar-av{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#818cf8,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;flex:0 0 auto}
.jbar-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jbar-top h2{margin:0;font-size:16px;font-weight:900}
/* 3 grupos: esquerda e direita crescem igual → o seletor de etapas fica CENTRALIZADO (sob o logo) */
.jbar-left{display:flex;align-items:center;gap:14px;flex:1 1 0;min-width:0}
.jbar-right{display:flex;align-items:center;gap:6px;flex:1 1 0;justify-content:flex-end}
.btn-link{background:none;border:none;color:var(--primary);font-weight:800;font-size:12px;cursor:pointer;padding:2px 4px}
.btn-link:hover{text-decoration:underline}
.jdados{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:10px}
.jdados-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.jdados-tit{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}
.jdados-row{font-size:12.5px;margin:2px 0}.jdados-row span{color:var(--muted)}
.jcarteira-head{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(255,255,255,.55);border-bottom:2px solid #14b8a6;color:#0f766e;font-weight:700}
.jcarteira{border-color:#c7d2fe;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%)}
.jproc-row{cursor:pointer}.jproc-row:hover{background:#ffffffcc}.jproc-row.inativo{opacity:.6}
@media(max-width:760px){.jdados-grid{grid-template-columns:1fr}}
.jpaths{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.jpath{flex:1 1 0;min-width:240px;display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:16px;cursor:pointer}
.jpath:hover{border-color:var(--primary);background:#f7f9ff}
.jpath-ic{font-size:26px}
.tbl-center th,.tbl-center td{text-align:center}
.tbl-tight th,.tbl-tight td{padding:7px 12px;font-size:14px}
.tbl-tight thead th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
tr.run-row{cursor:pointer}
tr.run-row:hover td{background:#eef4ff}
.run-detail td{background:#f8faff}
.prazo{font-weight:800}
.prazo.ok{color:var(--emerald)} .prazo.warn{color:var(--amber)} .prazo.late{color:var(--red)}
.entrega{color:#7c3aed;font-weight:800}
.mini{font-size:11px;color:var(--muted);font-weight:600}

/* ---------- Tabelas ---------- */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:800}
tbody tr:hover td{background:#f8faff}

/* ---------- Formulários ---------- */
input,select,textarea{font-family:inherit;font-size:14px;padding:10px 12px;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;min-height:44px;color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px rgba(72,119,237,.15)}
/* checkboxes/radios não devem herdar o visual de input de texto */
input[type=checkbox],input[type=radio]{min-height:auto;width:18px;height:18px;padding:0;border-width:1.5px;border-radius:5px;accent-color:var(--primary);flex:0 0 auto;cursor:pointer}
input[type=radio]{border-radius:50%}
input[type=file]{padding:8px 12px}
textarea{width:100%;min-height:90px;resize:vertical;line-height:1.45}
.field{margin-bottom:14px;min-width:0}
.field>label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:5px}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.row4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:760px){ .row4{grid-template-columns:repeat(2,1fr)} }
.modal-body .row4{gap:18px}
/* linha "campo + botão Adicionar" alinhada */
.add-inline{display:flex;gap:10px;align-items:flex-end}
.add-inline .field{flex:1 1 auto;margin-bottom:0}
.add-inline .btn{flex:0 0 auto}
.chip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:5px 12px;font-size:13px;margin:3px;font-weight:700}
.chip button{border:none;background:none;cursor:pointer;color:var(--red);font-weight:900;font-size:14px;padding:0}

/* ---------- Modal ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(30,30,60,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:14px;backdrop-filter:blur(2px)}
.modal{background:#fff;border-radius:22px;width:min(880px,96vw);max-height:90vh;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.modal.modal-sm{width:min(540px,96vw)}
.modal.modal-lg{width:min(1537px,96vw);align-self:flex-start;margin-top:44px;height:calc(100vh - 72px);max-height:calc(100vh - 72px);display:flex;flex-direction:column;overflow:hidden}
.modal-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:nowrap;padding:18px 28px;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}
.modal-head>button{flex:0 0 auto;white-space:nowrap;align-self:center}
.modal-head .head-ico{align-self:center}
.modal-head h3{margin:0;font-size:20px;font-weight:900}
.modal-body{padding:30px 34px 34px}
.modal-body>*+*{margin-top:2px}
.modal pre{white-space:pre-wrap;word-break:break-word;background:#f8faff;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:13px;line-height:1.55;font-family:'Nunito',ui-monospace,monospace;max-height:340px;overflow:auto}
.modal hr{border:none;border-top:1px solid var(--line);margin:22px 0}
.modal h4{font-size:16px;font-weight:800;margin:0 0 12px}
/* dentro de modal, mais respiro entre campos e linhas */
.modal-body .field{margin-bottom:18px}
.modal-body .row2,.modal-body .row3{gap:20px;margin-bottom:0}
.modal-body label{font-size:12.5px}
.modal-body .add-inline{margin-bottom:18px}
.modal-body .add-inline .field{margin-bottom:0}
.ficha-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
@media (max-width:820px){ .ficha-grid{grid-template-columns:1fr} }
/* ficha grande: corpo preenche a altura; publicação/checklist vão até o rodapé */
.modal-lg .modal-head{flex:0 0 auto}
.modal-lg .modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto}
.modal-lg .ficha-grid{flex:1 1 auto;min-height:0}
.modal-lg .ficha-grid>div{display:flex;flex-direction:column;min-height:0}
.modal-lg .ficha-grid pre{flex:1 1 auto;min-height:0;max-height:none;margin-top:6px}
/* ficha: 4 campos por linha */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:10px}
.grid4 .field{margin-bottom:0}
.grid4 .robox{font-size:13px;background:#f8faff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;overflow:hidden}
.grid4 .robox b{font-size:12px;color:var(--muted)}
@media (max-width:1100px){ .grid4{grid-template-columns:repeat(2,1fr)} }
/* subtítulo do cabeçalho do modal */
.head-titles{display:flex;flex-direction:column;gap:2px;min-width:0}
.head-sub{font-size:13px;color:var(--muted);font-weight:700}
.modal,.modal-body{overflow-x:hidden}
/* modal que deixa popovers (dropdowns) crescerem sem cortar nem gerar barra de rolagem.
   Ancorado abaixo da barra superior do app e crescendo para baixo. O padding-bottom reserva
   espaço para o listbox aberto das últimas linhas caber DENTRO da área branca do modal. */
.modal.modal-flow{overflow:visible;max-height:none;align-self:flex-start;margin:64px 0 48px}
.modal.modal-flow .modal-body{overflow:visible;padding-bottom:230px}
.modal.modal-flow .modal-head{position:static}
/* se o modal ficar mais alto que a tela, permite rolar o fundo para alcançar a base */
.modal-bg:has(.modal-flow){align-items:flex-start;overflow-y:auto}
.modal-body input,.modal-body select,.modal-body textarea{max-width:100%}

/* grade de membros (não estoura o modal) */
.members-grid{display:flex;flex-wrap:wrap;gap:10px}
.members-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 14px;background:#f8faff;font-weight:600;font-size:14px;cursor:pointer}

/* Painel de Tarefas — paleta de tipos */
.palette{display:flex;flex-wrap:wrap;gap:7px 8px;margin-bottom:0}
.panel-pal{padding:11px 13px}                          /* painel dos chips mais enxuto */
.ttype-chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #c7d2fe;border-radius:999px;padding:3px 12px;font-weight:800;font-size:12.5px;line-height:1.35;cursor:grab;box-shadow:0 1px 3px rgba(99,102,241,.12);user-select:none}
.ttype-chip:hover{background:#eef2ff;border-color:var(--primary)}
.ttype-chip.dragging{opacity:.5}
.ttype-chip .tt-emoji{font-size:16px}

/* seletor de emoji */
.emoji-btn{min-height:44px;width:100%;font-size:20px;cursor:pointer;background:#fff;border:1.5px solid var(--line-2);border-radius:10px;font-weight:700}
.emoji-btn:hover{border-color:var(--primary)}
.emoji-cat{font-size:12px;font-weight:800;color:var(--muted);margin:12px 0 6px;text-transform:uppercase;letter-spacing:.5px}
.emoji-row{display:flex;flex-wrap:wrap;gap:6px}
.emoji-opt{font-size:22px;line-height:1;background:#f8faff;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer}
.emoji-opt:hover{background:#eef2ff;border-color:var(--primary);transform:scale(1.1)}

/* cards de atividade (Painel de Tarefas) */
.ativ-card{position:relative;display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:10px;padding:10px 34px 10px 12px;margin-bottom:8px;cursor:grab;box-shadow:0 1px 3px rgba(40,40,90,.06)}
.ativ-card .ativ-emoji{font-size:18px;flex:0 0 auto}
.ativ-card .ativ-label{font-weight:700;font-size:14px;word-break:break-word}
.ativ-card .ativ-trash{position:absolute;top:6px;right:6px;border:none;background:none;cursor:pointer;font-size:14px;opacity:.6}
.ativ-card .ativ-trash:hover{opacity:1}
.num-link{font-weight:900;font-size:18px;color:var(--primary);text-decoration:none;cursor:pointer}
.num-link:hover{text-decoration:underline}
.num-link.late{color:var(--red)}

/* ---------- Sino / notificações ---------- */
.bell{position:relative;cursor:pointer;font-size:20px;padding:5px 9px;border-radius:10px}
.bell:hover{background:rgba(255,255,255,.18)}
.bell-badge{position:absolute;top:0;right:0;background:#fbbf24;color:#7c2d12;border-radius:20px;font-size:10px;font-weight:900;padding:1px 6px;min-width:18px;text-align:center}
.notif{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}
.notif.nova{border-left:4px solid var(--primary);background:#eef4ff}
.notif-t{font-weight:800;font-size:14px}
.notif-m{font-size:13px;color:#475569;margin:3px 0}
.notif-d{font-size:11px;color:var(--muted)}

/* ---------- Progresso / checklist ---------- */
.progress{background:#e2e8f0;border-radius:8px;height:9px;overflow:hidden;margin:6px 0}
.progress>div{height:9px;background:linear-gradient(90deg,var(--emerald),#10b981);transition:width .3s}
.checklist{margin:6px 0}
.checklist-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;font-size:14px;background:#fff}
.checklist-item.done{background:#f0fdf4}
.checklist-item.done .ci-desc{text-decoration:line-through;color:var(--muted)}
.checklist-item input[type=checkbox]{min-height:auto;width:18px;height:18px;accent-color:var(--emerald);flex:0 0 auto}
.ci-desc{flex:1;font-weight:600}
.ci-assignee{font-size:11px;color:#3730a3;background:#eef2ff;border-radius:999px;padding:2px 9px;font-weight:700}

/* ---------- diversos ---------- */
.toast{position:fixed;bottom:22px;right:22px;background:#1e293b;color:#fff;padding:13px 20px;border-radius:12px;z-index:200;box-shadow:0 12px 34px rgba(0,0,0,.3);font-size:14px;font-weight:700;opacity:0;transform:translateY(10px);transition:.25s}
.toast.show{opacity:1;transform:none}
.toast.err{background:var(--red)}
.muted{color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:44px;font-size:14px;font-weight:600}
.hidden{display:none!important}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.detail-grid div{font-size:13px;background:#f8faff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.badge-perfil{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:800;text-transform:uppercase}
/* Workspace multi-cliente (abas na barra lateral) + stepper de fases na ficha do cliente */
.ws-tabs{display:flex;flex-direction:column;gap:2px;margin:2px 4px 6px}
.ws-tab{display:flex;align-items:center;gap:8px}
.ws-tab-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
/* Atendimentos: títulos centralizados. Carteira: TODOS os títulos centralizados + conteúdo das colunas 1–7 */
.jmov-tbl thead th{text-align:center}
.jcarteira-tbl thead th{text-align:center}
.jcarteira-tbl td:nth-child(-n+7){text-align:center}
/* 1ª coluna (Tipo de ação): TÍTULO centralizado (herda o thead), mas os RESULTADOS à esquerda com o logo */
.jcarteira-tbl tbody td.jc-tipo{text-align:left}
.jc-tipo-wrap{display:flex;align-items:center;gap:9px}
.jc-tipo-wrap .cp-ico{width:30px;height:30px;border-radius:8px}
/* título do formulário na ficha do processo — logo do tipo de ação + nome destacado */
.form-titulo{display:flex;align-items:center;gap:12px;padding:11px 14px;margin-bottom:12px;background:#f0fdfa;border:1px solid #99f6e4;border-left:5px solid #14b8a6;border-radius:12px}
.form-titulo-ico{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:26px}
.form-titulo-ico img{width:44px;height:44px;object-fit:contain;border-radius:10px}
.form-titulo-t{font-size:17px;font-weight:800;color:#0f766e;line-height:1.2}
.form-titulo-sub{font-size:12px;color:#5e9a92;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
/* Levantamento de casos: MESMO container full-bleed branco da aba Cliente (referência de espaçamento) */
.cli-atend{background:#fff;margin:-24px -28px;padding:24px 28px;min-height:calc(100% + 48px)}
.cli-atend-sticky{position:sticky;top:0;z-index:20;background:#fff;padding-bottom:6px}
/* tampa a faixa acima do cabeçalho: o conteúdo do formulário não "vaza" ao rolar (fundo cinza) */
.cli-atend-sticky::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:80px;background:#fff;pointer-events:none}
/* espaçamento SIMÉTRICO da barra de abas: 14px acima (à barra do cliente) = 14px abaixo (8 + 6 do sticky) */
.cf-tabsbar{background:transparent;padding:14px 0 8px}
.cf-tabs-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cf-tabs{display:flex;gap:8px;flex-wrap:wrap}
.cf-bloco{scroll-margin-top:180px}
.cf-tab{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;cursor:pointer;font-weight:700;font-size:12.5px;color:#334155;transition:.12s;max-width:260px}
.cf-tab:hover{border-color:#14b8a6;background:#f0fdfa;color:#0f766e}
.cf-tab-ic{width:22px;height:22px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:15px}
.cf-tab-ic img{width:22px;height:22px;object-fit:contain;border-radius:5px}
.cf-tab-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f59e0b;color:#fff;font-size:10.5px;font-weight:800;line-height:1;flex:0 0 auto}
.cf-tab-main{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-width:0}
.cf-tab-chk{display:none;color:#059669;font-weight:900;font-size:14px}
.cf-tab.done{background:#ecfdf5;border-color:#a7f3d0!important;color:#065f46}
.cf-tab.done .cf-tab-chk{display:inline}
.cf-tab-x{border:none;background:none;color:#94a3b8;cursor:pointer;font-weight:900;font-size:13px;padding:0 2px;line-height:1;border-radius:6px}
/* tooltip (NEGRITO) dos ícones de tipo de ação — só o nome, sem "Ir para:" */
.cf-tipoico-wrap[data-tip]::after{content:attr(data-tip);position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:7px;background:var(--tipcolor,#0f172a);color:#fff;font-weight:800;font-size:11.5px;white-space:nowrap;padding:5px 10px;border-radius:8px;z-index:200;pointer-events:none;box-shadow:0 6px 16px rgba(2,6,23,.3);opacity:0;visibility:hidden;transition:opacity .12s}
.cf-tipoico-wrap[data-tip]:hover::after{opacity:1;visibility:visible}
.cf-tab-x:hover{color:#dc2626;background:#fee2e2}
.cf-bloco{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}
/* barra de progresso do atendimento/análise */
.cf-prog{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px}
.cf-prog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:13px}
.cf-prog-lbl{font-weight:700;color:#475569}
.cf-prog-bar{height:9px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.cf-prog-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#0f766e);border-radius:999px;transition:width .3s ease}
/* triagem enxuta: 1 pergunta por linha (nº + pergunta + Sim/Não); campos extras horizontais no Sim */
.trg-row{border:1px solid #e6edf5;border-left:4px solid #e2e8f0;border-radius:10px;padding:7px 12px;background:#fff;transition:background .12s ease}
.trg-row:nth-child(even){background:#eff6ff}
.trg-row:hover{background:#dbeafe}
.trg-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#eff6ff;color:#1e40af;font-weight:800;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.trg-b{border-radius:8px;padding:4px 16px;font-weight:800;font-size:12px;cursor:pointer;font-family:inherit;background:#fff}
/* Editar/Cadastrar cliente — campos com ALTURA UNIFORME e baixa; sem barra de rolagem no modal */
.cli-edit-form input:not([type=radio]):not([type=checkbox]), .cli-edit-form select{height:30px !important;min-height:0 !important;padding:2px 8px !important;box-sizing:border-box;line-height:1.1;font-size:13px}
.cli-edit-form textarea{padding:5px 8px !important;font-size:13px;line-height:1.3;min-height:0}
.cli-edit-form .p-3{padding:8px 10px !important}
.cli-edit-form.space-y-4>*+*{margin-top:7px !important}
.cli-edit-form .gap-2{gap:6px 8px !important}
.cli-edit-form .mb-2{margin-bottom:4px !important}
.cli-edit-form label>span{margin-bottom:0 !important;line-height:1.1}
.cli-edit-form .mt-0\.5{margin-top:1px !important}
/* modal do editar cliente: padding menor e um tico mais alto → cabe sem rolar */
.modal-edit-cli{max-height:94vh}
.modal-edit-cli .modal-body{padding:14px 20px 18px}

/* Modal da Publicação: título menor (17px em vez de 20px) e comandos/Fechar numa linha só */
.modal-pub .modal-head h3{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-pub .modal-head{flex-wrap:nowrap;align-items:center;gap:6px}
.modal-pub .modal-head .head-titles{min-width:0}
.modal-pub .modal-head .cli-ic{width:38px;height:38px}
/* Salvar: fundo branco (como os demais), com ícone/realce verde para diferenciar */
.modal-pub .cli-ic-save{color:#0f766e;border-color:#99f6e4}
.modal-pub .cli-ic-save:hover{border-color:#0d9488;color:#0f766e;background:#f0fdfa}
/* botão Fechar (último do cabeçalho) com fundo avermelhado */
.modal-pub .modal-head>button:last-child{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}
.modal-pub .modal-head>button:last-child:hover{background:#fecaca}

/* Tag de PARCERIA trabalhista (Klafke / Klafke + Monteiro) ao lado do tipo de ação — pequena, sem quebra */
.cp-partag{display:inline-block;white-space:nowrap;vertical-align:middle;margin-left:5px;padding:1px 6px;border-radius:999px;
  font-size:10px;font-weight:800;line-height:1.5;letter-spacing:.2px;background:#ccfbf1;color:#0f766e;border:1px solid #99f6e4}
.cp-partag-2{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}
.ws-close{flex:0 0 auto;border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:13px;line-height:1;padding:2px 5px;border-radius:6px}
.ws-close:hover{background:rgba(0,0,0,.1);color:#dc2626}
/* badge "análise da SabIA pronta" na aba do cliente (pisca suave até o usuário abrir) */
.ws-badge-sabia{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#0ea5e9,#2563eb);animation:wsBadgePulse 1.4s ease-in-out infinite,wsBadgeBlink 1.4s ease-in-out infinite}
/* círculo GIRANDO enquanto a SabIA analisa o cliente (à direita do chip) */
.ws-spin{flex:0 0 auto;margin-left:auto;width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(56,189,248,.28);border-top-color:#2563eb;animation:wsSpin .8s linear infinite}
@keyframes wsSpin{to{transform:rotate(360deg)}}
@keyframes wsBadgeBlink{0%,100%{opacity:1}50%{opacity:.5}}
.ws-badge-sabia + .ws-close{margin-left:4px}
/* mostra SÓ o pássaro+livro (parte esquerda do logo), centralizado e com folga; o texto "SabIA" fica fora do recorte */
.ws-badge-sabia .ws-badge-ico{width:56%;height:56%;background-image:url(/static/img/logo_sabia_light.png);background-repeat:no-repeat;background-position:left center;background-size:auto 100%;opacity:.88}
@keyframes wsBadgePulse{0%,100%{box-shadow:0 0 0 2px rgba(56,189,248,.55),0 0 6px 1px rgba(56,189,248,.45)}50%{box-shadow:0 0 0 3px rgba(37,99,235,.5),0 0 12px 4px rgba(37,99,235,.75)}}
.ws-empty{font-size:11.5px;color:#94a3b8;padding:2px 14px 8px}
/* "Quando" do modal de atendimento — dois boxes tipo checkbox, só um marcado */
.at-quando{display:flex;align-items:center;gap:9px;padding:11px 13px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:13.5px;background:#fff;transition:.12s}
.at-quando:hover{border-color:#c7d2fe}
.at-quando.on{border-color:#4877ed;background:#eef2ff}
.at-quando input{width:16px;height:16px;flex:0 0 auto}
/* tabela de áreas do atendimento — 1 área por linha, campos extras nas colunas */
.at-tbl{width:100%;border-collapse:separate;border-spacing:0 7px;font-size:13px;min-width:760px}
.at-tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-weight:800;padding:0 9px 2px}
.at-tbl td{padding:7px 9px;vertical-align:middle;background:#f8fafc;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}
.at-tbl td:first-child{border-left:4px solid var(--arc,#cbd5e1);border-radius:11px 0 0 11px}
.at-tbl td:last-child{border-radius:0 11px 11px 0;border-right:1px solid #eef2f7}
.at-row.on td{background:var(--arcbg,#fff)}
.at-row select,.at-row input{width:100%}
.at-row:not(.on){opacity:.5}
.at-name{display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer;white-space:nowrap;font-size:14px}
.at-name input{width:16px;height:16px;flex:0 0 auto}
.cli-stepper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 2px;padding:10px 12px;background:linear-gradient(90deg,#eff6ff,#f0fdf4);border:1px solid #dbeafe;border-radius:12px}
.cli-stepper-lbl{font-weight:800;color:#1f4e79;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.cli-step{display:flex;align-items:center;gap:9px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:6px 13px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.cli-step:hover{border-color:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.18)}
.cli-step.active{border-color:#0d9488;background:#f0fdfa;box-shadow:0 2px 8px rgba(13,148,136,.2)}
.cli-step.active .cli-step-n{background:#0d9488}
.cli-step.active .cli-step-t{color:#0f766e}
.cli-step-n{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.cli-step-t{font-weight:700;color:#1e293b;font-size:13px}
.cli-step-s{font-size:10.5px;color:#94a3b8}
.cli-step-arrow{color:#94a3b8;font-weight:800}
/* cabeçalho da ficha do cliente: nome | stepper (centro) | ícones de comando (direita) */
.jbar{flex-wrap:wrap}
.jbar-idblock{flex:0 1 auto;min-width:0}
.jbar .cli-stepper{flex:1 1 260px;justify-content:center;margin:0}
/* seletor deslizante das etapas da Jornada no cabeçalho do cliente */
.jbar .cli-seg{margin:0}
.cli-seg .segmode-btn{width:108px}
/* comandos (Atendimento/WhatsApp/…) sempre colados na direita, desvinculados do seletor de etapas */
.jbar .cli-acts{margin-left:auto}
.cli-acts{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.cli-ic{width:41px;height:41px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;border-radius:11px;cursor:pointer;color:#475569;transition:border-color .15s,background .15s,color .15s}
.cli-ic:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}
.cli-ic .ico{width:21px;height:21px}
.cli-ic svg{width:21px;height:21px}
.cli-ic-svg{display:inline-flex}
.cli-ic-add{color:#0d9488}
.cli-ic-add:hover{border-color:#0d9488;color:#0f766e;background:#f0fdfa}
.cli-ic-back{color:#475569}
.cli-ic-back:hover{border-color:#475569;color:#334155;background:#f1f5f9}
.cli-ic-heart{color:#e11d48}
.cli-ic-heart:hover{border-color:#e11d48;color:#e11d48;background:#fff1f2}
.cli-ic-wa{color:#25d366}
.cli-ic-wa:hover{border-color:#25d366;color:#128c7e;background:#e7fbef}
.cli-ic-star{color:#d97706}
.cli-ic-star:hover{border-color:#d97706;color:#b45309;background:#fffbeb}
.cli-ic-hon{color:#059669;background:#ecfdf5;border-color:#a7f3d0}
.cli-ic-hon:hover{border-color:#059669;color:#047857;background:#d1fae5}
.cli-ic-rec{color:#dc2626}
.cli-ic-rec:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}
.cli-ic-chat{color:#2563eb}
.cli-ic-chat:hover{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}
/* estado SELECIONADO (ex.: botão Chat quando a tela do chat está aberta) */
.cli-ic.active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;box-shadow:0 0 0 3px rgba(37,99,235,.25)}
/* Botão PADRÃO de criar tarefa (ícone clipboard-plus teal) — MESMO símbolo em todo o sistema */
.btn-tarefa{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid #99f6e4;color:#0d9488;border-radius:9px;padding:6px 10px;cursor:pointer;line-height:0;transition:background .13s,border-color .13s,color .13s}
.btn-tarefa:hover{background:#f0fdfa;border-color:#0d9488;color:#0f766e}
.btn-tarefa span{font-size:12.5px;font-weight:800;line-height:1}
.btn-tarefa--ico{padding:6px}
/* nas linhas de comando/kanban reaproveita o .cp-listtagbtn (27x27), só troca a cor p/ teal */
.cp-listtagbtn.cp-btn-tarefa{color:#0d9488}
.cp-listtagbtn.cp-btn-tarefa:hover{background:#f0fdfa;border-color:#0d9488;color:#0f766e}
.cp-listtagbtn.cp-btn-tarefa svg{width:20px !important;height:20px !important}
/* Modal PADRÃO de criar tarefa (checklist + barra de progresso) */
.tk-modal{display:flex;flex-direction:column;gap:12px}
.tk-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px}
.tk-f{display:flex;flex-direction:column;gap:5px}
.tk-lbl{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#64748b}
.tk-f select,.tk-f input{width:100%;height:38px;font-size:14px}
.tk-chk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:12px;border-top:1px dashed #e2e8f0}
.tk-chk-title{font-size:13px;font-weight:800;color:#0f766e}
.tk-prog{display:flex;align-items:center;gap:8px;min-width:170px}
.tk-prog-bar{flex:1;height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.tk-prog-fill{height:100%;width:0;background:linear-gradient(90deg,#10b981,#0d9488);border-radius:99px;transition:width .2s}
.tk-prog-txt{font-size:11.5px;font-weight:700;color:#64748b;white-space:nowrap}
.tk-chk-list{display:flex;flex-direction:column;gap:7px}
.tk-chk-row{display:flex;align-items:center;gap:8px}
.tk-chk-box{color:#94a3b8;font-size:15px;flex:0 0 auto}
.tk-chk-row input,.tk-chk-row select{height:34px;font-size:13.5px}
.tk-chk-del{border:none;background:transparent;cursor:pointer;font-size:14px;opacity:.6;flex:0 0 auto}
.tk-chk-del:hover{opacity:1}
.tk-add-item{align-self:flex-start;border:1px dashed #99f6e4;background:#f0fdfa;color:#0f766e;font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:8px;cursor:pointer}
.tk-add-item:hover{background:#ccfbf1;border-color:#0d9488}
/* itens de checklist aninhados sob a tarefa (render na ficha e no kanban) */
.tk-sub{margin:4px 0 2px 26px;display:flex;flex-direction:column;gap:3px}
.tk-sub-row{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#475569}
.tk-sub-row .tk-sub-chk{cursor:pointer}
.tk-sub-row.done .tk-sub-desc{text-decoration:line-through;color:#94a3b8}
.tk-sub-mini{display:flex;align-items:center;gap:6px;margin:2px 0 2px 26px}
.tk-sub-mini .b{flex:0 0 70px;height:5px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.tk-sub-mini .b>i{display:block;height:100%;background:linear-gradient(90deg,#10b981,#0d9488)}
.tk-sub-mini .t{font-size:10.5px;font-weight:700;color:#64748b}
@media(max-width:640px){.tk-grid{grid-template-columns:1fr}}
/* Gravador de áudio (movimentação/atendimento) */
.grav-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.grav-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #fca5a5;background:#fff;color:#dc2626;font-weight:800;font-size:13px;padding:8px 14px;border-radius:10px;cursor:pointer;transition:background .13s,border-color .13s}
.grav-btn:hover{background:#fef2f2;border-color:#dc2626}
.grav-btn.rec{background:#dc2626;color:#fff;border-color:#dc2626;font-size:14px;padding:9px 18px;animation:gravpulse 1s infinite}
@keyframes gravpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.55);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(220,38,38,0);transform:scale(1.04)}}
.grav-status{font-size:12.5px;font-weight:700;color:#64748b}
/* estado GRAVANDO bem evidente: texto vermelho piscando + "bolinha" */
.grav-status.rec{color:#dc2626;font-size:14px;font-weight:800;animation:gravblink 1s steps(2,start) infinite}
@keyframes gravblink{0%,100%{opacity:1}50%{opacity:.35}}
.grav-player{height:36px;max-width:260px}
/* onda do áudio ao vivo — fundo espacial (estrelas caindo) + onda azul→roxa; some quando não grava */
.grav-wave{display:none;width:100%;height:60px;border-radius:10px;margin:8px 0 4px;
  background:radial-gradient(120% 160% at 70% 30%, #131d42 0%, #0b1230 45%, #05070f 100%);
  border:1px solid #3b82f6}
.grav-wave.on{display:block;animation:gravwaveglow 1.8s ease-in-out infinite}
/* Caixa de texto ÚNICA do ditado: final em NEGRITO, provisório em CINZA ITÁLICO — tudo no mesmo campo */
.mov-textbox{min-height:200px;max-height:52vh;overflow:auto;font-size:15px;line-height:1.6;color:#0f172a;
  border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;outline:none;white-space:pre-wrap}
.mov-textbox:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.mov-textbox:empty::before{content:attr(data-ph);color:#94a3b8}
.mov-textbox .dit-final{font-weight:700}                    /* trecho já consolidado (transcrito) */
.mov-textbox .dit-interim{color:#94a3b8;font-style:italic;font-weight:400}   /* sendo transcrito agora */
/* Documentos do check-up — zona de upload (arrastar/soltar) + lista de arquivos lidos */
.ck-drop{border:2px dashed #93c5fd;border-radius:12px;background:#fff;padding:18px;text-align:center;color:#1e40af;cursor:pointer;font-size:14px;transition:background .12s,border-color .12s}
.ck-drop:hover{background:#eff6ff;border-color:#2563eb}
.ck-drop.over{background:#dbeafe;border-color:#2563eb}
/* documentos anexados = CHIPS lado a lado (flex-wrap), enxutos, com X no canto */
.ck-doc{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:3px 4px 3px 9px;font-size:12px;color:#334155;max-width:250px}
.ck-doc>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ck-doc>.jmini-btn{flex:0 0 auto}
.ck-doc.warn{border-color:#fca5a5;background:#fef2f2}
/* editor de períodos (etapa 3) — grid de colunas alinhadas, linha editável + ⌄ expande detalhes */
.pd-wrap{min-width:660px}
.pd-row{display:grid;grid-template-columns:24px minmax(140px,1.6fr) 96px 96px 80px 104px 34px;gap:7px;align-items:center;padding:4px 2px;border-top:1px solid rgba(15,23,42,.06)}
.pd-hdr{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-top:none;padding-bottom:2px}
.pd-hdr span{padding:0 2px}
.pd-row input,.pd-row select{width:100%;padding:5px 7px;border:1px solid #cdd8e6;border-radius:7px;font-size:13px;background:#fff;box-sizing:border-box}
.pd-row input:focus,.pd-row select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.pd-n{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;background:#eef2ff;color:#4338ca;border-radius:50%;font-weight:800;font-size:12px}
.pd-chev{border:1px solid #cfe0f5;background:#fff;color:#2563eb;font-weight:800;font-size:14px;border-radius:6px;cursor:pointer;padding:3px 0;line-height:1}
.pd-chev:hover{background:#eff6ff;border-color:#2563eb}
.pd-pan{background:#f8fafc;border:1px solid #c7d2fe;border-radius:10px;padding:10px 12px;margin:2px 0 6px}
.pd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pd-pan .field{margin-bottom:8px}
.pd-cks{display:flex;flex-wrap:wrap;gap:12px;margin:2px 0 8px}
.pd-ck{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}
@media (max-width:640px){.pd-grid2{grid-template-columns:1fr}}
/* overlay "analisando" — tema SabIA (fundo espacial, logo flutuando, anel azul→roxo) */
.ck-ov{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);animation:ckovin .18s ease-out}
@keyframes ckovin{from{opacity:0}to{opacity:1}}
.ck-ov-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:14px;
  width:min(808px,95vw);padding:34px 48px;border-radius:22px;border:1px solid #3b82f6;
  background:radial-gradient(130% 150% at 70% 15%, #1e293b 0%, #0b1230 55%, #05070f 100%);box-shadow:0 24px 70px rgba(2,6,23,.55);
  transition:width .2s ease,padding .2s ease}
.ck-ov-stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.ck-ov-name{position:relative;z-index:1;color:#fff;font-weight:900;font-size:18px;text-align:center;letter-spacing:.2px;max-width:100%;overflow-wrap:anywhere}
/* logo do SabIA CENTRADO dentro do anel que gira em volta dele */
.ck-ov-badge{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:185px;height:185px;margin:7px 0}
.ck-ov-logo{position:relative;z-index:2;width:127px;height:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.45))}
.ck-ov-ring{position:absolute;inset:0;z-index:1;width:185px;height:185px;border-radius:50%;border:5px solid rgba(255,255,255,.12);border-top-color:#38bdf8;border-right-color:#6366f1;border-bottom-color:#a855f7;animation:ckspin .9s linear infinite}
@keyframes ckspin{to{transform:rotate(360deg)}}
.ck-ov-msg{position:relative;z-index:1;color:#e2e8f0;font-weight:800;font-size:15px;text-align:center;letter-spacing:.2px;
  max-width:100%;overflow-wrap:anywhere;word-break:break-word;animation:ckmsgpulse 1.3s ease-in-out infinite;
  min-height:2.9em;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35}
.ck-ov-kicker{display:block;font-size:11px;letter-spacing:.14em;color:#7dd3fc;margin-bottom:4px;font-weight:900}
@keyframes ckmsgpulse{0%,100%{opacity:1}50%{opacity:.5}}
/* MINIMIZADO: clicar fora manda a animação pro canto inferior direito e libera o resto da tela */
.ck-ov--min{background:transparent;backdrop-filter:none;pointer-events:none;align-items:flex-end;justify-content:flex-end;padding:18px}
.ck-ov--min .ck-ov-stars{display:none}
.ck-ov--min .ck-ov-name{display:none}
.ck-ov--min .ck-ov-card{pointer-events:auto;cursor:pointer;flex-direction:row;width:auto;max-width:280px;padding:12px 16px;gap:11px;border-radius:16px}
.ck-ov--min .ck-ov-badge{width:42px;height:42px;margin:0;flex:0 0 auto}
.ck-ov--min .ck-ov-ring{width:42px;height:42px;border-width:3px}
.ck-ov--min .ck-ov-logo{width:29px}
.ck-ov--min .ck-ov-msg{font-size:12px;text-align:left;min-height:0;align-items:flex-start;white-space:nowrap}
/* Aviso no meio da tela (IA escalou atendimento → "Ciente") */
.central-ov{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,.55);backdrop-filter:blur(3px);animation:ckovin .18s ease-out;padding:18px}
.central-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
  width:min(440px,94vw);padding:28px 30px 24px;border-radius:20px;border:1px solid #f59e0b;
  background:linear-gradient(180deg,#fffbeb 0%,#ffffff 55%);box-shadow:0 24px 70px rgba(2,6,23,.45);
  animation:centralpop .22s cubic-bezier(.2,.9,.3,1.2)}
@keyframes centralpop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.central-ico{font-size:40px;line-height:1;filter:drop-shadow(0 4px 10px rgba(245,158,11,.4));animation:centralshake 1.4s ease-in-out infinite}
@keyframes centralshake{0%,92%,100%{transform:rotate(0)}94%{transform:rotate(-12deg)}96%{transform:rotate(12deg)}98%{transform:rotate(-8deg)}}
.central-t{font-weight:900;font-size:18px;color:#92400e;overflow-wrap:anywhere}
.central-m{font-size:14px;color:#334155;line-height:1.45;max-width:100%;overflow-wrap:anywhere}
.central-d{font-size:12px;color:#94a3b8}
.central-btn{margin-top:6px;min-width:160px;font-weight:800}
.central-depois{background:none;border:none;color:#94a3b8;font-size:12.5px;cursor:pointer;text-decoration:underline;padding:2px}
/* chips dos documentos recomendados: vermelho (falta) → verde (identificado) */
.ck-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.ck-chip{font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;border:1px solid}
.ck-chip.off{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.ck-chip.on{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.ck-idwarn{font-size:12.5px;color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:7px 10px;margin:6px 0}
/* triagem recolhida — enxuga a rolagem vertical do check-up */
.ck-triagem-det>summary{cursor:pointer;font-weight:800;color:#0369a1;padding:8px 10px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;list-style:none}
.ck-triagem-det>summary::-webkit-details-marker{display:none}
.ck-triagem-det[open]>summary{margin-bottom:8px}
@keyframes gravwaveglow{0%,100%{border-color:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.25),0 0 14px rgba(59,130,246,.35)}
  50%{border-color:#8b5cf6;box-shadow:0 0 0 1px rgba(139,92,246,.35),0 0 18px rgba(139,92,246,.45)}}
.at-audio{height:34px;max-width:240px;vertical-align:middle;display:inline-block}
/* Transcrição: animação "processando" + aviso de validação humana */
.transc-spin{display:flex;align-items:center;gap:10px;margin-top:8px;padding:9px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;font-weight:700;font-size:13px}
/* aviso GRANDE e pulsante enquanto a IA local melhora o texto ao parar a gravação */
.melhora-inline{display:flex;align-items:center;gap:12px;margin-top:10px;padding:14px 18px;border-radius:14px;color:#5b21b6;font-weight:800;font-size:15px;background:linear-gradient(135deg,#f3e8ff,#ede9fe);border:2px solid #c4b5fd;box-shadow:0 6px 20px rgba(124,58,237,.22);animation:melhoraPulse 1.2s ease-in-out infinite}
.melhora-ring2{width:26px;height:26px;flex:0 0 auto;border:4px solid #ddd6fe;border-top-color:#7c3aed;border-right-color:#a855f7;border-radius:50%;animation:transcspin .8s linear infinite}
.melhora-inline-t{line-height:1.3}
/* barra de gravação FIXA no topo do modal (não some ao rolar o texto) */
.grav-sticky{position:sticky;top:0;z-index:6;background:#fff;padding:2px 0 10px;margin-bottom:6px;border-bottom:1px solid #eef2f7}
.grav-lbl{display:block;font-weight:700;font-size:13px;color:#334155;margin-bottom:8px}
.grav-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.grav-row > *{margin:0}
.transc-spinner{width:18px;height:18px;border:3px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:transcspin .8s linear infinite;flex:0 0 auto}
@keyframes transcspin{to{transform:rotate(360deg)}}
/* overlay "Melhorando transcrição" (Whisper) */
.melhora-ov{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;animation:melhoraFade .18s ease}
@keyframes melhoraFade{from{opacity:0}to{opacity:1}}
.melhora-card{background:#fff;border-radius:18px;padding:26px 30px;max-width:340px;text-align:center;box-shadow:0 20px 60px rgba(2,6,23,.35);display:flex;flex-direction:column;align-items:center;gap:11px}
.melhora-ring{width:46px;height:46px;border:4px solid #ede9fe;border-top-color:#7c3aed;border-right-color:#a855f7;border-radius:50%;animation:transcspin .8s linear infinite}
.melhora-tit{font-weight:900;font-size:16px;color:#0f172a;animation:melhoraPulse 1.4s ease-in-out infinite}
@keyframes melhoraPulse{0%,100%{opacity:1}50%{opacity:.55}}
.melhora-bar{width:220px;max-width:74vw;height:7px;background:#ede9fe;border-radius:20px;overflow:hidden;position:relative}
.melhora-bar-in{position:absolute;top:0;height:100%;width:40%;border-radius:20px;background:linear-gradient(90deg,#7c3aed,#a855f7);animation:melhoraBar 1.05s ease-in-out infinite}
@keyframes melhoraBar{0%{left:-42%}100%{left:100%}}
.melhora-sub{font-size:12.5px;color:#64748b;line-height:1.45}
.transc-val{margin-top:10px;padding:10px 14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;color:#92400e;font-size:13px;line-height:1.45}
.transc-valchk{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13.5px;font-weight:700;color:#0f172a;cursor:pointer}
.transc-valchk input{width:17px;height:17px;cursor:pointer}
/* WhatsApp — chat da ficha do cliente */
.wa-modal{display:flex;flex-direction:column;gap:10px}
.wa-msgs{height:min(52vh,460px);overflow-y:auto;background:#efeae2;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}
.wa-empty{margin:auto;color:#64748b;font-size:13.5px}
.wa-daysep{align-self:center;background:#fff;color:#54656f;font-size:11.5px;font-weight:800;letter-spacing:.02em;padding:4px 12px;border-radius:8px;box-shadow:0 1px 1px rgba(0,0,0,.1);margin:6px 0}
.wa-bubble{max-width:76%;padding:7px 10px 5px;border-radius:10px;font-size:13.5px;line-height:1.4;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.wa-bubble.in{align-self:flex-start;background:#fff;border-top-left-radius:2px}
.wa-bubble.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:2px}
.wa-sender{font-size:11.5px;font-weight:800;color:#0d9488;margin-bottom:2px}
.wa-text{white-space:pre-wrap;word-break:break-word;color:#111b21}
.wa-time{font-size:10.5px;color:#667781;text-align:right;margin-top:2px}
.wa-audio{height:38px;max-width:230px}
.wa-transc{margin-top:5px;font-size:12.5px;color:#334155;white-space:pre-wrap;line-height:1.4}
.wa-img{max-width:230px;border-radius:8px;display:block}
.wa-compose{display:flex;gap:8px;align-items:flex-end}
.wa-input{flex:1;min-height:40px;max-height:120px;resize:none;padding:9px 12px;border:1.5px solid var(--line-2);border-radius:20px;font-size:14px;font-family:inherit}
.wa-send{width:44px;height:44px;flex:0 0 auto;border:none;border-radius:50%;background:#0d9488;color:#fff;font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.wa-send:hover{background:#0f766e}
.wa-devbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;background:#fff7ed;border:1px dashed #fdba74;border-radius:10px}
.wa-sim{border:1px solid #fdba74;background:#fff;color:#c2410c;font-weight:700;font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer}
.wa-sim:hover{background:#fff1e6}
.wa-sim.wa-ia{border-color:#c7d2fe;color:#4338ca}
.wa-sim.wa-ia:hover{background:#eef2ff}
.wa-sim:disabled{opacity:.6;cursor:wait}
/* Config da Cloud API */
.wa-cfg{display:flex;flex-direction:column;gap:12px}
.wa-cfg-ativo{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:9px 12px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;cursor:pointer}
.wa-cfg-ativo input{width:18px;height:18px}
.wa-cfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.wa-cfg-webhook{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.wa-cfg-row{display:flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap}
.wa-cfg-row code,.wa-cfg code{background:#eef2ff;border:1px solid #dbe3f4;border-radius:6px;padding:2px 7px;font-size:12px;word-break:break-all}
@media(max-width:640px){.wa-cfg-grid{grid-template-columns:1fr}}
/* Configurações → Assistente de IA — usa a largura toda, campos lado a lado */
.ia-cfg{width:100%}
.ia-card{margin-bottom:14px}
.ia-card-h{font-weight:800;font-size:15px;color:#0f172a}
.ia-card-sub{margin:2px 0 12px}
.ia-inp{width:100%;height:38px;padding:8px 11px;border:1.5px solid var(--line-2);border-radius:9px;font-size:14px;background:#fff;font-family:inherit}
.ia-txt{width:100%;min-height:76px;padding:9px 11px;border:1.5px solid var(--line-2);border-radius:9px;font-size:13.5px;background:#fff;font-family:inherit;line-height:1.5;resize:vertical}
.ia-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;white-space:nowrap}
.ia-check input{width:18px;height:18px}
.ia-fix{background:#fef3c7;border:1px solid #fcd34d;border-radius:9px;padding:9px 11px;line-height:1.5;color:#92400e}
.ia-f{display:flex;flex-direction:column;gap:3px;min-width:0}
.ia-lbl{font-weight:700;color:#334155}
.ia-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.ia-vc{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:14px}
.ia-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:860px){.ia-vc,.ia-2col{grid-template-columns:1fr}}
/* WhatsApp embutido na ficha (tipo WhatsApp Web) — altura medida pelo JS; rolagem só nas mensagens */
.cli-wa-mode{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.cli-wa-mode .cli-atend-sticky{flex:0 0 auto}
.wa-embed{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow)}
.cli-wa-mode .wa-embed{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;gap:8px;margin-top:10px;overflow:hidden}
.cli-wa-mode .wa-embed-head,.cli-wa-mode .wa-compose,.cli-wa-mode .wa-devbar{flex:0 0 auto}
/* cabeçalho SLIM numa linha só: ícone · nome · número à direita */
.wa-embed-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.wa-embed-ico{width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:#e7fbef;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.wa-embed-nome{font-weight:800;font-size:14px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-embed-num{font-size:12.5px;font-weight:700;color:#0d9488;margin-left:auto;white-space:nowrap}
.wa-embed-num.sem{color:#94a3b8;font-weight:600}
.cli-wa-mode .wa-msgs{flex:1 1 auto;min-height:0;height:auto}
/* cards de unidade do escritório (form de cliente / atendimento) */
.uni-card{border:2px solid #e2e8f0;border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s;text-align:center;font-size:13px}
.uni-card:hover{border-color:#93c5fd}
.uni-card.on{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);background:#eff6ff}
.uni-ic{font-size:26px;line-height:1}
.cli-star-done{background:#fef3c7;border-color:#d97706;color:#d97706}
.cli-star-done svg{fill:#f59e0b}
.badge-perfil.admin{background:#fee2e2;color:#991b1b}
.badge-perfil.auditor{background:#ede9fe;color:#6b21a8}
.badge-perfil.financeiro{background:#fef3c7;color:#92400e}
.badge-perfil.gestor{background:#dbeafe;color:#1e40af}
.badge-perfil.colaborador{background:#dcfce7;color:#166534}
.log-line{font-size:12px;color:#475569;padding:5px 0;border-bottom:1px dashed var(--line);font-weight:600}
details summary{cursor:pointer;font-weight:700;color:var(--primary);padding:6px 0}
.modal-head .head-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;background:var(--grad)}

/* ===== Jornada — conteúdo das 5 cenas (espelha o protótipo) ===== */
.jou{margin:10px 0;color:#94a3b8;font-size:12px;font-weight:700;text-align:center}
.jbar-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.jchip{border:1px solid #e2e8f0;background:#fff;color:#334155;font-weight:700;font-size:12.5px;padding:7px 11px;border-radius:10px;cursor:pointer;transition:.12s}
.jchip:hover{background:#f1f5f9;transform:translateY(-1px)}
.jchip-sky{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}
.jchip-em{background:linear-gradient(90deg,#10b981,#059669);border-color:transparent;color:#fff}
.jchip-whats{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.jchip-amber{background:#fffbeb;border-color:#fde68a;color:#92400e}
.jchip-indigo{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.jchip-eye{padding:7px 10px}
.jcarteira-badges{display:flex;gap:6px;flex-wrap:wrap}
.jcarteira-tbl th{font-size:10px;text-transform:uppercase;letter-spacing:.4px}
.jcarteira-tbl td.cnj{font-variant-numeric:tabular-nums;font-size:12px;color:#475569}
/* Parte adversa, Fase, Contratação, Distribuição: 1px menor que o padrão (14px → 13px) */
.jcarteira-tbl tbody td:nth-child(3),.jcarteira-tbl tbody td:nth-child(5),.jcarteira-tbl tbody td:nth-child(6),.jcarteira-tbl tbody td:nth-child(7){font-size:13px}
/* larguras iguais em TODOS os clientes; Tipo em 1 linha; Réu 1px menor */
.jcarteira-tbl{table-layout:fixed;width:100%}
.jcarteira-tbl td.jc-tipo{white-space:nowrap;overflow:hidden}
.jcarteira-tbl .jc-tipo-wrap{min-width:0}
.jcarteira-tbl tbody td.jc-reu{font-size:12px !important;white-space:normal;word-break:break-word;line-height:1.3}
.jmini-btn{border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-weight:700;font-size:11px;padding:5px 9px;border-radius:8px;cursor:pointer;white-space:nowrap}
.jmini-btn:hover{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}
.jproc-row.inativo{opacity:.6}
.jmov-user{display:flex;align-items:center;gap:7px;font-weight:700;font-size:12.5px}
.jmov-av{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#818cf8,#2dd4bf);color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jmov-tbl td{vertical-align:top}
.jmov-tbl{border:1px solid #cbd5e1}
.jmov-tbl th,.jmov-tbl td{border-bottom:1px solid #cbd5e1;border-right:1px solid #d8dfea}
.jmov-tbl th:last-child,.jmov-tbl td:last-child{border-right:none}
.jmov-tbl thead th{border-bottom:2px solid #94a3b8}
.at-data{white-space:nowrap;width:104px}
.at-user{width:128px}
.at-user .jmov-user{gap:6px;justify-content:center}
.at-user-nm{font-size:11.5px;line-height:1.15}
/* movimentações: centraliza o conteúdo das colunas Usuário (2ª) e Tipo (3ª) */
.jmov-tbl td:nth-child(3){text-align:center}
.at-acts{white-space:nowrap;width:84px;text-align:center}
.at-desc{white-space:pre-line;line-height:1.45;font-size:13px;color:#334155;max-width:none}
.at-desc b{color:#0f172a}
/* transcrição de áudio na lista de movimentações — negrito e um pouco maior (pedido do Ricardo) */
.at-desc.at-transc{font-size:15px;font-weight:600;color:#0f172a;line-height:1.5}
.at-desc.at-transc b{font-weight:800}
/* Nova movimentação — barra de TOPO: Tipo/Data/Destaque + Gravar + Salvar na MESMA linha */
.mov-top{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.mov-top .field{margin-bottom:0}
.mov-top .mov-f-tipo{flex:0 0 165px}
.mov-top .mov-f-data{flex:0 0 205px}
.mov-top .mov-f-dest{flex:1 1 200px;min-width:150px}
.mov-top .mov-rec{display:flex;align-items:flex-end}
.mov-top .mov-rec .grav-wrap{margin-top:0}
.mov-top .mov-salvar{flex:0 0 auto;margin:0;height:40px;align-self:flex-end}
.jaudio-pre{background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;padding:10px;margin-bottom:12px}
.jaudio-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:12px}
.jaudio-timer{font-size:42px;font-weight:900;color:#cbd5e1;font-variant-numeric:tabular-nums}
.jaudio-status{font-size:11px;color:#94a3b8;font-weight:700}
.jaudio-rec{width:74px;height:74px;border-radius:50%;border:none;background:#e11d48;color:#fff;font-size:26px;cursor:pointer;transition:.15s;box-shadow:0 8px 20px rgba(225,29,72,.35)}
.jaudio-rec:hover{background:#be123c}
.jaudio-rec.rec{background:#1e293b;animation:recPulse 1s infinite}
@keyframes recPulse{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.5)}50%{box-shadow:0 0 0 10px rgba(225,29,72,0)}}
.jsec-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px}
.jsec-ic{width:38px;height:38px;border-radius:11px;background:#e0f2fe;color:#0369a1;display:flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 auto}
.jsec-ic-grad{background:linear-gradient(135deg,#0ea5e9,#0d9488);color:#fff;animation:recPulse 2s infinite}
.jbtn-full{width:100%}
.jfeed-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.jfeed-box{border:2px dashed #cbd5e1;border-radius:14px;padding:18px;text-align:center;cursor:pointer;transition:.12s;display:block}
.jfeed-box:hover{border-color:#38bdf8;background:#f0f9ff}
.jfeed-ic{font-size:26px;margin-bottom:6px}
.jbiblio{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f8fafc;border-radius:10px;padding:9px;margin-top:8px}
.jbiblio-chip{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;color:#0369a1;cursor:pointer}
.jbiblio-chip:hover{background:#f0f9ff;border-color:#818cf8}
.jbiblio-chip.seq{background:#ccfbf1;border-color:#5eead4;color:#0f766e}
.jbar-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}
.jbar-fill{height:100%;background:linear-gradient(90deg,#10b981,#0d9488);width:0;transition:width .5s ease}
.jscan-steps{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.jscan-row{display:flex;align-items:flex-start;gap:8px;font-size:13px}
.jscan-row span{color:#059669;font-weight:900}
.fade-in{animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.jalert{display:flex;gap:10px;align-items:flex-start;border-radius:16px;padding:13px 15px;font-size:13.5px;margin-top:12px}
.jalert span{font-size:18px}
.jalert-em{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.jalert-amber{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.jops{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.jop-card{display:flex;gap:11px;align-items:flex-start;border:2px solid #e2e8f0;background:#fff;border-radius:14px;padding:13px;cursor:pointer;transition:.12s}
.jop-card:hover{border-color:#bae6fd}
.jop-card.sel{border-color:#38bdf8;background:#f0f9ff}
.jop-card input{width:19px;height:19px;margin-top:2px;accent-color:#0ea5e9}
.jop-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}
.jop-top b{font-size:14.5px;color:#0f172a}
.jop-exp{line-height:1.5}
.jmanual{display:flex;gap:10px;align-items:center;background:#eef2ff;border:1px dashed #c7d2fe;border-radius:14px;padding:13px;margin-top:12px}
.jmanual span{font-size:20px;color:#4f46e5}
.jnext-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:13px 15px;margin-top:12px}
.jprog-pct{font-size:24px;font-weight:900;color:#059669}
.jpills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.jpill{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px}
.jpill.ok{background:#dcfce7;color:#166534}
.jpill.pend{background:#fef3c7;color:#92400e}
.jcards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:14px}
.jcard{border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:9px}
.jcard-top{display:flex;gap:6px;flex-wrap:wrap}
.jcard-tit{font-size:15px;color:#0f172a}
.jcard-ok{display:flex;align-items:center;gap:8px;color:#059669;font-weight:800;font-size:13px}
.jcard-sec{border-top:1px dashed #e2e8f0;padding-top:8px}
.jcard-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#94a3b8;font-weight:800;margin-bottom:3px}
.jcard-hon{font-weight:900;color:#0369a1}
.btn-sky{background:#0ea5e9;border-color:#0ea5e9;color:#fff}
.btn-sky:hover{background:#0284c7}
.jbtn-pulse{animation:recPulse 2.2s infinite}
.jcart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:linear-gradient(90deg,#ecfdf5,#f0fdfa);border-bottom:1px solid #a7f3d0}
.jcart-hon{font-size:18px;font-weight:900;color:#0369a1}
.jcart-list{padding:12px 15px;display:flex;flex-direction:column;gap:7px}
.jcart-row{display:flex;align-items:center;gap:9px;font-size:13px}
.jcart-row span:first-child{color:#059669;font-weight:900}
.jform-sec{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;font-weight:900;margin:14px 0 6px;border-bottom:1px solid #e2e8f0;padding-bottom:4px}
.jcontrat-grid{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-top:14px;align-items:start}
.jhon-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed #e2e8f0}
.jhon-row:last-child{border-bottom:none}
.jdoc-blk{border:1px solid #e2e8f0;border-radius:14px;padding:0;overflow:hidden;margin-top:12px}
.jdoc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 13px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.jdoc-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:13px}
.jdoc-lbl{font-size:11px;font-weight:900;margin-bottom:7px}
.jdoc-lbl.rose{color:#be123c}
.jdoc-lbl.sky{color:#0369a1}
.jdoc-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0;cursor:pointer}
.jdoc-row input{width:16px;height:16px;margin-top:2px;accent-color:#059669}
.jdoc-row.done .jdoc-nome{text-decoration:line-through;opacity:.6}
.jdoc-nome{font-size:13px;font-weight:700;color:#1e293b}
.jdoc-resp{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;font-weight:700}
.jresumo{position:sticky;top:14px}
.jresumo-card{background:linear-gradient(135deg,#0284c7,#7e22ce);color:#fff;border-radius:18px;padding:16px}
.jresumo-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.85;margin-bottom:8px}
.jresumo-line{font-size:14px;margin:4px 0}
.jresumo-hr{border:none;border-top:1px solid rgba(255,255,255,.25);margin:12px 0}
.jresumo-pdf{width:100%;background:#fff;color:#0369a1}
.jdone{background:linear-gradient(135deg,#ecfdf5,#f0fdfa,#f0f9ff);border:1px solid #a7f3d0;border-radius:20px;padding:22px;text-align:center;margin-top:14px}
.jdone-ic{font-size:42px}
.jdone h2{color:#065f46;margin:8px 0 4px}
.jdone-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.jdone-num{font-size:26px;font-weight:900}
.jdone-num.sky{color:#0369a1}.jdone-num.em{color:#047857}.jdone-num.pink{color:#be185d}
.jdone-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
@media(max-width:900px){.jfeed-grid,.jcontrat-grid,.jdoc-cols{grid-template-columns:1fr}.jresumo{position:static}}

/* ===== Jornada embutida (iframe do protótipo oficial) ===== */
.jornada-frame{width:100%;height:100%;min-height:100%;border:0;display:block;background:#f8fafc}
body.view-jornada .view-body{padding:0;overflow:hidden}
/* ===== Aviso global do Robô DJENIUS (canto inferior direito) ===== */
.robo-chip{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:9px;background:#0f172a;color:#fff;font-weight:700;font-size:13px;padding:10px 14px;border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.35)}
.robo-chip.hidden{display:none}
.robo-spin{width:15px;height:15px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#38bdf8;animation:roboSpin .8s linear infinite;flex:0 0 auto}
@keyframes roboSpin{to{transform:rotate(360deg)}}
.robo-dots{display:inline-flex;gap:3px}
.robo-dots i{width:5px;height:5px;border-radius:50%;background:#38bdf8;display:inline-block;animation:roboDot 1.2s infinite ease-in-out}
.robo-dots i:nth-child(2){animation-delay:.2s}
.robo-dots i:nth-child(3){animation-delay:.4s}
@keyframes roboDot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
/* ===== Telas de board (Prazos / Minha Área kanban): a TELA não rola; só as COLUNAS rolam ===== */
body.view-noscroll .view-body{overflow:hidden}
.board-screen{display:flex;flex-direction:column;height:100%;min-height:0}
.board-screen>.kanban{flex:1;min-height:0;overflow-y:hidden}
.board-screen>.board-wrap{flex:1;min-height:0;display:flex;flex-direction:column}
.board-screen .board-wrap>.kanban{flex:1;min-height:0;overflow-y:hidden}
.board-screen .kcol{max-height:100%}
/* Kanban de Prazos e Minha Área renderizado ~10% menor (como visto a 90% de zoom) */
.board-screen .kanban{zoom:0.9}

/* ===== Ficha do Processo (tela cheia unificada) ===== */
.ficha-acts{display:flex;align-items:center;gap:8px}
.ficha-acts .spacer{flex:1}
.ficha-panel .grid4{margin-bottom:4px}
.ficha-pub{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-size:12.5px;max-height:220px;overflow:auto;margin:0}
.ficha-docs{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fbfcff}
.ficha-docs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ficha-docs-cnt{display:flex;gap:10px;font-size:11px;font-weight:800}
.ficha-doc-warn{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:2px 8px}
.ficha-doc-rec{background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:8px;padding:2px 8px}
.ficha-docs .jdoc-row{align-items:center}

/* ===== Ficha do Processo — LAYOUT DO PROTÓTIPO (Tailwind + classes próprias) ===== */
.badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;display:inline-block}
.b-inicial{background:#d1fae5;color:#065f46}
.b-andamento{background:#fef3c7;color:#92400e}
.b-recurso{background:#ecfeff;color:#5b21b6}
.b-cumprimento{background:#dbeafe;color:#1e40af}
.b-arquivado{background:#f1f5f9;color:#475569}
/* padding igual ao .view-body da ficha do cliente (24px 28px) → as barras de título ficam na MESMA posição */
.ficha-processo-wrap{display:flex;flex-direction:column;overflow:hidden;gap:12px;height:calc(100vh - 102px);min-height:0;padding:24px 28px;box-sizing:border-box}
.ficha-processo-grid{flex:1 1 auto;min-height:0;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 460px;grid-template-rows:minmax(0,1fr)}
.ficha-coluna-scroll{overflow-y:scroll;min-height:0;background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);border-radius:14px;border:1px solid #c7d2fe;box-shadow:0 1px 2px rgba(0,0,0,.04);display:flex;flex-direction:column;scrollbar-width:auto;scrollbar-color:#818cf8 #e0e7ff}
.ficha-coluna-scroll::-webkit-scrollbar{width:14px}
.ficha-coluna-scroll::-webkit-scrollbar-track{background:#e0e7ff;border-radius:0 14px 14px 0}
.ficha-coluna-scroll::-webkit-scrollbar-thumb{background:#a5b4fc;border-radius:8px;border:3px solid #e0e7ff}
.ficha-coluna-scroll::-webkit-scrollbar-thumb:hover{background:#818cf8}
.ficha-aba-tabs{flex:0 0 auto;position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);border-bottom:1px solid #c7d2fe;padding:8px 10px 0;display:flex;gap:2px;flex-wrap:nowrap;justify-content:space-between}
.ficha-aba-tab{padding:7px 6px;font-size:15px;font-weight:700;white-space:nowrap;color:#0f766e;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;display:flex;align-items:center;gap:4px}
.ficha-aba-tab:hover{color:#0b5b54}
.ficha-aba-tab.active{color:#0f766e;border-bottom-color:#14b8a6}
/* página vertical: cada subaba é uma seção empilhada; a barra sticky rola por cima */
.ficha-secao{scroll-margin-top:82px;margin-bottom:22px}   /* cabeçalho fixo (título + subabas) mais alto → o título verde da seção fica visível ao clicar na subaba */
.ficha-secao-head{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#0f766e;margin:2px 0 12px;padding-bottom:6px;border-bottom:2px solid #99f6e4}
/* página vertical: o conteúdo NÃO encolhe (flex:0 0 auto) e NÃO tem overflow próprio — quem rola é a .ficha-coluna-scroll */
.ficha-aba-conteudo{flex:0 0 auto;overflow:visible;display:block;padding:14px 20px 38vh}
.chat-ia-card{display:flex;flex-direction:column;height:100%;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(99,102,241,.18);background:linear-gradient(150deg,#eef2ff 0%,#f5f3ff 55%,#faf5ff 100%);border:1px solid #c7d2fe}
.chat-ia-header{flex:0 0 auto;padding:10px 14px;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#a5b4fc 0%,#c4b5fd 60%,#d8b4fe 100%);color:#0f172a}
.chat-ia-header .title{font-size:15px;font-weight:900;color:#0f172a}
.chat-ia-header .subtitle{font-size:12px;font-weight:700;color:#1e293b}
.chat-ia-body{flex:1 1 auto;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.chat-ia-presets{flex:0 0 auto;padding:8px 10px;display:flex;gap:4px;flex-wrap:wrap;background:rgba(199,210,254,.35);border-top:1px solid #c7d2fe}
.chat-ia-footer{flex:0 0 auto;padding:10px 12px;display:flex;align-items:center;gap:8px;background:rgba(238,242,255,.7);border-top:1px solid #c7d2fe}
.chat-ia-msg-bot{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;color:#4c1d95;padding:9px 13px;border-radius:14px 14px 14px 4px;font-size:14px;line-height:1.45;box-shadow:0 1px 2px rgba(124,58,237,.08);max-width:85%}
.chat-ia-msg-user{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e3a8a;padding:9px 13px;border-radius:14px 14px 4px 14px;font-size:14px;line-height:1.45;margin-left:auto;border:1px solid #93c5fd;box-shadow:0 1px 2px rgba(37,99,235,.08);max-width:85%}
.chat-ia-presets button{font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer;font-weight:700}
.chat-ia-footer input{flex:1;border-radius:8px;padding:8px 12px;font-size:13px;border:1px solid #c7d2fe;background:#fff;color:#1e1b4b}
@media(max-width:1100px){.ficha-processo-grid{grid-template-columns:1fr}}
body.view-ficha .view-body{padding:0;overflow:hidden}
.tarefa-rows-head{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;padding:0 2px 4px}
.tarefa-rows{display:flex;flex-direction:column;gap:7px;max-height:46vh;overflow:auto}
.tarefa-row{display:flex;gap:8px;align-items:center}
.tarefa-row select,.tarefa-row input{width:100%}
.doc-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.doc-edit-box{border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.doc-edit-box.rose{background:#fff5f5;border-color:#fecaca}
.doc-edit-box.amber{background:#fffbeb;border-color:#fde68a}
.doc-edit-lbl{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;color:#475569;margin-bottom:8px}
.doc-edit-list{display:flex;flex-direction:column;gap:6px}
.doc-edit-row{display:flex;gap:6px;align-items:center}
.doc-edit-row input{flex:1}
@media(max-width:760px){.doc-edit-grid{grid-template-columns:1fr}}
.ficha-proc{display:flex;flex-direction:column;gap:12px}
.ficha-head{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#ecfdf5,#f0f9ff);border:1px solid #bbf7d0;border-radius:14px;padding:12px 14px}
.ficha-head-tit{font-size:17px;font-weight:900;color:#0f172a;margin:2px 0 5px}
.ficha-head-meta{text-align:right;font-size:12px;color:#475569;line-height:1.6}
.ficha-cols{display:grid;grid-template-columns:1fr 330px;gap:14px;align-items:start}
.ficha-main{min-width:0}
.ficha-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid #e2e8f0;margin-bottom:12px}
.ficha-tab{background:none;border:none;border-bottom:3px solid transparent;padding:8px 12px;font-weight:700;font-size:13px;color:#64748b;cursor:pointer;margin-bottom:-2px}
.ficha-tab:hover{color:#1e293b}
.ficha-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.ficha-tabbody{min-height:120px}
.ficha-sec-lbl{font-size:11px;font-weight:900;letter-spacing:.5px;color:#64748b;text-transform:uppercase;margin-bottom:6px}
.ficha-ta{width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font:inherit;font-size:13px;resize:vertical}
.ficha-drop{border:2px dashed #cbd5e1;border-radius:12px;padding:26px;text-align:center;color:#94a3b8;font-weight:700;font-size:13px;margin-top:6px}
.ficha-timeline{display:flex;gap:4px;overflow-x:auto;padding:6px 0}
.ftl-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:88px;text-align:center;position:relative}
.ftl-step::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:#e2e8f0;z-index:0}
.ftl-step:first-child::before{display:none}
.ftl-step.done::before,.ftl-step.atual::before{background:#16a34a}
.ftl-dot{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;z-index:1}
.ftl-step.done .ftl-dot{background:#16a34a}
.ftl-step.atual .ftl-dot{background:var(--primary)}
.ftl-lbl{font-size:10px;color:#64748b;font-weight:700;line-height:1.15}
.ftl-step.atual .ftl-lbl{color:var(--primary)}
.ficha-tarefas{border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:12px}
.ficha-chat{display:flex;flex-direction:column;border:1px solid #ddd6fe;border-radius:14px;background:#faf5ff;overflow:hidden;height:520px}
.ficha-chat-head{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-bottom:1px solid #ddd6fe}
.ficha-chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.fchat-ia{background:#fff;border:1px solid #e9d5ff;border-radius:12px 12px 12px 4px;padding:9px 11px;font-size:12.5px;color:#3730a3;max-width:90%}
.fchat-eu{background:var(--primary);color:#fff;border-radius:12px 12px 4px 12px;padding:9px 11px;font-size:12.5px;align-self:flex-end;max-width:90%}
.ficha-chat-quick{display:flex;flex-wrap:wrap;gap:5px;padding:8px 10px;border-top:1px solid #ede9fe}
.ficha-chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid #ede9fe}
.ficha-chat-input input{flex:1}
@media(max-width:900px){.ficha-cols{grid-template-columns:1fr}.ficha-chat{height:380px}}
/* ===== Controles do usuário na barra superior (saudação + sino + sair) ===== */
.user-controls{position:absolute;top:0;height:102px;right:26px;z-index:60;display:flex;align-items:center;gap:10px;color:#fff}
.uc-greet{color:#fff;font-weight:600;font-size:13px;display:flex;flex-direction:row;align-items:center;gap:5px;line-height:1.1;white-space:nowrap}
.uc-pts{background:rgba(255,255,255,.92);color:#166534;font-weight:900;font-size:12px;border-radius:20px;padding:2px 10px;white-space:nowrap}
.uc-name{background:none;border:none;color:#fff;font-weight:900;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0;font-family:inherit}
.uc-name:hover{opacity:.85}
.user-controls .bell{cursor:pointer;font-size:14px;position:relative;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4)}
.user-controls .bell:hover{background:rgba(255,255,255,.28)}
.uc-sair{background:rgba(255,255,255,.92);color:#1e3a8a;border:none;font-weight:800;font-size:12.5px;padding:6px 13px;border-radius:9px;cursor:pointer}
.uc-sair:hover{background:#fff}

/* Honorários — módulo financeiro */
.hon-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.hon-metrics .metric{padding:10px 14px}
.hon-metrics .metric .num{font-size:21px;font-weight:900}
.hon-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.hon-tbl td,.hon-tbl th{vertical-align:middle}
/* coluna VALOR (4ª: cb, Venc, Pgto, VALOR) numa linha só e um pouco mais larga; Descrição (6ª) cede o espaço */
.hon-tbl td:nth-child(4),.hon-tbl th:nth-child(4){white-space:nowrap;width:128px;min-width:128px}
.hon-tbl td:nth-child(6),.hon-tbl th:nth-child(6){width:34%}
.hon-tbl tr:hover{background:#f8fafc}
.hon-tbl tr.hon-provisao{background:#faf5ff}
.hon-tbl tr.hon-provisao:hover{background:#f3e8ff}
.hon-cb{width:16px;height:16px;cursor:pointer}
.lnk{background:none;border:none;color:#2563eb;cursor:pointer;font-size:13px;padding:2px 5px;border-radius:6px}
.lnk:hover{background:#eff6ff}
.lnk.lnk-del{color:#dc2626}
.lnk.lnk-del:hover{background:#fef2f2}
.btn-ajuda{background:#f59e0b;border-color:#d97706;color:#fff}
.btn-ajuda:hover{background:#d97706}
.hon-tbl tr.hon-ajuda{background:#fffbeb}
.hon-tbl tr.hon-ajuda:hover{background:#fef3c7}
.hon-tbl td.hon-st,.hon-tbl thead th:nth-last-child(2){text-align:center}
.hon-st-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:3px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:filter .12s,box-shadow .12s}
.hon-st-btn .st-caret{font-size:11px;opacity:.65;font-weight:900}
.hon-st-btn:hover{filter:brightness(.95);box-shadow:0 0 0 3px rgba(72,119,237,.20)}

/* Agenda — Recepção por sede (painéis coloridos, todas as sedes na mesma tela) */
.sede-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(470px,1fr));gap:14px;align-items:start}
.sede-grid-single{grid-template-columns:1fr}
.sede-panel{border:2px solid;border-radius:16px;overflow:hidden;box-shadow:0 1px 4px rgba(40,40,90,.06)}
.sede-panel-head{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#fff;border-bottom:2px solid rgba(0,0,0,.06)}
.sede-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}
.sede-kicker{font-size:10px;font-weight:900;letter-spacing:.1em}
.sede-nome{font-size:16px;font-weight:900;color:#0f172a;line-height:1}
.sede-stats{display:flex;gap:12px;font-size:11px;color:#64748b;flex-wrap:wrap;justify-content:flex-end;text-align:right}
.sede-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}
.sede-sec{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.sede-sec-head{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#334155}
.sede-sec-n{background:rgba(255,255,255,.7);border-radius:999px;padding:0 8px;font-size:11px;font-weight:800}
.sede-sec-body{max-height:30vh;overflow:auto;padding:6px}
.sede-vazio{padding:14px;text-align:center;color:#94a3b8;font-style:italic;font-size:11px}
.sede-card{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:6px}
.sede-card:last-child{margin-bottom:0}
.sede-card-l{width:4px;border-left:4px solid;border-radius:4px;flex:0 0 auto}
.sede-card-top{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:2px}
.sede-tip{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:999px}
.sede-cli{font-weight:800;font-size:13px;color:#0f172a;line-height:1.2}
.sede-card-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#64748b;margin-top:3px;align-items:center}

/* Ficha do processo — aba Publicações */
.pub-tbl{table-layout:fixed;width:100%}
.pub-tbl th,.pub-tbl td{vertical-align:top;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.pub-tbl th:nth-child(1),.pub-tbl td:nth-child(1){width:78px}    /* Data */
.pub-tbl th:nth-child(2),.pub-tbl td:nth-child(2){width:88px;white-space:nowrap}  /* Fonte (não quebra a tag) */
.pub-tbl th:nth-child(3),.pub-tbl td:nth-child(3){width:210px}   /* Órgão / Tribunal */
.pub-tbl th:nth-child(4),.pub-tbl td:nth-child(4){width:106px}   /* Tipo */
.pub-tbl td:nth-child(3){font-size:13px}                          /* Órgão / Tribunal (-1px) */
/* Conteúdo (5ª col) pega todo o resto: texto inteiro, com quebra de linha, SEM rolagem — a linha cresce */
.pub-tbl .pub-texto{white-space:pre-line;font-size:13px;color:#475569;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;display:block}
/* Título e cabeçalho da tabela fixos; só o corpo rola */
/* Aba Publicações ocupa a altura toda; SÓ a tabela rola (uma barra, não duas) */
/* (removido) a regra :has(.pub-wrap) cortava a página inteira agora que tudo é empilhado */
.pub-wrap{display:flex;flex-direction:column;min-height:0;flex:1}
.pub-scroll{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.pub-scroll .pub-tbl thead th{position:sticky;top:0;z-index:2;background:#eef2ff;box-shadow:0 1px 0 #c7d2fe}

/* Linha do tempo do caso — cabe na largura; rótulos alternam acima/abaixo da linha (fonte maior) */
.tl-trilho{position:relative;width:100%}
.tl-steps{display:flex;justify-content:space-between;align-items:flex-start;gap:2px}
.tl-step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.tl-step:hover .tl-lbl{text-decoration:underline}
.tl-top{height:58px;width:100%;display:flex;align-items:flex-end;justify-content:center}
.tl-bot{height:58px;width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:3px}
.tl-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff;position:relative;z-index:2;flex:0 0 auto}
/* rótulo usa a largura extra da alternância (vizinhos do mesmo nível ficam a 2 passos) e quebra SÓ nos espaços */
.tl-lblbox{display:flex;flex-direction:column;align-items:center;width:175%}
.tl-lbl{font-size:11px;font-weight:800;text-align:center;line-height:1.15;white-space:normal;overflow-wrap:normal;word-break:keep-all;hyphens:none}
.tl-dt{font-size:10px;color:#94a3b8;line-height:1.1;margin-top:1px;text-align:center;white-space:nowrap}
.tl-line-bg{position:absolute;left:11px;right:11px;top:69px;height:2px;background:#e2e8f0;z-index:1}
.tl-line-fg{position:absolute;left:11px;top:69px;height:2px;background:#10b981;z-index:1;max-width:calc(100% - 22px)}

/* ===== Cor por ÁREA (regra oficial: Prev=azul, Trab=amarelo, Cível=verde, Consumidor=laranja) ===== */
.tag.a-prev{background:#dbeafe;color:#1e40af}
.tag.a-trab{background:#fef9c3;color:#854d0e}
.tag.a-civel{background:#dcfce7;color:#166534}
.tag.a-cons{background:#ffe4d5;color:#c2410c}
.tag.a-varios{background:#e2e8f0;color:#475569}

/* ===== Pré-ajuizamento ===== */
.pa-note{background:#fffbeb;border:1px solid #fde68a;color:#78350f;font-size:12px;padding:9px 13px;border-radius:10px;margin-bottom:12px}
/* Escaninho em forma de PASTA (cor da área) */
.esc-tile{position:relative;background:var(--abg,#fff);border:1px solid var(--area,#cbd5e1);border-radius:11px;border-top-left-radius:3px;padding:10px 11px 9px;margin:13px 0 8px;cursor:pointer;transition:.12s;display:flex;flex-direction:column;gap:5px;min-height:0}
.esc-tile::before{content:"";position:absolute;top:-7px;right:16px;width:56px;height:9px;background:var(--area,#94a3b8);border-radius:6px 6px 0 0}
.esc-tile:hover{box-shadow:0 6px 16px rgba(15,23,42,.16);transform:translateY(-2px)}
.esc-tile .et-head{display:flex;gap:9px;align-items:center}
.esc-tile img.et-ico{height:52px;width:auto;max-width:70px;object-fit:contain;flex:0 0 auto}
.esc-tile .et-nome{flex:1;min-width:0;font-weight:800;font-size:12.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.esc-tile .et-count{flex:0 0 auto;align-self:flex-start;font-size:13.5px;font-weight:900;background:var(--area,#4877ed);color:#fff;border-radius:20px;padding:3px 11px;min-width:24px;text-align:center;line-height:1.05}
.card .c-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.card .c-tipo-ico{height:40px;width:40px;object-fit:contain;flex:0 0 auto}
.tipo-cell{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.tipo-cell .tipo-cell-ico{height:36px;width:36px;object-fit:contain}
.tipo-cell span{font-size:11px;font-weight:700;color:#334155;line-height:1.15}
.esc-tile .et-tags{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.esc-tile .et-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10.5px;color:#475569;font-weight:600}
/* 1ª camada: 5 colunas de fase ocupam a largura + rolagem independente por coluna (como Prazos) */
.kanban-fases{width:100%}
.kanban-fases>.kcol{flex:1 1 0;min-width:232px;width:auto}
/* Pré-ajuizamento: separa visualmente as colunas do fundo da tela (cor + borda + sombra) */
.pa-view .kcol{background:#e7edfb;border:1px solid #c2cdee;box-shadow:0 3px 12px rgba(99,102,241,.12)}
.pa-view .kcol-head{background:rgba(255,255,255,.65)}
.pa-view>.pa-top{flex:0 0 auto;margin-bottom:8px}
.pa-view>.pa-body{flex:1;min-height:0;display:flex;flex-direction:column}
.pa-view>.pa-body.scroll{display:block;overflow:auto}
.pa-view .pa-body>.kanban{flex:1;min-height:0;overflow-y:hidden;overflow-x:auto}
.pa-table thead th{position:sticky;top:0;z-index:2}
.pa-segbox{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.pa-seg{border:0;background:#fff;padding:6px 14px;font-weight:800;font-size:12px;cursor:pointer;color:#475569;font-family:inherit}
.pa-seg.on{background:var(--primary,#4877ed);color:#fff}
.pa-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pa-table th{background:#f8fafc;padding:9px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:1px solid #eef2f7}
.pa-table th:hover{background:#eef2f7}
.pa-table td{padding:5px 9px;border-top:1px solid #eef2f7}
.pa-table td select{padding:3px 6px;font-size:11px}
.pa-table tbody tr:hover{background:#f8fbff}
.pa-table th,.pa-table td{border-right:1px solid #e7ecf3}
.pa-table th:last-child,.pa-table td:last-child{border-right:0}

/* ===================== Agenda (4 abas + filtro único) ===================== */
.ag-root{height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}
/* SEM o card em volta: a barra fica direto na página, igual à Carteira de Processos (só o seletor tem o pill).
   padding:0 → mesma altura/distância da barra azul que a Carteira (.cp-topline não tem padding). */
.ag-filtro{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;flex:0 0 auto}
.ag-fld{display:flex;flex-direction:column;gap:5px}
.ag-fld>label{font-size:12px;font-weight:800;color:var(--muted)}
.ag-fld input,.ag-fld select{min-height:40px;padding:8px 10px;font-size:13.5px;border:1.5px solid var(--line-2);border-radius:10px;background:#fff}
.ag-fld input.filled,.ag-fld select.filled{background:#fdf6e3;border-color:#e9c766}
.ag-tabs{display:flex;gap:6px;flex-wrap:wrap}
.ag-tab{min-height:40px;background:#eef2ff;border:1px solid var(--line);border-radius:10px;padding:0 13px;font-weight:800;font-size:13px;color:#475569;cursor:pointer;display:inline-flex;align-items:center}
.ag-tab.on{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(72,119,237,.30)}
.ag-spacer{flex:1}
/* Agenda: TUDO numa linha só (filtros + busca + visualização + Agendar) — compacto p/ caber */
.ag-filtro.ag-filtro-1row{gap:8px;align-items:flex-end}
.ag-filtro.ag-filtro-1row .ag-fld{gap:3px}
.ag-filtro.ag-filtro-1row .ag-fld>label{font-size:11px}
.ag-filtro.ag-filtro-1row .ag-fld input,.ag-filtro.ag-filtro-1row .ag-fld select{min-height:36px;padding:6px 8px;font-size:12.5px;border-radius:9px}
.ag-filtro.ag-filtro-1row input[type=date]{width:132px;min-width:0}
/* rótulo compacto à esquerda do campo (não empilhado em cima) */
.ag-fld.ag-fld-inline{flex-direction:row;align-items:center;gap:6px}
.ag-fld-lbl{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}
.ag-filtro.ag-filtro-1row{align-items:center}
/* busca elástica (encolhe bastante) + Agendar fixo à direita: tudo numa linha, botão não quebra */
.ag-filtro.ag-filtro-1row .ag-fld-busca{flex:1 1 100px;min-width:70px}
.ag-filtro.ag-filtro-1row .ag-fld-busca input{width:100%;min-width:0}
.ag-btn-agendar{flex:0 0 auto;white-space:nowrap;font-size:11.5px;padding-left:11px;padding-right:11px}
.ag-filtro.ag-filtro-1row .ag-fld select{max-width:132px}
/* o select de Unidade só o suficiente p/ caber "Todas as unidades" */
.ag-filtro.ag-filtro-1row .ag-fld.ag-fld-uni select{max-width:none;min-width:144px}
.ag-filtro.ag-filtro-1row .ag-busca{width:230px}
.ag-filtro.ag-filtro-1row .ag-tabs{gap:4px;flex-wrap:nowrap}
.ag-filtro.ag-filtro-1row .ag-tab{min-height:36px;padding:0 9px;font-size:11.5px}
.ag-filtro.ag-filtro-1row .ag-spacer{min-width:0}
.ag-filtro.ag-filtro-1row .btn{min-height:36px}
.ag-filtro.ag-filtro-1row .ag-fld-vis>label{text-align:center;display:block}
/* campo de busca ENCOLHE p/ caber tudo numa linha (o ＋ Agendar nunca quebra) */
.ag-filtro.ag-filtro-1row{flex-wrap:nowrap}
.ag-filtro.ag-filtro-1row .ag-fld-busca{flex:1 1 0;min-width:60px}
.ag-filtro.ag-filtro-1row .ag-fld-busca .ag-busca{width:100%;min-width:0}
/* ControladorIA — tabelas compactas (linhas ~60% da altura anterior) */
.ctrl-tight td, .ctrl-tight th{padding:3px 8px !important;vertical-align:middle}
.ctrl-tight input, .ctrl-tight select{height:28px !important;min-height:0 !important;padding:2px 8px !important;font-size:12.5px !important;line-height:1.1}
.ctrl-tight .btn, .ctrl-tight .btn-sm{padding:3px 9px !important;font-size:11.5px !important;line-height:1.3}

/* seletor deslizante da Visualização da Agenda (largura automática por rótulo) */
.ag-seg{align-self:flex-end}
.ag-seg .segmode-btn{width:auto;padding:0 16px}
.ag-seg .segmode-ind{width:auto;transition:transform .24s cubic-bezier(.4,0,.2,1),width .24s cubic-bezier(.4,0,.2,1)}
/* setas ◀ ▶ de navegar por DIA na barra da agenda */
.ag-navdia{flex:0 0 auto;height:36px;width:32px;border:1px solid var(--line-2);border-radius:9px;background:#fff;color:#334155;cursor:pointer;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ag-navdia:hover{background:#eef4ff;border-color:#2563eb;color:#2563eb}
.ag-capbar{flex:0 0 auto;font-weight:800;color:#334155;font-size:14px;padding:6px 2px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ag-capbar .ag-cap-n{color:var(--muted);font-weight:800;font-size:13px;white-space:nowrap}
.ag-capbar #ag-cap{white-space:nowrap}
.ag-cap-chips{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.ag-area{flex:1;min-height:0;display:flex;flex-direction:column}
.ag-scroll{flex:1;min-height:0;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.ag-empty{padding:24px;text-align:center;color:var(--muted);font-weight:700}
.ag-note{color:var(--muted);font-size:12.5px;font-weight:600;margin:0;padding:12px 14px}
.ag-resumo{padding:12px 14px;font-weight:700;color:#334155;font-size:13.5px}
.ag-tbl{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}
.ag-tbl th{position:sticky;top:0;z-index:2;background:#eef2ff;color:#3730a3;text-align:left;padding:11px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:800}
.ag-tbl td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
/* larguras — Detalhe menor, dando espaço p/ Tipo/Cliente/Responsável */
.t-hora{width:6%}.t-tipo{width:13%}.t-cli{width:17%}.t-det{width:32%}.t-uni{width:10%}.t-resp{width:13%}.t-status{width:9%}
.p-hora{width:5%}.p-tipo{width:15%}.p-area{width:9%}.p-cli{width:12%}.p-det{width:10%}.p-obs{width:29%}.p-resp{width:13%}.p-avis{width:7%}
.ag-tbl td.pa-obs{font-size:12px}
.ag-cli.cl-link{color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.ag-cli.cl-link:hover{opacity:.8}
/* fontes menores pedidas: nome do cliente -1px; Observações e Responsável -2px (Todos os eventos / Perícias) */
.ag-tbl .ag-cli{font-size:12px}
.ag-tbl td.td-obs,.ag-tbl td.td-resp{font-size:12px}
/* zebra: linhas alternadas em tom suave; hover mais evidente por cima */
.ag-tbl tbody tr:nth-child(even):not(.ag-daysep):not(.ag-empty) td{background:#f4f7fc}
.ag-tbl tbody tr:hover:not(.ag-daysep) td{background:#e6edff}   /* divisória de dia NÃO reage ao hover (fica azul sólido) */
.ag-tbl.ctr th,.ag-tbl.ctr td{text-align:center;border-right:1px solid #dbe2ec}   /* linhas verticais visíveis entre colunas */
.ag-tbl.ctr th:last-child,.ag-tbl.ctr td:last-child{border-right:0}
.ag-tbl.ctr td .tag{white-space:normal}                 /* Tipo pode quebrar (não estoura a coluna) */
.ag-tbl.ctr td .tag.area{white-space:nowrap;font-size:11px}  /* Área numa linha só, fonte -1px (mais específico p/ vencer a regra acima) */
/* zebra + hover também nas tabelas por unidade (aba Atendimentos) */
.ag-unit-b tbody tr:nth-child(even) td{background:#f4f7fc}
.ag-unit-b tbody tr:hover td{background:#e6edff}
.ag-tbl td.td-status{white-space:normal;font-size:12px} /* status pode quebrar p/ caber sem scroll */
.ag-tbl td.td-hora{white-space:nowrap}                 /* hora inteira numa linha (13:46) */
.ag-tbl td.td-obs{overflow-wrap:anywhere}              /* observações estreita, quebra dentro da coluna */
.ag-cli{font-weight:800}
.ag-obs{color:var(--muted);font-size:12px;font-weight:600;margin-top:2px}
.ag-daysep td{background:var(--grad);color:#fff;font-weight:900;font-size:13px;text-transform:none;letter-spacing:0;padding:9px 14px;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.ag-daysep.wknd td{background:linear-gradient(90deg,#f59e0b,#fbbf24);color:#fff}
.tag.prio{background:#fee2e2;color:#991b1b}
/* Atendimentos: unidades até o rodapé, rolagem própria */
.ag-units{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}   /* no máx 2 colunas (mais largas) */
.ag-units.single{grid-template-columns:1fr}
@media (max-width:900px){.ag-units{grid-template-columns:1fr}}   /* tela estreita: empilha */
.ag-unit{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}
.ag-unit-h{flex:0 0 auto;padding:9px 14px;font-weight:900;font-size:14px;display:flex;justify-content:space-between;align-items:center;background:#eef2ff;border-bottom:1px solid var(--line)}
.ag-unit-h .sub{font-weight:700;color:var(--muted);font-size:12px}
.ag-unit-name{display:inline-flex;align-items:center;gap:8px;min-width:0}
.ag-unit-ic{width:22px;height:22px;object-fit:contain;flex:0 0 auto}
.ag-unit-b{flex:1;min-height:0;overflow-y:auto;overflow-x:auto}
.ag-unit-b table{min-width:480px}
.ag-unit td,.ag-unit th{white-space:nowrap}
.ag-unit td:nth-child(2){white-space:normal}   /* só o nome do cliente pode quebrar */
.ag-unit table{width:100%;border-collapse:collapse;font-size:13px}
.ag-unit th{position:sticky;top:0;z-index:1;background:#f1f5ff;color:#475569;text-align:left;padding:8px 12px;font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:800}
.ag-unit td{padding:7px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.ag-units:not(.single) .th-esp,.ag-units:not(.single) .th-at,.ag-units:not(.single) .cd-esp,.ag-units:not(.single) .cd-at{display:none}
.ag-unit .h1{font-weight:800}
.ag-unit .h2{color:var(--muted);font-size:11.5px;font-weight:700;margin-top:2px}
.ag-unit .h3{margin-top:2px;font-size:12px;font-weight:800;color:#c2410c}   /* o temporizador da chegada, numa linha própria */
/* aba Atendimentos: Cliente mais largo, Área (cabeçalho+tag) centralizada */
.ag-unit-b td:nth-child(2),.ag-unit-b th:nth-child(2){min-width:158px}
.ag-unit-b td:nth-child(3),.ag-unit-b th:nth-child(3){text-align:center}
.ag-unit .hk{color:var(--muted);font-weight:700;font-size:11px}
.cli-meta{font-size:11.5px;font-weight:700;margin-top:5px;color:#475569}
.cli-meta .timer{color:#b45309}
.timer{color:#b45309;font-weight:900}
tr.ematend td{background:#ecfdf5}
tr.atendido td{color:#94a3b8}
tr.atendido .ag-cli,tr.atendido .h1{text-decoration:line-through}
.nowrap{white-space:nowrap}
.ag-mini{min-height:26px;color:#fff;border:0;border-radius:7px;padding:0 9px;font-weight:800;font-size:11px;cursor:pointer;font-family:inherit;white-space:nowrap}
.ag-mini.b-chegou{background:#0ea5e9}
.ag-mini.b-atender{background:var(--emerald)}
.ag-mini.b-concluir{background:var(--amber);color:#4a3200}
/* célula de ação (Chegou/Atender/Atendido + ✕) sempre colada à direita, tudo alinhado */
.ag-acao-cell{text-align:right}
.ag-acao-in{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}
.ag-tgl{min-height:28px;border:0;border-radius:20px;padding:4px 13px;font-weight:800;font-size:11.5px;cursor:pointer;font-family:inherit}
.ag-tgl.sim{background:#dcfce7;color:#166534}
.ag-tgl.nao{background:#fee2e2;color:#991b1b}
/* "Cliente avisado?" = STATUS (não é botão): marcado sozinho quando o responsável conclui a tarefa. cursor de ajuda. */
/* Relatório da Agenda (drill-down) */
.rel-stats{display:flex;gap:10px;flex-wrap:wrap}
.rel-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px;min-width:118px}
.rel-stat.click{cursor:pointer;transition:.12s}
.rel-stat.click:hover{box-shadow:0 3px 10px rgba(0,0,0,.08)}
.rel-stat.on{outline:2px solid var(--primary);outline-offset:1px}
.rel-stat-v{font-size:20px;font-weight:900;color:#0f172a}
.rel-stat-l{font-size:11px;color:#64748b;font-weight:700}
.rel-blocos{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.rel-bloco{flex:1 1 220px;min-width:200px}
.rel-bloco-t{font-size:12px;font-weight:800;color:#334155;margin-bottom:5px}
.rel-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:120px;overflow:auto;padding:1px}
.rel-chip{display:inline-flex;align-items:center;gap:7px;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.rel-chip:hover{background:#e0e7ff}
.rel-chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.rel-chip b{background:rgba(200,210,255,.55);border-radius:10px;padding:0 6px;font-size:11px}
.rel-chip.on b{background:rgba(255,255,255,.28)}
/* ---- Contratação (etapa 5 da ficha) ---- */
.ctr-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#eef2ff,#f8fafc);border:1px solid #e2e8f0;border-radius:13px;padding:8px 15px;margin-bottom:14px}
.ctr-head-t{font-weight:900;font-size:16px;color:#0f172a;white-space:nowrap}
.ctr-stats{display:flex;gap:8px;flex-wrap:wrap}
.ctr-stat{display:inline-flex;align-items:baseline;gap:5px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:3px 12px}
.ctr-stat.ok{border-color:#a7f3d0;background:#ecfdf5}
.ctr-stat.todo{border-color:#fde68a;background:#fffbeb}
.ctr-stat-v{font-size:16px;font-weight:900;color:#0f172a;font-variant-numeric:tabular-nums}
.ctr-stat.ok .ctr-stat-v{color:#047857}
.ctr-stat.todo .ctr-stat-v{color:#b45309}
.ctr-stat-l{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.ctr-sec-n{border-radius:20px;padding:1px 9px;font-size:11px;font-weight:800;letter-spacing:0;background:rgba(255,255,255,.6)}
/* duas colunas: esquerda = Contratado, direita = A contratar */
.ctr-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.ctr-col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:10px 10px 12px;min-width:0}
.ctr-col.ok{background:#f0fdf7;border-color:#bbf7d0}
.ctr-col.todo{background:#fffbeb;border-color:#fde68a}
.ctr-col-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px 10px}
.ctr-col.ok .ctr-col-h{color:#047857}
.ctr-col.todo .ctr-col-h{color:#b45309}
.ctr-stack{display:flex;flex-direction:column;gap:10px}
.ctr-col-empty{font-size:12.5px;color:#94a3b8;font-weight:600;padding:10px 6px;text-align:center}
@media(max-width:760px){.ctr-cols{grid-template-columns:1fr}}
.ctr-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #cbd5e1;border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:8px}
.ctr-card.ok{border-left-color:#10b981;background:linear-gradient(180deg,#f0fdf7,#fff)}
.ctr-card-top{display:flex;align-items:flex-start;gap:10px;flex-wrap:nowrap}
.ctr-titwrap{min-width:0;flex:1 1 auto}
.ctr-ico{width:34px;height:34px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:19px;background:#f1f5f9;border-radius:10px}
.ctr-card.ok .ctr-ico{background:#dcfce7}
.ctr-tipo{font-weight:800;font-size:14.5px;color:#0f172a;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.ctr-area{margin-top:3px}
.ctr-status{font-size:12.5px;font-weight:700;color:#b45309}
.ctr-status.ok{color:#047857}
.ctr-status .ctr-pt{display:inline-block;margin-left:6px;background:#d1fae5;color:#065f46;border-radius:20px;padding:1px 9px;font-size:11px;font-weight:800}
.ctr-status .mini,.ctr-carteira .mini{font-weight:600;color:#94a3b8}
.ctr-carteira{font-size:12px;color:#0f766e;font-weight:700}
.ctr-foot{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;align-self:flex-start;margin-left:auto;justify-content:flex-end}
.ctr-foot .btn-sm{padding:4px 9px}
.ag-avstatus{display:inline-block;border-radius:20px;padding:4px 13px;font-weight:800;font-size:11.5px;cursor:default;user-select:none}
.ag-avstatus.sim{background:#dcfce7;color:#166534}
.ag-avstatus.nao{background:#fef3c7;color:#b45309}
/* "Agendar" → escolha atendimento x compromisso */
.ag-opts{display:flex;flex-direction:column;gap:10px}
.ag-opt{display:flex;align-items:center;gap:13px;text-align:left;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-family:inherit;min-height:auto}
.ag-opt:hover{background:#f4f7ff;border-color:var(--primary)}
.ag-opt-ic{font-size:24px;flex:0 0 auto}
.ag-opt b{font-size:15px;display:block;color:var(--text)}
.ag-opt-sub{font-size:12.5px;color:var(--muted);font-weight:600}

/* Tags (Gerenciar Tags + chips) */
.tag-chip{display:inline-block;font-size:11px;font-weight:800;color:#334155;padding:3px 10px;border-radius:999px;letter-spacing:.02em}
.cor-swatches{display:flex;gap:6px;flex-wrap:wrap}
.cor-sw{width:26px;height:26px;border-radius:7px;border:2px solid transparent;cursor:pointer;padding:0}
.cor-sw.on{border-color:var(--primary);box-shadow:0 0 0 2px rgba(72,119,237,.25)}

/* ===== Clientes & Processos (tela unificada) ===== */
.cp-wrap{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}
.cp-topline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.cp-topline>.cp-search{justify-self:center}
.cp-topline>.segmode:last-child{justify-self:end}
.segmode{position:relative;display:inline-flex;background:#e9edf7;border:1px solid var(--line-2);border-radius:12px;padding:4px}
.segmode-ind{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/var(--n));border-radius:9px;background:var(--grad);box-shadow:0 4px 14px rgba(72,119,237,.5);transition:transform .24s cubic-bezier(.4,0,.2,1);transform:translateX(calc(var(--i) * 100%))}
.segmode-btn{position:relative;z-index:1;border:none;background:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:13px;color:#64748b;padding:0 14px;height:34px;width:150px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:color .18s}
.segmode-btn.on{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.cp-search{position:relative;display:flex;align-items:center}
.cp-search .mag{position:absolute;left:12px;color:#94a3b8;font-size:14px;pointer-events:none}
.cp-search input{height:40px;width:480px;max-width:52vw;padding:0 14px 0 34px;border:1.5px solid var(--line-2);border-radius:11px;font-size:14px;font-family:inherit}
.cp-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(72,119,237,.15)}
.cp-filtros{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.cp-flabel{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cp-count-lbl{font-size:12.5px;font-weight:800;color:var(--muted)}
.ms{position:relative}
.ms-sum{height:38px;width:100%;padding:0 12px;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;font-weight:800;font-size:13px;color:#334155;display:flex;align-items:center;gap:7px;cursor:pointer;font-family:inherit}
.ms-sum .ms-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-caret{margin-left:auto;color:#94a3b8;font-size:11px}
.ms.open .ms-sum{border-color:var(--primary);box-shadow:0 0 0 3px rgba(72,119,237,.15)}
.ms-badge{background:var(--primary);color:#fff;border-radius:20px;padding:0 7px;font-size:11px;font-weight:800}
.ms-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(40,40,90,.20);padding:6px;min-width:250px;max-height:340px;overflow:auto}
.ms.open .ms-panel{display:block}
.ms-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}
.ms-opt:hover{background:#f4f7ff}
.ms-opt input{width:16px;height:16px;flex:0 0 auto}
.ms-opt .ms-l{overflow:hidden;text-overflow:ellipsis}
.ms-opt .ms-n{margin-left:auto;color:#94a3b8;font-weight:800;font-size:12px;padding-left:10px}
.ms-clear{width:calc(100% - 4px);margin:2px;border:none;background:#f1f5f9;color:#475569;font-weight:800;border-radius:8px;padding:7px;cursor:pointer;font-size:12px}
.ms-empty{color:#94a3b8;font-size:12px;padding:8px 10px}
.cp-boardwrap{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:10px}
.cp-kanban{display:flex;gap:14px;align-items:stretch;overflow-x:auto;overflow-y:hidden;flex:1;min-height:0;padding-bottom:8px;zoom:.85}   /* 7 colunas Kanban INTEIRAS a 100% (8ª só na rolagem) */
.cp-col{min-width:250px;width:250px;background:linear-gradient(160deg,#dbe8ff,#c8dbfa);border:1px solid #bcd0f2;border-radius:var(--radius);display:flex;flex-direction:column;max-height:100%}
.cp-col-head{padding:11px 13px;font-weight:800;font-size:14.5px;color:#293c63;border-bottom:1px solid #b9ccef;display:flex;align-items:center;gap:8px}
.cp-col-head .cp-count{background:var(--primary);color:#fff;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:900}
.cp-col-tit{flex:1;text-align:center;white-space:normal;word-break:break-word;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Pré-ajuizamento: nomes de escaninho são longos → título quebra em até 3 linhas ocupando a largura,
   e os botões (ordenar + contador) ficam fixos no TOPO, à direita. Fonte igual à das outras telas. */
.cp-col-head-esc{align-items:flex-start}
.cp-col-head-esc .cp-col-tit{flex:1;white-space:normal;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.18}
.cp-col-head-esc .cp-col-tools{align-self:flex-start}
.cp-col-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}
.cp-colsort{position:relative}
.cp-colsort-btn{border:1px solid #b9ccef;background:#fff;border-radius:7px;width:24px;height:22px;cursor:pointer;font-size:12px;line-height:1;color:#293c63;padding:0;font-family:inherit}
.cp-colsort-btn:hover{background:#eef2ff}
.cp-colsort-menu{display:none;position:absolute;top:26px;right:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 22px rgba(40,40,90,.16);padding:5px;min-width:152px}
.cp-colsort.open .cp-colsort-menu{display:block}
.cp-colsort-opt{display:block;width:100%;text-align:left;border:none;background:none;font-family:inherit;font-weight:700;font-size:12px;color:#334155;padding:7px 9px;border-radius:7px;cursor:pointer}
.cp-colsort-opt:hover{background:#eef2ff}
.cp-colsort-opt.on{background:#e0e7ff;color:#3730a3}
.cp-col-body{padding:10px;overflow-y:auto;flex:1;min-height:50px}
/* ★ Filtros preferidos por aba (Carteira de Processos) */
.cp-fstar{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:16px;line-height:1;color:#94a3b8;font-family:inherit;flex:0 0 auto}
.cp-fstar:hover{background:#f1f5f9;color:#f59e0b}
.cp-fstar.on{background:#fffbeb;border-color:#fde68a;color:#f59e0b;box-shadow:0 0 0 2px #fde68a66}
.cp-more{color:#475f8a;font-size:12px;font-weight:800;text-align:center;padding:6px 0 2px}
.cp-card{position:relative;background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;padding:11px;margin-bottom:9px;cursor:pointer;box-shadow:0 1px 3px rgba(40,40,90,.06);transition:.12s;text-align:center}
.cp-card:hover{box-shadow:0 6px 16px rgba(99,102,241,.16);transform:translateY(-1px)}
/* VIRTUALIZAÇÃO NATIVA do Kanban (imperceptível, sem JS): o navegador NÃO renderiza (layout/paint) os
   cards fora da área visível de cada coluna — carrega rápido mesmo com centenas/milhares de cards.
   contain-intrinsic-size reserva a altura (auto = lembra a altura real após o 1º render → scrollbar fiel). */
.cp-col-body .cp-card{content-visibility:auto;contain-intrinsic-size:230px;contain-intrinsic-size:auto 230px}
.cp-card-row{display:flex;gap:10px}
.cp-card-main{flex:1;min-width:0}
.cp-title{font-weight:800;font-size:12px;margin-bottom:3px;line-height:1.2}
.cp-meta{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-weight:600;align-items:center}
.cp-tags{gap:5px}
.cp-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;justify-content:center}
.cp-card-head .cp-ico{width:30px;height:30px;border-radius:9px}
.cp-card-head .cp-ico-x{font-size:16px}
.cp-card-head .cp-title{margin-bottom:0;flex:0 1 auto;min-width:0;text-align:center}
.cp-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px;justify-content:center}
.cp-cardline{font-size:13px;color:var(--muted);font-weight:600;margin-top:3px;display:flex;flex-wrap:wrap;gap:3px 6px;align-items:center;justify-content:center;word-break:break-word}
.cp-tbl td .cp-prazodate{font-size:12.5px}   /* Prazos (lista): Entrega/Prazo Fatal 1px menor */
.cp-card-esc{font-size:12px}                  /* card: nome do escaninho (CAIXA ALTA) 1px menor */
.cp-card-resp{font-size:14px;font-weight:700;color:var(--ink,#1e293b)}   /* card: responsável + 👤 1px maior */
.cp-btn-undo{background:#e0e7ff;border-color:#c7d2fe;color:#3730a3}       /* ↩ reabrir/desfazer conclusão */
.cp-btn-undo:hover{background:#c7d2fe}
/* Pendência (Aguarda Cliente / Diligência) */
.cp-btn-pend{background:#fef3c7;border-color:#f2d79a}
.cp-btn-pend:hover{background:#fde9b8}
.cp-pend-opts{display:flex;gap:8px;flex-wrap:wrap}
.cp-pend-opt{flex:1;min-width:150px;border:1.5px solid #e2e8f0;background:#f8fafc;color:#475569;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
.cp-pend-opt.on{border-color:#d97706;background:#fffbeb;color:#92600e}
.cp-pend-desc{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.5;font-family:inherit;resize:vertical;min-height:90px}
/* Kanban: fontes maiores nos cards (a Lista continua como está) */
.cp-col .cp-title{font-size:13px}   /* nome do cliente nos cards Kanban 1px menor (lista não muda) */
.cp-col .cp-statussel{font-size:13.5px;padding:3px 6px}
.cp-col .cp-meta{font-size:12.5px}
.cp-fatal{color:#dc2626;font-weight:800}
.cp-tarefas{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;box-shadow:0 1px 3px rgba(40,40,90,.05)}
.cp-tarefas-h{font-size:12px;font-weight:900;color:#0f766e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.cp-tarefa{display:flex;align-items:center;gap:9px;padding:6px 4px;border-top:1px solid #eef2fb}
.cp-tarefa:first-of-type{border-top:none}
.cp-tarefa input{width:16px;height:16px;flex-shrink:0;cursor:pointer}
.cp-tarefa-txt{display:flex;flex-direction:column;min-width:0}
.cp-tarefa-desc{font-size:13px;font-weight:700;color:#1e293b}
.cp-tarefa-meta{font-size:11px;color:var(--muted);font-weight:600}
.cp-card[draggable="true"]{cursor:grab}
.cp-card.cp-dragging{opacity:.45}
.cp-col.cp-col-drop{outline:2px dashed var(--primary);outline-offset:-2px;background:linear-gradient(160deg,#dfeaff,#cfe0fb)}
.cp-assigncell{cursor:pointer;font-weight:700}
.cp-cliname{cursor:pointer}
.cp-cliname:hover{text-decoration:underline;text-decoration-color:var(--primary)}
.cp-tbl td b.cp-cliname{color:var(--primary);text-decoration:underline;text-decoration-color:var(--primary)}
.cp-tbl td b.cp-cliname:hover{color:var(--primary)}
/* REGRA UNIVERSAL: nome do CLIENTE sempre em MAIÚSCULAS + negrito (só exibição; NÃO em inputs/options/bolhas de chat) */
.cli-nome,.cp-cliname,.ag-cli,.fin-cli,.sede-cli,.jcli-nome,.mp-clilink,.jsNome{text-transform:uppercase;font-weight:700}
.cp-card .cp-tags{margin-top:7px}
.cp-ico{width:40px;height:40px;border-radius:11px;object-fit:contain;flex:0 0 auto}
/* ícone do tipo de ação no cabeçalho da Ficha do Processo: preenche a caixa inteira (sem moldura colorida) */
.cp-ico-hero{width:54px !important;height:54px !important;border-radius:16px;object-fit:cover;display:block}
/* nome do cliente na barra da Ficha do Processo: texto puro (igual à ficha do cliente), sublinha só no hover */
.proc-cli-link:hover{text-decoration:underline;text-underline-offset:2px}
.cp-ico-x{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#368EFB,#4877ED);font-size:20px}
.cp-tagbtn{position:absolute;left:8px;bottom:8px;border:1px solid var(--line);background:#fff;border-radius:8px;width:26px;height:26px;cursor:pointer;font-size:13px;opacity:0;transition:.12s;box-shadow:0 1px 3px rgba(40,40,90,.12)}
.cp-card:hover .cp-tagbtn{opacity:1}
.cp-tblwrap{flex:1;min-height:0;overflow:auto;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
/* virtualização da lista: as linhas-espaçadoras (topo/rodapé) não podem ter zebra/hover/borda */
.cp-virt-sp,.cp-virt-sp td,.cp-virt-sp:hover,.cp-virt-sp:nth-child(even){background:transparent !important}
.cp-virt-sp td{padding:0 !important;border:0 !important}
.cp-tbl{width:100%;border-collapse:collapse;background:#f3f6fd}   /* linhas ímpares (base) */
.cp-tbl th{background:#d6e0f4;text-align:center;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#334155;font-weight:900;padding:12px 14px;border-bottom:2px solid #aebfe0;position:sticky;top:0;z-index:2;white-space:nowrap}
.cp-tbl th.sortable{cursor:pointer;user-select:none}
.cp-tbl th.sortable:hover{color:var(--primary);background:#e3e9fb}
.cp-tbl td{padding:8px 14px;height:70px;border-bottom:1px solid #cdd8ef;font-size:13.5px;font-weight:600;vertical-align:middle}
.cp-tbl tbody tr:nth-child(even){background:#e3eaf8}   /* zebra mais forte */
.cp-tbl tbody tr:hover{background:#e7edfa}
/* linha-divisória de seção na Lista (📤 Enviadas × 📥 A fazer × casos) */
.cp-tbl tr.cp-secrow,.cp-tbl tr.cp-secrow:hover{background:transparent}
.cp-tbl td.cp-secrow-td{background:var(--grad);color:#fff;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.03em;text-align:center;height:auto;padding:8px 14px;border-top:2px solid var(--primary-d);text-shadow:0 1px 1px rgba(0,0,0,.2)}
.cp-secrow-n{background:#c7d2fe;color:#3730a3;border-radius:20px;padding:1px 9px;font-size:11px;margin-left:8px}
.cp-tipocell{display:inline-flex;align-items:center;gap:8px;text-align:left}
.cp-tipocell .cp-ico{width:34px;height:34px;border-radius:9px}
.cp-tipocell .cp-ico-x{font-size:18px}
.cp-cnj{font-size:12px;line-height:1.25;display:inline-block}
/* Justiça como tag pequena EMBAIXO do nº do processo (mesma célula) — evita a coluna Justiça e a rolagem horizontal */
.cp-just-tag{display:inline-block;margin-top:3px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#e0e7ff;color:#3730a3;border-radius:5px;padding:1px 6px;line-height:1.5}
/* órgão/vara (da publicação) — 3ª linha, pequena e discreta, na célula do nº do processo */
.cp-orgao{margin-top:2px;font-size:10px;font-weight:600;color:#64748b;line-height:1.25;white-space:normal;word-break:break-word}   /* vara/órgão INTEIRO (quebra linha, cresce a altura) */
.cp-tagpick{display:flex;flex-wrap:wrap;gap:8px}
.cp-tagopt{border:2px solid transparent;cursor:pointer;opacity:.55;filter:grayscale(.3)}
.cp-tagopt.on{opacity:1;filter:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(72,119,237,.2)}

.cp-topline>.segmode:first-child{justify-self:start}

.cp-tbl td .tag{padding:4px 9px;font-size:9px;line-height:1.1}

.tag.a-cons{background:#ffe0ee;color:#9d174d}

.cp-tbl th,.cp-tbl td{border-right:1px solid #cdd8ef}   /* divisórias verticais das colunas mais visíveis */
.cp-tbl th:last-child,.cp-tbl td:last-child{border-right:none}
.cp-tbl td b{font-size:12px;font-weight:800}
.cp-tbl td .cp-esc{font-size:11px;color:#475569;font-weight:600}
.cp-tbl td .cp-nb{font-size:12px;color:#475569;font-weight:700}
.cp-nb{font-size:12px;color:#475569;font-weight:700}
.cp-tagcell{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center}
.cp-listtagbtn{border:1px solid var(--line);background:#fff;border-radius:9px;width:30px;height:30px;line-height:1;cursor:pointer;font-size:16px;flex-shrink:0;padding:0}
/* coluna COMANDOS: padding menor que as demais, p/ caber a fileira de botões em UMA linha */
.cp-tbl td:last-child{padding-left:6px;padding-right:6px}
.cp-listtagbtn:hover{background:#eef2ff;border-color:var(--primary)}

/* ===== 8029 (versão por Fase) — Nunito em tudo + filtros mais largos ===== */
button, input, select, textarea, optgroup, th, td,
.segmode-btn, .ms-sum, .ms-opt, .cp-count-lbl, .cp-col-tit, .cp-col-head {
  font-family: 'Nunito', system-ui, 'Segoe UI', Arial, sans-serif;
}
.ms-panel { min-width: 250px; }
/* filtros em UMA linha: base 174px (13% menor que 200) e podem encolher pra caber */
.ms { flex: 0 1 174px; min-width: 60px; }
.cp-daterange { flex: 0 0 auto; }
.ms-opt { white-space: normal; }
.ms-opt .ms-l { overflow: visible; text-overflow: clip; white-space: normal; }
.cp-tbl td .cp-esc { font-size: 13px; }
.cp-tbl td .cp-esc.cp-tarefacol { font-size: 12px; }
/* Responsável: pill "atribuir" e chip do nome (no lugar do texto sublinhado) */
.cp-atribuir-btn{display:inline-flex;align-items:center;gap:3px;background:#eef2ff;color:#3730a3;border:1px dashed #a5b4fc;border-radius:20px;padding:3px 11px;font-size:11px;font-weight:800;line-height:1.2}
.cp-atribuir-btn:hover{background:#e0e7ff;border-style:solid}
.cp-respchip{display:inline-flex;align-items:center;background:#e7f3ea;color:#166534;border:1px solid #bfe0c6;border-radius:20px;padding:3px 11px;font-size:12px;font-weight:800;line-height:1.2}
.cp-respchip:hover{background:#d7ecdd}
/* coluna COMANDOS (botões pequenos estilo tag) */
.cp-cmdcell{display:flex;flex-wrap:nowrap;gap:2px;align-items:center;justify-content:center}
.cp-cmdrow{display:flex;flex-wrap:nowrap;gap:2px;align-items:center;justify-content:center;margin-top:8px}
.cp-listtagbtn{display:inline-flex;align-items:center;justify-content:center}
/* ÍCONE preenche o botão compacto (vence o width/height inline do SVG) — mesmo tamanho em lista e kanban */
.cp-listtagbtn svg{width:20px !important;height:20px !important}
/* listbox de STATUS da tarefa (A fazer / Fazendo / Cumprida) */
.cp-statussel{font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:7px;padding:2px 4px;background:#fff;cursor:pointer;max-width:100%;width:100%;font-family:inherit}
/* listbox de status/fase mais BAIXOS (~13% menos) e centrados na célula — Minha Área, Pré-ajuizamento e Prazos */
.cp-statussel,.cp-fasesel{height:26px;min-height:0;padding:0 8px;line-height:1;box-sizing:border-box;vertical-align:middle}
.cp-btn-del{color:#b91c1c}
.cp-btn-del:hover{background:#fef2f2;border-color:#fca5a5}
.cp-statussel:disabled{cursor:default;opacity:.9;background:#f8fafc}
.cp-statuslbl{font-size:11px;color:var(--muted);font-weight:600;margin-right:2px}
.cp-statuscell{display:flex;align-items:center;justify-content:center}
/* ===== Financeiro ===== */
.fin-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.fin-controls .btn.on{background:var(--primary,#4877ed);color:#fff;border-color:var(--primary,#4877ed)}
.fin-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}
.fin-metric{flex:1;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.fin-metric-v{font-size:22px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.fin-metric-l{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.fin-h3{font-size:15px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:22px 0 10px}
.fin-areas{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.fin-areas{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.fin-areas{grid-template-columns:1fr 1fr 1fr}}
.fin-area-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.fin-area-nome{font-size:16px;font-weight:800;margin-bottom:8px}
.fin-area-linhas>div{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:2px 0}
.fin-area-linhas .fin-lbl{color:var(--muted);font-weight:600}
.fin-area-linhas b{font-variant-numeric:tabular-nums}
.fin-ajudas{margin-top:16px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:#475569;font-weight:600}
.fin-filtros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.fin-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.fin-chip{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12.5px;color:#475569;cursor:pointer;font-family:inherit}
.fin-chip.on{background:#eef4ff;border-color:var(--primary,#4877ed)}
.fin-modo{display:flex;gap:6px;margin:2px 2px 10px}
.fin-modo-btn{border:1px solid var(--line);background:var(--card,#fff);color:var(--muted);border-radius:10px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer}
.fin-modo-btn.on{background:#1f2937;color:#fff;border-color:#1f2937}
.fin-subtabs{display:flex;flex-wrap:wrap;gap:5px;margin:2px 2px 10px}
.fin-subtab{border:1px solid var(--line);background:var(--card,#fff);color:var(--muted);border-radius:16px;padding:5px 13px;font-size:12px;font-weight:600;cursor:pointer}
.fin-subtab.on{background:#fdf6e3;color:#8a6d1a;border-color:#e9c766}
/* barra de comandos FLUTUANTE (fixa na tela, não empurra a tabela, sempre visível) */
.fin-bulk{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#1f2937;border:1px solid #0b1220;border-radius:14px;padding:10px 16px;box-shadow:0 14px 38px rgba(0,0,0,.34);z-index:70;animation:finBulkUp .18s ease-out}
@keyframes finBulkUp{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.fin-bulk-lbl{font-weight:800;font-size:13px;color:#fff;margin-right:4px}
.fin-bulk .btn{border-radius:8px}
.fin-bulk .cp-btn-ok{background:#dcfce7;border-color:#86efac;color:#15803d}
.fin-bulk .cp-btn-danger{background:#fee2e2;border-color:#fca5a5;color:#dc2626}
.fin-inlinest{border:1px solid var(--line);border-radius:7px;padding:3px 6px;font-size:12px;font-weight:600;background:#fff;cursor:pointer;color:#334155}
.fin-editbtn{border:0;background:transparent;cursor:pointer;font-size:14px;opacity:.7;padding:2px 4px;border-radius:6px}
.fin-editbtn:hover{opacity:1;background:#eef2f7}
.fin-cb{width:15px;height:15px;cursor:pointer;accent-color:var(--primary,#4877ed)}
.fin-tbl tr.sel{background:#eff6ff}
.fin-topbar{background:#eef2ff;padding:4px 2px 6px;margin:0 0 2px}
.fin-row1{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:6px}
/* barra de ferramentas do Financeiro num card ARREDONDADO (mesmo estilo do filtro da Agenda .ag-filtro) */
.fin-topbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);margin-bottom:4px}
.fin-topbar .fin-filtros{margin-bottom:0}
.fin-r1-left{justify-self:start;display:flex;gap:8px;align-items:center;min-width:0}
.fin-r1-mid{justify-self:center;display:flex;justify-content:center;min-width:0}
.fin-r1-right{justify-self:end;display:flex;gap:8px;align-items:center;min-width:0}
/* Painel Financeiro (gráficos) */
.fin-painel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin:12px 2px}
.fin-chart-flex{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fin-painel-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:12px 2px;box-shadow:var(--shadow)}
.fin-painel-grid .fin-painel-card{margin:0}
.fin-painel-card h4{margin:0 0 12px;font-size:14px;color:#334155}
.fin-bar-row{display:flex;align-items:center;gap:10px;margin:7px 0}
.fin-bar-lbl{width:130px;flex:0 0 130px;font-weight:700;font-size:12px}
.fin-bar-track{flex:1;display:flex;height:18px;background:#f1f5f9;border-radius:9px;overflow:hidden}
.fin-bar-seg{height:100%}
.fin-bar-val{width:120px;flex:0 0 120px;text-align:right;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;color:#334155}
.fin-legend{display:flex;flex-direction:column;gap:3px;margin-top:2px;font-size:12px;color:#334155}
.fin-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 5px 0 0;vertical-align:middle}
/* filtros compactos (1–2 linhas) */
.fin-filtros{gap:6px;margin-bottom:2px}
.fin-filtros .cp-dateinp,.fin-filtros .cp-statussel{height:31px!important;min-height:0!important;font-size:12px!important;padding:3px 7px!important;line-height:1.1!important;box-sizing:border-box!important}
.fin-filtros{align-items:center}
.fin-filtros .cp-flabel{align-self:center}
.fin-subtabs{flex-wrap:wrap;justify-content:center}
.fin-filtros .cp-statussel{max-width:150px}
.fin-filtros .cp-flabel{font-size:11px}
.fin-row1 .btn-sm,.fin-filtros .btn-sm{height:30px;padding:3px 10px;font-size:12px}
/* linhas ENXUTAS: mata o height:70px do .cp-tbl td e encolhe select/checkbox/botão inline */
.fin-tbl th{padding:5px 9px!important;font-size:11px;height:auto!important}
.fin-tbl td{padding:3px 9px!important;height:auto!important;font-size:12px!important;line-height:1.2!important;font-weight:600}
.fin-tbl td .num,.fin-tbl td b{font-size:12px}
.fin-inlinest{height:24px;padding:0 4px;font-size:11px;line-height:1;min-width:0}
.fin-editbtn{height:22px;line-height:1;font-size:13px;padding:0 3px}
.fin-cb{width:13px;height:13px;margin:0;vertical-align:middle}
/* cabeçalho SEMPRE fixo: o wrapper não pode virar container de scroll (senão trava o sticky do thead) */
.fin-tbl-wrap{overflow:visible;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.fin-tbl{table-layout:fixed}
/* quebra em várias linhas em vez de cortar/forçar largura → colunas respeitam a % e cabem na tela (sem scroll horizontal) */
.fin-tbl tbody td{white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;overflow:hidden;vertical-align:middle}
.fin-tbl thead th{white-space:normal!important}
.fin-tbl thead th{position:sticky;top:0;z-index:4;background:#eef2ff}
/* divisórias de coluna mais fortes (principalmente no cabeçalho) */
.fin-tbl th,.fin-tbl td{border-right:1px solid #cdd7ea!important}
.fin-tbl th:last-child,.fin-tbl td:last-child{border-right:0!important}
.fin-tbl thead th{border-right:1px solid #aab8d6!important;border-bottom:2px solid #aab8d6!important}
/* linha de TOTAIS fixa logo abaixo do cabeçalho */
.fin-tbl tbody tr.fin-total td{position:sticky;top:29px;z-index:3;background:#e8eefc!important;font-weight:800!important;color:#1e293b;border-bottom:2px solid #c3d0f5!important}
.fin-tbl tbody tr.fin-total:hover td{background:#e8eefc!important}
/* seleção/hover vencem a cor de fundo por área (que é inline) */
.fin-tbl tbody tr.sel{background:#dbeafe!important}
.fin-tbl tbody tr:hover{background:#e7edfa!important}
/* admin: reordenar (arrastar título) + redimensionar (puxar borda) colunas */
.fin-th-drag{cursor:grab;user-select:none}
.fin-th-drag:active{cursor:grabbing}
.fin-colresize{position:absolute;top:0;right:0;bottom:0;width:7px;cursor:col-resize;z-index:5}
.fin-colresize:hover{background:#c7d2fe}
.fin-bulk-hint{font-size:11px;color:#cbd5e1;font-weight:500}
.fin-tbl-head{display:flex;align-items:center;gap:8px;margin:10px 2px 6px;font-size:13px;font-weight:700;color:var(--muted)}
.fin-tbl-wrap{overflow:visible;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.fin-tbl{min-width:0;width:100%}
.fin-tbl .fin-cli{font-weight:800;color:#334155}
.fin-tbl .num{font-variant-numeric:tabular-nums}
/* ALTURA unificada (+~13% da versão enxuta) + divisórias mais fortes */
.fin-tbl thead th{text-align:center!important}
.fin-tbl tbody td{padding:5px 10px!important;height:30px!important;line-height:1.15!important;font-size:12px!important;vertical-align:middle!important;border-bottom:1px solid #d5deee!important;border-right:1px solid #e7ecf7}
.fin-tbl tbody td:last-child{border-right:0}
/* TODOS os listbox dentro das tabelas com a MESMA altura (status + perito) */
.fin-tbl tbody td .fin-inlinest,.fin-tbl tbody td .fin-perito{height:26px!important;min-height:0!important;padding:0 5px!important;line-height:24px!important;font-size:11px!important;box-sizing:border-box!important;margin:0!important;width:100%;min-width:0;max-width:100%}
.fin-tbl tbody td .fin-editbtn{height:20px!important;line-height:1!important;padding:0 2px!important;margin:0!important}
.fin-tbl tbody td input.fin-cb{width:13px!important;height:13px!important;margin:0!important}
.fin-tbl thead th.fin-sortable{cursor:pointer}
.fin-tbl .num{font-variant-numeric:tabular-nums}
/* título grande acima de cada tabela + dica curta + botão de colunas */
.fin-tbl-titlebar{display:flex;align-items:flex-end;gap:12px;margin:2px 2px 8px}
.fin-tbl-title{font-size:19px;font-weight:900;color:#1e293b;letter-spacing:-.01em;line-height:1.1}
.fin-tbl-hint{font-size:11.5px;font-weight:600;color:#94a3b8}
.fin-colbtn{background:#f1f5f9;border-color:#cbd5e1;color:#334155;white-space:nowrap}
.fin-colbtn:hover{background:#e2e8f0}
/* célula de valor selecionável (arraste p/ somar) */
.fin-tbl td.fin-num{cursor:cell;user-select:none}
.fin-tbl td.cellsel{background:#c7defc!important;box-shadow:inset 0 0 0 1px #3b82f6}
/* caixa flutuante de soma (canto inferior direito) */
.fin-sumbox{position:fixed;right:22px;bottom:22px;z-index:75;display:flex;align-items:center;gap:14px;background:#0f172a;color:#fff;border-radius:12px;padding:10px 18px;box-shadow:0 14px 38px rgba(0,0,0,.34)}
.fin-sumbox-n{font-size:12px;color:#93c5fd;font-weight:700}
.fin-sumbox-s{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.fin-sumbox-m{font-size:12px;color:#cbd5e1;font-variant-numeric:tabular-nums}
/* célula de perito (Trabalhista): dropdown compacto em cima + valor embaixo */
.fin-tbl td .fin-perito{border:1px solid var(--line);border-radius:6px;background:#fff}
.fin-tbl td .fin-peritoval{font-size:11px;margin-top:2px;font-variant-numeric:tabular-nums}
/* parcela renegociada (substituída): histórico riscado, esmaecido, não editável */
.fin-tbl tbody tr.fin-reneg td{color:#94a3b8!important;text-decoration:line-through;background:#f8fafc!important;font-style:italic}
.fin-tbl tbody tr.fin-reneg:hover td{background:#f1f5f9!important}
tr.hon-reneg td{color:#94a3b8!important;text-decoration:line-through;background:#f8fafc;font-style:italic}
tr.hon-reneg td .tag{text-decoration:none}
/* setas ◀ ▶ de passar mês no filtro do Financeiro */
.fin-navmes{height:31px;min-width:38px;padding:0 10px;font-size:15px;font-weight:900;line-height:1;cursor:pointer;color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s}
.fin-navmes:hover{background:#c7d2fe;color:#1e1b4b}
.fin-navmes:active{transform:translateY(1px)}
.fin-cliresults{display:flex;flex-direction:column;gap:2px;margin-top:4px;max-height:220px;overflow:auto}
.fin-cliopt{text-align:left;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer;font-family:inherit}
.fin-cliopt:hover{background:#eef4ff;border-color:var(--primary,#4877ed)}
.fin-clisel{margin-top:6px;font-size:13px;font-weight:700;color:#15803d}
/* checklist de diligências no modal de arquivar caso */
.cp-arqdilig{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}
.cp-arqdilig input[type=checkbox]{flex:0 0 auto}
/* listbox de FASE do caso (o "avançar" do pré-ajuizamento) */
.cp-fasesel{font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:7px;padding:2px 4px;background:#fff;cursor:pointer;max-width:100%;width:100%;font-family:inherit;color:#334155}
.cp-fasecell{display:flex;align-items:center;width:100%}
/* botão de comando com destaque verde (Conferir/Aprovar) */
.cp-listtagbtn.cp-btn-ok{background:#dcfce7;border-color:#86efac;color:#15803d}
.cp-listtagbtn.cp-btn-ok:hover{background:#bbf7d0;border-color:#22c55e}
/* botão de comando âmbar (pedido de prorrogação pendente) */
.cp-listtagbtn.cp-btn-warn{background:#fef3c7;border-color:#fcd34d;color:#b45309}
.cp-listtagbtn.cp-btn-warn:hover{background:#fde68a;border-color:#f59e0b}
/* intervalo de datas na linha de filtros (compacto) */
.cp-daterange{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.cp-daterange .cp-dateinp{height:38px;min-height:38px;width:132px;padding:0 8px;font-size:12px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff}
.cp-daterange .cp-flabel{margin:0}
.cp-daterange .cp-perinp{height:38px;min-height:38px;padding:0 8px;font-size:12px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;font-family:inherit;cursor:pointer;max-width:140px}
.cp-datexbtn{border:1px solid var(--line);background:#fff;border-radius:7px;width:26px;height:26px;cursor:pointer;font-size:12px;color:#64748b}
.cp-datexbtn:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}
/* seletor de FASE na carteira da ficha — compacto, cabe na coluna (gradiente de azul vem inline por opção) */
.jc-fasesel{width:100%;max-width:100%;box-sizing:border-box;height:23px!important;min-height:0!important;line-height:1.1;font-size:12px;font-weight:700;border:1px solid var(--line-2);border-radius:8px;padding:0 6px!important;cursor:pointer;appearance:auto}
/* × que limpa a data inteira (colado ao campo) */
.date-x{border:0;background:transparent;color:#94a3b8;font-size:17px;line-height:1;cursor:pointer;padding:0 2px;margin-left:-4px}
.date-x:hover{color:#b91c1c}
/* tabela "Meus pontos — detalhamento": zebrada + hover */
.mp-tbl tbody tr:nth-child(even) td{background:#eef2fb}
.mp-tbl tbody tr:hover td{background:#dbe4f6}
/* coluna Tarefa (lista): descrição forte + meta discreta (entrega/pessoa) */
.cp-tarefacol{display:flex;flex-direction:column;gap:2px;text-align:left}
.cp-tarefacol .cp-tlabel{font-size:13px;color:#334155;font-weight:700;line-height:1.25}
.cp-tarefacol .cp-tmeta{font-size:11px;color:#6b7280;font-weight:600}
.cp-cmdbtn{border-radius:20px;padding:4px 11px;font-size:11px;font-weight:800;line-height:1.1;cursor:pointer;font-family:inherit;white-space:nowrap;border:1px solid transparent}
.cp-cmd-corr{background:#fff3d6;color:#92600e;border-color:#f2d79a}
.cp-cmd-corr:hover{background:#fde9b8}
.cp-cmd-arq{background:#f1f5f9;color:#475569;border-color:#dbe2ea}
.cp-cmd-arq:hover{background:#e2e8f0}

/* ── Ditado universal por voz (*) — texto vai DENTRO do campo; itálico enquanto fala; verde ao validar ── */
.dit-uni-on{outline:2px solid #ef4444 !important;outline-offset:1px;box-shadow:0 0 0 3px rgba(239,68,68,.12) !important;font-style:italic !important;transition:box-shadow .15s;animation:ditUniGlow 1.4s ease-in-out infinite}
@keyframes ditUniGlow{0%,100%{box-shadow:0 0 0 3px rgba(239,68,68,.10)}50%{box-shadow:0 0 0 4px rgba(239,68,68,.24)}}
.dit-uni-done{background:#ecfdf5 !important;border-color:#34d399 !important;box-shadow:0 0 0 2px rgba(52,211,153,.25) !important;font-style:normal !important;font-weight:600 !important}
.dit-uni-hint{position:absolute;z-index:99999;display:none;background:#ef4444;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.2px;padding:2px 8px;border-radius:10px;box-shadow:0 2px 6px rgba(239,68,68,.3);pointer-events:none;white-space:nowrap}

/* ── Agenda: chips de categoria de perícia (aba Perícias/Audiências/Lembretes) ── */
.pa-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0;justify-content:center}
.pa-chip{border:1px solid #ddd6fe;background:#f5f3ff;color:#5b21b6;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1.1;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pa-chip:hover{background:#ede9fe}
.pa-chip.on{background:#7c3aed;border-color:#7c3aed;color:#fff}
.pa-chip-n{background:rgba(124,58,237,.14);color:inherit;border-radius:10px;padding:0 7px;font-size:11px;font-weight:800}
.pa-chip.on .pa-chip-n{background:rgba(255,255,255,.28)}

/* #2 — Tarefa: chat de dúvidas + repassar/devolver */
.cp-btn-chat{background:#e0f2fe;border-color:#bae6fd}
.cp-btn-chat:hover{background:#bae6fd}
.tk-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-bottom:8px;border-bottom:1px solid #e2e8f0}
.tk-fio-wrap{max-height:44vh;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px}
.tk-fio{display:flex;flex-direction:column;gap:8px}
.tk-msg{max-width:82%;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:7px 10px;align-self:flex-start}
.tk-msg.tk-meu{align-self:flex-end;background:#eef2ff;border-color:#c7d2fe}
.tk-msg-h{font-size:11px;font-weight:800;color:#475569;margin-bottom:2px}
.tk-msg-t{font-weight:600;color:#94a3b8}
.tk-msg-b{font-size:13.5px;line-height:1.45;color:#1e293b;white-space:pre-wrap;word-break:break-word}
.tk-inp{flex:1;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;font-size:13.5px;font-family:inherit;resize:vertical;min-height:40px}
