/* ════════════════════════════════════════
   JurisHon 2.0 — Futuristic Glass Theme
   ════════════════════════════════════════ */

:root {
  /* Fundo principal */
  --bg-gradient: linear-gradient(135deg, #1e1e2f 0%, #11111e 100%);

  /* Vidro */
  --glass-bg:       rgba(255,255,255,0.06);
  --glass-bg-hover: rgba(255,255,255,0.09);
  --glass-border:   rgba(255,255,255,0.12);
  --glass-shadow:   0 8px 32px rgba(0,0,0,0.35);

  /* Texto */
  --text-white: #ffffff;
  --text-muted: #a0a0b0;

  /* Destaques */
  --accent-red:       #d9383a;
  --accent-red-hover: #b52a2c;
  --accent-blue:      #4f7ef7;
  --accent-teal:      #2dd4bf;
  --accent-gold:      #f0b429;

  /* Status */
  --ok:     #22c55e;
  --warn:   #f59e0b;
  --danger: #ef4444;
  --ok-text:     #4ade80;
  --warn-text:   #fbbf24;
  --danger-text: #f87171;

  /* Sidebar */
  --sidebar-glass: rgba(10,10,22,0.75);

  /* Aliases para compatibilidade com código existente */
  --bg:         #11111e;
  --panel:      var(--glass-bg);
  --ink:        var(--text-white);
  --muted:      var(--text-muted);
  --line:       var(--glass-border);
  --border:     var(--glass-border);
  --text:       var(--text-white);
  --surface-2:  rgba(255,255,255,0.04);
  --brand:      var(--primary);
  --brand-hover:var(--primary-hover);
  --brand2:     var(--accent-teal);
  --primary:       #2563eb;
  --primary-hover: #1d4ed8;
  --accent:     var(--accent-gold);
  --gold:       var(--accent-gold);
  --sidebar-bg: var(--sidebar-glass);

  --shadow:    0 4px 16px rgba(0,0,0,0.3);
  --shadow-md: 0 10px 32px rgba(0,0,0,0.4);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.5);

  /* ─── Densidade: fonte única de verdade (P4) ───
     Codifica a escala que o card de detalhe (workspace) já usa.
     Tipografia, espaçamento e raio passam a sair daqui — não cravar px solto. */

  /* Tipografia — escala de fato em uso */
  --fs-label: 11px;  /* labels MAIÚSCULAS, badges, rótulo de KPI */
  --fs-sm:    12px;  /* sub-texto, meta, contagem */
  --fs-base:  13px;  /* corpo, célula de tabela, itens de lista */
  --fs-h2:    16px;  /* título de card / painel */
  --fs-h2-lg: 18px;  /* título de modal */
  --fs-h1:    22px;  /* título de página / workspace, valor de KPI */
  --fw-bold:  800;
  --fw-black: 900;

  /* Espaçamento — grade par (múltiplos de 4; 6/10 permitidos p/ respiros finos) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;

  /* Raio — card padrão 14, cards menores 10–12, modal 20, pílula 999 */
  --radius:     14px;
  --radius-xs:  10px;
  --radius-sm:  12px;
  --radius-lg:  20px;
  --radius-pill: 999px;
}

/* ─── Reset global ─── */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,'Segoe UI',Arial,sans-serif;
  background:var(--bg-gradient);
  background-attachment:fixed;
  color:var(--text-white);
  min-height:100vh;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
a{color:var(--accent-blue);text-decoration:none}
a:hover{text-decoration:underline}

/* ─── Login ─── */
.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--bg-gradient);
  background-attachment:fixed;
}
.login-card{
  width:min(430px,100%);
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:24px;
  padding:36px;
  box-shadow:var(--glass-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.logo{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.logo-mark{width:46px;height:46px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px;letter-spacing:-1px;flex-shrink:0}
.logo h1{margin:0;font-size:24px;color:var(--text-white)}
.logo h2{margin:0;font-size:17px;color:var(--text-white)}
.logo p{margin:3px 0 0;color:var(--text-muted);font-size:13px}
.login-logo-wrap{text-align:center;margin-bottom:28px}
.login-logo{display:block;max-width:360px;width:100%;height:auto;margin:0 auto 12px;object-fit:contain;border-radius:16px}
.login-escritorio{margin:0;color:var(--text-muted);font-size:13px}

/* ─── Formulários ─── */
.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-3)}
.field{grid-column:span 12;display:flex;flex-direction:column;gap:6px}
.field.half{grid-column:span 6}
.field.third{grid-column:span 4}
.field.quarter{grid-column:span 3}
.field label{font-size:var(--fs-label);font-weight:var(--fw-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
input,select,textarea{
  border:1.5px solid var(--glass-border);
  border-radius:10px;
  padding:10px 12px;
  background:rgba(255,255,255,0.07);
  color:var(--text-white);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
input::placeholder,textarea::placeholder{color:var(--text-muted)}
select option{background:#1e1e2f;color:#fff}
textarea{min-height:88px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.18);
}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.5}
input[type="file"]{color:var(--text-muted);font-size:12px}

/* ─── Botões ─── */
.btn{
  border:1px solid var(--glass-border);
  border-radius:10px;
  padding:9px 16px;
  font-weight:700;
  font-size:13px;
  background:var(--glass-bg);
  color:var(--text-white);
  transition:background .15s,transform .1s,box-shadow .15s;
  display:inline-flex;
  align-items:center;
  gap:6px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.btn:hover{background:var(--glass-bg-hover);box-shadow:0 0 12px rgba(255,255,255,.06)}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--primary);border-color:transparent;color:#fff}
.btn.primary:hover{background:var(--primary-hover)}
.btn.green{background:var(--accent-teal);border-color:transparent;color:#0f172a}
.btn.green:hover{background:#26b8a5}
.btn.danger{background:var(--danger);border-color:transparent;color:#fff}
.btn.danger:hover{background:#dc2626}
.btn.ghost{background:transparent;border:1.5px solid var(--glass-border);color:var(--text-muted)}
.btn.ghost:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.btn.small{padding:6px 10px;border-radius:8px;font-size:12px}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* ─── Layout ─── */
.layout{display:grid;grid-template-columns:264px 1fr;min-height:100vh}

/* ─── Sidebar ─── */
.sidebar{
  background:var(--sidebar-glass);
  border-right:1px solid var(--glass-border);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  color:#fff;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}
.side-title{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:16px 14px 12px;flex-shrink:0}
.side-logo{display:block;width:100%;height:auto;border-radius:10px}
.side-escritorio{margin:2px 0 0;color:var(--text-muted);font-size:11px;text-align:center}
.side-usuario{margin:0;color:#fff;font-size:13px;font-weight:800;text-align:center}

.nav{flex:1;overflow-y:auto;padding:0 10px 10px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.nav::-webkit-scrollbar{width:4px}
.nav::-webkit-scrollbar-track{background:transparent}
.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}
.nav button{
  width:100%;text-align:left;
  background:transparent;
  color:var(--text-muted);
  border:none;border-radius:9px;
  padding:9px 11px;
  font-weight:600;font-size:13px;
  transition:background .15s,color .15s;
}
.nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.nav button.active{background:var(--primary);color:#fff;box-shadow:0 2px 12px rgba(37,99,235,.35)}

.userbox{
  flex-shrink:0;
  border-top:1px solid var(--glass-border);
  padding:13px 16px;
  color:var(--text-muted);
  font-size:12px;
  line-height:1.6;
}
.userbox b{color:#fff}

.content{padding:24px;min-width:0;overflow:hidden}
/* Barra mobile (hambúrguer) e backdrop do menu — só aparecem no celular (ver @media 900px) */
.app-mobilebar,.nav-backdrop{display:none}

/* ─── Topbar ─── */
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}
.topbar h1{margin:0;font-size:24px;font-weight:900;color:var(--text-white)}
.topbar p{margin:4px 0 0;color:var(--text-muted);font-size:13px}

/* ─── Cards / Painéis ─── */
.card,.panel{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:var(--glass-shadow);
  padding:var(--space-4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.panel h2{margin:0 0 var(--space-3);font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--text-white)}
.panel .table-wrap{max-height:400px;overflow:auto}

.toolbar{display:flex;gap:var(--space-2);justify-content:space-between;align-items:center;margin-bottom:var(--space-3);flex-wrap:wrap}
.toolbar-left,.toolbar-right{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
.search{min-width:260px}

/* ─── Tabelas ─── */
.table-wrap{overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-sm)}
table{width:100%;border-collapse:collapse;background:rgba(255,255,255,0.03)}
th,td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--glass-border);text-align:left;vertical-align:top}
th{
  font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-muted);
  background:rgba(255,255,255,0.04);
  font-weight:var(--fw-bold);
}
td{font-size:var(--fs-base);color:var(--text-white)}
tr:last-child td{border-bottom:none}
tr:hover td{background:rgba(255,255,255,0.04)}

/* ─── Badges ─── */
.badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:3px 10px;font-size:var(--fs-label);font-weight:var(--fw-bold);background:rgba(79,126,247,.18);color:#7fa8ff}
.badge.ok{background:rgba(34,197,94,.15);color:#4ade80}
.badge.warn{background:rgba(245,158,11,.15);color:#fbbf24}
.badge.danger-badge{background:rgba(239,68,68,.15);color:var(--danger-text)}

/* ─── Misc ─── */
.actions{display:flex;gap:6px;flex-wrap:wrap}
.empty{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}
.file-hint{font-size:12px;color:var(--text-muted)}

/* ─── Filtros e ordenação de listas ─── */
.filtros-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:0 2px}
.filtro-select{
  background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-white);
  border-radius:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--fs-base);cursor:pointer;
}
.filtro-select option{background:#1e1e2f;color:#fff}
.filtros-contagem{font-size:var(--fs-sm);color:var(--text-muted);margin-left:auto}
.th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.th-sort:hover{color:var(--accent-gold)}

/* ─── Cliente Workspace ─── */
.ws-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.ws-titulo{display:flex;align-items:center;gap:10px}
.ws-titulo h1{margin:0;font-size:var(--fs-h1)}
.ws-acoes{margin-left:auto;display:flex;gap:var(--space-2);flex-wrap:wrap}
.ws-acoes a{text-decoration:none}
.ws-meta{font-size:var(--fs-base);color:var(--text-muted);margin-bottom:var(--space-3)}
.ws-alertas{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}
.ws-alerta{font-size:var(--fs-sm);font-weight:700;border-radius:var(--radius-lg);padding:5px 12px}
.ws-alerta.danger{background:rgba(239,68,68,.15);color:var(--danger-text);border:1px solid rgba(239,68,68,.4)}
.ws-alerta.warn{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.4)}
.ws-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
@media(max-width:800px){.ws-grid{grid-template-columns:1fr}}
.ws-item{padding:var(--space-2) 2px;border-bottom:1px solid var(--glass-border);font-size:var(--fs-base);color:var(--text-white)}
.ws-item:last-child{border-bottom:none}
.ws-click{cursor:pointer;border-radius:var(--space-2)}
.ws-click:hover{background:rgba(255,255,255,.04)}
.ws-sub{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}
.ws-fin{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.ws-fin>div{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3)}
.ws-fin span{display:block;font-size:var(--fs-label);color:var(--text-muted)}
.ws-fin b{font-size:var(--fs-h2);color:var(--text-white)}
.ws-fin .ws-danger b,.ws-fin div.ws-danger b{color:var(--danger-text)}
.ws-grid-proc{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}
@media(max-width:900px){.ws-grid-proc{grid-template-columns:1fr}}
.ws-timeline{max-height:62vh;overflow:auto}
.ws-tl-item{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--glass-bg);border-radius:var(--space-2)}
.ws-tl-top{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;font-size:var(--fs-base);color:var(--text-white)}
.ws-sugestao{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;background:rgba(240,180,41,.12);border:1px solid rgba(240,180,41,.4);color:#fbbf24;border-radius:var(--radius-xs);padding:var(--space-3) var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-base)}
.ws-sugestao b{color:#fff}

/* ─── Agenda (visão lista) ─── */
.ag-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--glass-border);font-size:13px}
.ag-row:last-child{border-bottom:none}
.ag-when{min-width:135px;color:var(--text-white);font-size:12px;white-space:nowrap}
.ag-main{flex:1;min-width:0;color:var(--text-white)}
.ag-row .actions{flex-shrink:0}
@media(max-width:700px){.ag-row{flex-wrap:wrap}.ag-when{min-width:0}}

/* ─── Card "Meu dia" (dashboard) ─── */
.meu-dia{margin-bottom:16px}
.meu-dia-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}
.meu-dia h3{font-size:13px;margin:0 0 8px;color:var(--text-white)}
.meu-dia-lista{list-style:none;margin:0;padding:0;font-size:13px;display:flex;flex-direction:column;gap:6px}
.meu-dia-lista li{color:var(--text-white);line-height:1.35}
.meu-dia-vazio{font-size:12px;color:var(--text-muted);margin:0}

/* ☀️ Meu Dia (tela enxuta) */
.md-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:900px){.md-grid{grid-template-columns:1fr}}
.md-col{display:flex;flex-direction:column;gap:16px}
.md-bloco{padding:14px 16px}
.md-item{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xs);padding:10px 12px;margin-bottom:8px}
.md-item:last-child{margin-bottom:0}
.md-item-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.md-item-main b{font-size:13px;color:var(--text-white);line-height:1.3}
.md-sub{font-size:11px;color:var(--text-muted)}
.md-item-acoes{display:flex;gap:6px;flex-shrink:0}
@media(max-width:700px){.meu-dia-cols{grid-template-columns:1fr}}

/* Fatia Clientes 3.0 — dica de validação (CPF/CNPJ, CEP) e destaque de campo inválido */
.field-hint{display:block;margin-top:4px;font-size:12px;color:var(--text-muted);min-height:14px}
.input-erro{border-color:var(--danger) !important}
/* Acessibilidade: caption só para leitor de tela; nome do cliente clicável (abre em 1 toque) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.link-cliente{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;text-align:left}
.link-cliente:hover b,.link-cliente:focus-visible b{text-decoration:underline;color:var(--primary)}
/* Timeline do processo (P2) — filtros por fonte e agrupamento por data */
.tl-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.tl-chip{background:rgba(255,255,255,.04);border:1px solid var(--glass-border);color:var(--text-muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer}
.tl-chip:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.tl-chip.ativo{background:var(--primary);border-color:transparent;color:#fff}
.tl-chip-n{opacity:.7;font-weight:400}
.tl-grupo{margin-bottom:10px}
.tl-grupo-data{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:6px 0 4px;position:sticky;top:0;background:linear-gradient(var(--panel,rgba(20,20,35,.6)),transparent)}

.toast{
  position:fixed;right:18px;bottom:18px;z-index:20;
  background:rgba(30,30,47,.9);
  border:1px solid var(--glass-border);
  color:#fff;
  border-radius:12px;padding:12px 18px;
  box-shadow:var(--shadow-md);
  font-weight:700;font-size:14px;
  animation:slideUp .2s ease;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.toast.ok{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.4);color:#4ade80}
.toast.err{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4);color:var(--danger-text)}
@keyframes slideUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ─── Modais ─── */
.modal-back{
  position:fixed;inset:0;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:10;display:grid;place-items:center;padding:22px;
}
.modal{
  width:min(980px,100%);max-height:92vh;overflow:auto;
  background:rgba(20,20,35,.92);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  box-shadow:0 25px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.modal-head{
  position:sticky;top:0;
  background:rgba(20,20,35,.95);
  border-bottom:1px solid var(--glass-border);
  display:flex;justify-content:space-between;align-items:center;
  padding:var(--space-4) var(--space-5);z-index:1;
}
.modal-head h2{margin:0;font-size:var(--fs-h2-lg);font-weight:var(--fw-black);color:#fff}
.modal-body{padding:var(--space-5)}
.modal-foot{
  border-top:1px solid var(--glass-border);
  padding:var(--space-3) var(--space-5);
  display:flex;justify-content:flex-end;gap:var(--space-2);
  background:rgba(20,20,35,.95);
  position:sticky;bottom:0;
}
.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.security-note{border:1px solid rgba(79,126,247,.3);background:rgba(79,126,247,.08);color:#7fa8ff;border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--fs-base);grid-column:span 12}

/* ─── Listas mini ─── */
.mini-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:400px;overflow:auto;padding-right:2px}
.mini-item{
  border:1px solid var(--glass-border);
  border-radius:var(--radius-xs);padding:var(--space-2) var(--space-3);
  background:rgba(255,255,255,0.04);
  display:flex;flex-direction:column;gap:var(--space-1);
}
.mini-item b{font-size:var(--fs-base);color:#fff}
.mini-item span,.mini-item small{color:var(--text-muted);font-size:var(--fs-sm)}

/* ─── KPIs ─── */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}
.kpi{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);padding:var(--space-3) var(--space-4);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.kpi b{font-size:var(--fs-h1);font-weight:var(--fw-black);display:block;color:#fff}
.kpi span{display:block;color:var(--text-muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}

/* ─── Page head ─── */
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}
.page-head h1{margin:0;font-size:var(--fs-h1);font-weight:var(--fw-black);color:#fff}

/* ─── Painel financeiro ─── */
.finance-grid{display:grid;grid-template-columns:1fr;gap:16px}

/* ─── Lembretes ─── */
.lembrete-board{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lembrete-col{
  border:1px solid var(--glass-border);
  border-radius:14px;overflow:hidden;
  background:var(--glass-bg);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.lembrete-col h2{margin:0;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:16px;font-weight:800}
.lembrete-col.aberto h2{background:rgba(249,115,22,.25);border-bottom:1px solid rgba(249,115,22,.3)}
.lembrete-col.resolvido h2{background:rgba(34,197,94,.15);border-bottom:1px solid rgba(34,197,94,.2)}
.lembrete-col .mini-list{padding:12px;min-height:200px}
.lembrete-card{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--glass-border);
  border-left:4px solid rgba(100,116,139,.6);
  border-radius:12px;padding:12px;
  box-shadow:var(--shadow);
}
.lembrete-card.vencido{border-left-color:var(--danger)}
.lembrete-card p{margin:6px 0;color:var(--text-muted);font-size:13px}
.lembrete-card small{display:block;color:var(--text-muted);font-size:12px}
.lembrete-meta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--text-muted);margin-bottom:8px}

/* ─── Organização ─── */
.org-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

/* ─── Subtabs ─── */
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.subtabs button{
  border:1.5px solid var(--glass-border);
  background:rgba(255,255,255,0.04);
  color:var(--text-muted);
  border-radius:999px;padding:7px 14px;
  cursor:pointer;font-weight:700;font-size:12px;
  transition:all .15s;
}
.subtabs button:hover{border-color:var(--primary);color:#fff}
.subtabs button.active{background:var(--primary);border-color:transparent;color:#fff;box-shadow:0 2px 10px rgba(37,99,235,.3)}
.subtab{border:1.5px solid var(--glass-border);border-radius:999px;padding:6px 12px;background:rgba(255,255,255,.04);color:var(--text-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.subtab.active{background:var(--primary);color:#fff;border-color:transparent}
.subheading{margin:14px 0 8px;font-size:14px;font-weight:800;color:#fff}
.subheading-placeholder{}

/* ─── Backup ─── */
.backup-hero{border-left:4px solid var(--accent-gold)}
.warn-box{margin-top:12px;padding:12px;border-radius:10px;background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.25);color:var(--accent-gold);font-weight:700;font-size:13px}
.grid.two{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

/* ─── Dashboard ─── */
.dash-kpi{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:16px;padding:18px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.dash-kpi span{display:block;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800;margin-bottom:6px}
.dash-kpi b{display:block;font-size:28px;font-weight:900;color:#fff}
.dash-kpi small{display:block;margin-top:6px;color:var(--text-muted);font-weight:700;font-size:12px}
.dash-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.dash-card{min-height:200px}
.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}
.dash-card-head h2{margin:0;font-size:var(--fs-h2);font-weight:var(--fw-bold);color:#fff}
.dash-card-head a{font-size:var(--fs-sm);font-weight:700;color:var(--accent-blue);text-decoration:none}
.dash-adv-list,.dash-list{display:grid;gap:8px}
.dash-adv-row{
  display:grid;grid-template-columns:1.5fr repeat(5,.7fr);gap:10px;align-items:center;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-border);
  border-radius:12px;padding:10px;
}
.dash-adv-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.dash-adv-row span{text-align:center}
.dash-adv-row strong{display:block;font-size:15px;color:#fff}
.dash-adv-row .dash-adv-sec strong{color:var(--text-muted);font-weight:700}
.dash-adv-row small{display:block;color:var(--text-muted);font-size:10px;text-transform:uppercase;font-weight:800}
.dash-event{
  position:relative;
  border:1px solid var(--glass-border);
  border-left:4px solid var(--accent-blue);
  border-radius:12px;padding:11px;
  background:rgba(255,255,255,0.04);
}
.dash-event.audiencia{border-left-color:#f97316}
.dash-event.lembrete{border-left-color:var(--accent-gold)}
.dash-event.vencido{border-left-color:var(--danger)}
.dash-event .badge{position:absolute;right:10px;top:10px}
.dash-event b{display:block;font-size:13px;color:#fff}
.dash-event small{display:block;color:var(--text-muted);font-weight:700;font-size:12px}
.dash-event p{margin:7px 0 0;color:var(--text-muted);font-size:13px}
.danger-text{color:var(--danger-text)!important;font-weight:900!important}

/* ─── Produtividade / Kanban Triagem ─── */
.triagem-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;align-items:start}
.triagem-col{
  border:1px solid var(--glass-border);
  border-radius:14px;overflow:hidden;
  background:var(--glass-bg);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  min-height:200px;
}
.triagem-col h2{margin:0;padding:12px 14px;color:#fff;font-size:14px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.triagem-col.orange h2{background:rgba(249,115,22,.3);border-bottom:1px solid rgba(249,115,22,.3)}
.triagem-col.blue   h2{background:rgba(79,126,247,.25);border-bottom:1px solid rgba(79,126,247,.25)}
.triagem-col.amber  h2{background:rgba(217,119,6,.3);border-bottom:1px solid rgba(217,119,6,.3)}
.triagem-col.green  h2{background:rgba(34,197,94,.2);border-bottom:1px solid rgba(34,197,94,.2)}
.triagem-col .mini-list{padding:10px;max-height:none}
.triagem-card{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--glass-border);
  border-radius:12px;padding:12px;
  box-shadow:var(--shadow);
}
.triagem-card b{display:block;font-size:14px;margin-bottom:4px;color:#fff}
.triagem-card p{margin:6px 0;color:var(--text-muted);font-size:13px}
.triagem-card small{display:block;color:var(--text-muted);font-weight:700;font-size:12px;margin-top:4px}
.triagem-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--text-muted);font-size:12px}

/* ─── Importações ─── */
.import-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:4px}
.import-card{transition:box-shadow .15s}
.import-card:hover{box-shadow:0 8px 32px rgba(37,99,235,.12)}
@media(max-width:1000px){.import-grid{grid-template-columns:1fr}}

/* ─── Upload de documentos ─── */
.doc-upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.doc-upload-row{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,0.04);
  border:1.5px solid var(--glass-border);
  border-radius:10px;padding:8px 12px;
  transition:border-color .15s;
}
.doc-upload-row:hover{border-color:var(--primary)}
.doc-upload-row span{font-size:12px;font-weight:700;color:#fff;min-width:160px;flex-shrink:0}
.doc-upload-row input[type="file"]{flex:1;font-size:12px;color:var(--text-muted)}
@media(max-width:700px){.doc-upload-grid{grid-template-columns:1fr}}

/* ─── Kanban Audiências e Prazos ─── */
.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;align-items:start}
.kanban-col{
  border:1px solid var(--glass-border);
  border-radius:14px;overflow:hidden;
  background:var(--glass-bg);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  min-height:120px;
}
.kanban-col-head{
  padding:11px 14px;color:#fff;
  font-size:13px;font-weight:800;
  display:flex;justify-content:space-between;align-items:center;
}
.kanban-col-head.hoje  {background:rgba(220,38,38,.35);border-bottom:1px solid rgba(220,38,38,.3)}
.kanban-col-head.semana{background:rgba(249,115,22,.3);border-bottom:1px solid rgba(249,115,22,.3)}
.kanban-col-head.mes   {background:rgba(37,99,235,.3);border-bottom:1px solid rgba(37,99,235,.3)}
.kanban-col-head.futuras{background:rgba(34,197,94,.2);border-bottom:1px solid rgba(34,197,94,.2)}
.kanban-body{padding:10px;display:flex;flex-direction:column;gap:8px}
.kanban-card{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--glass-border);
  border-radius:11px;padding:11px;
  box-shadow:var(--shadow);
}
.kanban-card b{display:block;font-size:13px;margin-bottom:3px;color:#fff}
.kanban-card p{margin:5px 0;color:var(--text-muted);font-size:12px;line-height:1.4}
.kanban-card small{display:block;color:var(--text-muted);font-size:11px;font-weight:700;margin-top:4px}
.kanban-tag{display:inline-flex;align-items:center;gap:4px;background:rgba(79,126,247,.15);color:#7fa8ff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;margin-top:4px}
.kanban-tag.online{background:rgba(45,212,191,.12);color:var(--accent-teal)}

/* ─── Badges da sidebar ─── */
.nav button{position:relative}
.nav-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;font-size:10px;font-weight:900;
  margin-left:6px;vertical-align:middle;
  line-height:1;letter-spacing:0;
  flex-shrink:0;
}

/* ─── Agenda KPI bar ─── */
.agenda-kpi-bar{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:12px;margin-bottom:16px;align-items:center}
.agenda-kpi-bar .kpi{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.agenda-busca-wrap{grid-column:5}
.agenda-busca-wrap .search{width:100%;box-sizing:border-box}
@media(max-width:1000px){.agenda-kpi-bar{grid-template-columns:1fr 1fr;}.agenda-busca-wrap{grid-column:span 2}}
@media(max-width:600px){.agenda-kpi-bar{grid-template-columns:1fr}.agenda-busca-wrap{grid-column:1}}

/* ─── Toggle de view ─── */
.view-toggle{display:flex;gap:4px}

/* ─── Calendário ─── */
.cal-nav{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.cal-titulo{font-size:16px;font-weight:800;color:#fff;text-transform:capitalize;flex:1;text-align:center}
.cal-legenda{display:flex;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.cal-legenda span{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--text-muted)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-head{text-align:center;font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 2px;border-bottom:1px solid var(--glass-border);margin-bottom:2px}
.cal-day{
  min-height:68px;padding:6px 5px;border-radius:9px;
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.03);
  cursor:pointer;transition:background .15s,border-color .15s;
}
.cal-day:hover{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.2)}
.cal-day.empty{background:transparent;border-color:transparent;cursor:default;pointer-events:none}
.cal-day.hoje{border-color:var(--accent-teal);background:rgba(45,212,191,0.08)}
.cal-day.selected{border-color:var(--accent-blue);background:rgba(79,126,247,0.12)}
.cal-day.has-events .cal-num{color:#fff}
.cal-num{font-size:12px;font-weight:700;color:var(--text-muted);display:block;margin-bottom:5px}
.cal-day.hoje .cal-num{color:var(--accent-teal);font-weight:900;font-size:13px}
.cal-day.selected .cal-num{color:var(--accent-blue)}
.cal-dots{display:flex;gap:3px;flex-wrap:wrap;align-items:center}
.cal-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cal-dot.agenda{background:var(--accent-blue)}
.cal-dot.audiencia{background:#f97316}
.cal-dot.prazo{background:var(--danger)}
.cal-dot.lembrete{background:var(--accent-gold)}
.cal-mais{font-size:9px;color:var(--text-muted);font-weight:800}
.cal-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.cal-detail-head h2{margin:0;font-size:15px;font-weight:800;color:#fff}
.cal-detail-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-border);
  margin-bottom:8px;
}
.cal-detail-item.agenda   {border-left:3px solid var(--accent-blue)}
.cal-detail-item.audiencia{border-left:3px solid #f97316}
.cal-detail-item.prazo    {border-left:3px solid var(--danger)}
.cal-detail-item.lembrete {border-left:3px solid var(--accent-gold)}
.cal-detail-body{flex:1;min-width:0}
.cal-detail-body b{display:block;color:#fff;font-size:13px}
.cal-detail-body small{color:var(--text-muted);font-size:12px;font-weight:700}
.cal-detail-item .actions{flex-shrink:0}
@media(max-width:700px){
  .cal-day{min-height:46px;padding:3px}
  .cal-num{font-size:11px}
  .cal-dot{width:6px;height:6px}
}

/* ─── Tarefas ─── */
.dash-event.tarefa{border-left-color:var(--accent-teal)}
.tarefa-card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-left:4px solid var(--accent-teal);
  border-radius:14px;padding:16px;
  margin-bottom:12px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tarefa-card.concluida{border-left-color:var(--ok);opacity:.75}
.tarefa-card.atrasada{border-left-color:var(--danger)}
.tarefa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.tarefa-head-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tarefa-head-left b{color:#fff;font-size:14px}
.tarefa-head small{color:var(--text-muted);font-size:12px;font-weight:700;white-space:nowrap}
.tarefa-info{display:flex;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.tarefa-info span{color:var(--text-muted);font-size:13px;font-weight:700}
.tarefa-obs-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:320px;overflow-y:auto;padding-right:4px}
.obs-entry{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-border);
  border-radius:10px;padding:10px 12px;
}
.obs-entry.minha{
  background:rgba(45,212,191,0.07);
  border-color:rgba(45,212,191,0.25);
}
.obs-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.obs-meta b{color:#fff;font-size:12px}
.obs-meta small{color:var(--text-muted);font-size:11px;font-weight:700}
.obs-entry p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5;white-space:pre-wrap}
.tarefa-actions{border-top:1px solid var(--glass-border);padding-top:10px}
.tarefa-reply-row{display:flex;gap:8px;margin-bottom:8px}
.tarefa-reply-row .tarefa-obs-input{
  flex:1;background:rgba(255,255,255,0.06);
  border:1px solid var(--glass-border);border-radius:8px;
  padding:8px 12px;color:#fff;font-size:13px;
}
.tarefa-reply-row .tarefa-obs-input::placeholder{color:var(--text-muted)}
.tarefa-reply-row .tarefa-obs-input:focus{outline:none;border-color:var(--accent-teal)}
.tarefa-btns{display:flex;gap:8px;flex-wrap:wrap}

/* ─── Painel de honorários no processo ─── */
.hon-painel{background:rgba(255,255,255,0.04);border:1px solid var(--glass-border);border-radius:12px;padding:14px;margin-top:4px}
.hon-painel.sem-hon{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--text-muted);font-size:13px;font-weight:700}
.hon-resumo{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.hon-item span{display:block;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.hon-item b{display:block;color:#fff;font-size:14px;font-weight:800}
.hon-barra-wrap{margin-bottom:10px}
.hon-barra{height:8px;background:rgba(255,255,255,0.1);border-radius:99px;overflow:hidden;margin-bottom:4px}
.hon-barra-fill{height:100%;background:linear-gradient(90deg,var(--accent-teal),var(--accent-blue));border-radius:99px;transition:width .4s}
.hon-barra-wrap small{color:var(--text-muted);font-size:11px;font-weight:700}
.hon-alerta{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);border-radius:8px;padding:8px 12px;color:#fca5a5;font-size:12px;font-weight:700;margin-bottom:8px}


/* Chips de preset de % (comissão) — clique preenche, digitação manual continua */
.pct-presets{display:flex;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap}
.pct-chip{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);border-radius:var(--radius-pill);padding:2px 10px;font-size:var(--fs-label);font-weight:var(--fw-bold);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.pct-chip:hover{background:rgba(37,99,235,.18);border-color:var(--primary);color:var(--text-white)}
.hon-dist{color:var(--text-muted);font-size:11px;font-weight:700;border-top:1px solid var(--glass-border);padding-top:8px;margin-top:4px}

/* ─── Dashboard KPIs — agora 5 colunas ─── */
.dash-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}

/* ─── Dashboard tabs ─── */
.dash-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.dash-tab{
  display:flex;align-items:center;gap:8px;padding:11px 20px;
  border-radius:10px;background:var(--glass-bg);border:1px solid var(--glass-border);
  color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;
  transition:background .18s,border-color .18s,color .18s;
  white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.dash-tab:hover{border-color:var(--accent-blue);color:#fff}
.dash-tab.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;box-shadow:0 0 0 3px rgba(79,126,247,.22)}
.dash-tab-count{background:rgba(255,255,255,.18);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:800}
.dash-tab.active .dash-tab-count{background:rgba(255,255,255,.3)}
@keyframes tabUrgente{0%,100%{opacity:1}50%{opacity:.5}}
.dash-tab.urgente{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#fca5a5;animation:tabUrgente 1.3s ease-in-out infinite}
.dash-tab.urgente.active,.dash-tab.urgente:hover{background:var(--danger);border-color:var(--danger);color:#fff;animation:none}
.dash-panel[hidden]{display:none!important}

/* ─── Dashboard charts row ─── */
.dash-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:900px){.dash-charts-row{grid-template-columns:1fr}}

/* ─── Chart container ─── */
.chart-wrap{width:100%;overflow:hidden;margin:8px 0 4px}
.chart-wrap svg{max-width:100%}
.chart-legenda{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:4px;border-top:1px solid var(--glass-border)}
.chart-legenda span{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0;vertical-align:middle}
.chart-legenda{color:var(--text-muted);font-size:11px;font-weight:700;align-items:center}

/* ─── Alerta dashboard ─── */
.dash-alerta{
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  background:rgba(239,68,68,0.12);
  border:1px solid rgba(239,68,68,0.3);
  border-left:4px solid var(--danger);
  border-radius:12px;padding:12px 16px;
  margin-bottom:16px;
  font-size:13px;font-weight:700;
}
.dash-alerta span{color:#fca5a5}
.dash-alerta b{color:#fff}

/* ─── Alerta inadimplência financeiro ─── */
.fin-alerta-inad{
  display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:rgba(239,68,68,0.13);
  border:1px solid rgba(239,68,68,0.3);
  border-left:4px solid var(--danger);
  border-radius:12px;padding:12px 16px;
  margin-bottom:16px;
  font-size:13px;font-weight:700;color:#fca5a5;
}
.fin-alerta-inad b{color:#fff}

/* ─── KPI danger ─── */
.kpi.kpi-danger b{color:var(--danger-text)}

/* ─── Mini kpis (dashboard Hoje) — auto-fill responsivo ─── */
.mini-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.mini-kpis div{text-align:center;padding:10px 6px;background:rgba(255,255,255,0.04);border:1px solid var(--glass-border);border-radius:10px}
.mini-kpis span{display:block;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.mini-kpis b{display:block;font-size:22px;font-weight:900;color:#fff;margin-top:4px}

/* ─── Cabeçalho de impressão (só no PDF) ─── */
.print-only{display:none}
.rel-print-head h1{font-size:18px;margin:0 0 4px}
.rel-print-head p{font-size:12px;color:#555;margin:0}

/* ─── Kanban de Processos ─── */
.btn-group-view{display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--glass-border)}
.btn-group-view .btn{border-radius:0;border:none;margin:0;padding:6px 14px}
.btn-group-view .btn+.btn{border-left:1px solid var(--glass-border)}

.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;padding:4px 0 8px}
@media(max-width:960px){.kanban-board{grid-template-columns:1fr}}

.kanban-col{border-radius:14px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--glass-border)}

.kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-weight:900;font-size:14px;letter-spacing:.02em}
.kanban-verde   .kanban-col-head{background:rgba(34,197,94,.22);border-bottom:3px solid #22c55e;color:#22c55e}
.kanban-amarelo .kanban-col-head{background:rgba(245,158,11,.22);border-bottom:3px solid #f59e0b;color:#f59e0b}
.kanban-vermelho.kanban-col-head{background:rgba(239,68,68,.22);border-bottom:3px solid #ef4444;color:#ef4444}

.kanban-col-count{font-size:22px;font-weight:900;min-width:30px;text-align:right}
.kanban-col-sub{padding:7px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:rgba(0,0,0,.18)}

.kanban-col-body{padding:12px;display:flex;flex-direction:column;gap:10px;background:rgba(0,0,0,.10);min-height:140px}

.kanban-card{background:rgba(255,255,255,.06);border:1px solid var(--glass-border);border-radius:10px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:8px;transition:background .15s}
.kanban-card:hover{background:rgba(255,255,255,.10)}
.kanban-verde   .kanban-card{border-left:4px solid #22c55e}
.kanban-amarelo .kanban-card{border-left:4px solid #f59e0b}
.kanban-vermelho.kanban-card{border-left:4px solid #ef4444}

.kanban-num{font-weight:800;font-size:13px;color:#fff;word-break:break-all;line-height:1.4}
.kanban-cliente{font-size:13px;color:var(--text-muted);font-weight:600}
.kanban-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kanban-adv{font-size:11px;color:var(--text-muted);font-style:italic}
.kanban-ultima-mov{font-size:12px;color:var(--text-muted);line-height:1.6}
.kanban-ultima-mov b{color:#fff;font-weight:700}
.kanban-dias{color:var(--text-muted);font-size:11px}
.kanban-btn-abrir{width:100%;justify-content:center;margin-top:2px;font-size:13px}
.kanban-vazio{text-align:center;color:var(--text-muted);font-size:13px;padding:24px 0;font-style:italic}

/* ─── Print / PDF ─── */
@media print{
  body{background:#fff!important;color:#000!important}
  .sidebar,.app-mobilebar,.nav-backdrop,.no-print,.topbar,.toolbar,.subtabs{display:none!important}
  .main{padding:0!important}
  .layout{display:block!important}
  .print-only{display:block!important}
  .card{border:1px solid #ccc!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important;color:#000!important;page-break-inside:avoid}
  table{border-collapse:collapse;width:100%}
  th,td{border:1px solid #ccc;padding:4px 8px;font-size:11px;color:#000}
  th{background:#f0f0f0}
  .badge{border:1px solid #ccc;background:#f0f0f0!important;color:#000!important}
  .kpi{border:1px solid #ccc!important;background:#f9f9f9!important}
  .kpi span,.kpi b,.kpi small{color:#000!important}
  .chart-wrap svg text{fill:#333!important}
  .chart-wrap svg rect{opacity:.8}
  .dash-alerta,.fin-alerta-inad{background:#fff3f3!important;color:#000!important;border:1px solid var(--danger-text)!important}
}

/* ─── Responsivo ─── */
@media(max-width:1300px){.triagem-board,.kanban-board{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}.dash-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .layout{grid-template-columns:1fr}
  /* Barra superior fixa com hambúrguer + logo */
  .app-mobilebar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;
    background:var(--sidebar-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--glass-border);padding:10px 14px}
  .mobilebar-burger{background:var(--glass-bg);border:1px solid var(--glass-border);color:#fff;
    font-size:20px;line-height:1;border-radius:10px;width:42px;height:42px;flex-shrink:0;cursor:pointer}
  .mobilebar-logo{height:30px;width:auto;border-radius:6px}
  .mobilebar-busca{margin-left:auto;font-size:18px}
  /* Sidebar vira gaveta deslizante */
  .sidebar{position:fixed;left:0;top:0;height:100vh;width:min(280px,82vw);z-index:40;
    transform:translateX(-100%);transition:transform .22s ease;overflow-y:auto}
  .layout.nav-open .sidebar{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.6)}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:35;
    opacity:0;pointer-events:none;transition:opacity .22s}
  .layout.nav-open .nav-backdrop{opacity:1;pointer-events:auto}
  .nav{max-height:none;overflow:visible;padding-bottom:4px}
  .userbox{border-top:1px solid var(--glass-border)}
  .content{padding:16px}
  .field.half,.field.third,.field.quarter{grid-column:span 12}
  .kpis{grid-template-columns:1fr 1fr}
  .subgrid,.dash-grid,.lembrete-board,.grid.two{grid-template-columns:1fr}
  .triagem-board,.kanban-board{grid-template-columns:1fr}
  .dash-kpis{grid-template-columns:repeat(2,1fr)}
  .dash-adv-row{grid-template-columns:1fr 1fr 1fr}
  .dash-adv-row b{grid-column:1/-1}
}
@media(max-width:600px){.kpis,.dash-kpis{grid-template-columns:1fr}}

/* ─── DJe — Diário de Justiça Eletrônico ─── */
.dje-filtros{display:flex;gap:24px;flex-wrap:wrap}
.dje-filtro-grupo{display:flex;flex-direction:column;gap:10px;flex:1;min-width:220px}
.dje-filtro-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.dje-adv-list{display:flex;flex-direction:column;gap:4px}
.dje-adv-check{display:flex;align-items:center;gap:8px;cursor:pointer;padding:7px 10px;border-radius:8px;transition:background .15s}
.dje-adv-check:hover{background:rgba(255,255,255,.06)}
.dje-adv-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}
.dje-adv-check small{color:var(--text-muted);font-size:11px}
/* Gerador de procuração/contrato — tela única: o que gerar → para quem → com quem → por quanto. */
.ger-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.ger-passo{display:flex;align-items:flex-start;gap:12px}
.ger-passo h3{margin:0;font-size:16px}
.ger-passo p{margin:3px 0 0;font-size:12.5px;color:var(--text-muted);max-width:52ch}
.ger-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.ger-docs{flex:0 0 auto;min-width:270px;background:rgba(255,255,255,.04);border:1px solid var(--glass-border);border-radius:12px;padding:12px 14px}
.ger-docs-tit{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.ger-docs .btn{margin-top:8px;width:auto}
.ger-advs{display:flex;flex-wrap:wrap;gap:4px 20px}
.req{color:var(--danger)}
.ger-sem-doc .req{display:none}          /* só anexo: o cadastro completo não é exigido */
.ger-sig-bloco{border:1px solid var(--glass-border);border-radius:12px;padding:14px;margin-top:12px}
.ger-sig-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.ger-sig-tit{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex:0 0 auto}
.ger-sig-head select{flex:1;min-width:220px}
.ger-anexo{display:flex;gap:6px;align-items:center;margin-top:6px}
.ger-anexo input[type="text"],.ger-anexo .ger-anexo-nome{flex:1;min-width:0}
.ger-anexo .ger-anexo-file{flex:1;min-width:0;font-size:11px}
.ger-acoes{display:flex;justify-content:flex-end;margin:4px 0 24px}
.ger-acoes .btn{width:auto;padding:12px 28px;font-size:15px}
@media(max-width:900px){.ger-docs{min-width:100%}}
.dje-datas{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
.dje-datas label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--text-muted)}
.dje-datas input[type="date"]{width:150px}
.dje-loading{text-align:center;padding:48px;color:var(--text-muted);font-size:14px;animation:dje-pulse 1.5s ease-in-out infinite}
@keyframes dje-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.dje-error{background:rgba(239,68,68,.09);border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:16px;color:var(--danger-text);font-size:13px;line-height:1.6}
.dje-resumo{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;color:var(--text-muted)}
.dje-card{background:rgba(255,255,255,.04);border:1px solid var(--glass-border);border-radius:12px;padding:16px;margin-bottom:12px;transition:border-color .15s}
.dje-card:hover{border-color:rgba(255,255,255,.22)}
.dje-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.dje-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dje-tribunal-tag{background:rgba(79,126,247,.2);color:#7fa8ff;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:800}
.dje-tipo-tag{background:rgba(45,212,191,.1);color:#2dd4bf;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700}
.dje-num-proc{font-size:15px;font-weight:800;color:var(--text-white);margin-bottom:4px;letter-spacing:.01em}
.dje-orgao{font-size:13px;color:var(--text-muted);margin-bottom:3px}
.dje-adv-ref{font-size:12px;color:rgba(255,255,255,.38);margin-bottom:3px}
.dje-data-pub{font-size:12px;color:var(--accent-gold);margin-bottom:8px}
.dje-texto-resumo{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0 0 8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.dje-cadastro-info{background:rgba(255,255,255,.04);border-radius:10px;padding:14px;margin-bottom:4px;font-size:13px;display:flex;flex-direction:column;gap:6px;color:var(--text-muted)}
.dje-cadastro-info b{color:var(--text-white)}
.dje-partes-lista{display:flex;flex-direction:column;gap:8px}
.dje-parte-radio{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 14px;border-radius:10px;border:1px solid var(--glass-border);transition:background .15s,border-color .15s}
.dje-parte-radio:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}
.dje-parte-radio input{accent-color:var(--primary);width:16px;height:16px;flex-shrink:0}
.dje-parte-nome{font-weight:700;color:var(--text-white);flex:1;font-size:14px}
.dje-prefill-nota{background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.25);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--accent-gold)}
.dje-filtro-tipo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.dje-acoes{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}

/* ── Mensagens como aba do Dashboard: acende em AZUL quando há cliente esperando resposta.
   Vermelho (.urgente) fica reservado a perigo — prazo vencido. ─────────────────────────── */
.dash-tab.destaque{background:rgba(37,99,235,.16);border-color:rgba(37,99,235,.55);color:#93c5fd;animation:tabMsg 1.6s ease-in-out infinite}
.dash-tab.destaque.active,.dash-tab.destaque:hover{background:var(--accent-blue,#2563eb);border-color:var(--accent-blue,#2563eb);color:#fff;animation:none}
@keyframes tabMsg{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.35)}50%{box-shadow:0 0 0 5px rgba(37,99,235,0)}}
.msg-thread.msg-nova{border-left:3px solid var(--accent-blue,#2563eb);background:rgba(37,99,235,.06)}

/* ── F3: nota do KPI financeiro (diz o que o número mede: caixa/competência, bruto/líquido) ── */
.kpi-nota{display:block;margin-top:2px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);opacity:.85}

/* ── F4: Financeiro em 5 abas (uma tela por assunto) ───────────────────────── */
.fin-abas{margin:0 0 16px}
.kpis-aba{margin-bottom:18px}
.fin-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.chip-filtro{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--text-white,#fff);
  border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:6px}
.chip-filtro:hover{background:rgba(255,255,255,.1)}
.chip-filtro.active{background:var(--accent-blue,#2563eb);border-color:var(--accent-blue,#2563eb);color:#fff}
.chip-num{font-size:11px;font-weight:800;opacity:.75}
.chip-filtro.active .chip-num{opacity:.95}
/* Vencida salta aos olhos na lista — é a linha que exige ação. */
.linha-vencida td{background:rgba(239,68,68,.07)}
.linha-vencida td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
/* F5: aguardando validação do Master — nem cobrança, nem caixa: um limbo explícito. */
.linha-aguardando td{background:rgba(59,130,246,.08)}
.linha-aguardando td:first-child{box-shadow:inset 3px 0 0 var(--accent-blue,#2563eb)}
.badge-aguardando{background:rgba(59,130,246,.18);border:1px solid rgba(59,130,246,.5);color:#93c5fd}
.txt-muted{color:var(--text-muted)}
.txt-danger{color:var(--danger);font-weight:700}
/* Seções da aba Análise: respiro entre gráfico, DRE e projeção. */
.fin-secao{margin-bottom:26px}
.fin-secao:last-child{margin-bottom:0}
.fin-periodo{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}

/* ── A3: faixa de alertas proativos (topo do conteúdo, em toda tela) ────────── */
.barra-alertas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:30;
  margin:0 0 16px;padding:10px 14px;border-radius:12px;border:1px solid transparent;backdrop-filter:blur(6px)}
.barra-alertas.critica{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45)}
.barra-alertas.atencao{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4)}
.alerta-titulo{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.barra-alertas.critica .alerta-titulo{color:var(--danger-text)}
.barra-alertas.atencao .alerta-titulo{color:var(--warn-text)}
.alerta-itens{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.alerta-item{background:rgba(255,255,255,.06);border:1px solid var(--glass-border);color:var(--text-white,#fff);
  border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;min-height:32px}
.alerta-item:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.alerta-item b{font-weight:800}
.alerta-fatal{margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}
.alerta-push{background:rgba(79,126,247,.18);border-color:rgba(79,126,247,.5)}
.alerta-fechar{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;line-height:1}
.alerta-fechar:hover{color:#fff}
@media(max-width:640px){
  .barra-alertas{position:static;gap:8px;padding:10px}
  .alerta-item{font-size:12px;padding:6px 10px}
}
