/* Fase 2 — identidade visual da Daima.
   Layout inspirado no BotConversa (sidebar + Kanban + cards arredondados),
   paleta trocada para o azul de azulejo português. Verde reservado ao WhatsApp. */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  color-scheme: light;
  --bg:#F1F3F4;
  --surface:#FFFFFF;
  --surface-2:#EAF0F3;
  --ink:#16232E;
  --ink-muted:#51616D;
  --ink-faint:#8695A0;
  --line:#DCE3E5;
  --accent:#1D5C8A;
  --accent-deep:#123A57;
  --accent-soft:#DCE9F1;
  --good:#2F7A5C;
  --good-soft:#DCEEE5;
  --warn:#B5541B;
  --warn-soft:#F5E3D6;
  --crit:#9E2B2B;
  --crit-soft:#F5DCDC;
  --radius: 12px;
  --shadow: 0 1px 2px rgba(18,58,87,0.06), 0 6px 20px rgba(18,58,87,0.07);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1620; --surface:#16212B; --surface-2:#1B2833;
    --ink:#E8EDF0; --ink-muted:#9FB0BC; --ink-faint:#6C7D89;
    --line:#2A3A47; --accent:#5FA8D3; --accent-deep:#8FCBEC; --accent-soft:#1D3A4C;
    --good:#5FBF95; --good-soft:#1C3329; --warn:#E08A52; --warn-soft:#3A2A1E;
    --crit:#E27676; --crit-soft:#3A2020;
    --shadow: 0 1px 2px rgba(0,0,0,0.35), 0 8px 24px rgba(0,0,0,0.4);
  }
}
:root[data-theme="dark"]{
  --bg:#0E1620; --surface:#16212B; --surface-2:#1B2833;
  --ink:#E8EDF0; --ink-muted:#9FB0BC; --ink-faint:#6C7D89;
  --line:#2A3A47; --accent:#5FA8D3; --accent-deep:#8FCBEC; --accent-soft:#1D3A4C;
  --good:#5FBF95; --good-soft:#1C3329; --warn:#E08A52; --warn-soft:#3A2A1E;
  --crit:#E27676; --crit-soft:#3A2020;
  --shadow: 0 1px 2px rgba(0,0,0,0.35), 0 8px 24px rgba(0,0,0,0.4);
}

*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, sans-serif; font-size:14px; line-height:1.55;
}
h1,h2,h3,.brand,.nav a,.btn,button{ font-family:'Plus Jakarta Sans', 'IBM Plex Sans', sans-serif; }
.mono{ font-family:'IBM Plex Mono', monospace; }

/* Shell */
.shell{ display:flex; height:100vh; }
.sidebar{
  width:230px; flex-shrink:0; background:var(--surface); border-right:1px solid var(--line);
  padding:20px 14px; display:flex; flex-direction:column; gap:22px; height:100vh; overflow-y:auto;
}
.brand{ display:flex; align-items:center; gap:9px; padding:0 8px; font-weight:800; font-size:19px; color:var(--accent-deep); }
.brand .dot{ width:10px; height:10px; border-radius:99px; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }

.nav{ display:flex; flex-direction:column; gap:2px; }
.nav a{
  display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px;
  color:var(--ink-muted); text-decoration:none; font-size:13.5px; font-weight:500;
  border-left:3px solid transparent;
}
.nav a svg{ width:17px; height:17px; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:1.8; }
.nav a:hover{ background:var(--surface-2); color:var(--ink); }
.nav a.active{ background:var(--accent-soft); color:var(--accent-deep); border-left-color:var(--accent); font-weight:600; }

.main{ flex:1; display:flex; flex-direction:column; min-width:0; height:100vh; overflow:hidden; }
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; border-bottom:1px solid var(--line); background:var(--surface); flex-shrink:0;
}
.topbar h1{ font-size:18px; font-weight:700; margin:0; }
.topbar .sub{ color:var(--ink-faint); font-size:12.5px; font-family:'IBM Plex Mono',monospace; margin-top:2px; }
.content{ padding:26px 28px; flex:1; overflow-y:auto; }

/* Pills */
.pill{
  display:inline-flex; align-items:center; gap:5px; font-family:'IBM Plex Mono',monospace;
  font-size:11px; letter-spacing:0.02em; padding:4px 10px; border-radius:99px;
  background:var(--surface-2); color:var(--ink-muted); white-space:nowrap;
}
.pill.accent{ background:var(--accent-soft); color:var(--accent-deep); }
.pill.good{ background:var(--good-soft); color:var(--good); }
.pill.warn{ background:var(--warn-soft); color:var(--warn); }
.pill.crit{ background:var(--crit-soft); color:var(--crit); }
.pill.wa{ background:var(--good-soft); color:var(--good); }
.pill.wa::before{ content:"●"; font-size:8px; }

/* Cards / blocks */
.block{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 20px; margin-bottom:18px; box-shadow:var(--shadow);
}
.block .label{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--ink-faint); display:block; margin-bottom:12px;
}
.row{ display:flex; gap:18px; }
.col{ flex:1; min-width:0; }

/* Stat tiles */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:18px; }
.stat{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; box-shadow:var(--shadow); }
.stat .n{ font-family:'IBM Plex Mono',monospace; font-size:24px; font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums; }
.stat .l{ font-size:12px; color:var(--ink-muted); margin-top:2px; }
.stat.warn .n{ color:var(--warn); }
.stat.crit .n{ color:var(--crit); }

/* Kanban */
.kanban{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; }
.kanban-col{ width:250px; flex-shrink:0; background:var(--surface-2); border-radius:var(--radius); padding:12px; }
.kanban-col h3{ font-size:12.5px; margin:0 0 10px; padding:0 4px; color:var(--ink-muted); font-weight:600; text-transform:uppercase; letter-spacing:0.03em; }
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:9px;
  padding:11px 12px; margin-bottom:9px; box-shadow:var(--shadow);
}
.card[draggable="true"]:active{ cursor:grabbing; }
.card.arrastando{ opacity:0.4; }
.kanban-col.pode-soltar{ background:var(--accent-soft); outline:2px dashed var(--accent); outline-offset:-2px; }
.card .name{ font-weight:600; font-size:13.5px; color:var(--ink); }
.card .name a:hover, td a:hover{ text-decoration:underline; }
.card-row{ display:flex; gap:10px; align-items:flex-start; }
.card-row > .avatar{ margin-top:1px; }
.card-row > .card-body{ min-width:0; flex:1; }

.avatar{
  border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:700; flex-shrink:0; font-family:'Plus Jakarta Sans','IBM Plex Sans',sans-serif;
  letter-spacing:-0.02em;
}
.row-com-avatar{ display:flex; align-items:center; gap:10px; }

.badge-notif{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:16px; height:16px; padding:0 4px; margin-left:auto;
  background:var(--crit); color:#fff; border-radius:99px;
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; font-weight:700;
}
@keyframes piscar{ 0%,100%{ opacity:1; } 50%{ opacity:0.35; } }
.piscando{ animation:piscar 1.1s ease-in-out infinite; }

.callout{ padding:12px 16px; border-radius:9px; font-size:13.5px; border:1px solid transparent; }
.callout.good{ background:var(--good-soft); color:var(--good); border-color:var(--good); }
.callout.crit{ background:var(--crit-soft); color:var(--crit); border-color:var(--crit); }
.card .preview{ font-size:12px; color:var(--ink-muted); margin-top:3px; }

/* Checklist */
.checklist-item{ display:flex; align-items:center; gap:9px; padding:6px 2px; font-size:13.5px; }
.checklist-item input{ width:16px; height:16px; accent-color:var(--accent); }

/* Table */
table{ width:100%; border-collapse:collapse; }
th,td{ text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); font-size:13px; }
th{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-faint); font-weight:500; }
td.num{ font-family:'IBM Plex Mono',monospace; font-variant-numeric:tabular-nums; }
td.trunc{ max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tabela-scroll{ max-height:158px; overflow-y:auto; }
.tabela-scroll table{ margin:0; }
.tabela-scroll thead th{ position:sticky; top:0; background:var(--surface); z-index:1; }
.busca-tabela{
  padding:7px 11px; border:1px solid var(--line); border-radius:8px; background:var(--surface);
  color:var(--ink); font-family:inherit; font-size:12.5px; max-width:220px;
}

/* Buttons / forms */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:10px 16px; border-radius:9px; border:none; background:var(--accent); color:#fff;
  font-weight:600; font-size:13.5px; cursor:pointer;
}
.btn:hover{ background:var(--accent-deep); }
.btn.ghost{ background:var(--surface-2); color:var(--ink); }
.btn.icon{ width:32px; height:32px; padding:0; flex-shrink:0; }
.btn.icon svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; }
.field{ margin-bottom:13px; }
.field label{ display:block; font-size:12px; color:var(--ink-muted); margin-bottom:5px; font-weight:500; }
.field input, .field select, .field textarea{
  width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:8px;
  background:var(--surface); color:var(--ink); font-family:inherit; font-size:13.5px;
}
.field textarea{ resize:vertical; min-height:90px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--accent-soft); border-color:var(--accent); }

/* Login */
.login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--bg); }
.login-card{
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:36px 34px; width:340px; box-shadow:var(--shadow);
}
.login-card .brand{ margin-bottom:4px; padding:0; justify-content:flex-start; }
.login-card p.sub{ font-size:13px; color:var(--ink-muted); margin:0 0 22px; }

/* Timeline / etapas do processo */
.steps{ display:flex; flex-direction:column; }
.step{ display:flex; gap:12px; padding:10px 0; }
.step .dot{ width:20px; height:20px; border-radius:99px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.step.done .dot{ background:var(--good); color:#fff; }
.step.active .dot{ background:var(--accent); color:#fff; }
.step.pending .dot{ background:var(--surface-2); color:var(--ink-faint); border:1px solid var(--line); }
.step .txt{ padding-top:1px; }
.step .txt .t{ font-weight:600; font-size:13.5px; }
.step .txt .s{ font-size:11.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace; text-transform:uppercase; }

/* Chat */
.chat-shell{ display:flex; flex:1; min-height:0; }
.chat-list{ width:270px; border-right:1px solid var(--line); background:var(--surface); overflow-y:auto; padding:10px; }
.chat-list .card{ cursor:pointer; }
.chat-list .card.active{ border-color:var(--accent); background:var(--accent-soft); }
.chat-conv{ flex:1; display:flex; flex-direction:column; background:var(--bg); min-width:0; }
.chat-messages{ flex:1; padding:22px; overflow-y:auto; display:flex; flex-direction:column; }
.msg{ max-width:65%; padding:9px 13px; border-radius:12px; margin-bottom:9px; font-size:13.5px; background:var(--surface); border:1px solid var(--line); }
.msg.out{ margin-left:auto; background:var(--good-soft); border-color:transparent; color:var(--ink); }
.chat-input{ border-top:1px solid var(--line); padding:14px 18px; display:flex; gap:8px; align-items:center; background:var(--surface); }
.chat-input input[type="text"]{ flex:1; padding:10px 14px; border:1px solid var(--line); border-radius:99px; font-family:inherit; font-size:13.5px; }
.icon-btn{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:var(--surface-2);
  color:var(--ink-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
}
.icon-btn:hover{ background:var(--accent-soft); color:var(--accent-deep); }
.icon-btn svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; }
.icon-btn.gravando{ background:var(--crit-soft); color:var(--crit); border-color:var(--crit); animation:pulsar 1.1s infinite; }
@keyframes pulsar{ 0%,100%{ box-shadow:0 0 0 0 rgba(158,43,43,0.35);} 50%{ box-shadow:0 0 0 6px rgba(158,43,43,0);} }

.msg img{ display:block; max-width:220px; border-radius:8px; }
.msg audio{ width:230px; height:34px; }
.msg.sticker{ background:transparent; border:none; box-shadow:none; padding:0; font-size:52px; line-height:1; }

.sticker-picker{
  position:absolute; bottom:64px; background:var(--surface); border:1px solid var(--line); border-radius:12px;
  box-shadow:var(--shadow); padding:10px; display:grid; grid-template-columns:repeat(6,1fr); gap:4px; z-index:60;
}
.sticker-picker button{ background:none; border:none; font-size:22px; cursor:pointer; padding:5px; border-radius:6px; }
.sticker-picker button:hover{ background:var(--surface-2); }
.sticker-picker[hidden]{ display:none; }
.crm-panel{ width:270px; border-left:1px solid var(--line); padding:18px; overflow-y:auto; background:var(--surface); }
.crm-panel .label{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); display:block; margin-bottom:14px; }

/* CRM do Chat — estilo "Front/Help Scout": sem caixas em cada campo, ícone +
   linha fina separando, ao invés de um <select> com borda por campo. */
.crm-secao-label{ font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-faint); }
.crm-linha{ display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--line); position:relative; }
.crm-linha:last-of-type{ border-bottom:none; }
.crm-linha svg{ width:15px; height:15px; stroke:var(--ink-faint); fill:none; stroke-width:1.8; flex-shrink:0; }
.crm-select-flat{
  border:none; background:none; padding:2px 16px 2px 0; margin:0; font-family:inherit; font-size:12.5px;
  color:var(--ink); flex:1; min-width:0; appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer;
}
.crm-select-flat:focus{ outline:none; color:var(--accent); }
.crm-select-flat option{ color:var(--ink); background:var(--surface); }
.crm-linha::after{ content:"▾"; position:absolute; right:0; font-size:9px; color:var(--ink-faint); pointer-events:none; }
.crm-panel .btn{ border-radius:99px; }
.crm-menu-item{ display:flex; align-items:center; gap:8px; padding:7px 6px; border-radius:6px; cursor:pointer; font-size:12.5px; }
.crm-menu-item:hover{ background:var(--surface-2); }
.crm-select-trigger{
  flex:1; min-width:0; font-size:12.5px; color:var(--ink); cursor:pointer;
  padding:2px 16px 2px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.crm-select-menu{ top:100%; margin-top:4px; padding:6px; max-height:220px; overflow-y:auto; }

/* Botão flutuante de suporte via WhatsApp */
.fab-suporte{
  position:fixed; right:24px; bottom:24px; width:52px; height:52px; border-radius:50%;
  background:var(--good); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow); text-decoration:none; z-index:80;
}
.fab-suporte svg{ width:26px; height:26px; }
.fab-suporte:hover{ filter:brightness(1.06); }

/* Toolbar de listagem (busca + adicionar) */
.toolbar{ display:flex; gap:12px; align-items:center; margin-bottom:16px; }
.toolbar input[type="search"]{
  flex:1; padding:10px 14px; border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink); font-family:inherit; font-size:13.5px;
}
.periodo-custom-row{ display:inline-flex; gap:6px; align-items:center; }
.periodo-custom-row[hidden]{ display:none; }
.toolbar select{
  width:150px; padding:10px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--surface); color:var(--ink); font-family:inherit; font-size:13px; flex-shrink:0;
  text-align:left; text-align-last:left; -moz-text-align-last:left;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.list-row{ cursor:pointer; }
.list-row:hover td{ background:var(--surface-2); }

/* Modal simples */
.modal-backdrop{
  position:fixed; inset:0; background:rgba(15,25,35,0.45); display:flex;
  align-items:center; justify-content:center; z-index:100;
}
.modal-backdrop[hidden]{ display:none; }
.modal{
  background:var(--surface); border-radius:var(--radius); padding:24px 26px; width:380px;
  box-shadow:var(--shadow); border:1px solid var(--line);
}
.modal h2{ font-size:16px; margin:0 0 16px; }
.modal .actions{ display:flex; gap:10px; margin-top:18px; }
.modal .actions .btn{ flex:1; }
.modal.modal-lg{ width:640px; max-width:92vw; max-height:88vh; overflow-y:auto; }
.link-mini{ font-size:12px; color:var(--accent); text-decoration:none; font-weight:600; }
.link-mini:hover{ text-decoration:underline; }

.busca-resultados{
  position:absolute; top:100%; left:0; right:0; z-index:20; margin-top:4px;
  background:var(--surface); border:1px solid var(--line); border-radius:9px;
  box-shadow:var(--shadow); max-height:200px; overflow-y:auto;
}
.busca-resultados[hidden]{ display:none; }
.busca-resultados .item{ padding:8px 12px; font-size:13px; cursor:pointer; }
.busca-resultados .item:hover{ background:var(--surface-2); }
.acoes-flex{ display:flex; gap:10px; margin-bottom:18px; }
#acoes-email[hidden]{ display:none; }

/* Abas do perfil do cliente */
.tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:22px; overflow-x:auto; }
.tabs button{
  background:none; border:none; padding:11px 14px; font-size:13.5px; font-weight:500;
  color:var(--ink-muted); cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap;
  font-family:'Plus Jakarta Sans','IBM Plex Sans',sans-serif;
}
.tabs button:hover{ color:var(--ink); }
.tabs button.active{ color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }
.tab-panel[hidden]{ display:none; }

.form-section{ padding:16px 0; border-bottom:1px solid var(--line); }
.form-section:last-child{ border-bottom:none; }
.form-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; }

.empty-state{ text-align:center; padding:50px 20px; color:var(--ink-muted); }
.empty-state h3{ font-size:15px; color:var(--ink); margin:0 0 6px; font-family:'Plus Jakarta Sans',sans-serif; }
.empty-state p{ font-size:13px; max-width:44ch; margin:0 auto 16px; }

.avatar-upload{
  width:64px; height:64px; border-radius:50%; background:var(--surface-2); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-faint); cursor:pointer;
}
.avatar-upload svg{ width:22px; height:22px; }

/* Etiquetas */
.tag-chip{
  display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:99px;
  font-family:'IBM Plex Mono',monospace; font-size:11px; margin:0 5px 5px 0;
}
.tag-chip button{ background:none; border:none; cursor:pointer; color:inherit; font-size:12px; line-height:1; padding:0; opacity:0.65; }
.tag-chip button:hover{ opacity:1; }
.tag-add-row{ display:flex; gap:8px; margin-top:8px; }
.tag-add-row select{ flex:1; min-width:0; padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font-size:12.5px; }
.tag-add-row input[type="text"]{ flex:1; min-width:0; padding:7px 9px; border:1px solid var(--line); border-radius:8px; font-family:inherit; font-size:12.5px; background:var(--surface); color:var(--ink); }
.tag-add-row input[type="color"]{ flex-shrink:0; }
.tag-add-row .btn{ flex-shrink:0; }
.tag-list{ max-height:220px; overflow-y:auto; border:1px solid var(--line); border-radius:8px; margin-bottom:14px; }
.tag-list-row{ display:flex; align-items:center; gap:9px; padding:8px 12px; border-bottom:1px solid var(--line); font-size:13px; cursor:pointer; }
.tag-list-row:last-child{ border-bottom:none; }
.tag-list-row:hover{ background:var(--surface-2); }
.tag-list-row .swatch{ width:10px; height:10px; border-radius:2px; flex-shrink:0; }

.popover-etiquetas{
  position:fixed; width:270px; background:var(--surface); border:1px solid var(--line);
  border-radius:10px; box-shadow:var(--shadow); z-index:90; padding:14px;
}
.popover-etiquetas input[type="search"]{
  width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px;
  margin-bottom:8px; font-family:inherit; background:var(--surface); color:var(--ink);
}
.popover-etiquetas .tag-list{ max-height:190px; margin-bottom:0; }
.popover-etiquetas .tag-list-row{ justify-content:space-between; }
.popover-etiquetas .gerenciar-link{
  display:block; text-align:center; margin-top:10px; font-size:12px;
  color:var(--accent); cursor:pointer; background:none; border:none; width:100%; font-family:inherit;
}

/* ==========================================================================
   Visual 2026 — modelo aprovado pelo usuário em 01/10/2026 (aba Agentes da Advocacia):
   cor de destaque azul, títulos fortes, cartões arredondados com sombra suave e
   botões em pílula. Vale para a Imigração e para a Advocacia. Só aparência.
   ========================================================================== */

:root{
  /* Cor de destaque da plataforma: azul (regra do usuário, out/2026). Na conversa com um agente, a tela usa a cor do agente. */
  --coral:#3471D5; --coral-deep:#2D60B5;
  --azul:#3B82F6; --verde:#10B981; --ambar:#F59E0B; --vermelho:#EF4444;
  --radius:22px;
  --shadow:0 22px 40px -30px rgba(15,23,42,.42), 0 0 0 1px rgba(15,23,42,.035);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --shadow:0 22px 40px -26px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.04); }
}
:root[data-theme="dark"]{ --shadow:0 22px 40px -26px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.04); }

/* Estrutura */
.sidebar{ border-right:none; box-shadow:10px 0 34px -30px rgba(15,23,42,.45); position:relative; z-index:3; }
.nav a{ border-left:none; border-radius:14px; padding:10px 12px; font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; }
.nav a:hover{ background:color-mix(in srgb, var(--coral) 7%, var(--surface)); }
.nav a.active{ background:color-mix(in srgb, var(--coral) 13%, var(--surface)); color:var(--coral-deep); border-left:none; font-weight:700; }
.main{ background:
  radial-gradient(1100px 520px at 100% -12%, color-mix(in srgb, var(--coral) 8%, transparent), transparent 60%),
  radial-gradient(900px 520px at 0% 112%, color-mix(in srgb, var(--azul) 7%, transparent), transparent 60%), var(--bg); }
.topbar{ background:transparent; border-bottom:none; padding:24px 32px 10px; gap:16px; }
.topbar h1{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:28px; letter-spacing:-.035em; line-height:1.1; }
.topbar .sub{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:13px; color:var(--ink-muted); margin-top:5px; letter-spacing:0; }
.topbar > div:last-child{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.content{ padding:18px 32px 36px; }

/* Botões */
.btn{ border-radius:99px; background:var(--coral); color:#fff; font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; padding:10px 18px; text-decoration:none;
  box-shadow:0 12px 24px -12px color-mix(in srgb, var(--coral) 80%, transparent); transition:transform .15s, background .15s, box-shadow .15s; }
.btn:hover{ background:var(--coral-deep); transform:translateY(-1px); }
.btn:disabled{ opacity:.5; cursor:not-allowed; transform:none; }
.btn.ghost{ background:var(--surface); color:var(--ink); box-shadow:0 8px 20px -14px rgba(15,23,42,.45), 0 0 0 1px var(--line) inset; }
.btn.ghost:hover{ background:color-mix(in srgb, var(--coral) 9%, var(--surface)); }
.btn.icon{ border-radius:50%; width:38px; height:38px; }
.link-mini{ color:var(--coral-deep); }
a.btn{ text-decoration:none; }

/* Cartões */
.block{ border:none; border-radius:26px; padding:22px 24px; box-shadow:var(--shadow); }
.block .label, .crm-panel .label{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:12px; letter-spacing:.06em; color:var(--ink-muted); }
.card{ border:none; border-radius:18px; box-shadow:var(--shadow); }
.kanban-col{ border-radius:24px; background:color-mix(in srgb, var(--surface-2) 70%, transparent); }
.kanban-col h3{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; letter-spacing:.04em; }
.empty-state h3{ font-weight:800; }

/* Números */
.stats{ gap:16px; }
.stat{ border:none; border-radius:24px; padding:20px 22px; box-shadow:var(--shadow); }
.stat .n{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:34px; line-height:1.05; letter-spacing:-.035em; }
.stat .l{ font-size:12.5px; margin-top:4px; }
.stat.warn .n{ color:var(--ambar); }
.stat.crit .n{ color:var(--vermelho); }

/* Etiquetas */
.pill{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:11.5px; letter-spacing:0; padding:5px 11px; }
.pill.accent{ background:color-mix(in srgb, var(--azul) 14%, var(--surface)); color:color-mix(in srgb, var(--azul) 75%, var(--ink)); }
.pill.good, .pill.wa{ background:color-mix(in srgb, var(--verde) 15%, var(--surface)); color:color-mix(in srgb, var(--verde) 70%, var(--ink)); }
.pill.warn{ background:color-mix(in srgb, var(--ambar) 18%, var(--surface)); color:color-mix(in srgb, var(--ambar) 60%, var(--ink)); }
.pill.crit{ background:color-mix(in srgb, var(--vermelho) 15%, var(--surface)); color:color-mix(in srgb, var(--vermelho) 75%, var(--ink)); }
.tag-chip{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; }
.badge-notif{ font-family:'Plus Jakarta Sans', sans-serif; background:var(--coral); }

/* Avisos */
.callout{ border:none; border-radius:18px; padding:14px 18px; background:color-mix(in srgb, var(--azul) 9%, var(--surface)); box-shadow:0 14px 30px -26px rgba(15,23,42,.4); }
.callout.good{ background:color-mix(in srgb, var(--verde) 13%, var(--surface)); color:color-mix(in srgb, var(--verde) 70%, var(--ink)); }
.callout.crit{ background:color-mix(in srgb, var(--vermelho) 12%, var(--surface)); color:color-mix(in srgb, var(--vermelho) 75%, var(--ink)); }

/* Tabelas */
th{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:11px; letter-spacing:.07em; color:var(--ink-faint); padding:12px 10px; }
td{ padding:13px 10px; border-bottom-color:color-mix(in srgb, var(--line) 70%, transparent); }
tbody tr:last-child td{ border-bottom:none; }
td.num{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; }
.list-row td{ transition:background .12s; }
.list-row:hover td{ background:color-mix(in srgb, var(--coral) 5%, var(--surface)); }
.block > table, .block > div > table{ margin:-4px 0; }

/* Campos */
.field label{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; color:var(--ink-muted); }
.field input, .field select, .field textarea, .busca-tabela, .tag-add-row select, .tag-add-row input[type="text"]{ border-radius:14px; padding:10px 13px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:3px solid color-mix(in srgb, var(--coral) 28%, transparent); border-color:var(--coral); }
.toolbar{ gap:12px; margin-bottom:18px; }
.toolbar input[type="search"], .toolbar select{ border:none; border-radius:16px; padding:12px 16px; box-shadow:0 12px 26px -22px rgba(15,23,42,.5), 0 0 0 1px var(--line) inset; }
.toolbar input[type="search"]:focus, .toolbar select:focus{ outline:3px solid color-mix(in srgb, var(--coral) 28%, transparent); }

/* Abas em pílula */
.tabs{ border-bottom:none; gap:6px; padding:5px; border-radius:99px; background:var(--surface); box-shadow:var(--shadow); width:max-content; max-width:100%; }
.tabs button{ border-bottom:none; border-radius:99px; padding:9px 18px; font-weight:700; }
.tabs button:hover{ background:var(--surface-2); }
.tabs button.active{ background:var(--coral); color:#fff; border-bottom:none; box-shadow:0 10px 20px -12px color-mix(in srgb, var(--coral) 80%, transparent); }

/* Janelas */
.modal-backdrop{ background:rgba(15,23,42,.42); backdrop-filter:blur(3px); }
.modal{ border:none; border-radius:28px; padding:28px 30px; box-shadow:0 40px 80px -30px rgba(15,23,42,.55); }
.modal h2{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:21px; letter-spacing:-.02em; }
.busca-resultados, .popover-etiquetas{ border:none; border-radius:18px; box-shadow:0 24px 48px -24px rgba(15,23,42,.5), 0 0 0 1px var(--line); }
.busca-resultados .item{ padding:10px 14px; }
.busca-resultados .item:hover{ background:color-mix(in srgb, var(--coral) 7%, var(--surface)); }

/* Login */
.login-card{ border:none; border-radius:28px; box-shadow:0 40px 80px -40px rgba(15,23,42,.5); }

/* Chat do WhatsApp (tela compartilhada) */
.chat-list{ border-right:none; box-shadow:10px 0 30px -28px rgba(15,23,42,.4); }
.chat-list .card.active{ background:color-mix(in srgb, var(--coral) 10%, var(--surface)); }
.msg{ border:none; border-radius:18px; box-shadow:0 10px 24px -20px rgba(15,23,42,.5); }
.crm-panel{ border-left:none; box-shadow:-10px 0 30px -28px rgba(15,23,42,.4); }

/* ---- Telas com estilo próprio: o prefixo vence o <style> da própria página ---- */

/* Agenda */
html body .agenda-mes{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:20px; letter-spacing:-.02em; }
html body .agenda-toolbar select{ padding:10px 14px; border:none; border-radius:99px; background:var(--surface); color:var(--ink); font-family:'Plus Jakarta Sans', sans-serif; font-weight:600; font-size:13px;
  box-shadow:0 8px 20px -14px rgba(15,23,42,.45), 0 0 0 1px var(--line) inset; }
html body .calendario{ border:none; border-radius:26px; box-shadow:var(--shadow); }
html body .cal-dia-semana{ background:var(--surface); font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; color:var(--ink-faint); padding:14px 12px 10px; border-bottom-color:color-mix(in srgb, var(--line) 60%, transparent); }
html body .cal-celula{ border-color:color-mix(in srgb, var(--line) 60%, transparent); padding:8px; }
html body .cal-celula.fora-mes{ background:color-mix(in srgb, var(--surface-2) 55%, var(--surface)); }
html body .cal-celula.com-evento{ box-shadow:inset 0 3px 0 var(--coral); }
html body .cal-num{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; width:28px; height:28px; }
html body .cal-celula.hoje .cal-num{ background:var(--coral); box-shadow:0 8px 16px -8px color-mix(in srgb, var(--coral) 80%, transparent); }
html body .cal-item{ border-radius:9px; padding:4px 8px; font-weight:600; }
html body .cal-item.evento{ border-left:none; background:color-mix(in srgb, var(--azul) 14%, var(--surface)); color:color-mix(in srgb, var(--azul) 70%, var(--ink)); }
html body .cal-item.vencida{ background:color-mix(in srgb, var(--vermelho) 14%, var(--surface)); color:color-mix(in srgb, var(--vermelho) 75%, var(--ink)); }

/* Notificações (intimações) */
html body .intimacao{ border:none; border-radius:26px; padding:20px 24px; box-shadow:var(--shadow); margin-bottom:16px; }
html body .intimacao.nao-lida{ box-shadow:var(--shadow), 0 0 0 2px color-mix(in srgb, var(--coral) 45%, transparent); }
html body .intimacao .tipo{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:15.5px; }
html body .intimacao .prazo{ border-radius:18px; padding:14px 16px; background:color-mix(in srgb, var(--surface-2) 75%, var(--surface)); }
html body .intimacao .controles label{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; }
html body .intimacao .controles input, html body .intimacao .controles select{ border-radius:12px; padding:8px 11px; }
html body .intimacao .controles .btn{ padding:9px 16px; }
html body .intimacao .controles .btn.ghost{ border:none; background:var(--surface); }
html body .pill.urg-vencido, html body .pill.urg-hoje{ background:var(--vermelho); color:#fff; }
html body .pill.urg-amanha{ background:var(--ambar); color:#fff; }
html body .pill.urg-ate5{ background:color-mix(in srgb, var(--ambar) 18%, var(--surface)); color:color-mix(in srgb, var(--ambar) 60%, var(--ink)); }
html body .urg-vencido .n, html body .urg-hoje .n{ color:var(--vermelho); }
html body .urg-amanha .n, html body .urg-ate5 .n{ color:var(--ambar); }
html body .ponto-nova{ background:var(--coral); }
html body .tabs button[data-status]{ background:none; }
html body .tabs button[data-status]:hover{ background:var(--surface-2); }
html body .tabs button[data-status].active{ background:var(--coral); color:#fff; }

/* Logo (out/2026): maior no menu, para o traço ficar legível. Sem sombra: o filtro de
   sombra transforma o vetor em pixels e serrilha em telas com escala ou zoom. */
.sidebar .brand{ padding:2px 4px 4px; }
.sidebar .brand img{ height:46px !important; width:auto; max-width:100%; }

/* Listas dos seletores (out/2026): ao abrir, a lista segue o visual da plataforma —
   cantos arredondados, sombra suave, opção marcada em azul — em vez da caixa quadrada
   do sistema. Vale para todos os <select> de todas as abas. Só CSS: o valor e os
   eventos do seletor continuam os mesmos. Navegadores sem suporte (Safari, Firefox)
   seguem mostrando a lista padrão. */
@supports (appearance: base-select) {
  select:not([multiple]):not([size]), select:not([multiple]):not([size])::picker(select){ appearance:base-select; }
  select:not([multiple]):not([size]){ cursor:pointer; align-items:center; gap:8px; }
  select:not([multiple]):not([size])::picker-icon{
    content:''; width:10px; height:10px; margin-left:auto; flex-shrink:0; background:currentColor; opacity:.65;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5 5 7l3.5-3.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5 5 7l3.5-3.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:rotate .15s;
  }
  select:not([multiple]):not([size]):open::picker-icon{ rotate:180deg; }
  /* O seletor "achatado" do CRM já desenha a própria seta. */
  select.crm-select-flat::picker-icon{ display:none; }
  ::picker(select){
    border:none; border-radius:16px; padding:6px; margin-block:6px; background:var(--surface); color:var(--ink);
    box-shadow:0 22px 44px -18px rgba(15,23,42,.42), 0 0 0 1px var(--line); max-height:min(340px, 60vh); min-width:anchor-size(width);
  }
  select:not([multiple]):not([size]) option{
    border-radius:11px; padding:9px 12px; font-family:inherit; font-size:13.5px; font-weight:500; color:var(--ink); background:none; cursor:pointer;
  }
  select:not([multiple]):not([size]) option:hover, select:not([multiple]):not([size]) option:focus-visible{
    background:color-mix(in srgb, var(--coral) 12%, var(--surface)); outline:none;
  }
  select:not([multiple]):not([size]) option:checked{ background:var(--coral); color:#fff; font-weight:600; }
  select:not([multiple]):not([size]) option::checkmark{ display:none; }
  select:not([multiple]):not([size]) option:disabled{ opacity:.45; cursor:default; }
  select:not([multiple]):not([size]) optgroup{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); padding:6px 8px 2px; }
}

/* CRM › Adicionar processo (Advocacia): criar e excluir tipos de serviço ali mesmo. */
.tipo-acoes{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin-top:8px; }
.tipo-acoes .excluir{ color:var(--crit); }
.tipo-vazio{ width:100%; margin:0; padding:10px 12px; border-radius:12px; background:var(--surface-2); color:var(--ink-muted); font-size:12.5px; }
.tipo-novo{ margin-top:12px; padding:14px; border-radius:16px; background:var(--surface-2); display:flex; flex-direction:column; gap:8px; }
.tipo-novo label{ font-size:12px; color:var(--ink-muted); font-weight:500; margin-top:4px; }
.tipo-novo input, .tipo-novo select{ border:1px solid var(--line); border-radius:12px; padding:8px 11px; background:var(--surface); color:var(--ink); font-family:inherit; font-size:13px; }
.tipo-etapas{ display:flex; flex-direction:column; gap:6px; }
.tipo-etapa{ display:flex; gap:6px; align-items:center; }
.tipo-etapa input{ flex:1; min-width:0; }
.tipo-etapa select{ width:150px; flex-shrink:0; }
.tipo-remover{ border:none; background:none; color:var(--ink-faint); cursor:pointer; font-size:13px; padding:4px 6px; border-radius:8px; }
.tipo-remover:hover{ color:var(--crit); background:var(--surface); }
.tipo-erro{ margin:0; color:var(--crit); font-size:12.5px; }
.tipo-botoes{ display:flex; justify-content:flex-end; gap:8px; margin-top:4px; }
@media (max-width:520px){ .tipo-etapa{ flex-wrap:wrap; } .tipo-etapa select{ width:auto; flex:1; } }
.modal:has(.tipo-novo){ width:min(540px, 94vw); max-width:94vw; }
.tipo-etapa select{ width:150px; white-space:nowrap; text-overflow:ellipsis; }

/* CRM automático (Advocacia): avisos no card. */
.crm-extras{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.crm-extras:empty{ display:none; }
.crm-chip{ display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:99px; background:var(--surface-2); color:var(--ink-muted); text-decoration:none; }
.crm-chip.novo{ background:color-mix(in srgb, var(--coral) 14%, var(--surface)); color:var(--coral); }
.crm-chip.urgente{ background:color-mix(in srgb, var(--crit) 14%, var(--surface)); color:var(--crit); }
.crm-sugestao{ margin-top:10px; padding:10px 12px; border-radius:14px; background:color-mix(in srgb, #F59E0B 14%, var(--surface)); font-size:12px; line-height:1.45; cursor:default; }
.crm-sugestao-botoes{ display:flex; gap:6px; margin-top:8px; }
.crm-sugestao .btn{ padding:6px 12px; font-size:12px; border-radius:99px; }

/* CRM (Advocacia): card unificado por cliente, uma linha por demanda. */
.crm-demandas{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.crm-demandas li{ padding:9px 10px; border-radius:12px; background:var(--surface-2); cursor:pointer; transition:background .15s; }
.crm-demandas li:hover{ background:color-mix(in srgb, var(--coral) 9%, var(--surface-2)); }
.crm-demanda-topo{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:12.5px; }
.crm-demanda-etapa{ font-size:11.5px; color:var(--ink-muted); margin-top:3px; line-height:1.4; }
.crm-demanda-num{ font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:var(--ink-faint); }
.crm-fase{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:2px 7px; border-radius:99px; background:var(--surface); color:var(--ink-muted); }
.crm-fase.f-documentacao{ color:#B45309; background:color-mix(in srgb, #F59E0B 16%, var(--surface)); }
.crm-fase.f-protocolado{ color:var(--coral); background:color-mix(in srgb, var(--coral) 14%, var(--surface)); }
.crm-fase.f-aguardando_decisao{ color:#7C3AED; background:color-mix(in srgb, #8B5CF6 15%, var(--surface)); }
.crm-fase.f-concluido{ color:#15803D; background:color-mix(in srgb, #22C55E 15%, var(--surface)); }
.crm-demandas .crm-extras{ margin-top:6px; }
.crm-escolha{ display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.crm-escolha .btn{ justify-content:flex-start; text-align:left; border-radius:14px; padding:10px 14px; }

/* CRM com as intimações do DJEN (Advocacia, app/adv/crm-intimacoes.js). */
.nav .menu-num{ margin-left:auto; background:var(--crit); color:#fff; font-size:11px; font-weight:700; border-radius:99px; padding:1px 7px; line-height:1.5; }
.ci-faixa{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin-bottom:14px; }
.ci-prazos{ display:flex; flex-wrap:wrap; gap:8px; flex:1 1 560px; }
.ci-acoes{ display:flex; gap:8px; }
.ci-acoes .btn{ border-radius:99px; }
.ci-aviso{ width:100%; margin:0; }
.ci-pz{ display:inline-flex; align-items:baseline; gap:8px; padding:9px 15px; border-radius:16px; border:none; cursor:pointer; background:var(--surface); color:var(--ink); font:inherit;
  box-shadow:0 8px 20px -16px rgba(15,23,42,.45), 0 0 0 1px var(--line) inset; transition:box-shadow .15s; }
.ci-pz .n{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:21px; }
.ci-pz .l{ font-size:12.5px; color:var(--ink-muted); }
.ci-pz.vencido .n, .ci-pz.hoje .n{ color:var(--crit); }
.ci-pz.amanha .n{ color:#D97706; }
.ci-pz.ate5 .n{ color:var(--coral); }
.ci-pz.zero .n{ color:var(--ink-faint); }
.ci-pz.on{ box-shadow:0 0 0 2px var(--coral) inset; }
#kanban .card.ci-apagado{ opacity:.28; }
.kanban-col.ci-col-novas{ background:color-mix(in srgb, var(--crit) 9%, var(--surface-2)); }
.kanban-col.ci-col-novas h3{ color:var(--crit); }
.card.ci-solta{ cursor:default; }
.ci-solta-tipo{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:13px; }
.ci-solta-meta{ font-size:11.5px; color:var(--ink-muted); margin:3px 0 8px; line-height:1.45; }
.ci-solta-acoes{ display:flex; flex-wrap:wrap; gap:6px; }
.ci-solta-acoes .btn{ padding:6px 12px; font-size:12px; border-radius:99px; text-decoration:none; }
button.crm-chip{ border:none; cursor:pointer; font-family:inherit; }
.ci-painel{ position:fixed; top:14px; right:14px; bottom:14px; width:min(440px, calc(100vw - 28px)); z-index:60; overflow-y:auto; background:var(--surface);
  border-radius:24px; padding:18px 18px 14px; box-shadow:0 30px 70px -24px rgba(15,23,42,.55), 0 0 0 1px var(--line); }
.ci-painel[hidden]{ display:none; }
.ci-painel-topo{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:10px; }
.ci-painel-topo h2{ margin:0; font-size:18px; }
.ci-sub{ font-size:12.5px; color:var(--ink-muted); margin:2px 0 0; }
.ci-x{ border:none; background:var(--surface-2); width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:14px; color:var(--ink-muted); flex-shrink:0; }
.modal .ci-x{ position:absolute; top:16px; right:18px; }
.ci-abas{ display:flex; gap:6px; margin-bottom:12px; }
.ci-abas button{ border:none; cursor:pointer; padding:6px 13px; border-radius:99px; font:inherit; font-size:12.5px; font-weight:600; background:var(--surface-2); color:var(--ink-muted); }
.ci-abas button.on{ background:var(--coral); color:#fff; }
.ci-vazio{ font-size:13px; color:var(--ink-muted); }
.ci-painel .intimacao{ border:1px solid var(--line); border-radius:16px; padding:12px 14px; margin-bottom:10px; }
.ci-painel .intimacao.nao-lida{ border-color:var(--coral); }
.ci-painel .intimacao .cabeca{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.ci-painel .intimacao .tipo{ font-weight:600; font-size:13.5px; }
.ci-painel .intimacao .meta{ font-size:12px; color:var(--ink-muted); margin-top:3px; }
.ci-painel .intimacao .proc{ font-size:12.5px; margin-top:4px; }
.ci-painel .intimacao .proc .num{ font-family:'IBM Plex Mono', monospace; color:var(--accent-deep, var(--coral)); }
.ci-painel .intimacao .texto{ font-size:13px; line-height:1.55; margin:8px 0 0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ci-painel .intimacao .texto.aberto{ -webkit-line-clamp:unset; display:block; }
.ci-painel .intimacao .prazo{ margin-top:10px; padding:10px 12px; border-radius:12px; background:var(--surface-2); font-size:12.5px; }
.ci-painel .intimacao .prazo .motivo{ font-size:11.5px; color:var(--ink-muted); margin-top:3px; }
.ci-painel .intimacao .controles{ display:flex; flex-wrap:wrap; gap:6px; align-items:end; margin-top:8px; }
.ci-painel .intimacao .controles label{ display:block; font-size:11px; color:var(--ink-muted); margin-bottom:3px; }
.ci-painel .intimacao .controles input, .ci-painel .intimacao .controles select{ padding:6px 8px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-family:inherit; font-size:12.5px; }
.ci-painel .intimacao .controles .btn{ padding:7px 12px; font-size:12px; border-radius:99px; }
.ci-painel .pill.urg-vencido, .ci-painel .pill.urg-hoje, .ci-col-novas .pill.urg-vencido, .ci-col-novas .pill.urg-hoje{ background:var(--crit); color:#fff; font-weight:600; }
.ci-painel .pill.urg-amanha, .ci-col-novas .pill.urg-amanha{ background:var(--warn); color:#fff; font-weight:600; }
.ci-painel .pill.urg-ate5, .ci-col-novas .pill.urg-ate5{ background:var(--warn-soft); color:var(--warn); font-weight:600; }
.ci-painel .ponto-nova{ width:8px; height:8px; border-radius:50%; background:var(--coral); display:inline-block; }
@media (max-width:640px){ .ci-painel{ top:0; right:0; bottom:0; width:100vw; border-radius:0; } }

/* CRM (Advocacia) — topo no estilo da tela de Agentes, com a esteira de intimações. */
.ci-vitrine{ display:grid; grid-template-columns:minmax(340px, 0.95fr) minmax(380px, 1.05fr); gap:18px; align-items:stretch; margin:0 0 18px; padding:0 0 0 clamp(20px, 3vw, 40px);
  min-height:380px; border-radius:30px; overflow:hidden;
  background:radial-gradient(700px 360px at 85% 0%, color-mix(in srgb, var(--coral) 12%, transparent), transparent 60%),
    radial-gradient(600px 320px at 10% 110%, color-mix(in srgb, #8B5CF6 8%, transparent), transparent 60%), var(--surface);
  box-shadow:0 24px 50px -32px rgba(15,23,42,.45), 0 0 0 1px var(--line) inset; }
.ci-chamada{ align-self:center; padding:30px 0; max-width:560px; }
.ci-selo{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:99px; background:var(--surface); box-shadow:0 4px 14px -6px rgba(15,23,42,.18);
  font-size:12.5px; font-weight:600; color:var(--ink-muted); font-family:'Plus Jakarta Sans', sans-serif; }
.ci-selo i{ width:8px; height:8px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 4px color-mix(in srgb, var(--coral) 22%, transparent); }
.ci-titulo{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:clamp(28px, 3vw, 42px); line-height:1.06; letter-spacing:-.03em; margin:18px 0 12px; color:var(--ink); }
.ci-titulo .destaque{ color:var(--coral); }
.ci-texto{ font-size:15px; line-height:1.6; color:var(--ink-muted); margin:0 0 20px; max-width:46ch; }
.ci-botoes{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ci-cta{ display:inline-flex; align-items:center; gap:10px; border:none; cursor:pointer; background:var(--coral); color:#fff; font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:14px;
  padding:12px 20px; border-radius:99px; box-shadow:0 14px 28px -12px color-mix(in srgb, var(--coral) 80%, transparent); transition:transform .15s, background .15s; }
.ci-cta:hover{ background:var(--coral-deep); transform:translateY(-1px); }
.ci-cta:disabled{ opacity:.7; cursor:wait; transform:none; }
.ci-cta svg{ width:17px; height:17px; }
.ci-cta-leve{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:14px; color:var(--ink); text-decoration:none; padding:11px 16px; border-radius:99px; }
.ci-cta-leve:hover{ background:var(--surface-2); }
.ci-numeros{ display:flex; gap:22px; align-items:flex-end; margin-top:26px; flex-wrap:wrap; }
.ci-vitrine .ci-pz{ background:none; box-shadow:none; padding:4px 8px; border-radius:14px; flex-direction:column; align-items:flex-start; gap:2px; }
.ci-vitrine .ci-pz:hover{ background:var(--surface-2); }
.ci-vitrine .ci-pz.on{ background:color-mix(in srgb, var(--coral) 12%, var(--surface)); box-shadow:0 0 0 2px var(--coral) inset; }
.ci-vitrine .ci-grande .n{ font-size:clamp(40px, 4vw, 58px); line-height:1; color:var(--coral); letter-spacing:-.03em; }
.ci-vitrine .ci-grande .l{ font-size:13px; }
.ci-menores{ display:flex; gap:4px; flex-wrap:wrap; }
.ci-vitrine .ci-menores .n{ font-size:24px; line-height:1.1; }
.ci-vitrine .ci-menores .l{ font-size:11.5px; }
.ci-rodape{ margin-top:16px; font-size:12px; color:var(--ink-faint); }
.ci-rodape[hidden]{ display:none; }
.ci-rodape a{ color:var(--coral); }
.ci-esteira{ position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; gap:16px; padding:22px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 10%, #000 92%, transparent); }
.ci-trilho{ display:flex; gap:16px; width:max-content; animation:ci-deslizar var(--dur, 40s) linear infinite; will-change:transform; }
.ci-trilho:nth-child(2){ margin-left:-110px; }
.ci-esteira:hover .ci-trilho{ animation-play-state:paused; }
@keyframes ci-deslizar{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - 8px)); } }
@media (prefers-reduced-motion: reduce){ .ci-trilho{ animation:none; } .ci-esteira{ overflow-x:auto; } }
.ci-tile{ position:relative; width:212px; height:150px; flex-shrink:0; border:none; cursor:pointer; text-align:left; border-radius:26px; padding:14px 16px; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end; gap:2px; font-family:'IBM Plex Sans', sans-serif; color:#0F172A;
  background:linear-gradient(160deg, var(--t1), var(--t2));
  box-shadow:0 20px 34px -18px var(--sombra), 0 2px 0 rgba(255,255,255,.7) inset, 0 0 0 1px rgba(255,255,255,.55) inset; transition:transform .2s ease, box-shadow .2s ease; }
.ci-tile::before{ content:''; position:absolute; inset:0; background:radial-gradient(120% 70% at 30% 0%, rgba(255,255,255,.55), transparent 55%); pointer-events:none; }
.ci-tile:hover, .ci-tile:focus-visible{ transform:translateY(-4px) scale(1.03); box-shadow:0 26px 40px -16px var(--sombra), 0 2px 0 rgba(255,255,255,.7) inset, 0 0 0 1px rgba(255,255,255,.55) inset; outline:none; }
.ci-tile-rotulo{ position:absolute; left:12px; top:12px; padding:4px 10px; border-radius:99px; background:rgba(255,255,255,.9); color:var(--cor);
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:11px; letter-spacing:.01em; box-shadow:0 4px 10px -6px rgba(15,23,42,.35); max-width:calc(100% - 70px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ci-tile-icone{ position:absolute; right:12px; top:10px; width:42px; height:42px; border-radius:50%; background:#fff; color:var(--cor, var(--coral)); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--cor, var(--coral)) 30%, #fff), 0 8px 16px -8px rgba(15,23,42,.35); }
.ci-tile-icone svg{ width:22px; height:22px; }
.ci-tile-tipo{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:14.5px; line-height:1.2; position:relative; }
.ci-tile-cliente{ font-size:12.5px; font-weight:600; color:#1E293B; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; position:relative; }
.ci-tile-num{ font-family:'IBM Plex Mono', monospace; font-size:10.5px; color:#334155; opacity:.85; position:relative; }
.ci-esteira-vazia{ margin:auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--ink-muted); font-size:13px; }
.ci-esteira-vazia .ci-tile-icone{ position:static; --cor:#16A34A; margin-bottom:6px; }
.ci-esteira-vazia b{ font-family:'Plus Jakarta Sans', sans-serif; color:var(--ink); font-size:16px; }
@container (max-width: 900px){ .ci-vitrine{ grid-template-columns:1fr; padding:0 20px; } .ci-esteira{ min-height:340px; } }
@media (max-width: 1100px){ .ci-vitrine{ grid-template-columns:1fr; padding:0 22px; } .ci-chamada{ padding-bottom:0; } }

/* CRM (Advocacia) — faixa compacta de intimações: uma linha, prioridade em cada bloco. */
.ci-banda{ display:grid; grid-template-columns:auto minmax(0, 1fr); gap:6px; align-items:stretch; margin:0 0 16px; padding:0; border-radius:24px; overflow:hidden;
  background:radial-gradient(500px 200px at 95% 0%, color-mix(in srgb, var(--coral) 10%, transparent), transparent 60%), var(--surface);
  box-shadow:0 18px 40px -30px rgba(15,23,42,.45), 0 0 0 1px var(--line) inset; }
.ci-resumo{ padding:14px 10px 14px 20px; display:flex; flex-direction:column; justify-content:center; gap:6px; border-right:1px solid var(--line); min-width:0; }
.ci-resumo .ci-selo{ align-self:flex-start; padding:4px 10px; font-size:11.5px; box-shadow:none; background:var(--surface-2); }
.ci-resumo-linha{ display:flex; align-items:center; gap:10px; }
.ci-banda .ci-pz{ background:none; box-shadow:none; padding:3px 7px; border-radius:12px; flex-direction:column; align-items:flex-start; gap:0; }
.ci-banda .ci-pz:hover{ background:var(--surface-2); }
.ci-banda .ci-pz.on{ background:color-mix(in srgb, var(--coral) 12%, var(--surface)); box-shadow:0 0 0 2px var(--coral) inset; }
.ci-banda .ci-grande .n{ font-size:38px; line-height:1; color:var(--coral); letter-spacing:-.03em; }
.ci-banda .ci-grande .l{ font-size:12px; }
.ci-banda .ci-menores{ display:grid; grid-template-columns:repeat(2, auto); gap:0 2px; }
.ci-banda .ci-menores .ci-pz{ flex-direction:row; align-items:baseline; gap:5px; padding:1px 7px; }
.ci-banda .ci-menores .n{ font-size:15px; line-height:1.3; }
.ci-banda .ci-menores .l{ font-size:11px; }
.ci-links{ display:flex; gap:6px; align-items:center; font-size:12px; color:var(--ink-faint); }
.ci-links button{ border:none; background:none; padding:0; cursor:pointer; font:inherit; font-size:12px; font-weight:600; color:var(--coral); }
.ci-links button:hover{ text-decoration:underline; }
.ci-links button:disabled{ color:var(--ink-faint); cursor:wait; text-decoration:none; }
.ci-banda .ci-rodape{ margin:0; font-size:11px; }
.ci-banda .ci-esteira{ flex-direction:row; align-items:center; padding:14px 0; min-height:0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 4%, #000 94%, transparent); }
.ci-banda .ci-trilho{ gap:12px; }
@keyframes ci-deslizar{ from{ transform:translateX(0); } to{ transform:translateX(calc(-50% - 6px)); } }
.ci-banda .ci-tile{ width:268px; height:96px; padding:12px 14px; border-radius:20px; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px;
  box-shadow:0 14px 26px -18px var(--sombra), inset 4px 0 0 var(--cor), 0 0 0 1px rgba(255,255,255,.55) inset; }
.ci-banda .ci-tile:hover, .ci-banda .ci-tile:focus-visible{ transform:translateY(-3px); box-shadow:0 20px 32px -16px var(--sombra), inset 4px 0 0 var(--cor), 0 0 0 1px rgba(255,255,255,.55) inset; }
.ci-banda .ci-tile-icone{ position:static; width:40px; height:40px; flex-shrink:0; }
.ci-banda .ci-tile-icone svg{ width:20px; height:20px; }
.ci-tile-corpo{ display:flex; flex-direction:column; gap:2px; min-width:0; position:relative; }
.ci-tile-topo{ display:flex; align-items:center; gap:6px; min-width:0; }
.ci-prio{ flex-shrink:0; font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; padding:2px 7px; border-radius:99px; color:#fff; }
.ci-prio.p0{ background:#DC2626; } .ci-prio.p1{ background:#EA580C; } .ci-prio.p2{ background:#2563EB; } .ci-prio.p3{ background:#0D9488; } .ci-prio.p4{ background:#64748B; }
.ci-tile-prazo{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:11.5px; color:var(--cor); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; filter:brightness(.8); }
.ci-banda .ci-tile-tipo{ font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ci-banda .ci-tile-cliente{ font-size:12px; }
.ci-tile.maxima{ animation:ci-pulsar 2.2s ease-in-out infinite; }
@keyframes ci-pulsar{ 0%, 100%{ box-shadow:0 14px 26px -18px var(--sombra), inset 4px 0 0 var(--cor), 0 0 0 1px rgba(255,255,255,.55) inset, 0 0 0 0 color-mix(in srgb, var(--cor) 0%, transparent); }
  50%{ box-shadow:0 14px 26px -18px var(--sombra), inset 4px 0 0 var(--cor), 0 0 0 1px rgba(255,255,255,.55) inset, 0 0 0 4px color-mix(in srgb, var(--cor) 35%, transparent); } }
@media (prefers-reduced-motion: reduce){ .ci-tile.maxima{ animation:none; } }
.ci-banda .ci-esteira-vazia{ flex-direction:row; gap:10px; text-align:left; margin:0 auto; }
.ci-banda .ci-esteira-vazia .ci-tile-icone{ margin:0; }
.ci-solta-painel{ margin:-2px 0 12px; }
@media (max-width: 860px){ .ci-banda{ grid-template-columns:1fr; } .ci-resumo{ border-right:none; border-bottom:1px solid var(--line); padding:14px 18px; } }
.ci-filtro-info{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:-6px 0 14px; padding:9px 14px; border-radius:14px; font-size:12.5px; color:var(--ink);
  background:color-mix(in srgb, var(--coral) 9%, var(--surface)); box-shadow:0 0 0 1px color-mix(in srgb, var(--coral) 25%, transparent) inset; }
.ci-filtro-info[hidden]{ display:none; }
.ci-filtro-info button{ margin-left:auto; border:none; background:var(--surface); color:var(--ink); font:inherit; font-size:12px; font-weight:700; padding:5px 12px; border-radius:99px; cursor:pointer;
  box-shadow:0 0 0 1px var(--line) inset; }

/* Situação no CRM (Advocacia): colunas do quadro com a atual em destaque — chat e ficha do processo. */
.crm-situacao{ margin:4px 0 14px; }
.crm-trilha{ display:grid; grid-template-columns:repeat(4, 1fr); gap:4px; margin-top:8px; }
.crm-passo{ display:flex; flex-direction:column; align-items:center; gap:4px; border:none; background:none; cursor:pointer; padding:6px 2px; border-radius:12px; font:inherit; color:var(--ink-muted); position:relative; }
.crm-passo:hover:not(:disabled){ background:var(--surface-2); }
.crm-passo:disabled{ opacity:.4; cursor:not-allowed; }
.crm-passo .bola{ width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800;
  background:var(--surface-2); color:var(--ink-muted); box-shadow:0 0 0 1px var(--line) inset; font-family:'Plus Jakarta Sans', sans-serif; }
.crm-passo .rot{ font-size:10.5px; font-weight:600; line-height:1.2; text-align:center; }
.crm-passo.feito .bola{ background:color-mix(in srgb, var(--coral) 16%, var(--surface)); color:var(--coral); box-shadow:none; }
.crm-passo.atual .bola{ background:var(--coral); color:#fff; box-shadow:0 0 0 4px color-mix(in srgb, var(--coral) 22%, transparent); }
.crm-passo.atual .rot{ color:var(--coral); font-weight:800; }
.crm-trilha-etapa{ font-size:12px; color:var(--ink-muted); margin-top:6px; }
.crm-trilha-etapa b{ color:var(--ink); }
.crm-trilha-aviso{ font-size:11.5px; color:var(--coral); margin-top:4px; font-weight:600; }
.crm-ficha-campos{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.crm-ficha-campos .field{ margin-bottom:6px; }
@media (max-width:520px){ .crm-ficha-campos{ grid-template-columns:1fr; } }
.crm-trilha{ min-width:0; }
.crm-passo{ min-width:0; }
.crm-passo .rot{ font-size:10px; overflow-wrap:anywhere; hyphens:auto; }
.crm-passo .rot{ overflow-wrap:normal; hyphens:manual; }
.crm-situacao, #crm-situacao{ container-type:inline-size; }
@container (max-width: 300px){ .crm-trilha{ grid-template-columns:1fr 1fr; row-gap:4px; } .crm-passo{ flex-direction:row; justify-content:flex-start; gap:6px; padding:5px 6px; } .crm-passo .rot{ text-align:left; } }

/* Chat (Advocacia): etiquetas em destaque — são a situação do cliente. */
.chat-etiquetas-destaque{ margin:4px 0 18px !important; padding:12px 12px 14px; border-radius:16px; background:var(--surface-2); }
.chat-etiquetas-destaque > div:first-child{ margin-bottom:10px !important; }
.chat-etiquetas-destaque #btn-etiquetas-chat{ background:var(--coral) !important; color:#fff !important; padding:7px 13px !important; font-size:12px !important; font-weight:700 !important;
  font-family:'Plus Jakarta Sans', sans-serif !important; box-shadow:0 8px 16px -10px color-mix(in srgb, var(--coral) 80%, transparent); transition:transform .15s, background .15s; }
.chat-etiquetas-destaque #btn-etiquetas-chat:hover{ background:var(--coral-deep) !important; transform:translateY(-1px); }
.chat-etiquetas-destaque #chips-etiquetas-chat{ gap:6px !important; }
.chat-etiquetas-destaque #chips-etiquetas-chat .pill{ padding:5px 10px; font-size:12px; font-weight:700; border-radius:99px; letter-spacing:.01em; }
.chat-etiquetas-destaque #popover-etiquetas-chat{ top:46px !important; right:8px !important; width:240px !important; border-radius:16px; }

/* Configurações → Etiquetas (Advocacia). */
.cfg-etq-nova{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
.cfg-etq-nova input[type="text"]{ flex:1 1 260px; min-width:0; padding:10px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); font:inherit; font-size:13.5px; }
.cfg-etq-cores{ display:flex; gap:6px; }
.cfg-etq-cor{ width:24px; height:24px; border-radius:50%; border:none; cursor:pointer; background:var(--c); box-shadow:0 0 0 2px var(--surface), 0 0 0 3px transparent; transition:box-shadow .15s; }
.cfg-etq-cor.on{ box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c); }
.cfg-etq-nova .btn{ border-radius:99px; }
.cfg-etq-lista{ display:flex; flex-direction:column; }
.cfg-etq-item{ display:flex; align-items:center; gap:12px; padding:10px 4px; border-top:1px solid var(--line); }
.cfg-etq-item:first-child{ border-top:none; }
.cfg-etq-item input[type="color"]{ width:26px; height:26px; padding:0; border:none; border-radius:50%; background:none; cursor:pointer; flex-shrink:0; }
.cfg-etq-chip{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:12px; padding:5px 11px; border-radius:99px; color:var(--c); background:color-mix(in srgb, var(--c) 15%, var(--surface)); }
.cfg-etq-uso{ flex:1; font-size:12px; color:var(--ink-muted); }
.cfg-etq-item .btn{ border-radius:99px; }
.cfg-etq-excluir{ color:var(--crit) !important; }
.chat-etiquetas-destaque #btn-etiquetas-chat{ white-space:nowrap; }
.chat-etiquetas-destaque #btn-etiquetas-chat svg:last-child{ display:none; }
.chat-etiquetas-destaque #btn-etiquetas-chat::before{ content:'+'; font-weight:800; margin-right:-2px; }
.chat-etiquetas-destaque #btn-etiquetas-chat svg:first-child{ display:none; }
.cfg-etq-item input[type="color"]::-webkit-color-swatch-wrapper{ padding:0; }
.cfg-etq-item input[type="color"]::-webkit-color-swatch{ border:none; border-radius:50%; }
.cfg-etq-item input[type="color"]::-moz-color-swatch{ border:none; border-radius:50%; }

/* Processos (Advocacia) — botão e painel de Filtros. */
.pf-ancora{ position:relative; flex-shrink:0; }
.pf-botao{ display:inline-flex; align-items:center; gap:8px; height:100%; min-height:44px; padding:0 16px; border:none; border-radius:16px; cursor:pointer; background:var(--surface); color:var(--ink);
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:13px; box-shadow:0 12px 26px -22px rgba(15,23,42,.5), 0 0 0 1px var(--line) inset; }
.pf-botao svg{ width:16px; height:16px; }
.pf-botao[aria-expanded="true"]{ box-shadow:0 0 0 2px var(--coral) inset; }
.pf-num{ background:var(--coral); color:#fff; font-size:11px; border-radius:99px; padding:1px 7px; }
.pf-num[hidden]{ display:none; }
.pf-painel{ position:absolute; right:0; top:calc(100% + 8px); z-index:40; width:min(460px, 92vw); padding:18px; border-radius:20px; background:var(--surface);
  box-shadow:0 26px 54px -20px rgba(15,23,42,.45), 0 0 0 1px var(--line); display:flex; flex-direction:column; gap:14px; }
.pf-painel[hidden]{ display:none; }
.pf-rot{ display:block; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-muted); margin-bottom:7px; font-family:'Plus Jakarta Sans', sans-serif; }
.pf-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.pf-chip{ border:none; cursor:pointer; padding:6px 12px; border-radius:99px; font:inherit; font-size:12.5px; font-weight:600; background:var(--surface-2); color:var(--ink); transition:background .15s, box-shadow .15s; }
.pf-chip[style]{ color:var(--c); background:color-mix(in srgb, var(--c) 12%, var(--surface)); }
.pf-chip:hover{ box-shadow:0 0 0 1px var(--line) inset; }
.pf-chip.on{ background:var(--coral); color:#fff; box-shadow:0 8px 16px -10px color-mix(in srgb, var(--coral) 80%, transparent); }
.pf-chip[style].on{ background:var(--c); color:#fff; }
.pf-vazio{ font-size:12px; color:var(--ink-faint); }
.pf-linha{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.pf-campo select{ width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); font:inherit; font-size:12.5px; }
.pf-check{ display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; }
.pf-check input{ width:16px; height:16px; accent-color:var(--coral); }
.pf-rodape{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:12px; }
.pf-rodape .btn{ border-radius:99px; }
.pf-limpar{ border:none; background:none; cursor:pointer; font:inherit; font-size:12.5px; font-weight:700; color:var(--coral); padding:4px 6px; }
.pf-ativos{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:-4px 0 14px; }
.pf-ativos[hidden]{ display:none; }
.pf-selo{ display:inline-flex; align-items:center; gap:6px; padding:5px 6px 5px 12px; border-radius:99px; font-size:12px; font-weight:600;
  background:color-mix(in srgb, var(--coral) 12%, var(--surface)); color:var(--ink); box-shadow:0 0 0 1px color-mix(in srgb, var(--coral) 25%, transparent) inset; }
.pf-selo button{ border:none; background:var(--surface); color:var(--ink-muted); width:20px; height:20px; border-radius:50%; cursor:pointer; font-size:10px; }
.pf-situacao{ display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.pf-fase{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:2px 8px; border-radius:99px; background:var(--surface-2); color:var(--ink-muted); white-space:nowrap; }
.pf-fase.f-documentacao{ color:#B45309; background:color-mix(in srgb, #F59E0B 16%, var(--surface)); }
.pf-fase.f-protocolado{ color:var(--coral); background:color-mix(in srgb, var(--coral) 14%, var(--surface)); }
.pf-fase.f-aguardando_decisao{ color:#7C3AED; background:color-mix(in srgb, #8B5CF6 15%, var(--surface)); }
.pf-fase.f-concluido{ color:#15803D; background:color-mix(in srgb, #22C55E 15%, var(--surface)); }
.pf-etq{ font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:99px; color:var(--c, var(--ink-muted)); background:color-mix(in srgb, var(--c, #64748B) 13%, var(--surface)); white-space:nowrap; }
.pf-intim{ font-size:11px; font-weight:700; color:var(--coral); }
@media (max-width:640px){ .pf-linha{ grid-template-columns:1fr; } .pf-painel{ right:auto; left:0; } }

/* SaaS — faixa do teste grátis / pagamento em atraso (lib/assinatura.js) */
.faixa-assinatura{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  padding:8px 16px; background:color-mix(in srgb, var(--coral) 12%, var(--surface)); color:var(--coral-deep); font-size:13px; font-weight:600; font-family:"Plus Jakarta Sans", sans-serif;
  border-bottom:1px solid var(--line); position:relative; z-index:30; }
.faixa-assinatura.atrasado{ background:var(--warn-soft); color:var(--warn); }
.faixa-assinatura-btn{ background:var(--coral); color:#fff; text-decoration:none; padding:5px 14px; border-radius:999px; font-size:12.5px; white-space:nowrap; }
.faixa-assinatura.atrasado .faixa-assinatura-btn{ background:var(--warn); }
.faixa-assinatura-obs{ font-weight:500; opacity:.85; }
body:has(> .faixa-assinatura) .shell{ height:calc(100vh - 41px); }
body:has(> .faixa-assinatura) .sidebar{ height:calc(100vh - 41px); }

/* Advocacia — "Primeiros passos" no Painel (app/dashboard.html → mostrarPrimeirosPassos) */
.pp-caixa{ margin-bottom:18px; background:linear-gradient(150deg, color-mix(in srgb, var(--coral) 10%, var(--surface)) 0%, var(--surface) 60%); }
.pp-topo{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.pp-topo h2{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:19px; letter-spacing:-.02em; margin:6px 0 0; }
.pp-ocultar{ border:none; background:none; color:var(--ink-muted); font-size:12.5px; cursor:pointer; padding:4px 6px; border-radius:8px; }
.pp-ocultar:hover{ background:var(--surface-2); color:var(--ink); }
.pp-barra{ height:8px; border-radius:99px; background:var(--surface-2); margin:14px 0 6px; overflow:hidden; }
.pp-barra span{ display:block; height:100%; border-radius:99px; background:var(--coral); transition:width .4s; }
.pp-conta{ font-size:12px; color:var(--ink-muted); margin:0 0 10px; font-weight:600; }
.pp-lista{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:8px; }
.pp-lista a{ display:flex; gap:12px; align-items:center; padding:12px 14px; border-radius:16px; text-decoration:none; color:var(--ink);
  background:var(--surface); box-shadow:0 0 0 1px var(--line) inset; transition:box-shadow .15s, transform .15s; }
.pp-lista a:hover{ box-shadow:0 0 0 1.5px var(--coral) inset; transform:translateY(-1px); }
.pp-lista li.proximo a{ box-shadow:0 0 0 2px var(--coral) inset; }
.pp-marca{ flex:0 0 22px; height:22px; border-radius:50%; border:2px solid var(--line); }
.pp-lista li.feito .pp-marca{ border-color:var(--verde); background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat; }
.pp-texto{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pp-texto b{ font-family:'Plus Jakarta Sans', sans-serif; font-size:13.5px; }
.pp-texto small{ color:var(--ink-muted); font-size:12px; line-height:1.4; }
.pp-lista li.feito .pp-texto b{ color:var(--ink-muted); text-decoration:line-through; text-decoration-color:color-mix(in srgb, var(--ink-muted) 50%, transparent); }
.pp-ir{ font-size:12px; font-weight:700; color:var(--coral); white-space:nowrap; font-family:'Plus Jakarta Sans', sans-serif; }
.pp-ok{ font-size:12px; font-weight:700; color:var(--good); }
@media (max-width:600px){ .pp-ir{ display:none; } .pp-topo h2{ font-size:17px; } }

/* Logo no modo escuro: a palavra "DAIMA" troca para clara (assets/logo-claro.svg). */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) img[src$="assets/logo.svg"]{ content:url("assets/logo-claro.svg"); }
  :root:not([data-theme="light"]) img[src$="assets/logo-vertical.svg"]{ content:url("assets/logo-vertical-claro.svg"); }
}
:root[data-theme="dark"] img[src$="assets/logo.svg"]{ content:url("assets/logo-claro.svg"); }
:root[data-theme="dark"] img[src$="assets/logo-vertical.svg"]{ content:url("assets/logo-vertical-claro.svg"); }

/* Configurações → Integrações → OneDrive (app/adv/config-onedrive.js) */
.od-aviso{ border-radius:12px; padding:10px 12px; font-size:13px; margin:0 0 12px; }
.od-aviso.ok{ background:var(--good-soft); color:var(--good); }
.od-aviso.erro{ background:var(--crit-soft); color:var(--crit); }
