/* dv-app.css — [2026-09-21] o CSS principal do Darvigo.
   Ele morava DENTRO do index.html, num <style> de 6.492 linhas. Saiu porque o index e
   network-first no dv-sw.js: era rebaixado inteiro a cada abertura do app, por cada
   cliente, em cada aparelho. Como .css versionado, agora baixa uma vez so.
   🛑 O <link> ficou na MESMA posicao do <style> que ele substituiu: a cascata nao muda.
   🛑 Os outros 5 blocos continuam no index de proposito — tres deles estao no CORPO da
   pagina e vencem o CSS que o loader injeta no head; trazer pra ca inverteria a ordem. */
/* ================================================================
 *  DARVIGO — CSS Consolidado v26
 *  Origem: 22 blocos → 1 arquivo limpo
 *  Paleta: #061933 azul-escuro | #cda56b dourado | #f2f4f8 cinza
 * ================================================================ */

/* ── Seção CSS 01 ──────────────────────────────────────── */
:root {
      --azul-escuro:#061933;
      --azul:#0b2f5a;
      --dourado:#cda56b;
      --cinza:#f2f4f8;
      --cinza-card:#fafafa;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:Arial,Helvetica,sans-serif;
      background:var(--cinza);
      color:#111;
    }
    /* LOGIN PREMIUM */
    .login-wrapper{
      min-height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      background:
        radial-gradient(circle at top left, rgba(205,165,107,.18), transparent 28%),
        radial-gradient(circle at bottom right, rgba(59,130,246,.18), transparent 24%),
        linear-gradient(135deg, #081426 0%, #0b2f5a 58%, #123d72 100%);
      color:#fff;
      padding:28px;
    }
    .login-card{
      width:100%;
      max-width:980px;
      min-height:620px;
      display:grid;
      grid-template-columns:1.08fr .92fr;
      background:rgba(255,255,255,.98);
      color:#111827;
      border-radius:26px;
      overflow:hidden;
      box-shadow:0 28px 60px rgba(2,6,23,.35);
      border:1px solid rgba(255,255,255,.08);
    }
    .login-hero{
      position:relative;
      padding:42px;
      background:
        linear-gradient(180deg, rgba(6,25,51,.92), rgba(11,47,90,.94)),
        linear-gradient(135deg, #061933 0%, #0b2f5a 100%);
      color:#f8fafc;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .login-hero::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 20%, rgba(205,165,107,.22), transparent 30%),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,.10), transparent 26%);
      pointer-events:none;
    }
    .login-brand, .login-metrics, .login-badges{ position:relative; z-index:1; }
    .login-logo{
      display:block;
      max-width:180px;
      max-height:82px;
      object-fit:contain;
      margin-bottom:22px;
      filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
    }
    .login-hero h1{
      margin:0 0 12px;
      font-size:34px;
      line-height:1.1;
      letter-spacing:-.02em;
      font-family:'Inter',Arial,Helvetica,sans-serif;
    }
    .login-hero p{
      margin:0;
      color:rgba(248,250,252,.82);
      font-size:15px;
      line-height:1.7;
      max-width:460px;
    }
    .login-badges{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:26px;
    }
    .login-badge{
      font-size:12px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.12);
      backdrop-filter:blur(10px);
    }
    .login-metrics{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:28px;
    }
    .login-metric{
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
    }
    .login-metric strong{
      display:block;
      font-size:20px;
      margin-bottom:4px;
      color:#fff;
      font-family:'Inter',Arial,Helvetica,sans-serif;
    }
    .login-metric span{
      font-size:12px;
      color:rgba(255,255,255,.74);
    }
    .login-panel{
      padding:44px 40px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    }
    .login-panel-inner{ width:100%; max-width:360px; }
    .login-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:7px 12px;
      border-radius:999px;
      background:#eff6ff;
      color:#1d4ed8;
      font-size:12px;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      margin-bottom:16px;
    }
    .login-panel h2{
      border:none;
      padding:0;
      margin:0 0 8px;
      font-size:28px;
      line-height:1.15;
      color:#0f172a;
      font-family:'Inter',Arial,Helvetica,sans-serif;
    }
    .login-panel h2::before{ display:none; }
    .login-panel p{
      margin:0 0 22px;
      color:#64748b;
      font-size:14px;
      line-height:1.6;
    }
    .login-card label{
      display:block;
      font-size:12px;
      font-weight:700;
      color:#334155;
      margin:0 0 6px;
    }
    .login-field{ margin-bottom:15px; }
    .login-card input[type="text"],
    .login-card input[type="email"],
    .login-card input[type="password"]{
      width:100%;
      padding:14px 14px;
      border-radius:14px;
      border:1px solid #d7deea;
      background:#fff;
      margin:0;
      font-size:14px;
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
      box-shadow:0 1px 2px rgba(15,23,42,.04);
    }
    .login-card input:focus{
      outline:none;
      border-color:#2563eb;
      box-shadow:0 0 0 4px rgba(37,99,235,.12);
      transform:translateY(-1px);
    }
    .password-wrap{ position:relative; }
    .password-toggle{
      position:absolute;
      top:50%;
      right:12px;
      transform:translateY(-50%);
      border:none;
      background:transparent;
      color:#2563eb;
      font-size:12px;
      font-weight:700;
      cursor:pointer;
      padding:4px 6px;
    }
    .login-error,
    .login-success{
      display:none;
      border-radius:14px;
      padding:12px 14px;
      font-size:13px;
      margin-bottom:14px;
      line-height:1.45;
    }
    .login-error{
      background:#fef2f2;
      color:#991b1b;
      border:1px solid #fecaca;
    }
    .login-success{
      background:#ecfdf5;
      color:#166534;
      border:1px solid #bbf7d0;
    }
    .login-card .btn{
      width:100%;
      margin-top:8px;
      border-radius:14px;
      padding:13px 16px;
      font-size:14px;
      font-weight:700;
      box-shadow:0 14px 26px rgba(29,78,216,.18);
    }
    .login-card .btn.btn-secondary{
      box-shadow:none;
      background:#eef2ff;
      color:#1e40af;
    }
    .login-links{
      display:flex;
      justify-content:space-between;
      gap:10px;
      margin-top:16px;
      flex-wrap:wrap;
    }
    .login-link{
      border:none;
      background:none;
      color:#2563eb;
      padding:0;
      font-size:13px;
      font-weight:700;
      cursor:pointer;
    }
    .login-note{
      margin-top:16px;
      font-size:12px;
      color:#64748b;
      line-height:1.6;
    }
    .login-footer{
      margin-top:20px;
      font-size:11px;
      color:#94a3b8;
      text-align:center;
    }
    @media (max-width: 900px){
      .login-card{ grid-template-columns:1fr; max-width:480px; min-height:auto; }
      .login-hero{ display:none; }
      .login-panel{ padding:34px 24px; }
    }

    header{
      background:#fff;
      border-bottom:4px solid var(--dourado);
      padding:10px 15px;
    }
    .header-inner{
      max-width:1200px;
      margin:0 auto;
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:space-between;
    }
    .header-left{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .logo{
      height:60px;
      max-width:150px;
      object-fit:contain;
      border-radius:6px;
    }
    .company-info h1{
      margin:0;
      font-size:18px;
    }
    .company-info small{
      display:block;
      font-size:12px;
      margin-top:2px;
    }
    .user-box{
      text-align:right;
      font-size:12px;
    }
    .user-box div{
      margin-bottom:2px;
    }

    .tab-bar{
      max-width:1200px;
      margin:8px auto 0;
      display:flex;
      flex-wrap:wrap;
      gap:4px;
    }
    .tab-btn{
      border:1px solid #c4c9d4;
      background:#e3e6f0;
      padding:4px 8px;
      border-radius:4px 4px 0 0;
      font-size:12px;
      cursor:pointer;
    }
    .tab-btn.ativa{
      background:var(--azul);
      color:#fff;
      border-bottom-color:#fff;
    }
    main{
      max-width:1200px;
      margin:0 auto 20px;
      background:#fff;
      border-radius:0 8px 8px 8px;
      box-shadow:0 0 8px rgba(0,0,0,.15);
      padding:12px 16px 18px;
    }
    .aba{display:none;}
    .aba.ativa{display:block;}
    h2{
      font-size:17px;
      margin:4px 0 8px;
      padding-left:8px;
      border-bottom:1px solid #dde1ea;
      position:relative;
    }
    h2::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      width:4px;
      height:100%;
      background:var(--dourado);
      border-radius:4px;
    }
    h3{font-size:14px;margin:10px 0 6px;}
    label{
      display:block;
      font-size:12px;
      margin-bottom:2px;
    }
    input,select,textarea,button{
      font-family:inherit;
      font-size:13px;
    }
    input[type="text"],
    input[type="number"],
    input[type="date"],
    input[type="month"],
    input[type="time"],
    select,
    textarea{
      width:100%;
      padding:4px 6px;
      margin-bottom:6px;
      border-radius:4px;
      border:1px solid #c4c9d4;
    }
    textarea{resize:vertical;}
    .grid-2{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .grid-3{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }
    .card{
      background:var(--cinza-card);
      border:1px solid #dde1ea;
      border-radius:6px;
      padding:8px;
    }
    table{
      width:100%;
      border-collapse:collapse;
      font-size:12px;
      margin-top:4px;
    }
    th,td{
      border:1px solid #dde1ea;
      padding:4px;
    }
    th{background:#eef1f7;}
    .right{text-align:right;}
    .btn{
      border:none;
      border-radius:4px;
      padding:4px 8px;
      font-size:12px;
      cursor:pointer;
      margin:1px;
    }
    .btn-primary{background:var(--azul);color:#fff;}
    .btn-secondary{background:var(--dourado);color:#000;}
    .btn-danger{background:#c92a2a;color:#fff;}
    .btn-small{font-size:11px;padding:2px 6px;}
    .totais{
      margin-top:8px;
      text-align:right;
      font-size:13px;
    }
    .totais div{margin-bottom:2px;}
    footer{
      background:var(--azul);
      color:#eee;
      font-size:11px;
      text-align:center;
      padding:8px;
      border-top:3px solid var(--dourado);
    }
    footer strong{color:var(--dourado);}

    .tela-orc{}
    .print-orc{display:none;}
    .no-print{}

    @media(max-width:800px){
      .grid-2,.grid-3{grid-template-columns:1fr;}
      main{border-radius:0;}
      .header-inner{flex-direction:column;align-items:flex-start;}
      .user-box{text-align:left;width:100%;}
    }
    @media print{
      .no-print{display:none!important;}
      .tela-orc{display:none!important;}
      .print-orc{display:block!important;}
      body{background:#fff;}
      main{box-shadow:none;border-radius:0;margin:0;}
    }
  
/* === Tema 2025 + Dashboard === */
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at top,#0b2f5a 0,#061933 40%,#020617 100%);
  color:#0f172a;
}
main{
  background:rgba(255,255,255,0.98);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(15,23,42,0.32);
  border:1px solid rgba(148,163,184,0.45);
  backdrop-filter:blur(14px);
}
.card{
  border-radius:16px;
  background:linear-gradient(145deg,#ffffff,#f8fafc);
  border:1px solid rgba(226,232,240,0.95);
  box-shadow:0 10px 30px rgba(15,23,42,0.12);
}
header{
  background:linear-gradient(135deg,#020617,#020617);
  border-bottom:1px solid rgba(148,163,184,0.4);
  color:#e5e7eb;
}
.header-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.header-left h1{
  font-size:20px;
  margin:0;
  color:#e5e7eb;
}
.header-left small{
  color:#9ca3af;
}
.logo-box img{
  border-radius:12px;
  box-shadow:0 4px 16px rgba(15,23,42,0.55);
}
.tab-bar{
  max-width:1200px;
  margin:14px auto 0;
  padding:6px;
  border-radius:999px;
  background:rgba(15,23,42,0.9);
  backdrop-filter:blur(16px);
}
.tab-btn{
  border:none;
  background:transparent;
  color:#e5e7eb;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.tab-btn:hover{
  background:rgba(148,163,184,0.35);
  transform:translateY(-1px);
}
.tab-btn.ativa{
  background:linear-gradient(135deg,#f97316,#fb923c);
  color:#111827;
  font-weight:600;
  box-shadow:0 6px 18px rgba(248,113,113,0.45);
}
.dash-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:14px;
}
.kpi-card{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(226,232,240,0.9);
  background:radial-gradient(circle at top left,#eff6ff 0,#ffffff 45%,#f9fafb 100%);
}
.kpi-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#6b7280;
}
.kpi-value{
  display:block;
  margin-top:4px;
  font-size:20px;
  font-weight:700;
  color:#0f172a;
}
.kpi-sub{
  font-size:11px;
  color:#6b7280;
}
.dash-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:14px;
}
.chart-card{
  padding-bottom:10px;
}
.chart-wrapper{
  position:relative;
  width:100%;
  height:260px;
  margin-top:6px;
}
.chart-card canvas{
  width:100%;
  height:100%;
}
@media(max-width:900px){
  .dash-grid{
    grid-template-columns:1fr;
  }
}

/* ====== Fix de clique/foco nas telas de Licença/Login (especialmente em versão .exe) ====== */
#licencaTela, #loginTela{
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: auto;
}
#licencaTela .login-card, #loginTela .login-card{
  pointer-events: auto;
}


/* Evita conflito de região arrastável em empacotadores Electron/WebView */
#licencaTela, #loginTela, .login-card, .login-card *{
  -webkit-app-region: no-drag;
}


/* ====== Melhoria de layout da aba Orçamento ====== */
#aba-orcamento .tela-orc{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Evita "card esticado" com espaço vazio: */
#aba-orcamento .orc-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(300px, 1fr));
  gap:12px;
  align-items:start;
}

/* Ajuste fino para os cards de itens */
#aba-orcamento .orc-item-card{
  align-self:start;
}

/* Inputs e selects mais consistentes */
#aba-orcamento input,
#aba-orcamento select,
#aba-orcamento textarea{
  width:100%;
}

/* Botões dos blocos de itens com respiro */
#aba-orcamento .orc-item-card .btn{
  margin-top:6px;
}

/* Responsivo */
@media (max-width: 980px){
  #aba-orcamento .orc-grid{
    grid-template-columns: 1fr;
  }
}


/* ====== Orçamento PRO (safe): busca rápida e resumo fixo ======
   [faxina 03/08] Q2: CSS do card "Modelos rápidos" removido junto com o card
   (o skin novo recria os 6 modelos no próprio card; dv-orcamento-clean só escondia este). */

/* Bloco de totais como "card". [2026-07-10] Era position:sticky e "acompanhava" a
   rolagem enquanto o usuário preenchia itens — irritava (feedback Jhow). Agora static:
   fica parado no fluxo normal, no fim da lista. */
#aba-orcamento .totais{
  margin-top:10px;
  text-align:left;
  font-size:12.5px;
  background:var(--cinza-card);
  border:1px solid #dde1ea;
  border-radius:10px;
  padding:10px;
  display:grid;
  gap:6px;
  position: static;
}
#aba-orcamento .totais input[type="number"]{
  width:110px !important;
}

/* Ações rápidas abaixo dos totais */
#aba-orcamento .orc-acoes-rapidas{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
#aba-orcamento .orc-acoes-rapidas .btn{
  padding:6px 10px;
  font-size:12px;
}

@media (max-width: 980px){
  #aba-orcamento .totais{
    position: static;
  }
}


/* ====== CRM 2.0 - Kanban de Leads + Tarefas ====== */
#aba-leads .leads-view-toggle{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:6px 0 12px 0;
}
#aba-leads .leads-view-toggle .btn{
  padding:6px 10px;
  font-size:12px;
}

#aba-leads .kanban-board{
  display:grid;
  grid-template-columns: repeat(5, minmax(200px, 1fr));
  gap:10px;
  align-items:start;
}
#aba-leads .kanban-col{
  background: var(--cinza-card);
  border:1px solid #dde1ea;
  border-radius:10px;
  padding:8px;
  min-height:120px;
}
#aba-leads .kanban-col h4{
  margin:0 0 6px 0;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
#aba-leads .kanban-col .kanban-count{
  font-size:11px;
  color:#555;
}
#aba-leads .kanban-dropzone{
  display:grid;
  gap:8px;
}

#aba-leads .lead-card{
  background:#fff;
  border:1px solid #e3e6ee;
  border-radius:10px;
  padding:8px;
  cursor:grab;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
#aba-leads .lead-card small{
  color:#666;
}

#aba-leads .lead-card .lead-card-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}

#aba-leads .crm-kpis{
  display:grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap:8px;
}
#aba-leads .crm-kpi{
  background: var(--cinza-card);
  border:1px solid #dde1ea;
  border-radius:10px;
  padding:8px;
}
#aba-leads .crm-kpi .label{
  font-size:11px;
  color:#555;
}
#aba-leads .crm-kpi .value{
  font-size:18px;
  font-weight:700;
}

@media (max-width: 1100px){
  #aba-leads .kanban-board{
    grid-template-columns: repeat(3, minmax(200px, 1fr));
  }
}
@media (max-width: 760px){
  #aba-leads .kanban-board{
    grid-template-columns: 1fr;
  }
  #aba-leads .crm-kpis{
    grid-template-columns: 1fr 1fr;
  }
}


/* ====== CRM 360 - Visão do Cliente ====== */
#aba-crm360 .crm360-layout{
  display:grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(380px, 2.1fr);
  gap:12px;
  align-items:start;
}
#aba-crm360 .crm360-list{
  max-height: calc(100vh - 220px);
  overflow:auto;
  border:1px solid #e3e6ee;
  border-radius:10px;
  background:#fff;
}
#aba-crm360 .crm360-list-item{
  padding:8px 10px;
  border-bottom:1px solid #f0f2f7;
  cursor:pointer;
}
#aba-crm360 .crm360-list-item:hover{
  background:#f8f9fc;
}
#aba-crm360 .crm360-list-item.active{
  background:#eef3ff;
  border-left:3px solid var(--azul, #0b2f5a);
}
#aba-crm360 .crm360-list-item small{
  color:#666;
}
#aba-crm360 .crm360-section{
  margin-top:10px;
}
#aba-crm360 .crm360-badge{
  display:inline-block;
  font-size:10px;
  padding:2px 6px;
  border-radius:999px;
  background:#f2f4f8;
  border:1px solid #dde1ea;
  margin-left:6px;
}
@media (max-width: 980px){
  #aba-crm360 .crm360-layout{
    grid-template-columns: 1fr;
  }
  #aba-crm360 .crm360-list{
    max-height: 280px;
  }
}


/* ====== CRM extras: Timeline 360 e relatórios ====== */
#aba-crm360 .crm360-timeline{
  border-left:2px solid #e3e6ee;
  padding-left:10px;
  display:grid;
  gap:10px;
}
#aba-crm360 .crm360-time-item{
  position:relative;
  padding:8px 10px;
  background: var(--cinza-card);
  border:1px solid #dde1ea;
  border-radius:10px;
}
#aba-crm360 .crm360-time-item:before{
  content:"";
  position:absolute;
  left:-17px;
  top:14px;
  width:10px;
  height:10px;
  border-radius:50%;
  background: #0b2f5a;
}
#aba-crm360 .crm360-time-type{
  font-size:10px;
  color:#555;
}
#aba-crm360 .crm360-time-title{
  font-size:12.5px;
  font-weight:700;
}
#aba-crm360 .crm360-time-meta{
  font-size:11px;
  color:#666;
}


/* ====== Fix de clique/foco para versão .exe (Electron/empacotadores) ====== */
input, textarea, select, button, a, label {
  -webkit-app-region: no-drag;
}

/* ====== CRM PRO PLUS (UI leve e segura) ====== */
#aba-leads .crm-inline-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin:8px 0;
}
#aba-leads .crm-inline-toolbar .btn{
  padding:6px 10px;
  font-size:12px;
}

#aba-leads .crm-metas-card table td,
#aba-leads .crm-metas-card table th,
#aba-leads #tabelaRelatorioCRM td,
#aba-leads #tabelaRelatorioCRM th{
  font-size:11.5px;
}

#aba-crm360 .crm360-filterbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
  margin-bottom:10px;
}
#aba-crm360 .crm360-filterbar .btn{
  padding:4px 8px;
  font-size:11px;
}
#aba-crm360 .crm360-time-icon{
  font-size:12px;
  margin-right:6px;
}


/* ====== CRM Pack: Abas/Permissões + Meu Funil + Metas ====== */
.funil-view-toggle{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:6px 0 10px;
}
.funil-view-toggle .btn{
  padding:6px 10px;
  font-size:11.5px;
}
.funil-view-toggle .btn.ativa{
  background:var(--azul);
  color:#fff;
  border-color:var(--azul);
}

/* Fix de clique/foco para versão .exe (Electron/empacotadores) */
input, textarea, select, button, a, label {
  -webkit-app-region: no-drag;
}


/* ====== MEGA PACK 1.1: onboarding, busca global, auditoria, demo, pipeline avançado ====== */
.global-search-box{
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 10px;
  padding:6px 8px;
  background:rgba(255,255,255,0.6);
  border:1px solid #e3e6ee;
  border-radius:10px;
}
.global-search-box input{
  flex:1;
  min-width:180px;
}
.global-search-box .btn{
  padding:6px 10px;
  font-size:11.5px;
}

/* Modal base */
.megapack-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(3,10,25,0.55);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:14px;
}
.megapack-modal{
  width:min(920px, 96vw);
  max-height:92vh;
  overflow:auto;
  background:#ffffff;
  border-radius:18px;
  border:1px solid #e5e7eb;
  box-shadow:0 20px 60px rgba(0,0,0,0.18);
  padding:18px 18px 10px;
}
.megapack-modal h3{margin:0 0 6px}
.megapack-modal small{color:#5b6475}
.megapack-modal .grid-2, .megapack-modal .grid-3{
  gap:10px;
}
.megapack-list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
}
.megapack-list li{
  padding:8px 10px;
  border:1px solid #eef0f6;
  border-radius:10px;
  margin-bottom:6px;
}
.megapack-chip{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:10px;
  border:1px solid #e6e8f0;
  background:#f7f8fb;
  margin-left:6px;
}

/* Pipeline avançado */
.pipeline-stage-row{
  display:grid;
  grid-template-columns: 1fr 120px 90px;
  gap:8px;
  align-items:center;
  margin-bottom:6px;
}
.pipeline-color-preview{
  height:28px;
  border-radius:8px;
  border:1px solid #e5e7eb;
}

/* Auditoria */
.audit-table td, .audit-table th{font-size:11.5px;}

/* Onboarding card style */
.onboard-step{
  border:1px solid #eef0f6;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:8px;
}


    .badge{display:inline-block;padding:2px 6px;border-radius:999px;font-size:10px;line-height:1.2;background:var(--azul-escuro);color:#fff;margin-right:6px;vertical-align:middle}
    .badge-secondary{background:#6b7280}


/* =========================================================
   UI PRO (JARBAS) — Tema claro, layout de software
   ========================================================= */
:root{
  --ui-bg:#f6f7fb;
  --ui-surface:#ffffff;
  --ui-surface-2:#fbfcff;
  --ui-border:#e6e8f0;
  --ui-text:#0f172a;
  --ui-muted:#64748b;
  --ui-primary:#2563eb;
  --ui-primary-2:#1d4ed8;
  --ui-success:#16a34a;
  --ui-danger:#dc2626;
  --ui-warning:#f59e0b;
  --ui-radius:14px;
  --ui-radius-sm:10px;
  --ui-shadow:0 10px 30px rgba(15, 23, 42, .08);
  --ui-shadow-sm:0 6px 18px rgba(15, 23, 42, .06);
  --ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

body{
  background:var(--ui-bg) !important;
  color:var(--ui-text) !important;
  font-family:var(--ui-font) !important;
  overflow:hidden;
}

/* App shell grid (header + sidebar + content) */
#appWrapper{
  height:100vh;
  display:grid;
  grid-template-columns:240px 1fr;
  grid-template-rows:auto 1fr;
}
#appWrapper{
  height:100vh;
}
#appWrapper > .tab-bar{
  min-height:0;
}
#appWrapper > main{
  min-height:0;
  overflow:auto;
}
body{
  overflow:hidden;
}
.login-wrapper{
  overflow:auto;
}


/* sem rolagem no documento: rola apenas no conteúdo */
body{ overflow:hidden; }
#appWrapper > header{
  grid-column:1 / -1;
  position:sticky;
  top:0;
  z-index:30;
  background:var(--ui-surface) !important;
  border-bottom:1px solid var(--ui-border) !important;
  color:var(--ui-text) !important;
}
.header-inner{
  max-width:none !important;
  margin:0 !important;
  padding:10px 16px;
}
.header-left{gap:12px;}
.logo{
  height:44px !important;
  max-width:120px !important;
  border-radius:12px !important;
  background:#fff;
  border:1px solid var(--ui-border);
}
.company-info h1{
  font-size:16px !important;
  line-height:1.2;
  margin:0;
  color:var(--ui-text) !important;
  font-weight:800 !important;
}
.company-info small{
  color:var(--ui-muted) !important;
  font-size:11px !important;
  line-height:1.25;
}
.company-info{max-width:720px;}
.user-box{
  color:var(--ui-muted) !important;
}
.user-box .btn{border-radius:10px}

/* Sidebar navigation */
#appWrapper > .tab-bar{
  min-height:0;
  overflow:auto;
  grid-column:1;
  grid-row:2;
  max-width:none !important;
  margin:0 !important;
  padding:12px 10px !important;
  background:var(--ui-surface) !important;
  border-right:1px solid var(--ui-border);
  border-radius:0 !important;
  backdrop-filter:none !important;
  display:flex;
  flex-direction:column;
  gap:6px;
  overflow:auto;
}
#appWrapper > .tab-bar::before{
  content:"MENU";
  display:block;
  padding:6px 10px 10px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ui-muted);
}
.tab-btn{
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  border:1px solid transparent !important;
  background:transparent !important;
  color:var(--ui-text) !important;
  padding:9px 10px !important;
  border-radius:12px !important;
  transition:background .15s ease,border-color .15s ease,transform .05s ease;
}
.tab-btn::before{ display:none !important; }
.tab-ico{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.12);
  flex:0 0 auto;
  font-size:15px;
}
.tab-btn.ativa .tab-ico{
  background:rgba(37,99,235,.14);
  border-color:rgba(37,99,235,.22);
}
.tab-label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tab-btn:hover{
  background:rgba(37, 99, 235, .06) !important;
  border-color:rgba(37, 99, 235, .12) !important;
  transform:none !important;
}
.tab-btn.ativa{
  background:rgba(37, 99, 235, .10) !important;
  border-color:rgba(37, 99, 235, .22) !important;
  color:var(--ui-primary-2) !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.tab-btn::before{ display:none !important; }
.tab-ico{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.14);
  font-size:16px;
  flex:0 0 auto;
}
.tab-btn.ativa .tab-ico{
  background:rgba(37,99,235,.16);
  border-color:rgba(37,99,235,.22);
}
.tab-label{
  font-size:13px;
  line-height:1.1;
}
.side-sep{
  margin:10px 10px 4px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ui-muted);
}


/* Content area */
#appWrapper > main{
  min-height:0;
  overflow:auto;
  grid-column:2;
  grid-row:2;
  max-width:none !important;
  margin:14px 16px 18px !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.aba{
  background:var(--ui-surface);
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  padding:14px 16px 18px;
}
h2{
  font-size:16px !important;
  margin:0 0 10px !important;
  padding:0 0 10px !important;
  border-bottom:1px solid var(--ui-border) !important;
}
h2::before{ display:none !important; }
h3{ font-size:13px !important; color:var(--ui-text); }
label{ color:var(--ui-muted) !important; font-weight:600; }

.card{
  background:var(--ui-surface-2) !important;
  border:1px solid var(--ui-border) !important;
  border-radius:var(--ui-radius) !important;
  box-shadow:var(--ui-shadow-sm) !important;
}

/* ===== Premium UI emphasis (v23) ===== */
@media screen{
  /* Make main area feel like a modern app canvas */
  main{
    background:var(--ui-bg) !important;
    border-radius:var(--ui-radius) !important;
    border:1px solid rgba(230,232,240,.55) !important;
    box-shadow:0 16px 50px rgba(15,23,42,.06) !important;
  }

  /* Page title (Orçamento, OS, etc.) */
  .aba > h2.no-print{
    font-size:18px !important;
    margin:0 0 14px !important;
    padding:12px 14px !important;
    border:1px solid var(--ui-border) !important;
    border-radius:14px !important;
    background:linear-gradient(180deg, rgba(37,99,235,.12), rgba(37,99,235,.03)) !important;
    color:var(--ui-text) !important;
    box-shadow:var(--ui-shadow-sm) !important;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .aba > h2.no-print::before{ display:none !important; }

  /* Card padding & title emphasis */
  .card{
    padding:14px !important;
  }
  .card > h3{
    margin:-14px -14px 12px !important;
    padding:10px 12px !important;
    border-bottom:1px solid var(--ui-border) !important;
    background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(37,99,235,.02)) !important;
    border-radius:var(--ui-radius) var(--ui-radius) 12px 12px !important;
    display:flex !important;
    align-items:center;
    gap:10px;
    color:var(--ui-text) !important;
    font-size:13px !important;
    letter-spacing:.2px;
  }
  .card > h3::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:3px;
    background:var(--ui-primary);
    box-shadow:0 0 0 4px rgba(37,99,235,.13);
    flex:0 0 auto;
  }

  /* Labels more visible (without shouting) */
  label{
    color:#334155 !important;
    font-weight:700 !important;
    letter-spacing:.1px;
  }

  /* Better focus states (premium feel) */
  input:focus,select:focus,textarea:focus{
    outline:none !important;
    border-color:rgba(37,99,235,.55) !important;
    box-shadow:0 0 0 4px rgba(37,99,235,.14) !important;
  }

  /* Sidebar active item more obvious */
  .tab-btn.ativa{
    background:rgba(37,99,235,.10) !important;
    border-color:rgba(37,99,235,.22) !important;
    box-shadow:0 10px 26px rgba(37,99,235,.10) !important;
  }
}
input[type="text"],
input[type="number"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="password"],
select,
textarea{
  border:1px solid var(--ui-border) !important;
  border-radius:12px !important;
  padding:8px 10px !important;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
input:focus, select:focus, textarea:focus{
  outline:none;
  border-color:rgba(37,99,235,.55) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;
}
table{
  border:1px solid var(--ui-border);
  border-radius:12px;
  overflow:hidden;
}
th{
  background:#f1f5ff !important;
  color:var(--ui-text) !important;
  font-weight:700 !important;
  border-bottom:1px solid var(--ui-border) !important;
}
td,th{ padding:8px !important; }
tr:nth-child(even){ background:#fafbff !important; }

/* Buttons */
.btn{
  border-radius:12px !important;
  padding:8px 12px !important;
  border:1px solid var(--ui-border) !important;
  background:#fff !important;
  color:var(--ui-text) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.btn-primary{
  background:linear-gradient(180deg,var(--ui-primary),var(--ui-primary-2)) !important;
  border-color:rgba(29,78,216,.55) !important;
  color:#fff !important;
}
.btn-secondary{
  background:#fff !important;
}
.btn-danger{
  background:linear-gradient(180deg,#ef4444,#dc2626) !important;
  border-color:rgba(220,38,38,.6) !important;
  color:#fff !important;
}
.btn-small{ padding:6px 10px !important; border-radius:10px !important; }

/* License toast (if present) */
.licenca-toast, .toast, .renew-toast{
  border-radius:14px !important;
  border:1px solid var(--ui-border) !important;
  box-shadow:var(--ui-shadow) !important;
  background:var(--ui-surface) !important;
}

/* Login visual mais clean */
.login-wrapper{
  background:linear-gradient(180deg,#f6f7fb 0,#eef2ff 55%,#f6f7fb 100%) !important;
  overflow:auto;
}
.login-card{
  border-radius:16px !important;
  box-shadow:var(--ui-shadow) !important;
  border:1px solid var(--ui-border) !important;
}
.login-card h1{ font-size:18px !important; }
.login-card small{ color:var(--ui-muted) !important; }

/* Scrollbar */
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,.25);
  border-radius:999px;
  border:2px solid rgba(246,247,251,1);
}
*::-webkit-scrollbar-track{ background:transparent; }

/* Print: manter limpo */
@media print{
  #appWrapper{ display:block !important; }
  #appWrapper > .tab-bar, #appWrapper > header{ display:none !important; }
  #appWrapper > main{ margin:0 !important; }
  .aba{ border:none !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; }
}


/* ====== AJUSTES VISUAIS JARBAS 2026 ====== */
#appWrapper{
  display:grid;
  grid-template-columns: 270px minmax(0,1fr);
  grid-template-areas:
    "header header"
    "sidebar main";
  gap:16px;
  align-items:start;
}
#appWrapper > header{ grid-area:header; }
#appWrapper > .tab-bar{ grid-area:sidebar; }
#appWrapper > main{ grid-area:main; margin:0 18px 18px 0; }
#appWrapper > .tab-bar{
  position:sticky;
  top:14px;
  align-self:start;
  max-height:calc(100vh - 28px);
  overflow:auto;
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
  box-shadow:0 18px 50px rgba(2,6,23,.18);
}
.menu-topo{ margin-bottom:14px; }
.menu-topo-titulo{ color:#e5e7eb; font-weight:700; margin-bottom:10px; font-size:14px; }
#menuBusca{
  width:100%; padding:11px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.06); color:#fff; outline:none;
}
#menuBusca::placeholder{ color:#cbd5e1; }
.menu-group{ margin-bottom:16px; }
.menu-title{
  color:#94a3b8; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  margin:6px 4px 8px;
}
#appWrapper > .tab-bar .tab-btn{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left; margin-bottom:6px;
  border-radius:12px; border:1px solid transparent; background:transparent; color:#e5e7eb; padding:10px 12px;
}
#appWrapper > .tab-bar .tab-btn:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.08); }
#appWrapper > .tab-bar .tab-btn.ativa{
  background:linear-gradient(135deg,#1d4ed8,#2563eb); color:#fff; border-color:rgba(255,255,255,.14);
  box-shadow:0 10px 24px rgba(37,99,235,.35);
}
#appWrapper > .tab-bar .tab-ico{ font-size:18px; width:20px; text-align:center; }
#appWrapper > .tab-bar .tab-label{ font-size:14px; font-weight:600; }
.header-inner{ padding-right:18px; }
.company-info small#empresaCnpjWhatsapp{ opacity:.78; }
.company-info small#empresaSiteInsta{ opacity:.62; }
@media (max-width: 980px){
  #appWrapper{ grid-template-columns:1fr; grid-template-areas:"header" "sidebar" "main"; }
  #appWrapper > main{ margin:0 12px 16px 12px; }
  #appWrapper > .tab-bar{ position:relative; top:0; max-height:none; margin:0 12px; }
}



/* ====== HARMONIZAÇÃO VISUAL FINAL SCALCO ====== */
:root{
  --sc-bg:#edf2f7;
  --sc-surface:#ffffff;
  --sc-surface-soft:#f8fbff;
  --sc-border:#dbe4f0;
  --sc-text:#0f172a;
  --sc-muted:#64748b;
  --sc-sidebar:#0b1730;
  --sc-sidebar-2:#0f1f3d;
  --sc-sidebar-border:rgba(255,255,255,.08);
  --sc-primary:#2563eb;
  --sc-primary-2:#1d4ed8;
  --sc-shadow:0 14px 34px rgba(15,23,42,.08);
}

body{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.06), transparent 22%),
    linear-gradient(180deg, #f6f9fc 0%, var(--sc-bg) 100%) !important;
  color:var(--sc-text) !important;
}

#appWrapper{
  gap:18px !important;
  grid-template-columns:260px minmax(0,1fr) !important;
}

#appWrapper > header{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--sc-border) !important;
  box-shadow:0 2px 18px rgba(15,23,42,.04);
}
.header-inner{
  padding:12px 18px !important;
}
.logo{
  height:48px !important;
  border-radius:14px !important;
}
.company-info h1{
  font-size:17px !important;
}
.company-info small{
  color:#6b7280 !important;
}

/* Sidebar mais integrada ao restante */
#appWrapper > .tab-bar{
  background:
    linear-gradient(180deg, var(--sc-sidebar) 0%, var(--sc-sidebar-2) 100%) !important;
  border:1px solid rgba(15,23,42,.06) !important;
  border-right:0 !important;
  box-shadow:0 18px 40px rgba(2,6,23,.12) !important;
  border-radius:22px !important;
  padding:16px 12px !important;
}
#appWrapper > .tab-bar::before{
  color:rgba(255,255,255,.62) !important;
  padding:2px 10px 10px !important;
}
.menu-topo-titulo{
  color:#f8fafc !important;
  font-size:13px !important;
}
#menuBusca{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.menu-title{
  color:rgba(203,213,225,.82) !important;
  margin:10px 6px 8px !important;
}

#appWrapper > .tab-bar .tab-btn{
  padding:11px 12px !important;
  color:#e5edf8 !important;
  border:1px solid transparent !important;
  background:transparent !important;
  border-radius:14px !important;
}
#appWrapper > .tab-bar .tab-btn:hover{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.08) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  background:linear-gradient(135deg, rgba(37,99,235,.95), rgba(59,130,246,.92)) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.30) !important;
}
#appWrapper > .tab-bar .tab-ico{
  width:24px !important;
  height:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:15px !important;
  text-align:center !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa .tab-ico{
  background:rgba(255,255,255,.14) !important;
}
#appWrapper > .tab-bar .tab-label{
  font-size:13px !important;
  font-weight:600 !important;
}

/* Área principal mais premium */
#appWrapper > main{
  margin:0 18px 18px 0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.aba{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(8px);
  border:1px solid rgba(219,228,240,.95) !important;
  border-radius:22px !important;
  box-shadow:var(--sc-shadow) !important;
  padding:18px !important;
}

.aba > h2.no-print{
  background:linear-gradient(180deg, #ffffff, #f8fbff) !important;
  border:1px solid var(--sc-border) !important;
  border-radius:16px !important;
  box-shadow:0 6px 18px rgba(15,23,42,.04) !important;
  padding:13px 16px !important;
}

.card{
  background:linear-gradient(180deg, #ffffff 0%, var(--sc-surface-soft) 100%) !important;
  border:1px solid var(--sc-border) !important;
  border-radius:16px !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}
.card > h3{
  background:linear-gradient(180deg, rgba(37,99,235,.08), rgba(37,99,235,.02)) !important;
  border-bottom:1px solid var(--sc-border) !important;
  color:var(--sc-text) !important;
}
.card > h3::before{
  box-shadow:0 0 0 4px rgba(37,99,235,.10) !important;
}

label{
  color:#334155 !important;
}

input[type="text"],
input[type="number"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="password"],
select,
textarea{
  background:#fff !important;
  border:1px solid #d8e2ee !important;
  border-radius:12px !important;
  min-height:40px;
}
textarea{ min-height:90px; }

table{
  background:#fff;
  border:1px solid var(--sc-border) !important;
  border-radius:14px !important;
}
th{
  background:#eef4fb !important;
}
tr:nth-child(even){
  background:#fbfdff !important;
}

#aba-orcamento .totais{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border:1px solid var(--sc-border) !important;
  border-radius:14px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.05) !important;
}

@media (max-width: 980px){
  #appWrapper{
    grid-template-columns:1fr !important;
  }
  #appWrapper > .tab-bar{
    margin:0 12px !important;
    border-right:1px solid rgba(15,23,42,.06) !important;
  }
  #appWrapper > main{
    margin:0 12px 16px 12px !important;
  }
}


/* ===== PATCH JARBAS: estabilidade visual + sidebar + scroll + assinatura ===== */
:root{
  --jarbas-header-h: 74px;
  --jarbas-sidebar-w: 248px;
  --jarbas-sidebar-bg-1: #10213f;
  --jarbas-sidebar-bg-2: #16294a;
  --jarbas-sidebar-active-1: #2f67d8;
  --jarbas-sidebar-active-2: #2456be;
  --jarbas-border-soft: #dbe3ef;
  --jarbas-bg-main: #eef3f8;
}

/* shell principal estável */
html, body{
  height:100%;
}
body{
  overflow:hidden !important;
  background:linear-gradient(180deg,#f7f9fc 0%, var(--jarbas-bg-main) 100%) !important;
}

#appWrapper{
  height:100vh !important;
  display:grid !important;
  grid-template-columns: var(--jarbas-sidebar-w) minmax(0,1fr) !important;
  grid-template-rows: var(--jarbas-header-h) minmax(0,1fr) !important;
  grid-template-areas:
    "header header"
    "sidebar main" !important;
  gap:0 !important;
  align-items:stretch !important;
}

/* topo */
#appWrapper > header{
  grid-area:header !important;
  position:relative !important;
  top:auto !important;
  z-index:20 !important;
  height:var(--jarbas-header-h) !important;
  display:flex !important;
  align-items:center !important;
  border-bottom:1px solid var(--jarbas-border-soft) !important;
  box-shadow:0 2px 16px rgba(15,23,42,.05) !important;
}

/* lateral até embaixo, sem parecer "caixa solta" */
#appWrapper > .tab-bar{
  grid-area:sidebar !important;
  position:relative !important;
  top:auto !important;
  align-self:stretch !important;
  height:calc(100vh - var(--jarbas-header-h)) !important;
  max-height:none !important;
  margin:0 !important;
  border-radius:0 18px 18px 0 !important;
  padding:14px 10px 18px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  background:linear-gradient(180deg,var(--jarbas-sidebar-bg-1) 0%, var(--jarbas-sidebar-bg-2) 100%) !important;
  border-right:1px solid rgba(255,255,255,.05) !important;
  box-shadow:8px 0 24px rgba(2,6,23,.08) !important;
}

/* reduz contraste pesado e deixa mais integrado */
#appWrapper > .tab-bar::before{
  color:rgba(255,255,255,.55) !important;
}
.menu-topo-titulo{
  color:#eef4ff !important;
}
.menu-title{
  color:rgba(203,213,225,.74) !important;
}
#menuBusca{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#fff !important;
}
#menuBusca::placeholder{
  color:rgba(226,232,240,.78) !important;
}
#appWrapper > .tab-bar .tab-btn{
  color:#e8eef8 !important;
  border-radius:12px !important;
}
#appWrapper > .tab-bar .tab-btn:hover{
  background:rgba(255,255,255,.055) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  background:linear-gradient(180deg,var(--jarbas-sidebar-active-1),var(--jarbas-sidebar-active-2)) !important;
  box-shadow:0 10px 22px rgba(37,99,235,.26) !important;
  border-color:rgba(255,255,255,.10) !important;
}
#appWrapper > .tab-bar .tab-ico{
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}

/* conteúdo com scroll próprio */
#appWrapper > main{
  grid-area:main !important;
  min-height:0 !important;
  height:calc(100vh - var(--jarbas-header-h)) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  margin:0 !important;
  padding:16px 18px 22px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
}

/* bloco principal */
.aba{
  min-height:calc(100% - 4px);
  border-radius:18px !important;
  padding:16px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid var(--jarbas-border-soft) !important;
  box-shadow:0 10px 30px rgba(15,23,42,.05) !important;
}

/* cards e grids mais consistentes */
.card{
  overflow:hidden !important;
}
#aba-orcamento .orc-grid{
  align-items:start !important;
}
#aba-orcamento .orc-item-card{
  min-width:0 !important;
}

/* assinatura alinhada e sem estourar */
#orcAssinaturaPreviewBox{
  min-height:120px !important;
  height:120px !important;
  max-height:120px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#orcAssinaturaPreview{
  max-width:100% !important;
  max-height:96px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
#orcAssinaturaVazia{
  display:inline-block;
}

/* ações do rodapé do orçamento bem alinhadas */
#aba-orcamento .no-print[style*="text-align:right"]{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  justify-content:flex-end !important;
  align-items:center !important;
  text-align:initial !important;
}
#aba-orcamento .no-print[style*="text-align:right"] .btn{
  margin:0 !important;
}

/* inputs numéricos do resumo */
#aba-orcamento .totais input[type="number"],
#aba-orcamento input[type="number"]{
  max-width:110px;
}

/* tabelas mais firmes */
table{
  width:100% !important;
  table-layout:fixed !important;
}
td, th{
  vertical-align:middle !important;
}

/* responsivo */
@media (max-width: 1100px){
  #appWrapper{
    grid-template-columns: 1fr !important;
    grid-template-rows: var(--jarbas-header-h) auto minmax(0,1fr) !important;
    grid-template-areas:
      "header"
      "sidebar"
      "main" !important;
  }
  #appWrapper > .tab-bar{
    height:auto !important;
    max-height:none !important;
    border-radius:0 !important;
  }
  #appWrapper > main{
    height:auto !important;
  }
}


/* ===== PATCH VISUAL PREMIUM JARBAS ===== */
@media screen {
  :root{
    --azul-escuro:#0f172a;
    --azul:#1e3a8a;
    --azul-hover:#1d4ed8;
    --dourado:#d6a85f;
    --cinza:#eef2f7;
    --cinza-card:#ffffff;
    --borda-suave:#dbe3ee;
    --texto:#0f172a;
    --texto-suave:#64748b;
    --sombra-card:0 10px 30px rgba(15,23,42,.08);
    --sombra-forte:0 18px 45px rgba(15,23,42,.12);
  }

  html,body{
    min-height:100%;
    overflow-x:hidden;
  }
  body{
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif !important;
    background:
      radial-gradient(circle at top right, rgba(30,58,138,.09), transparent 30%),
      linear-gradient(180deg,#edf3f9 0%, #f7f9fc 100%) !important;
    color:var(--texto) !important;
    line-height:1.45;
  }

  header{
    position:sticky;
    top:0;
    z-index:40;
    background:rgba(15,23,42,.96) !important;
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(214,168,95,.45) !important;
    box-shadow:0 8px 24px rgba(2,6,23,.18);
    padding:12px 18px !important;
  }
  .header-inner{
    max-width:1360px !important;
    gap:16px !important;
  }
  .header-left{
    gap:14px !important;
  }
  .logo{
    height:62px !important;
    max-width:160px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.06);
    padding:4px;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
  }
  .company-info h1,
  .header-left h1{
    font-size:22px !important;
    font-weight:700 !important;
    letter-spacing:-.02em;
    color:#f8fafc !important;
  }
  .company-info small,
  .header-left small,
  .user-box{
    color:#cbd5e1 !important;
    font-size:12px !important;
  }

  .tab-bar{
    max-width:1360px !important;
    margin:14px auto 0 !important;
    padding:8px !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:8px !important;
    background:rgba(15,23,42,.92) !important;
    border:1px solid rgba(148,163,184,.22);
    border-radius:999px !important;
    box-shadow:0 10px 25px rgba(15,23,42,.16);
    scrollbar-width:thin;
  }
  .tab-btn{
    border:none !important;
    background:transparent !important;
    color:#e2e8f0 !important;
    border-radius:999px !important;
    padding:9px 14px !important;
    font-size:12px !important;
    font-weight:600 !important;
    white-space:nowrap;
    transition:all .2s ease;
  }
  .tab-btn:hover{
    background:rgba(255,255,255,.09) !important;
    transform:translateY(-1px);
  }
  .tab-btn.ativa{
    background:linear-gradient(135deg,#f8b84d,#d6a85f) !important;
    color:#111827 !important;
    box-shadow:0 8px 20px rgba(214,168,95,.35);
  }

  main{
    max-width:1360px !important;
    margin:16px auto 24px !important;
    padding:18px !important;
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(219,227,238,.95) !important;
    border-radius:22px !important;
    box-shadow:var(--sombra-forte) !important;
    backdrop-filter:blur(8px);
  }

  h2{
    font-size:20px !important;
    font-weight:700 !important;
    margin:4px 0 14px !important;
    padding:0 0 10px 14px !important;
    border-bottom:1px solid #e8edf4 !important;
  }
  h2::before{
    width:5px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#1d4ed8,#d6a85f) !important;
  }
  h3{
    font-size:15px !important;
    font-weight:700 !important;
    color:#0f172a !important;
    margin:0 0 10px !important;
  }

  .grid-2,.grid-3{
    gap:14px !important;
    align-items:start;
  }
  .card{
    background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
    border:1px solid var(--borda-suave) !important;
    border-radius:18px !important;
    padding:14px !important;
    box-shadow:var(--sombra-card) !important;
  }

  label{
    font-size:12px !important;
    font-weight:600 !important;
    color:#334155 !important;
    margin-bottom:5px !important;
  }
  input[type="text"],
  input[type="number"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  select,
  textarea{
    border:1px solid #d7dfeb !important;
    border-radius:12px !important;
    padding:10px 12px !important;
    margin-bottom:10px !important;
    background:#fff !important;
    color:#0f172a !important;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.02);
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }
  input:focus,select:focus,textarea:focus{
    outline:none !important;
    border-color:#3b82f6 !important;
    box-shadow:0 0 0 4px rgba(59,130,246,.14) !important;
  }

  .btn{
    border:none !important;
    border-radius:12px !important;
    padding:9px 14px !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.01em;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    box-shadow:0 6px 16px rgba(15,23,42,.10);
  }
  .btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.02);
  }
  .btn-primary{
    background:linear-gradient(135deg,#1d4ed8,#2563eb) !important;
    color:#fff !important;
  }
  .btn-secondary{
    background:linear-gradient(135deg,#f2c16f,#d6a85f) !important;
    color:#111827 !important;
  }
  .btn-danger{
    background:linear-gradient(135deg,#dc2626,#ef4444) !important;
    color:#fff !important;
  }
  .btn-small{
    padding:6px 10px !important;
    border-radius:10px !important;
  }

  table{
    margin-top:8px !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    overflow:hidden;
    border-radius:14px;
    border:1px solid #e5ebf3;
  }
  th,td{
    border:none !important;
    border-bottom:1px solid #eaf0f6 !important;
    padding:10px 10px !important;
    vertical-align:middle;
  }
  th{
    background:#f8fafc !important;
    color:#475569 !important;
    font-size:11px !important;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  tr:last-child td{
    border-bottom:none !important;
  }
  tbody tr:hover td{
    background:#f8fbff;
  }

  .totais{
    margin-top:12px !important;
    padding:12px !important;
    border:1px solid #e2e8f0 !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,#fff,#f8fbff) !important;
    box-shadow:var(--sombra-card) !important;
  }

  footer{
    background:#0f172a !important;
    border-top:1px solid rgba(214,168,95,.45) !important;
    color:#cbd5e1 !important;
    padding:12px !important;
  }
  footer strong{
    color:#f2c16f !important;
  }

  @media (max-width: 800px){
    body{
      background:#f3f7fb !important;
    }
    header{
      padding:10px 12px !important;
    }
    .tab-bar{
      border-radius:18px !important;
      margin-top:10px !important;
    }
    main{
      margin:12px !important;
      border-radius:18px !important;
      padding:14px !important;
    }
  }
}
/* ===== FIM PATCH VISUAL PREMIUM ===== */


/* ===== PATCH GESTÃO SCALCO FINAL ===== */
:root{
  --gestor-header-bg:#ffffff;
  --gestor-header-border:#d9e2ef;
  --gestor-title:#0f172a;
  --gestor-sub:#64748b;
  --gestor-destaque:#cda56b;
  --gestor-alerta:#b45309;
  --gestor-ok:#166534;
}
#appWrapper > header,
header{
  background:var(--gestor-header-bg) !important;
  border-bottom:1px solid var(--gestor-header-border) !important;
  box-shadow:0 4px 18px rgba(15,23,42,.06) !important;
}
.header-inner{
  max-width:none !important;
  padding:10px 18px !important;
  gap:18px !important;
}
.header-left{
  min-width:0 !important;
  flex:1 1 auto !important;
}
.logo{
  flex:0 0 auto;
  height:60px !important;
  max-width:84px !important;
  background:#fff !important;
  border:1px solid #dbe4f0 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.10) !important;
}
.company-info{
  min-width:0 !important;
  max-width:760px !important;
}
.company-info h1,
.header-left h1,
#empresaNome{
  color:var(--gestor-title) !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  margin-bottom:4px !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.company-info small,
.header-left small,
#empresaCnpjWhatsapp,
#empresaSiteInsta{
  color:var(--gestor-sub) !important;
  opacity:1 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.user-box{
  flex:0 0 auto !important;
  text-align:right !important;
  min-width:220px !important;
  color:var(--gestor-sub) !important;
  font-weight:600 !important;
}
.user-box .btn{ box-shadow:0 6px 14px rgba(15,23,42,.08); }
.menu-title{
  color:#9fb1cf !important;
}
#appWrapper > .tab-bar .tab-btn{
  margin-bottom:8px !important;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  position:relative;
}
#appWrapper > .tab-bar .tab-btn.ativa::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.card > h3{
  font-weight:700 !important;
}
label{font-weight:600 !important;}
.table-resumo-mini{
  font-size:12px;
  margin-top:8px;
}
.alerta-box{
  border:1px solid #ead4a8;
  background:linear-gradient(180deg,#fffaf1 0%,#fff 100%);
  color:#7c5b18;
  border-radius:14px;
  padding:10px 12px;
  margin-top:10px;
}
.alerta-box.ok{
  border-color:#b7dfc0;
  background:linear-gradient(180deg,#f3fff6 0%,#fff 100%);
  color:var(--gestor-ok);
}
.tag-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4ff;
  border:1px solid #d6e3fb;
  color:#24457a;
  font-size:12px;
  margin:2px 4px 2px 0;
}
.km-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:#fff3cd;
  color:#92400e;
}
.km-badge.ok{background:#dcfce7;color:#166534;}
@media (max-width:1100px){
  .company-info h1,
  .header-left h1,
  #empresaNome,
  .company-info small,
  #empresaCnpjWhatsapp,
  #empresaSiteInsta{white-space:normal !important;}
  .user-box{min-width:0 !important;text-align:left !important;}
}



/* ===== POLIMENTO FINAL GESTOR ===== */
body{
  background:linear-gradient(180deg,#eef2f7 0%, #f6f8fb 100%);
  color:#0f172a;
}
header{
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  border-bottom:1px solid #d7deea;
  box-shadow:0 6px 20px rgba(15,23,42,.06);
}
.header-inner{
  max-width:none;
  width:100%;
}
.header-left{
  min-width:0;
  flex:1;
}
.logo{
  height:62px;
  width:auto;
  max-width:72px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dbe3ef;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  padding:4px;
}
.company-info{
  min-width:0;
  max-width:860px;
}
.company-info h1{
  color:#0f172a;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.company-info small{
  color:#64748b;
  font-size:12px;
  line-height:1.45;
}
.user-box{
  min-width:220px;
  background:rgba(255,255,255,.96);
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.user-box div{
  color:#64748b;
  font-weight:600;
}
.user-box span{
  color:#0f172a;
}
main{
  max-width:none;
  margin:0 16px 20px 0;
  background:rgba(255,255,255,.78);
  border:1px solid #dbe3ef;
  border-radius:20px;
  box-shadow:0 20px 45px rgba(15,23,42,.08);
  padding:16px 16px 22px;
  backdrop-filter:blur(6px);
}
h2{
  font-size:16px;
  font-weight:800;
  color:#0f172a;
  border-bottom:1px solid #e2e8f0;
  padding-bottom:10px;
  padding-left:0;
  margin-bottom:14px;
}
h2::before{ display:none; }
.card{
  border:1px solid #dde5f0;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
  padding:12px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{
  transform:translateY(-1px);
  border-color:#cbd5e1;
  box-shadow:0 16px 30px rgba(15,23,42,.07);
}
.card h3, label{
  color:#334155;
}
input, select, textarea{
  border:1px solid #d7dfeb !important;
  border-radius:12px !important;
  background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
input:focus, select:focus, textarea:focus{
  outline:none;
  border-color:#3b82f6 !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.10);
  background:#fff;
}
.btn{
  border-radius:12px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.btn-primary{ background:linear-gradient(135deg,#1d4ed8,#2563eb); }
.btn-secondary{ background:linear-gradient(135deg,#f4c15d,#eab54c); }
.btn-danger{ background:linear-gradient(135deg,#dc2626,#ef4444); }
#appWrapper > .tab-bar{
  box-shadow:inset -1px 0 0 rgba(255,255,255,.06);
}
.menu-title{
  margin:14px 4px 10px;
  color:#9fb1c9;
}
.menu-group + .menu-group{
  padding-top:6px;
}
#appWrapper > .tab-bar .tab-btn{
  min-height:44px;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  box-shadow:0 14px 30px rgba(37,99,235,.36), inset 0 0 0 1px rgba(255,255,255,.15);
}
.kpi-card{
  border-radius:18px;
  border:1px solid #dce5f0;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.kpi-value{ letter-spacing:-.03em; }
.chart-card h3, .card h3{
  font-size:14px;
  font-weight:800;
  color:#1e293b;
}
.gestor-extra-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.gestor-mini-card{
  padding:14px;
  border-radius:16px;
  border:1px solid #dde5f0;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.gestor-mini-card .title{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  margin-bottom:4px;
}
.gestor-mini-card .value{
  display:block;
  font-size:22px;
  font-weight:800;
  color:#0f172a;
}
.gestor-mini-card .sub{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#64748b;
}
.gestor-panels{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  gap:14px;
  margin-top:14px;
}
.gestor-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}
.gestor-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
}
.gestor-item strong{ color:#0f172a; }
.gestor-item span{ color:#64748b; font-size:12px; }
.gestor-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  border:1px solid transparent;
}
.gestor-badge.warn{ background:#fff7ed; color:#c2410c; border-color:#fdba74; }
.gestor-badge.danger{ background:#fef2f2; color:#b91c1c; border-color:#fca5a5; }
.gestor-badge.ok{ background:#ecfdf5; color:#047857; border-color:#86efac; }
.gestor-alert-stack{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.gestor-insight{ margin-top:8px; color:#475569; font-size:12px; line-height:1.55; }
.alerta-box{
  padding:10px 12px;
  border-radius:12px;
  background:#fff7ed;
  border:1px solid #fdba74;
  color:#9a3412;
}
.alerta-box.ok{
  background:#ecfdf5;
  border-color:#86efac;
  color:#047857;
}
@media(max-width:1180px){
  .gestor-extra-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gestor-panels{ grid-template-columns:1fr; }
  .company-info h1{ white-space:normal; }
}
@media(max-width:900px){
  .header-inner{ flex-direction:column; align-items:flex-start; }
  .user-box{ min-width:0; width:100%; }
  main{ margin:0 10px 20px 0; }
}



/* ===== GESTÃO INTELIGENTE 3 ETAPAS ===== */
.gi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}
.gi-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbe4f0;border-radius:16px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.gi-card h4{margin:0 0 8px;font-size:13px;color:#0f172a}
.gi-card .gi-big{font-size:22px;font-weight:800;color:#0f172a;display:block}
.gi-card .gi-sub{font-size:11px;color:#64748b;display:block;margin-top:4px}
.gi-alert-list,.gi-report-list,.gi-audit-list{display:grid;gap:8px}
.gi-alert-item,.gi-report-item,.gi-audit-item{border:1px solid #e3e9f3;background:#fff;border-radius:12px;padding:10px 12px;font-size:12px}
.gi-alert-item strong,.gi-report-item strong,.gi-audit-item strong{display:block;color:#0f172a;margin-bottom:3px}
.gi-alert-item.critico{border-color:#fecaca;background:#fff7f7}
.gi-alert-item.atencao{border-color:#fde68a;background:#fffdf3}
.gi-alert-item.ok{border-color:#bbf7d0;background:#f6fff8}
.gi-progress{height:10px;background:#e8eef7;border-radius:999px;overflow:hidden;margin-top:8px}
.gi-progress > span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px}
.gi-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.gi-inline > div{flex:1;min-width:140px}
.gi-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef4ff;color:#24457a;border:1px solid #d8e4fa;margin:2px 6px 2px 0}
.gi-badge.warn{background:#fff6dd;color:#9a6700;border-color:#f4d58d}
.gi-badge.danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}
.gi-badge.ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
#giToastWrap{position:fixed;right:18px;top:92px;z-index:999999;display:flex;flex-direction:column;gap:10px}
.gi-toast{min-width:280px;max-width:360px;background:#111827;color:#fff;padding:12px 14px;border-radius:14px;box-shadow:0 16px 35px rgba(0,0,0,.22);animation:giSlideIn .22s ease}
.gi-toast strong{display:block;margin-bottom:4px}
.gi-toast.warn{background:#9a6700}.gi-toast.danger{background:#b91c1c}.gi-toast.ok{background:#166534}
@keyframes giSlideIn{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}
#aba-os .gi-os-custo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
#aba-os .gi-lucro-box{border:1px solid #dbe4f0;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);padding:10px 12px;margin-top:10px}
#aba-os .gi-lucro-box strong{font-size:18px}
@media(max-width:900px){#giToastWrap{left:12px;right:12px;top:84px}.gi-toast{max-width:none;min-width:0}}


/* ===== JARBAS SAAS FINAL ===== */
.dashboard-headline{
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid #dbe6f4;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #ffffff 60%, #f6f9ff 100%);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  color:#0f172a;
  font-size:13px;
  line-height:1.55;
}
.dashboard-headline strong{
  display:block;
  font-size:15px;
  margin-bottom:4px;
  color:#0f172a;
}
.dashboard-headline .muted{
  color:#64748b;
}
#appWrapper > header,
header{
  background:
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%) !important;
  border-bottom:1px solid #dbe4f0 !important;
  box-shadow:0 8px 24px rgba(15,23,42,.06) !important;
}
#appWrapper > header::after,
header::after{
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  background:linear-gradient(90deg, #1d4ed8 0%, #3b82f6 45%, #d4a14e 100%);
  opacity:.92;
}
.company-info h1,
.header-left h1,
#empresaNome,
#empresaNomeHeader{
  color:#0f172a !important;
  letter-spacing:-.01em;
}
.company-info small,
#empresaCnpjWhatsapp,
#empresaSiteInsta,
.user-box{
  color:#64748b !important;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  position:relative;
  overflow:hidden;
}
#appWrapper > .tab-bar .tab-btn.ativa::before{
  content:'';
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:4px;
  border-radius:999px;
  background:#f8fbff;
  opacity:.95;
}
.kpi-card{
  position:relative;
  overflow:hidden;
  border-radius:18px !important;
  border:1px solid #dbe6f4 !important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.06) !important;
}
.kpi-card::after{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background:linear-gradient(90deg,#cbd5e1,#cbd5e1);
}
.dash-kpis .kpi-card:nth-child(1)::after{ background:linear-gradient(90deg,#16a34a,#22c55e); }
.dash-kpis .kpi-card:nth-child(2)::after{ background:linear-gradient(90deg,#dc2626,#f97316); }
.dash-kpis .kpi-card:nth-child(3)::after{ background:linear-gradient(90deg,#2563eb,#60a5fa); }
.dash-kpis .kpi-card:nth-child(4)::after{ background:linear-gradient(90deg,#7c3aed,#a78bfa); }
.dash-kpis .kpi-card:nth-child(1) .kpi-value{ color:#166534; }
.dash-kpis .kpi-card:nth-child(2) .kpi-value{ color:#b91c1c; }
.dash-kpis .kpi-card:nth-child(3) .kpi-value{ color:#1d4ed8; }
.dash-kpis .kpi-card:nth-child(4) .kpi-value{ color:#5b21b6; }
.kpi-label{
  color:#64748b !important;
  font-weight:700 !important;
  letter-spacing:.08em;
}
.kpi-value{
  font-size:18px !important;
  letter-spacing:-.02em;
}
.chart-card{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 20%),
    linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
}
.chart-card h3, .card h3{
  color:#0f172a !important;
}
.chart-wrapper{
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  border:1px solid #e6edf7;
  border-radius:14px;
  padding:10px;
}
.gestor-insight{
  margin-top:12px !important;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,#eff6ff 0%, #ffffff 70%);
  border:1px solid #dbeafe;
  color:#1e3a8a !important;
  font-size:12.5px !important;
}
.gestor-mini-card{
  border-radius:16px !important;
  border:1px solid #dbe6f4 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.05) !important;
}
.gestor-mini-card .value{
  color:#0f172a !important;
}
body .card:hover,
body .kpi-card:hover,
body .gestor-mini-card:hover{
  transform:translateY(-1px);
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 14px 30px rgba(15,23,42,.09) !important;
}


/* =========================================================
   REBRAND 2026 — Darvigo
   Aparência premium: azul escuro, dourado e branco
   ========================================================= */
:root{
  --mnc-navy:#07111f;
  --mnc-navy-2:#0b2f5a;
  --mnc-blue:#2c78ff;
  --mnc-gold:#d8ae5e;
  --mnc-gold-2:#f0cf84;
  --mnc-white:#f8fafc;
  --mnc-bg:#eef3f8;
  --mnc-border:#dbe4f0;
  --mnc-shadow:0 18px 44px rgba(7,17,31,.12);
}
body{
  background:
    radial-gradient(circle at top right, rgba(44,120,255,.10), transparent 28%),
    radial-gradient(circle at top left, rgba(216,174,94,.10), transparent 24%),
    linear-gradient(180deg,#f7f9fc 0%, var(--mnc-bg) 100%) !important;
}
#appWrapper > header,
header{
  background:linear-gradient(135deg,var(--mnc-navy) 0%, var(--mnc-navy-2) 62%, #123d72 100%) !important;
  color:var(--mnc-white) !important;
  border-bottom:2px solid rgba(216,174,94,.72) !important;
  box-shadow:0 10px 30px rgba(7,17,31,.22) !important;
}
.company-info h1,
.header-left h1,
#empresaNomeHeader{
  color:#fff !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.company-info small,
.header-left small,
.user-box,
#empresaCnpjWhatsapp,
#empresaSiteInsta{
  color:rgba(248,250,252,.78) !important;
}
.logo,
#headerLogo{
  width:52px !important;
  height:52px !important;
  max-width:52px !important;
  object-fit:cover !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid rgba(216,174,94,.45) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.20) !important;
}
.login-logo,
#loginLogo,
#licencaLogo{
  max-width:150px !important;
  max-height:150px !important;
  width:120px !important;
  height:120px !important;
  object-fit:cover !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(216,174,94,.35) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.20) !important;
}
.login-hero{
  background:
    radial-gradient(circle at 18% 14%, rgba(216,174,94,.22), transparent 28%),
    radial-gradient(circle at 88% 24%, rgba(44,120,255,.24), transparent 32%),
    linear-gradient(135deg,var(--mnc-navy) 0%, var(--mnc-navy-2) 100%) !important;
}
.login-kicker{
  background:rgba(216,174,94,.14) !important;
  color:#8a5d10 !important;
}
#appWrapper > .tab-bar{
  background:linear-gradient(180deg,#081426 0%, #0d1d38 52%, #0b2f5a 100%) !important;
  border-right:1px solid rgba(216,174,94,.18) !important;
  box-shadow:10px 0 30px rgba(7,17,31,.12) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa,
.tab-btn.ativa{
  background:linear-gradient(135deg,var(--mnc-gold-2),var(--mnc-gold)) !important;
  color:#081426 !important;
  border-color:rgba(216,174,94,.65) !important;
  box-shadow:0 12px 24px rgba(216,174,94,.24) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa .tab-ico{
  background:rgba(7,17,31,.12) !important;
  border-color:rgba(7,17,31,.16) !important;
}
.aba{
  border-radius:22px !important;
  border:1px solid var(--mnc-border) !important;
  box-shadow:var(--mnc-shadow) !important;
}
.aba > h2.no-print,
h2{
  border-bottom-color:rgba(216,174,94,.35) !important;
}
.card > h3::before,
h2::before{
  background:linear-gradient(180deg,var(--mnc-gold-2),var(--mnc-blue)) !important;
}
.btn-primary{
  background:linear-gradient(135deg,#0b2f5a,#2c78ff) !important;
  color:#fff !important;
  border-color:rgba(44,120,255,.45) !important;
}
.btn-secondary{
  background:linear-gradient(135deg,var(--mnc-gold-2),var(--mnc-gold)) !important;
  color:#081426 !important;
  border-color:rgba(216,174,94,.55) !important;
}
footer{
  background:linear-gradient(135deg,var(--mnc-navy),var(--mnc-navy-2)) !important;
  border-top:2px solid var(--mnc-gold) !important;
}
footer strong{color:var(--mnc-gold-2) !important;}


/* ==== Projetos V19 ==== */
#aba-projetos .proj-palette-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#aba-projetos .proj-palette-head input{max-width:160px}
#aba-projetos .proj-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#aba-projetos .proj-tool small{display:block}
#aba-projetos .proj-legend{max-height:180px;overflow:auto;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc;padding:8px}
#aba-projetos .proj-legend-item{display:flex;align-items:flex-start;gap:8px;padding:6px 4px;border-bottom:1px solid #e8eef6;font-size:12px;color:#334155}
#aba-projetos .proj-legend-item:last-child{border-bottom:none}
#aba-projetos .proj-legend-swatch{width:12px;height:12px;border-radius:50%;margin-top:2px;flex:0 0 12px}
#aba-projetos .proj-canvas{width:1500px;height:950px}
#aba-projetos .proj-item{overflow:visible}
#aba-projetos .proj-item.no-bg{background:transparent;box-shadow:none;border-color:transparent}
#aba-projetos .proj-item .proj-label-chip{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid #cfd8e3;font-size:10px;font-weight:800;white-space:nowrap;color:#0f172a}
#aba-projetos .proj-shape-svg{width:100%;height:100%;display:block;overflow:visible}
#aba-projetos .proj-muted{font-size:11px}


/* ==== Darvigo Projetos V21 - croqui profissional ==== */
#aba-projetos .proj-head{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
#aba-projetos .proj-tech-text{margin:8px 0 4px}
#aba-projetos .proj-tech-text label{font-size:12px;font-weight:800;color:#334155}
#aba-projetos .proj-tech-text textarea{width:100%;resize:vertical;min-height:52px}
#aba-projetos .proj-floor-tabs{display:inline-flex;gap:6px;align-items:center;margin-right:6px}
#aba-projetos .proj-floor-tabs .btn.active{background:#0b2f5a;color:#fff;border-color:#0b2f5a;box-shadow:0 0 0 2px rgba(214,168,95,.22) inset}
#aba-projetos .proj-canvas-wrap{height:920px !important;max-height:calc(100vh - 170px);background:#e8eef6}
#aba-projetos .proj-canvas{width:2600px !important;height:1700px !important;background-size:28px 28px,28px 28px !important}
#aba-projetos .proj-item.no-bg{background:transparent !important;box-shadow:none !important}
#aba-projetos .proj-measure .proj-label-chip{font-size:12px;background:#fff;border:1px solid #cbd5e1;color:#0f172a}
#aba-projetos .proj-print-panel{display:none}
#aba-projetos .proj-print-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
#aba-projetos .proj-print-legend .proj-legend-item{break-inside:avoid;padding:5px 0;border-bottom:1px solid #e2e8f0}
#aba-projetos .proj-print-brand{font-size:18px;font-weight:900;color:#0b2f5a;text-transform:uppercase;letter-spacing:.04em}
#aba-projetos .proj-print-title{font-size:15px;font-weight:800;color:#111827;margin-top:3px}
#aba-projetos .proj-print-sub{font-size:11px;color:#475569;margin-top:2px}
#aba-projetos .proj-print-meta{font-size:11px;color:#334155;text-align:right;line-height:1.45}
#aba-projetos .proj-print-tech{font-size:11px;color:#334155;line-height:1.45;border:1px solid #dbe4f0;background:#f8fafc;border-radius:8px;padding:8px 10px;margin:8px 0}
#aba-projetos .proj-print-panel h4{margin:8px 0 4px;font-size:12px;color:#0f172a;text-transform:uppercase;letter-spacing:.04em}
@media print{
  body{background:#fff !important}
  body *{visibility:hidden !important}
  #aba-projetos, #aba-projetos *{visibility:visible !important}
  .no-print, .proj-top-no-print, .proj-palette, .proj-props, .proj-canvas-toolbar, .sidebar, aside, header, nav, .topbar{display:none !important;visibility:hidden !important}
  #aba-projetos{position:absolute !important;left:0 !important;top:0 !important;width:100% !important;margin:0 !important;padding:0 !important;background:#fff !important}
  #aba-projetos h2{display:none !important}
  #aba-projetos .proj-layout{display:block !important}
  #aba-projetos .proj-work{display:block !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
  #aba-projetos .proj-canvas-wrap{height:auto !important;max-height:none !important;overflow:visible !important;border:0 !important;padding:0 !important;background:#fff !important}
  #aba-projetos .proj-canvas{width:100% !important;height:720px !important;max-height:720px !important;border:1px solid #94a3b8 !important;border-radius:8px !important;overflow:hidden !important;page-break-inside:avoid !important;background-size:18px 18px,18px 18px !important}
  #aba-projetos .proj-item .proj-rotate,#aba-projetos .proj-item .proj-rotate-line,#aba-projetos .proj-item .proj-resize{display:none !important}
  #aba-projetos .proj-print-panel{display:block !important;margin-top:10px !important;page-break-inside:avoid !important}
  #aba-projetos .proj-print-head{display:flex !important;justify-content:space-between !important;gap:18px !important;border-bottom:2px solid #0b2f5a !important;padding-bottom:8px !important}
  #aba-projetos .proj-print-legend{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:4px 14px !important}
  @page{size:A4 landscape;margin:10mm}
}
@media (max-width:1400px){#aba-projetos .proj-head{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}


/* === V22: legenda técnica com ícones reais e cores corrigidas === */
#aba-projetos .proj-legend-item{align-items:center !important}
#aba-projetos .proj-legend-icon{
  width:34px;
  height:24px;
  min-width:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd5e1;
  border-radius:8px;
  background:#fff;
  box-sizing:border-box;
  overflow:hidden;
}
#aba-projetos .proj-legend-icon svg{width:30px;height:20px;display:block}
#aba-projetos .proj-legend-icon .legend-emoji{
  font-size:17px;
  line-height:1;
  filter:none;
}
#aba-projetos .proj-legend-type{margin-top:1px}
@media print{
  #aba-projetos .proj-legend-icon{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    color-adjust:exact !important;
  }
  #aba-projetos .proj-legend-icon svg,
  #aba-projetos .proj-legend-icon *{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
    color-adjust:exact !important;
  }
  #aba-projetos .proj-print-legend .proj-legend-item{
    align-items:center !important;
    gap:8px !important;
  }
}


/* ==== Projetos V25: junção de paredes + linhas técnicas + PDF profissional ==== */
#aba-projetos .proj-end-resize{
  position:absolute;top:50%;width:18px;height:18px;border-radius:999px;background:#0ea5e9;border:2px solid #fff;
  box-shadow:0 3px 8px rgba(0,0,0,.20);display:none;z-index:7;transform:translateY(-50%);cursor:grab;
}
#aba-projetos .proj-end-start{left:-10px}
#aba-projetos .proj-end-end{right:-10px}
#aba-projetos .proj-item.selected .proj-end-resize{display:block}
#aba-projetos .proj-end-resize:after{content:"";position:absolute;inset:4px;border-radius:999px;background:#fff;opacity:.9}
#aba-projetos .proj-length-resize{background:#22c55e!important}
#aba-projetos .proj-item.proj-wall.selected .proj-end-resize{background:#111827}
#aba-projetos .proj-item.proj-technical-line.selected .proj-end-resize{background:#2563eb}
@media print{
  #aba-projetos .proj-end-resize,#aba-projetos .proj-length-resize,#aba-projetos .proj-rotate,
  #aba-projetos .proj-rotate-line,#aba-projetos .proj-resize{display:none!important;visibility:hidden!important}
  #aba-projetos .proj-print-panel{display:block!important;margin-top:10px!important;padding-top:8px!important;border-top:2px solid #0b2f5a!important}
  #aba-projetos .proj-print-brand{font-size:21px!important;letter-spacing:.06em!important;color:#0b2f5a!important;text-transform:uppercase!important;font-weight:900!important}
  #aba-projetos .proj-print-title{font-size:15px!important;font-weight:900!important;color:#111827!important}
  #aba-projetos .proj-print-tech{border:1px solid #cbd5e1!important;background:#f8fafc!important;padding:7px 10px!important;margin:8px 0 10px!important;font-size:11px!important;line-height:1.35!important}
  #aba-projetos .proj-print-legend .proj-legend-item{border:1px solid #e2e8f0!important;border-radius:6px!important;padding:5px 8px!important;background:#fff!important;break-inside:avoid!important}
}


/* ==== Projetos V26: numeração dos objetos + menu botão direito ==== */
#aba-projetos .proj-item-badge{
  position:absolute;left:50%;top:-18px;transform:translateX(-50%);z-index:8;
  padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.96);border:1px solid #cbd5e1;
  color:#0f172a;font-size:10px;font-weight:800;line-height:1;white-space:nowrap;
  box-shadow:0 2px 7px rgba(15,23,42,.12);pointer-events:none;
}
#aba-projetos .proj-item.proj-wall .proj-item-badge,
#aba-projetos .proj-item.proj-technical-line .proj-item-badge,
#aba-projetos .proj-item.proj-measure .proj-item-badge{ top:-16px; }
#dvProjCtxMenu{
  position:fixed;display:none;min-width:180px;background:#fff;border:1px solid #dbe4f0;border-radius:12px;
  box-shadow:0 18px 40px rgba(15,23,42,.18);padding:6px;z-index:99999;
}
#dvProjCtxMenu .ctx-title{padding:6px 10px 8px;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
#dvProjCtxMenu button{
  width:100%;text-align:left;border:none;background:#fff;padding:10px 12px;border-radius:10px;cursor:pointer;
  font-size:13px;font-weight:700;color:#0f172a;
}
#dvProjCtxMenu button:hover{background:#eff6ff;color:#0b2f5a}
#dvProjCtxMenu .danger:hover{background:#fef2f2;color:#b91c1c}
@media print{ #aba-projetos .proj-item-badge, #dvProjCtxMenu{display:none!important} }

/* ==== Projetos V27: atalhos, travas, ordem e camadas ==== */
#aba-projetos .proj-item.locked{outline:1px dashed rgba(15,23,42,.45);cursor:not-allowed}
#aba-projetos .proj-item.locked .proj-rotate,
#aba-projetos .proj-item.locked .proj-rotate-line,
#aba-projetos .proj-item.locked .proj-resize,
#aba-projetos .proj-item.locked .proj-end-resize,
#aba-projetos .proj-item.locked .proj-length-resize{opacity:.28;cursor:not-allowed}
#aba-projetos .proj-lock-badge{position:absolute;right:-10px;top:-14px;width:20px;height:20px;border-radius:999px;background:#0b1220;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;box-shadow:0 6px 14px rgba(15,23,42,.18);z-index:7}
#aba-projetos .proj-organize-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
#aba-projetos .proj-lock-row{display:flex;align-items:center;gap:8px;border:1px solid #dbe4f0;border-radius:10px;padding:8px;background:#f8fafc;margin-top:8px;font-size:12px;font-weight:800;color:#334155}
#aba-projetos .proj-lock-row input{width:auto;margin:0}
#aba-projetos .proj-layer-panel{display:grid;gap:6px;margin-top:6px;max-height:190px;overflow:auto;border:1px solid #dbe4f0;border-radius:12px;padding:8px;background:#f8fafc}
#aba-projetos .proj-layer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;color:#334155;padding:5px 6px;border-radius:9px;background:#fff;border:1px solid #e6edf6}
#aba-projetos .proj-layer-row label{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer}
#aba-projetos .proj-layer-row input{width:auto;margin:0}
#aba-projetos .proj-layer-dot{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
#aba-projetos .proj-layer-count{font-size:11px;color:#64748b;font-weight:800;background:#f1f5f9;border-radius:999px;padding:2px 7px}
#aba-projetos .proj-shortcuts{font-size:11px;color:#64748b;line-height:1.4;border:1px dashed #dbe4f0;border-radius:10px;padding:8px;background:#fff;margin-top:8px}
#dvProjCtxMenu .ctx-sep{height:1px;background:#e2e8f0;margin:4px 0}
@media print{#aba-projetos .proj-lock-badge{display:none!important}}



/* ==== Projetos V28: zoom, mãozinha, seleção múltipla, agrupamento e alinhamento ==== */
#aba-projetos .proj-canvas{transform-origin:0 0;transition:transform .08s ease}
#aba-projetos .proj-canvas-wrap.pan-active{cursor:grab}
#aba-projetos .proj-canvas-wrap.panning{cursor:grabbing!important;user-select:none}
#aba-projetos .proj-select-box{position:absolute;border:1px dashed #2563eb;background:rgba(37,99,235,.10);pointer-events:none;z-index:9999;border-radius:3px}
#aba-projetos .proj-item.multi-selected{box-shadow:0 0 0 3px rgba(37,99,235,.18),0 10px 24px rgba(15,23,42,.12)!important;border-color:#2563eb!important}
#aba-projetos .proj-item.grouped:after{content:"grupo";position:absolute;right:-6px;top:-22px;background:#0b2f5a;color:#fff;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;letter-spacing:.02em;display:none}
#aba-projetos .proj-item.grouped.multi-selected:after,#aba-projetos .proj-item.grouped.selected:after{display:block}
#dvProjPanBtn.active,#dvProjZoomLabel.active{background:#0b2f5a!important;color:#fff!important;border-color:#0b2f5a!important}
@media print{#aba-projetos .proj-select-box{display:none!important}}


/* ==== Projetos V29: rotas técnicas conectadas ==== */
#aba-projetos .proj-route-btn.active,
#aba-projetos .proj-route-stop.active{
  background:#0b2f5a!important;color:#fff!important;border-color:#0b2f5a!important;
}
#aba-projetos .proj-route-hint{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#eff6ff;border:1px solid #bfdbfe;color:#0b2f5a;font-size:11px;font-weight:800;
}
#aba-projetos .proj-item.proj-route-line .proj-item-inner{
  box-shadow:0 0 0 2px rgba(255,255,255,.9),0 4px 10px rgba(15,23,42,.12);
}
#aba-projetos .proj-item.proj-route-line .proj-item-badge{
  background:#0b2f5a;color:#fff;border-color:#0b2f5a;
}
#aba-projetos .proj-scale-box{
  border:1px solid #dbe4f0;background:#f8fafc;border-radius:12px;padding:8px;margin-top:10px;
  font-size:11px;color:#334155;line-height:1.35;
}
#aba-projetos .proj-scale-box input{width:78px;display:inline-block;margin:0 4px;padding:6px 7px;font-size:12px}
#aba-projetos .proj-route-summary{
  border:1px solid #dbe4f0;border-radius:12px;background:#fff;max-height:150px;overflow:auto;padding:7px;margin-top:6px;
}
#aba-projetos .proj-route-summary-row{
  display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eef2f7;padding:5px 2px;font-size:12px;color:#334155;
}
#aba-projetos .proj-route-summary-row:last-child{border-bottom:none}
#aba-projetos .proj-route-summary-row strong{color:#0f172a}
#aba-projetos .proj-route-pointing{outline:3px solid rgba(37,99,235,.35)!important;box-shadow:0 0 0 6px rgba(37,99,235,.12)!important}
@media print{
  #aba-projetos .proj-route-hint,#aba-projetos .proj-scale-box,#aba-projetos .proj-route-summary{display:none!important}
}

/* ── Seção CSS 02 ──────────────────────────────────────── */
:root{
  --prem-bg:#f4f7fb;
  --prem-surface:#ffffff;
  --prem-surface-2:#f8fafc;
  --prem-text:#0f172a;
  --prem-muted:#475569;
  --prem-border:#dbe4ee;
  --prem-blue:#0f4c81;
  --prem-blue-2:#123f67;
  --prem-gold:#c59a3d;
  --prem-shadow:0 10px 30px rgba(15,23,42,.08);
  --prem-radius:16px;
}
body{background:linear-gradient(180deg,#eef3f9 0%,#f8fafc 100%) !important;color:var(--prem-text) !important;}
#appWrapper > header{background:linear-gradient(135deg,var(--prem-blue-2),var(--prem-blue)) !important;border-bottom:1px solid rgba(255,255,255,.08) !important;box-shadow:0 8px 22px rgba(15,23,42,.16) !important;}
#appWrapper > header, #appWrapper > header *{color:#fff !important;}
.header-inner{padding:14px 18px !important;}
.company-info h1{font-size:1.05rem !important;font-weight:800 !important;letter-spacing:.01em;}
.company-info p,.user-box,.user-box *{color:rgba(255,255,255,.85) !important;}
#appWrapper > .tab-bar{background:rgba(255,255,255,.92) !important;border-right:1px solid var(--prem-border) !important;box-shadow:0 0 0 1px rgba(255,255,255,.3), 10px 0 30px rgba(15,23,42,.04) !important;}
#appWrapper > .tab-bar::before{content:'NAVEGAÇÃO';color:#64748b !important;font-weight:800;letter-spacing:.14em;}
.tab-btn{border:1px solid transparent !important;border-radius:14px !important;padding:12px 12px !important;margin-bottom:3px !important;transition:all .18s ease !important;font-weight:700 !important;color:#1e293b !important;background:transparent !important;}
.tab-btn:hover{background:#f8fafc !important;border-color:#e2e8f0 !important;transform:translateX(2px);}
.tab-btn.active,.tab-btn[aria-selected="true"]{background:linear-gradient(135deg,#fff8eb,#fff) !important;border-color:#ecd8a3 !important;color:#0f172a !important;box-shadow:0 8px 20px rgba(197,154,61,.14) !important;}
.menu-title{font-weight:800 !important;color:#64748b !important;letter-spacing:.12em !important;font-size:11px !important;margin:14px 8px 8px !important;}
#appWrapper > main{background:transparent !important;}
.aba{background:var(--prem-surface) !important;border:1px solid var(--prem-border) !important;border-radius:20px !important;box-shadow:var(--prem-shadow) !important;padding:18px !important;}
.aba > h2{font-size:1.3rem !important;font-weight:800 !important;color:#0f172a !important;letter-spacing:-.01em;margin-bottom:14px !important;}
.card,.dash-card,.kpi-card,.gestor-card,.painel,.bloco,.box,.resumo-card,.stats-card,.tile{background:var(--prem-surface) !important;border:1px solid var(--prem-border) !important;border-radius:var(--prem-radius) !important;box-shadow:0 8px 24px rgba(15,23,42,.06) !important;}
input,select,textarea{border:1px solid #d7e0ea !important;border-radius:12px !important;background:#fff !important;color:#0f172a !important;box-shadow:none !important;}
input:focus,select:focus,textarea:focus{outline:none !important;border-color:#9fb9d4 !important;box-shadow:0 0 0 4px rgba(15,76,129,.10) !important;}
button,.btn{border-radius:12px !important;font-weight:800 !important;letter-spacing:.01em;}
.btn-primary{background:linear-gradient(135deg,var(--prem-blue),#1f6aa8) !important;border-color:var(--prem-blue) !important;color:#fff !important;box-shadow:0 8px 18px rgba(15,76,129,.22) !important;}
.btn-primary:hover{filter:brightness(1.03);transform:translateY(-1px);}
.btn-secondary{background:#fff !important;border:1px solid #d7e0ea !important;color:#0f172a !important;}
.btn-danger{box-shadow:none !important;}
table{border-collapse:separate !important;border-spacing:0 !important;}
table th{background:#f8fafc !important;color:#334155 !important;font-size:.8rem !important;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0 !important;}
table th,table td{padding:11px 12px !important;}
table tr:nth-child(even) td{background:#fcfdff !important;}
.badge,.status-badge,.chip{border-radius:999px !important;font-weight:800 !important;}
.login-wrapper{background:radial-gradient(circle at top left,rgba(197,154,61,.14),transparent 25%),linear-gradient(135deg,#0b2742 0%,#123f67 58%,#0f4c81 100%) !important;}
.login-card{border:1px solid rgba(255,255,255,.18) !important;box-shadow:0 30px 80px rgba(2,6,23,.35) !important;border-radius:26px !important;overflow:hidden !important;background:rgba(255,255,255,.98) !important;}
.login-panel{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;padding:34px !important;}
.login-panel h2{font-size:1.7rem !important;font-weight:900 !important;color:#0f172a !important;}
.login-panel p{color:#475569 !important;line-height:1.55 !important;}
.login-hero{background:linear-gradient(145deg,#0f4c81,#123f67) !important;color:#fff !important;padding:34px !important;}
.login-hero h1{font-size:2rem !important;line-height:1.1 !important;font-weight:900 !important;margin-bottom:12px !important;}
.login-hero p,.login-hero li,.login-hero small,.login-hero strong{color:rgba(255,255,255,.92) !important;}
.login-hero h1{color:#f8fbff !important;text-shadow:0 2px 12px rgba(0,0,0,.22) !important;}
.login-hero{background:linear-gradient(135deg,#071a34 0%, #0a2547 46%, #0e335f 100%) !important;}
.login-hero::after{opacity:.16 !important;background:radial-gradient(circle at 18% 18%, rgba(228,193,102,.22), transparent 22%), radial-gradient(circle at 82% 78%, rgba(255,255,255,.10), transparent 20%) !important;}
.login-hero p,.login-hero .login-badge,.login-hero .login-metric span,.login-hero .login-metric strong{color:rgba(255,255,255,.96) !important;}
.login-badge{border-color:rgba(255,255,255,.16) !important;background:rgba(255,255,255,.10) !important;}
.login-metric{background:rgba(255,255,255,.10) !important;border-color:rgba(255,255,255,.14) !important;box-shadow:0 10px 24px rgba(0,0,0,.10) !important;}
#cfgLogoPreview,#headerLogo,#loginLogo,#licencaLogo{object-fit:contain !important;}
.login-panel .btn-primary,.login-panel button[type="submit"]{width:100%;min-height:46px;}
#aba-dashboard .pp-dash-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:12px 14px;color:#475569;}
@media (max-width: 980px){
  .aba{padding:14px !important;border-radius:16px !important;}
  .login-panel,.login-hero{padding:24px !important;}
}


/* ===== DASHBOARD PREMIUM 2026 - Darvigo ===== */
.mnc-dash-kpi-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:12px;
  margin:0 0 14px;
}
.mnc-dash-kpi{
  position:relative;
  overflow:hidden;
  border:1px solid #dbe6f4;
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.mnc-dash-kpi::after{
  content:'';
  position:absolute;
  width:90px;
  height:90px;
  right:-36px;
  top:-42px;
  border-radius:50%;
  background:rgba(37,99,235,.10);
}
.mnc-dash-kpi.gold::after{ background:rgba(212,161,78,.18); }
.mnc-dash-kpi.green::after{ background:rgba(16,185,129,.14); }
.mnc-dash-kpi.red::after{ background:rgba(239,68,68,.13); }
.mnc-dash-kpi .label{
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  margin-bottom:6px;
}
.mnc-dash-kpi .value{
  display:block;
  font-size:22px;
  font-weight:900;
  color:#0f172a;
  letter-spacing:-.03em;
}
.mnc-dash-kpi .sub{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}
.mnc-dash-section-title{
  margin:18px 0 12px;
  padding:16px 18px;
  border-radius:18px;
  color:#f8fafc;
  border:1px solid rgba(212,161,78,.32);
  background:
    radial-gradient(circle at 12% 20%, rgba(212,161,78,.24), transparent 26%),
    linear-gradient(135deg,#081a35 0%,#102d58 58%,#0b1f3d 100%);
  box-shadow:0 18px 38px rgba(15,23,42,.18);
}
.mnc-dash-section-title strong{
  display:block;
  font-size:18px;
  letter-spacing:-.02em;
  margin-bottom:4px;
}
.mnc-dash-section-title span{
  display:block;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.45;
}
.mnc-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.mnc-chart-card{
  border:1px solid #dbe6f4 !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.06) !important;
  padding:0 !important;
  overflow:hidden;
}
.mnc-chart-card h3{
  margin:0 !important;
  padding:13px 16px !important;
  border-bottom:1px solid #dbe6f4 !important;
  background:linear-gradient(180deg,rgba(37,99,235,.10),rgba(37,99,235,.02)) !important;
  font-size:13px !important;
  display:flex !important;
  align-items:center;
  gap:8px;
}
.mnc-chart-card h3::before{
  content:'';
  width:10px;
  height:10px;
  border-radius:3px;
  background:#d4a14e;
  box-shadow:0 0 0 4px rgba(212,161,78,.14);
}
.mnc-chart-wrap{
  height:250px;
  padding:14px;
  position:relative;
}
.mnc-chart-wrap canvas{
  width:100% !important;
  height:100% !important;
}
.mnc-chart-card.large{
  grid-column:span 2;
}
.mnc-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:14px;
}
.mnc-meta-item{
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.mnc-meta-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:#334155;
  font-weight:800;
  margin-bottom:8px;
}
.mnc-meta-bar{
  height:10px;
  border-radius:999px;
  background:#e5edf7;
  overflow:hidden;
}
.mnc-meta-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1d4ed8,#d4a14e);
}
@media(max-width:1100px){
  .mnc-dash-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mnc-chart-grid{grid-template-columns:1fr;}
  .mnc-chart-card.large{grid-column:span 1;}
}
@media(max-width:700px){
  .mnc-dash-kpi-row,.mnc-meta-grid{grid-template-columns:1fr;}
  .mnc-chart-wrap{height:230px;}
}
/* ===== CORREÇÃO JARBAS: dashboard compacto e estável ===== */
.mnc-dash-kpi-row{grid-template-columns:repeat(4,minmax(150px,1fr)) !important;gap:10px !important;margin:0 0 12px !important;}
.mnc-dash-kpi{padding:10px 12px !important;border-radius:14px !important;min-height:auto !important;}
.mnc-dash-kpi .label{font-size:10px !important;margin-bottom:4px !important;}
.mnc-dash-kpi .value{font-size:18px !important;line-height:1.1 !important;}
.mnc-dash-kpi .sub{font-size:10.5px !important;line-height:1.25 !important;}
.mnc-dash-section-title{margin:12px 0 10px !important;padding:12px 14px !important;border-radius:14px !important;box-shadow:0 10px 24px rgba(15,23,42,.12) !important;}
.mnc-dash-section-title strong{font-size:15px !important;margin-bottom:2px !important;}
.mnc-dash-section-title span{font-size:11.5px !important;line-height:1.35 !important;}
.mnc-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;margin-bottom:10px !important;}
.mnc-chart-card{border-radius:14px !important;box-shadow:0 6px 18px rgba(15,23,42,.05) !important;}
.mnc-chart-card.large{grid-column:span 1 !important;}
.mnc-chart-card h3{padding:9px 12px !important;font-size:11.5px !important;line-height:1.2 !important;}
.mnc-chart-card h3::before{width:7px !important;height:7px !important;border-radius:2px !important;box-shadow:0 0 0 3px rgba(212,161,78,.12) !important;}
.mnc-chart-wrap{height:155px !important;padding:8px 10px 10px !important;}
.mnc-meta-grid{grid-template-columns:1fr !important;gap:7px !important;padding:10px !important;}
.mnc-meta-item{padding:8px 10px !important;border-radius:12px !important;}
.mnc-meta-top{font-size:10.5px !important;margin-bottom:6px !important;}
.mnc-meta-bar{height:7px !important;}
@media(max-width:1200px){.mnc-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:800px){.mnc-dash-kpi-row,.mnc-chart-grid{grid-template-columns:1fr !important;}.mnc-chart-wrap{height:180px !important;}}

/* ── Seção CSS 03 ──────────────────────────────────────── */
/* ===== JARBAS | FASE 1: POLIMENTO SaaS PREMIUM + FRASES NO SIDEBAR ===== */
:root{
  --jb-premium-bg:#eef4fb;
  --jb-premium-surface:#ffffff;
  --jb-premium-surface-soft:#f8fbff;
  --jb-premium-border:#d7e3f0;
  --jb-premium-text:#0f172a;
  --jb-premium-muted:#64748b;
  --jb-premium-sidebar:#08152d;
  --jb-premium-sidebar-2:#0e1f3f;
  --jb-premium-primary:#2563eb;
  --jb-premium-primary-2:#1d4ed8;
  --jb-premium-gold:#d6a85f;
  --jb-premium-shadow:0 16px 42px rgba(15,23,42,.10);
  --jb-premium-shadow-soft:0 10px 24px rgba(15,23,42,.07);
}
body{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 25%),
    radial-gradient(circle at bottom left, rgba(214,168,95,.08), transparent 18%),
    linear-gradient(180deg, #f7fbff 0%, var(--jb-premium-bg) 100%) !important;
}
#appWrapper > header{
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--jb-premium-border) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.05) !important;
}
#appWrapper > header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, rgba(37,99,235,.05), rgba(214,168,95,.55), rgba(37,99,235,.05));
}
.header-inner{ max-width:none !important; }
.logo{
  border:1px solid rgba(15,23,42,.06) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
  background:#fff !important;
}
.company-info h1, .header-left h1{ color:#0f172a !important; letter-spacing:-.02em; }
.company-info small, .header-left small, .user-box{ color:var(--jb-premium-muted) !important; }
.user-box .btn{
  background:linear-gradient(135deg, #ffffff, #f5f9ff) !important;
  border:1px solid var(--jb-premium-border) !important;
  box-shadow:none !important;
}
#appWrapper > .tab-bar{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:0 !important;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.08), transparent 26%),
    linear-gradient(180deg, var(--jb-premium-sidebar) 0%, var(--jb-premium-sidebar-2) 100%) !important;
  border-right:1px solid rgba(255,255,255,.05) !important;
  box-shadow:16px 0 36px rgba(2,6,23,.10) !important;
}
#appWrapper > .tab-bar::before{ content:none !important; }
#appWrapper > .tab-bar > .menu-topo,
#appWrapper > .tab-bar > .menu-group,
#appWrapper > .tab-bar > .jarbas-sidebar-brand,
#appWrapper > .tab-bar > .jarbas-sidebar-quote{
  width:100% !important;
  min-width:0 !important;
  flex:0 0 auto !important;
}
.menu-topo{
  position:sticky; top:0; z-index:3; padding-bottom:12px;
  margin-bottom:14px !important;
  background:linear-gradient(180deg, rgba(8,21,45,.98), rgba(8,21,45,.92));
}
.menu-topo-titulo{
  display:flex; align-items:center; gap:8px; margin-bottom:10px !important;
  font-size:13px !important; font-weight:800 !important; color:#f8fafc !important;
}
.menu-topo-titulo::before{ content:"◆"; font-size:11px; color:var(--jb-premium-gold); }
#menuBusca{
  min-height:44px; border-radius:14px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
#menuBusca:focus{
  border-color:rgba(96,165,250,.50) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.18) !important;
}
#appWrapper > .tab-bar .menu-group{
  margin-bottom:14px; padding:10px 8px; border:1px solid rgba(255,255,255,.04);
  border-radius:16px; background:rgba(255,255,255,.02);
}
.menu-title{ margin:0 2px 8px !important; color:rgba(226,232,240,.72) !important; }
#appWrapper > .tab-bar .tab-btn{ position:relative; padding:12px 12px !important; border-radius:14px !important; }
#appWrapper > .tab-bar .tab-btn::after{
  content:""; position:absolute; left:10px; right:10px; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent); opacity:.75;
}
#appWrapper > .tab-bar .tab-btn:last-child::after{ display:none; }
#appWrapper > .tab-bar .tab-btn:hover{ background:rgba(255,255,255,.065) !important; transform:translateX(2px); }
#appWrapper > .tab-bar .tab-btn.ativa{
  background:linear-gradient(135deg, rgba(37,99,235,.96), rgba(59,130,246,.92)) !important;
  box-shadow:0 14px 26px rgba(37,99,235,.26) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa::before{
  content:""; position:absolute; left:-2px; top:10px; bottom:10px; width:4px; border-radius:999px;
  background:linear-gradient(180deg, #fff, rgba(255,255,255,.36));
}
#appWrapper > .tab-bar .tab-ico{ width:30px !important; height:30px !important; border-radius:10px !important; }
#appWrapper > .tab-bar .tab-label{ font-size:13px !important; letter-spacing:.01em; }
#appWrapper > main{ padding:18px 20px 24px !important; }
.aba{
  background:rgba(255,255,255,.84) !important; backdrop-filter:blur(10px);
  border:1px solid rgba(215,227,240,.95) !important; box-shadow:var(--jb-premium-shadow) !important;
}
.aba > h2.no-print{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
  border:1px solid var(--jb-premium-border) !important; border-radius:16px !important;
  box-shadow:var(--jb-premium-shadow-soft) !important;
}
.card{ background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98)) !important; border:1px solid var(--jb-premium-border) !important; }
.card > h3{ background:linear-gradient(180deg, rgba(37,99,235,.07), rgba(37,99,235,.02)) !important; }
.jarbas-sidebar-brand,.jarbas-sidebar-quote{ border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 16px 30px rgba(2,6,23,.16); }
.jarbas-sidebar-brand{
  position:relative; margin:0 2px 14px; padding:14px 14px 13px;
  background:radial-gradient(circle at top right, rgba(214,168,95,.26), transparent 35%), linear-gradient(145deg, rgba(37,99,235,.24), rgba(15,23,42,.08));
}
.jarbas-sidebar-brand::after{ content:""; position:absolute; inset:auto 14px 0 14px; height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); }
.jarbas-brand-badge{ display:inline-flex; align-items:center; gap:6px; max-width:100%; margin-bottom:8px; padding:5px 10px; border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.10); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jarbas-brand-title{ color:#f8fafc; font-size:15px; font-weight:800; line-height:1.25; margin:0 0 6px; word-break:break-word; }
.jarbas-brand-sub{ color:rgba(226,232,240,.84); font-size:12px; line-height:1.55; }
.jarbas-brand-status{ margin-top:10px; display:flex; align-items:center; gap:8px; color:#dbeafe; font-size:11px; }
.jarbas-status-dot{ width:8px; height:8px; border-radius:999px; background:#22c55e; box-shadow:0 0 0 6px rgba(34,197,94,.14); }
.jarbas-sidebar-quote{
  margin:0 2px 14px; padding:16px 14px 14px;
  background:radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 34%), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.jarbas-quote-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.jarbas-quote-kicker{ display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.jarbas-quote-kicker::before{ content:"✦"; color:var(--jb-premium-gold); }
.jarbas-quote-refresh{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border:none; border-radius:10px; cursor:pointer; background:rgba(255,255,255,.08); color:#fff; font-size:14px; }
.jarbas-quote-refresh:hover{ background:rgba(255,255,255,.14); }
.jarbas-quote-mark{ font-size:26px; line-height:1; color:var(--jb-premium-gold); margin-bottom:8px; }
.jarbas-quote-text{ min-height:88px; color:#f8fafc; font-size:13px; line-height:1.65; font-weight:600; }
.jarbas-quote-author{ margin-top:10px; color:rgba(226,232,240,.80); font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.jarbas-quote-progress{ display:flex; gap:6px; margin-top:12px; }
.jarbas-quote-dot{ width:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.18); transition:transform .22s ease, background .22s ease; }
.jarbas-quote-dot.ativa{ background:linear-gradient(135deg, #ffffff, var(--jb-premium-gold)); transform:scale(1.15); }
.jarbas-quote-meta{ margin-top:10px; color:rgba(203,213,225,.82); font-size:11px; line-height:1.55; }
.jarbas-fade-swap{ animation:jarbasQuoteFade .45s ease; }
@keyframes jarbasQuoteFade{ from{ opacity:.18; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
@media (max-width: 1100px){ .jarbas-sidebar-brand,.jarbas-sidebar-quote{ margin:0 0 12px; } }

/* ── Seção CSS 04 ──────────────────────────────────────── */
/* ===== Cabeçalho institucional visível ===== */
#appWrapper > header{
  background:linear-gradient(135deg,#123f67,#0f4c81) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 8px 22px rgba(15,23,42,.16) !important;
}
#appWrapper > header .header-inner{
  padding:14px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}
#appWrapper > header .header-left{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
#appWrapper > header .company-info{
  display:block !important;
  min-width:0 !important;
  max-width:900px !important;
}
#empresaNomeHeader,
#appWrapper > header .company-info h1{
  display:block !important;
  color:#ffffff !important;
  font-size:1.02rem !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#empresaCnpjWhatsapp,
#empresaSiteInsta,
#appWrapper > header .company-info small{
  display:block !important;
  color:rgba(255,255,255,.82) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#appWrapper > header .user-box{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:230px !important;
  max-width:320px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
}
#appWrapper > header .user-box div{
  color:rgba(255,255,255,.88) !important;
  font-weight:700 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#appWrapper > header .user-box span{
  color:#ffffff !important;
  font-weight:800 !important;
}
#appWrapper > header .user-box .btn{
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:#d8a74b !important;
  color:#13233a !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
#appWrapper > header .user-box .btn:hover{
  filter:brightness(1.03);
}
#headerLogo{
  width:46px !important;
  height:46px !important;
  border-radius:12px !important;
  object-fit:cover !important;
  background:rgba(255,255,255,.12) !important;
  padding:4px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.20) !important;
}

/* ===== Painel flutuante de alertas ===== */
#jarbasFloatingIntel{
  position:fixed;
  left:18px;
  right:auto;
  bottom:18px;
  top:auto;
  width:340px;
  max-width:min(340px, calc(100vw - 28px));
  z-index:9998;
  font-family:inherit;
}
#jarbasFloatingIntel.is-dragging{
  transition:none !important;
}
#jarbasFloatingIntel .jf-shell{
  user-select:none;
}
#jarbasFloatingIntel .jf-shell{
  background:rgba(255,255,255,.98);
  border:1px solid #dbe3ef;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(15,23,42,.18);
  overflow:hidden;
}
#jarbasFloatingIntel .jf-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  background:linear-gradient(135deg,#123f67,#0f4c81);
  color:#fff;
  cursor:move;
}
#jarbasFloatingIntel .jf-head strong{
  display:block;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#jarbasFloatingIntel .jf-head small{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:11px;
  margin-top:2px;
}
#jarbasFloatingIntel .jf-toggle{
  border:none;
  border-radius:10px;
  padding:8px 10px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
#jarbasFloatingIntel .jf-body{
  padding:12px;
}
#jarbasFloatingIntel.is-collapsed .jf-body{ display:none; }
#jarbasFloatingIntel .jf-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
#jarbasFloatingIntel .jf-mini{
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fbff;
  padding:10px;
}
#jarbasFloatingIntel .jf-mini span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
#jarbasFloatingIntel .jf-mini strong{
  display:block;
  color:#0f172a;
  font-size:1.2rem;
  line-height:1.1;
}
#jarbasFloatingIntel .jf-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
#jarbasFloatingIntel .jf-item{
  border:1px solid #e2e8f0;
  border-left:4px solid #d8a74b;
  border-radius:12px;
  padding:9px 10px;
  background:#fff;
}
#jarbasFloatingIntel .jf-item strong{
  display:block;
  color:#0f172a;
  font-size:13px;
}
#jarbasFloatingIntel .jf-item small{
  display:block;
  color:#64748b;
  font-size:12px;
  margin-top:2px;
  line-height:1.35;
}
#jarbasFloatingIntel .jf-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#jarbasFloatingIntel .jf-actions button{
  border:none;
  border-radius:10px;
  padding:9px 12px;
  font-weight:800;
  cursor:pointer;
}
#jarbasFloatingIntel .jf-actions .primary{
  background:#0f4c81;
  color:#fff;
}
#jarbasFloatingIntel .jf-actions .secondary{
  background:#e6b55c;
  color:#13233a;
}
#jarbasFloatingIntel .jf-empty{
  border:1px dashed #d7e0ea;
  border-radius:12px;
  padding:12px;
  color:#64748b;
  background:#fbfdff;
  font-size:12px;
}
@media (max-width: 860px){
  #appWrapper > header .header-inner{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  #appWrapper > header .user-box{
    width:100% !important;
    max-width:none !important;
  }
  #jarbasFloatingIntel{
    right:10px;
    left:10px;
    width:auto;
    bottom:10px;
  }
}

/* ── Seção CSS 05 ──────────────────────────────────────── */
@media screen{
  /* Botão Ajustes mais legível e menor */
  #appWrapper > header .user-box .dv11-config-top,
  #appWrapper > header .user-box button.dv11-config-top,
  .dv11-config-top{
    background:linear-gradient(180deg,#0f2746,#071527) !important;
    color:#ffffff !important;
    border:1px solid rgba(216,174,94,.85) !important;
    opacity:1 !important;
    filter:none !important;
    min-width:62px !important;
    height:26px !important;
    padding:0 10px !important;
    border-radius:8px !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    box-shadow:0 2px 8px rgba(7,21,39,.10) !important;
  }
  #appWrapper > header .user-box .dv11-config-top *,
  .dv11-config-top *{
    color:inherit !important;
    opacity:1 !important;
  }
  .dv11-config-top .dv11-config-ico{
    color:#d8ae5e !important;
    font-size:11px !important;
  }
  .dv11-config-top .dv11-config-text{
    color:#ffffff !important;
    display:inline !important;
  }
  .dv11-config-top:hover{
    background:linear-gradient(180deg,#17365d,#0b1d34) !important;
    border-color:#f0cf7a !important;
  }

  /* Topbar mais compacto */
  #appWrapper > header .header-inner{
    grid-template-columns:minmax(120px,1fr) minmax(240px,430px) max-content !important;
    gap:8px !important;
    padding:0 10px !important;
  }
  #appWrapper > header .dv9-top-search{
    max-width:430px !important;
  }
  .dv11-session-timer{
    height:26px !important;
    min-width:96px !important;
    padding:0 8px !important;
    font-size:10.8px !important;
  }
  #appWrapper > header .dv9-top-icon,
  #appWrapper > header .dv9-avatar{
    width:25px !important;
    height:25px !important;
    min-width:25px !important;
  }
  #appWrapper > header .user-box .btn{
    height:26px !important;
    min-height:26px !important;
    padding:0 9px !important;
  }

  /* Remove espaço sobrando nos cards da coluna esquerda do Orçamento */
  #aba-orcamento .grid-2,
  #aba-orcamento .orc-grid,
  #aba-orcamento .tela-orc .grid-2{
    align-items:start !important;
  }
  #aba-orcamento .grid-2 > .card,
  #aba-orcamento .orc-grid > .card,
  #aba-orcamento .tela-orc .grid-2 > .card{
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
  }
  #aba-orcamento .card{
    min-height:0 !important;
  }
  #aba-orcamento .card input,
  #aba-orcamento .card select,
  #aba-orcamento .card textarea{
    margin-bottom:8px !important;
  }

  /* Ajuste discreto da lateral: sem respiro extra entre grupos */
  #appWrapper > .tab-bar .menu-group{
    margin-bottom:8px !important;
  }
  #appWrapper > .tab-bar .tab-btn{
    margin-bottom:4px !important;
  }
}

/* ── Seção CSS 06 ──────────────────────────────────────── */
/* ===== JARBAS V6: mais espaço para o croqui + sidebar retrátil ===== */
@media screen and (min-width:1101px){
  :root{--jarbas-sidebar-w:64px !important;--jarbas-sidebar-open-w:248px;}
  #appWrapper{
    grid-template-columns:64px minmax(0,1fr) !important;
  }
  #appWrapper > .tab-bar{
    width:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    overflow:hidden !important;
    transition:width .18s ease,max-width .18s ease,box-shadow .18s ease;
    z-index:60 !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  #appWrapper > .tab-bar:hover,
  #appWrapper > .tab-bar:focus-within{
    width:var(--jarbas-sidebar-open-w) !important;
    max-width:var(--jarbas-sidebar-open-w) !important;
    box-shadow:12px 0 34px rgba(2,6,23,.18) !important;
  }
  #appWrapper > .tab-bar::before{content:"☰" !important;text-align:center;padding:4px 0 10px !important;font-size:18px !important;letter-spacing:0 !important;color:#dbeafe !important;}
  #appWrapper > .tab-bar:hover::before,
  #appWrapper > .tab-bar:focus-within::before{content:"MENU" !important;text-align:left;padding-left:10px !important;font-size:11px !important;letter-spacing:.12em !important;}
  #appWrapper > .tab-bar .menu-topo,
  #appWrapper > .tab-bar .menu-title,
  #appWrapper > .tab-bar .tab-label{
    opacity:0 !important;
    visibility:hidden !important;
    width:0 !important;
    max-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    transition:opacity .12s ease .04s;
  }
  #appWrapper > .tab-bar:hover .menu-topo,
  #appWrapper > .tab-bar:focus-within .menu-topo,
  #appWrapper > .tab-bar:hover .menu-title,
  #appWrapper > .tab-bar:focus-within .menu-title,
  #appWrapper > .tab-bar:hover .tab-label,
  #appWrapper > .tab-bar:focus-within .tab-label{
    opacity:1 !important;
    visibility:visible !important;
    width:auto !important;
    max-width:180px !important;
  }
  #appWrapper > .tab-bar .tab-btn{
    justify-content:center !important;
    padding:10px 8px !important;
    gap:0 !important;
  }
  #appWrapper > .tab-bar:hover .tab-btn,
  #appWrapper > .tab-bar:focus-within .tab-btn{
    justify-content:flex-start !important;
    gap:10px !important;
    padding:10px 12px !important;
  }
  #appWrapper > .tab-bar .tab-ico{margin:0 auto !important;flex:0 0 24px !important;}
  #appWrapper > .tab-bar:hover .tab-ico,
  #appWrapper > .tab-bar:focus-within .tab-ico{margin:0 !important;}
}

/* Aba Projetos: laterais mais finas e croqui mais largo */
@media screen and (min-width:1101px){
  #aba-projetos{padding:12px !important;}
  #aba-projetos .proj-layout{
    grid-template-columns:165px minmax(0,1fr) 188px !important;
    gap:8px !important;
    align-items:stretch !important;
  }
  #aba-projetos .proj-palette,
  #aba-projetos .proj-props,
  #aba-projetos .proj-work{padding:8px !important;border-radius:14px !important;}
  #aba-projetos .proj-palette{max-height:calc(100vh - 110px) !important;top:4px !important;}
  #aba-projetos .proj-props{max-height:calc(100vh - 110px) !important;top:4px !important;padding-bottom:18px !important;}
  #aba-projetos .proj-palette-head{display:block !important;padding-bottom:6px !important;}
  #aba-projetos .proj-palette-head h3,
  #aba-projetos .proj-props h3{font-size:13px !important;margin:0 0 8px !important;}
  #aba-projetos .proj-palette-head input{height:34px !important;min-height:34px !important;font-size:11px !important;padding:6px 8px !important;}
  #aba-projetos .proj-palette-scroll{max-height:calc(100vh - 245px) !important;padding-right:2px !important;}
  #aba-projetos .proj-tools{grid-template-columns:1fr 1fr !important;gap:5px !important;}
  #aba-projetos .proj-tool{padding:7px 4px !important;border-radius:11px !important;min-height:58px !important;}
  #aba-projetos .proj-tool b{font-size:18px !important;}
  #aba-projetos .proj-tool span{font-size:9.8px !important;line-height:1.05 !important;}
  #aba-projetos .proj-group-title{font-size:9px !important;margin:8px 0 5px !important;}
  #aba-projetos .proj-muted{font-size:9.5px !important;padding:8px !important;margin-top:8px !important;}

  #aba-projetos .proj-form{grid-template-columns:1fr 1fr !important;gap:6px !important;}
  #aba-projetos .proj-form label,
  #aba-projetos .proj-props label{font-size:10.5px !important;margin-bottom:2px !important;}
  #aba-projetos .proj-props input,
  #aba-projetos .proj-props select,
  #aba-projetos .proj-props textarea{min-height:32px !important;padding:5px 7px !important;margin-bottom:6px !important;font-size:12px !important;border-radius:9px !important;}
  #aba-projetos .proj-props textarea{min-height:58px !important;max-height:86px !important;}
  #aba-projetos .proj-props .btn{padding:7px 9px !important;font-size:11px !important;margin:2px !important;}

  #aba-projetos .proj-canvas-toolbar{margin-bottom:8px !important;gap:6px !important;}
  #aba-projetos .proj-canvas-toolbar .left{gap:5px !important;}
  #aba-projetos .proj-canvas-toolbar .btn,
  #aba-projetos .proj-upload{padding:6px 9px !important;font-size:11px !important;border-radius:10px !important;}
  #aba-projetos .proj-upload input{max-width:112px !important;font-size:10px !important;}
  #aba-projetos .proj-pan-help{font-size:11px !important;padding:6px 8px !important;}
  #aba-projetos .proj-canvas-wrap{
    height:calc(100vh - 200px) !important;
    min-height:650px !important;
    max-height:none !important;
    padding:7px !important;
    border-radius:14px !important;
  }
}

/* Botão de modo apresentação: esconde as laterais da aba Projetos */
#dvProjModoApresentacaoBtn{background:linear-gradient(135deg,#0f172a,#1d4ed8)!important;color:#fff!important;}
body.dv-projetos-apresentacao #aba-projetos .proj-layout{grid-template-columns:0 minmax(0,1fr) 0 !important;gap:0 !important;}
body.dv-projetos-apresentacao #aba-projetos .proj-palette,
body.dv-projetos-apresentacao #aba-projetos .proj-props{display:none !important;}
body.dv-projetos-apresentacao #aba-projetos .proj-work{border-radius:16px !important;}
body.dv-projetos-apresentacao #aba-projetos .proj-canvas-wrap{height:calc(100vh - 170px) !important;min-height:720px !important;}

/* ── Seção CSS 07 ──────────────────────────────────────── */
#aba-projetos .proj-tool .dv-lib-svg{width:30px;height:22px;display:block}
#aba-projetos .proj-item-ico .dv-norm-svg,
#aba-projetos .dv-norm-svg{width:100%;height:100%;display:block}
#aba-projetos .proj-item-ico{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
#aba-projetos .dv-norm-svg-wide{width:100%;height:100%;display:block}
#aba-projetos .dv-norm-line{padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important}
#aba-projetos .proj-item[data-type^="ele"] .proj-item-inner,
#aba-projetos .proj-item[data-type^="tel"] .proj-item-inner{padding:0 !important}
#aba-projetos .proj-item[data-type^="ele"],
#aba-projetos .proj-item[data-type^="tel"]{box-shadow:none !important;background:transparent !important}
#aba-projetos .proj-item[data-type^="ele"].selected,
#aba-projetos .proj-item[data-type^="tel"].selected{box-shadow:0 0 0 3px rgba(37,99,235,.18) !important}
#aba-projetos .proj-group-title.norma-title{color:#1d4ed8 !important;border-top:1px solid #e2e8f0;padding-top:8px}

/* ── Seção CSS 08 ──────────────────────────────────────── */
:root{
  --darvigo-navy:#07111f;
  --darvigo-navy-2:#0b1d34;
  --darvigo-blue:#102a4c;
  --darvigo-gold:#d8ae5e;
  --darvigo-gold-2:#f0cf84;
  --darvigo-white:#f8fafc;
  --darvigo-bg:#eef3f8;
}
body{
  background:radial-gradient(circle at top right, rgba(216,174,94,.10), transparent 28%), linear-gradient(180deg,#f6f8fb 0%, var(--darvigo-bg) 100%) !important;
}
#appWrapper > header{
  background:rgba(7,17,31,.96) !important;
  border-bottom:1px solid rgba(216,174,94,.45) !important;
  box-shadow:0 10px 28px rgba(2,6,23,.18) !important;
}
.company-info h1,.header-left h1{ color:#ffffff !important; }
.company-info small,.header-left small,.user-box{ color:#cbd5e1 !important; }
.logo,#headerLogo{
  width:52px !important; height:52px !important; max-width:52px !important;
  object-fit:cover !important; border-radius:16px !important;
  background:#07111f !important; border:1px solid rgba(216,174,94,.55) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.22) !important;
}
#appWrapper > .tab-bar{
  background:radial-gradient(circle at top, rgba(216,174,94,.12), transparent 26%), linear-gradient(180deg,#07111f 0%, #0b1d34 100%) !important;
  border-right:1px solid rgba(216,174,94,.14) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa{
  background:linear-gradient(135deg,#d8ae5e,#f0cf84) !important;
  color:#07111f !important;
  box-shadow:0 12px 24px rgba(216,174,94,.28) !important;
}
#appWrapper > .tab-bar .tab-btn.ativa .tab-ico{ color:#07111f !important; background:rgba(7,17,31,.08) !important; }
.btn-primary{ background:linear-gradient(135deg,#102a4c,#07111f) !important; border-color:rgba(216,174,94,.35) !important; color:#fff !important; }
.btn-secondary{ background:linear-gradient(135deg,#f0cf84,#d8ae5e) !important; color:#07111f !important; }
.aba > h2.no-print,.card > h3{ border-color:rgba(216,174,94,.28) !important; }
.card > h3::before{ background:var(--darvigo-gold) !important; box-shadow:0 0 0 4px rgba(216,174,94,.13) !important; }
.login-wrapper{
  background:radial-gradient(circle at 15% 10%, rgba(216,174,94,.18), transparent 25%), radial-gradient(circle at 90% 85%, rgba(16,42,76,.28), transparent 28%), linear-gradient(135deg,#07111f 0%, #0b1d34 58%, #102a4c 100%) !important;
}
.login-hero{
  background:radial-gradient(circle at 20% 18%, rgba(216,174,94,.24), transparent 32%), linear-gradient(180deg, rgba(7,17,31,.96), rgba(11,29,52,.96)) !important;
}
.login-kicker{ background:rgba(216,174,94,.13) !important; color:#8a5d13 !important; }
.login-logo,#loginLogo,#licencaLogo{
  width:132px !important; height:132px !important; object-fit:cover !important;
  border-radius:30px !important; background:#07111f !important;
  border:1px solid rgba(216,174,94,.45) !important;
}
.darvigo-brand-row{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.darvigo-brand-row img{ width:46px; height:46px; border-radius:14px; object-fit:cover; border:1px solid rgba(216,174,94,.45); box-shadow:0 10px 20px rgba(0,0,0,.22); }
.jarbas-sidebar-quote{ display:none !important; }
#btnPrimeirosPassos,#aba-primeirosPassos,[data-tab="primeirosPassos"],[data-open="primeirosPassos"]{ display:none !important; }

/* ── Seção CSS 09 ──────────────────────────────────────── */
@media screen{
  :root{
    --dv9-bg:#f4f6f9;
    --dv9-surface:#ffffff;
    --dv9-sidebar:#071527;
    --dv9-sidebar-2:#0b1d34;
    --dv9-top:#ffffff;
    --dv9-border:#e1e7ef;
    --dv9-text:#132033;
    --dv9-muted:#6b7a90;
    --dv9-gold:#d8ae5e;
    --dv9-gold-2:#f0cf7a;
    --dv9-blue:#0b2f5a;
    --dv9-radius:12px;
    --dv9-shadow:0 8px 24px rgba(15,23,42,.06);
    --dv9-sidebar-w:248px;
    --dv9-topbar-h:58px;
  }

  html,body{height:100% !important;}
  body{
    margin:0 !important;
    overflow:hidden !important;
    background:var(--dv9-bg) !important;
    color:var(--dv9-text) !important;
    font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif !important;
  }

  /* Login sempre respeitado: não força app aberto */
  #licencaTela[style*="display:none"],#licencaTela[style*="display: none"],
  #loginTela[style*="display:none"],#loginTela[style*="display: none"],
  #appWrapper[style*="display:none"],#appWrapper[style*="display: none"]{display:none !important;}
  #loginTela[style*="display:flex"],#loginTela[style*="display: flex"]{display:flex !important;}

  /* Remove apenas poluições visuais específicas, sem apagar conteúdo do dashboard */
  #jarbasFloatingIntel,.jarbas-floating-intel,.jf-shell,.jf-head,.jf-body,
  #centralRapida,#saasCentralRapida,.central-rapida,.quick-center,.floating-center,.saas-floating,
  .jarbas-sidebar-quote,.motivacional-card,#btnPrimeirosPassos,#aba-primeirosPassos,
  [data-tab="primeirosPassos"],[data-open="primeirosPassos"]{
    display:none !important;visibility:hidden !important;opacity:0 !important;pointer-events:none !important;
  }

  /* Shell principal: lateral + topo + área branca */
  #appWrapper{
    height:100vh !important;
    width:100vw !important;
    grid-template-columns:var(--dv9-sidebar-w) minmax(0,1fr) !important;
    grid-template-rows:var(--dv9-topbar-h) minmax(0,1fr) !important;
    grid-template-areas:"sidebar topbar" "sidebar main" !important;
    gap:0 !important;
    background:var(--dv9-bg) !important;
    overflow:hidden !important;
  }

  #appWrapper > .tab-bar{
    grid-area:sidebar !important;
    width:var(--dv9-sidebar-w) !important;
    min-width:var(--dv9-sidebar-w) !important;
    max-width:var(--dv9-sidebar-w) !important;
    height:100vh !important;
    max-height:100vh !important;
    margin:0 !important;
    padding:12px 10px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,var(--dv9-sidebar),var(--dv9-sidebar-2)) !important;
    box-shadow:none !important;
    color:#dbe7f6 !important;
  }
  #appWrapper > .tab-bar::before{display:none !important;content:none !important;}
  #appWrapper > .tab-bar .menu-topo{display:none !important;}
  #appWrapper > .tab-bar .menu-group{
    margin:0 !important;
    padding:8px 0 !important;
    border-top:1px solid rgba(255,255,255,.055) !important;
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
  }
  #appWrapper > .tab-bar .menu-group:first-of-type{border-top:0 !important;}
  #appWrapper > .tab-bar .menu-title{
    margin:0 8px 7px !important;
    color:rgba(219,231,246,.55) !important;
    font-size:10.5px !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    font-weight:800 !important;
  }
  #appWrapper > .tab-bar .tab-btn{
    width:100% !important;
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:1px solid transparent !important;
    border-radius:10px !important;
    background:transparent !important;
    color:#dbe7f6 !important;
    box-shadow:none !important;
    font-size:12.5px !important;
    font-weight:700 !important;
    cursor:pointer !important;
    text-align:left !important;
    transition:background .15s ease,border-color .15s ease,color .15s ease !important;
  }
  #appWrapper > .tab-bar .tab-btn:hover{
    background:rgba(255,255,255,.075) !important;
    border-color:rgba(255,255,255,.07) !important;
    transform:none !important;
  }
  #appWrapper > .tab-bar .tab-btn.ativa{
    background:linear-gradient(90deg,var(--dv9-gold-2),var(--dv9-gold)) !important;
    color:#122033 !important;
    border-color:rgba(216,174,94,.9) !important;
    box-shadow:0 8px 18px rgba(216,174,94,.18) !important;
  }
  #appWrapper > .tab-bar .tab-ico{
    width:24px !important;height:24px !important;min-width:24px !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    border-radius:8px !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.07) !important;
    font-size:13px !important;
  }
  #appWrapper > .tab-bar .tab-btn.ativa .tab-ico{
    background:rgba(7,21,39,.12) !important;border-color:rgba(7,21,39,.14) !important;
  }
  #appWrapper > .tab-bar .tab-label{
    font-size:12.5px !important;line-height:1.1 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
  }

  .dv9-sidebar-brand{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:2px 4px 12px !important;
    margin-bottom:2px !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
  }
  .dv9-brand-mark{
    width:36px;height:36px;border-radius:10px;border:1px solid rgba(216,174,94,.35);
    display:flex;align-items:center;justify-content:center;
    color:var(--dv9-gold);font-weight:900;background:rgba(255,255,255,.035);
  }
  .dv9-sidebar-brand strong{display:block;color:#fff;font-size:16px;line-height:1;font-weight:900;letter-spacing:-.02em;}
  .dv9-sidebar-brand span{display:block;color:rgba(219,231,246,.65);font-size:11px;margin-top:3px;}

  #appWrapper > header{
    grid-area:topbar !important;
    height:var(--dv9-topbar-h) !important;
    min-height:var(--dv9-topbar-h) !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    background:var(--dv9-top) !important;
    color:var(--dv9-text) !important;
    border:0 !important;
    border-bottom:1px solid var(--dv9-border) !important;
    border-radius:0 !important;
    box-shadow:0 1px 0 rgba(15,23,42,.03) !important;
    padding:0 !important;
    margin:0 !important;
  }
  #appWrapper > header::before,#appWrapper > header::after{display:none !important;content:none !important;}
  #appWrapper > header .header-inner{
    width:100% !important;max-width:none !important;margin:0 !important;
    padding:0 16px !important;
    display:grid !important;
    grid-template-columns:minmax(150px,1fr) minmax(260px,520px) auto !important;
    gap:12px !important;align-items:center !important;
  }
  #appWrapper > header .header-left{display:none !important;}
  .dv9-top-title{min-width:0;}
  .dv9-top-title strong{display:block;color:var(--dv9-text);font-size:15px;line-height:1.1;font-weight:850;}
  .dv9-top-title span{display:block;color:var(--dv9-muted);font-size:11.5px;margin-top:3px;}
  .dv9-top-search{
    width:100%;height:36px;border:1px solid var(--dv9-border);border-radius:10px;background:#f8fafc;
    display:flex;align-items:center;gap:8px;padding:0 11px;color:#8c9bb0;
  }
  .dv9-top-search input{
    width:100% !important;border:0 !important;background:transparent !important;outline:none !important;
    box-shadow:none !important;margin:0 !important;padding:0 !important;min-height:0 !important;height:auto !important;
    color:var(--dv9-text) !important;font-size:12.5px !important;
  }
  #appWrapper > header .user-box{
    display:flex !important;align-items:center !important;gap:8px !important;justify-content:flex-end !important;
    width:auto !important;min-width:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;
    padding:0 !important;margin:0 !important;color:var(--dv9-muted) !important;white-space:nowrap !important;
  }
  #appWrapper > header .user-box div{font-size:11.5px !important;color:var(--dv9-muted) !important;margin:0 !important;}
  #appWrapper > header .user-box span{color:var(--dv9-text) !important;font-weight:800 !important;}
  .dv9-top-icon,.dv9-avatar{
    width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--dv9-border);background:#fff;color:var(--dv9-gold);font-size:12px;
  }
  .dv9-avatar{background:var(--dv9-gold);color:#fff;border-color:var(--dv9-gold);font-weight:900;}
  #appWrapper > header .user-box .btn{
    height:30px !important;border-radius:9px !important;padding:0 12px !important;
    background:linear-gradient(90deg,var(--dv9-gold-2),var(--dv9-gold)) !important;color:#142033 !important;
    border:0 !important;box-shadow:none !important;font-weight:850 !important;
  }

  #appWrapper > main{
    grid-area:main !important;
    height:calc(100vh - var(--dv9-topbar-h)) !important;
    min-height:0 !important;
    overflow-y:auto !important;overflow-x:hidden !important;
    margin:0 !important;padding:18px 20px 24px !important;
    background:var(--dv9-bg) !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  }
  .aba{
    display:none !important;
    min-height:calc(100vh - var(--dv9-topbar-h) - 42px) !important;
    background:var(--dv9-surface) !important;
    color:var(--dv9-text) !important;
    border:1px solid var(--dv9-border) !important;
    border-radius:16px !important;
    box-shadow:var(--dv9-shadow) !important;
    padding:18px 20px 22px !important;
    overflow:visible !important;
    backdrop-filter:none !important;
  }
  .aba.ativa{display:block !important;}
  .aba.ativa > *{visibility:visible !important;opacity:1 !important;}
  .aba > h2.no-print,.aba > h2{
    margin:0 0 16px !important;padding:0 0 12px !important;background:transparent !important;border:0 !important;
    border-bottom:1px solid var(--dv9-border) !important;color:var(--dv9-text) !important;
    font-size:20px !important;font-weight:900 !important;letter-spacing:-.025em !important;box-shadow:none !important;
  }
  .aba > h2::before{display:none !important;content:none !important;}
  .aba > h2::after{content:'•';color:var(--dv9-gold);font-size:18px;margin-left:8px;}

  .card,.kpi-card,.gestor-mini-card,.crm-kpi,.kanban-col,.crm360-time-item{
    background:#fff !important;border:1px solid var(--dv9-border) !important;border-radius:12px !important;
    box-shadow:0 3px 12px rgba(15,23,42,.035) !important;color:var(--dv9-text) !important;
  }
  .card{padding:14px !important;}
  .card > h3{background:transparent !important;border:0 !important;border-bottom:1px solid var(--dv9-border) !important;border-radius:0 !important;margin:-4px 0 12px !important;padding:0 0 10px !important;color:var(--dv9-text) !important;}
  .card > h3::before{display:none !important;content:none !important;}
  label{color:#334155 !important;font-size:12px !important;font-weight:800 !important;margin-bottom:5px !important;}
  input[type="text"],input[type="number"],input[type="date"],input[type="month"],input[type="time"],input[type="password"],input[type="email"],select,textarea{
    background:#fff !important;border:1px solid #d8e1ec !important;border-radius:9px !important;color:var(--dv9-text) !important;
    min-height:34px !important;padding:7px 10px !important;margin-bottom:9px !important;box-shadow:none !important;
  }
  input:focus,select:focus,textarea:focus{outline:none !important;border-color:var(--dv9-gold) !important;box-shadow:0 0 0 3px rgba(216,174,94,.18) !important;}
  .btn{border-radius:9px !important;padding:7px 11px !important;font-weight:800 !important;box-shadow:none !important;border:1px solid var(--dv9-border) !important;background:#fff !important;color:var(--dv9-text) !important;}
  .btn-primary{background:var(--dv9-blue) !important;color:#fff !important;border-color:var(--dv9-blue) !important;}
  .btn-secondary{background:linear-gradient(90deg,var(--dv9-gold-2),var(--dv9-gold)) !important;color:#142033 !important;border:0 !important;}
  .btn-danger{background:#dc2626 !important;color:#fff !important;border-color:#dc2626 !important;}
  table{background:#fff !important;border:1px solid var(--dv9-border) !important;border-radius:10px !important;overflow:hidden !important;}
  th{background:#f5f7fb !important;color:#334155 !important;font-weight:850 !important;}
  td,th{border-color:var(--dv9-border) !important;padding:8px !important;}
  tr:nth-child(even){background:#fbfcfe !important;}

  #aba-dashboard .dash-kpis{display:grid !important;grid-template-columns:repeat(4,minmax(180px,1fr)) !important;gap:12px !important;margin-bottom:14px !important;}
  #aba-dashboard .dash-grid{display:grid !important;grid-template-columns:1.35fr 1fr !important;gap:14px !important;align-items:start !important;}
  #aba-dashboard .chart-wrapper{height:220px !important;}
  #aba-dashboard .gestor-extra-grid,.gestor-extra-grid{display:grid !important;grid-template-columns:repeat(4,minmax(160px,1fr)) !important;gap:12px !important;}
  #dashResumoInteligente:empty,.dashboard-headline:empty{display:none !important;}

  @media(max-width:1100px){
    #appWrapper{grid-template-columns:72px minmax(0,1fr) !important;}
    #appWrapper > .tab-bar{width:72px !important;min-width:72px !important;max-width:72px !important;padding:10px 8px !important;}
    .dv9-sidebar-brand div,#appWrapper > .tab-bar .menu-title,#appWrapper > .tab-bar .tab-label{display:none !important;}
    #appWrapper > .tab-bar .tab-btn{justify-content:center !important;padding:0 !important;}
    #appWrapper > header .header-inner{grid-template-columns:1fr minmax(220px,420px) auto !important;}
  }
  @media(max-width:760px){
    #appWrapper{grid-template-columns:1fr !important;grid-template-rows:58px auto minmax(0,1fr) !important;grid-template-areas:"topbar" "sidebar" "main" !important;}
    #appWrapper > .tab-bar{width:100% !important;max-width:none !important;min-width:0 !important;height:auto !important;max-height:120px !important;flex-direction:row !important;overflow:auto !important;}
    #appWrapper > .tab-bar .menu-group{flex-direction:row !important;border:0 !important;padding:0 !important;}
    #appWrapper > main{height:calc(100vh - 58px - 120px) !important;padding:12px !important;}
    #appWrapper > header .header-inner{grid-template-columns:1fr auto !important;}
    .dv9-top-search{display:none !important;}
    #appWrapper > header .user-box div{display:none !important;}
  }
}
@media print{
  #appWrapper{display:block !important;height:auto !important;width:auto !important;background:#fff !important;}
  #appWrapper > .tab-bar,#appWrapper > header{display:none !important;}
  #appWrapper > main{display:block !important;height:auto !important;overflow:visible !important;padding:0 !important;background:#fff !important;}
  .aba{box-shadow:none !important;border:0 !important;border-radius:0 !important;padding:0 !important;}
}

/* ── Seção CSS 10 ──────────────────────────────────────── */
@media screen{
  :root{
    --dv11-blue:#071527;
    --dv11-blue-2:#0b1d34;
    --dv11-gold:#d8ae5e;
    --dv11-gold-2:#f0cf7a;
    --dv11-border:#e1e7ef;
    --dv11-muted:#6b7a90;
    --dv11-text:#132033;
    --dv11-bg:#f4f6f9;
    --dv11-topbar-h:52px;
  }

  /* Topo menor e alinhado */
  #appWrapper{
    grid-template-rows:var(--dv11-topbar-h) minmax(0,1fr) !important;
  }
  #appWrapper > header{
    height:var(--dv11-topbar-h) !important;
    min-height:var(--dv11-topbar-h) !important;
    background:#fff !important;
    border-bottom:1px solid var(--dv11-border) !important;
    box-shadow:0 1px 0 rgba(15,23,42,.035) !important;
  }
  #appWrapper > main{
    height:calc(100vh - var(--dv11-topbar-h)) !important;
  }
  .aba{
    min-height:calc(100vh - var(--dv11-topbar-h) - 42px) !important;
  }
  #appWrapper > header .header-inner{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:minmax(130px,1fr) minmax(260px,480px) max-content !important;
    gap:10px !important;
    align-items:center !important;
    padding:0 12px !important;
    margin:0 !important;
  }
  #appWrapper > header .header-left{display:none !important;}

  #appWrapper > header .dv9-top-title{min-width:0 !important;}
  #appWrapper > header .dv9-top-title strong{
    font-size:13.5px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    color:var(--dv11-text) !important;
  }
  #appWrapper > header .dv9-top-title span{
    font-size:10.5px !important;
    margin-top:2px !important;
    color:var(--dv11-muted) !important;
  }

  /* Busca única com lupa corrigida */
  #appWrapper > header .dv9-top-search,
  #appWrapper > header .dv11-top-search{
    justify-self:end !important;
    width:100% !important;
    max-width:480px !important;
    height:32px !important;
    min-height:32px !important;
    border:1px solid var(--dv11-border) !important;
    border-radius:8px !important;
    background:#f8fafc !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    padding:0 10px !important;
    color:#8ca0b8 !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  #appWrapper > header .dv9-top-search > span:first-child,
  #appWrapper > header .dv11-search-icon{
    width:14px !important;
    min-width:14px !important;
    height:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    color:#8ca0b8 !important;
    font-size:0 !important;
  }
  #appWrapper > header .dv9-top-search svg,
  #appWrapper > header .dv11-search-icon svg{
    width:14px !important;
    height:14px !important;
    display:block !important;
  }
  #appWrapper > header .dv9-top-search input,
  #appWrapper > header #dv9BuscaGlobal{
    height:30px !important;
    min-height:0 !important;
    line-height:30px !important;
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    color:var(--dv11-text) !important;
    font-size:12px !important;
  }
  #appWrapper > header .dv9-top-search input:focus,
  #appWrapper > header #dv9BuscaGlobal:focus{
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
  }

  /* Área do usuário: tudo compacto e no mesmo alinhamento */
  #appWrapper > header .user-box{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:var(--dv11-muted) !important;
  }
  #appWrapper > header .user-box > div{
    max-width:170px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:11px !important;
    color:var(--dv11-muted) !important;
    margin:0 !important;
    order:50 !important;
  }
  #appWrapper > header .user-box > div span{
    color:var(--dv11-text) !important;
    font-weight:800 !important;
  }

  .dv11-config-top{
    order:10 !important;
    height:28px !important;
    min-width:70px !important;
    border:1px solid rgba(216,174,94,.28) !important;
    border-radius:8px !important;
    padding:0 9px !important;
    background:linear-gradient(180deg,var(--dv11-blue),var(--dv11-blue-2)) !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    font-size:11.5px !important;
    font-weight:900 !important;
    cursor:pointer !important;
    box-shadow:none !important;
    line-height:1 !important;
  }
  .dv11-config-top:hover{filter:brightness(1.06) !important;}
  .dv11-config-top .dv11-config-ico{color:var(--dv11-gold) !important;font-size:12px !important;line-height:1 !important;}

  .dv11-session-timer{
    order:20 !important;
    height:28px !important;
    min-width:104px !important;
    padding:0 9px !important;
    border:1px solid var(--dv11-border) !important;
    border-radius:8px !important;
    background:#fff !important;
    color:var(--dv11-text) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    font-size:11px !important;
    font-weight:850 !important;
    line-height:1 !important;
    box-shadow:none !important;
  }
  .dv11-session-timer .dv11-clock{color:var(--dv11-gold) !important;font-size:12px !important;line-height:1 !important;}
  .dv11-session-timer .dv11-session-time{color:var(--dv11-text) !important;font-weight:900 !important;letter-spacing:.02em !important;}

  #appWrapper > header .dv9-top-icon,
  #appWrapper > header .dv9-avatar{
    order:30 !important;
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    border-radius:999px !important;
    font-size:11px !important;
    box-shadow:none !important;
  }
  #appWrapper > header .dv9-top-icon{
    color:var(--dv11-gold) !important;
    background:#fff !important;
    border-color:var(--dv11-border) !important;
  }
  #appWrapper > header .dv9-avatar{
    color:#fff !important;
    background:var(--dv11-gold) !important;
    border-color:var(--dv11-gold) !important;
    font-weight:900 !important;
  }
  #appWrapper > header .user-box .btn{
    order:60 !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 10px !important;
    border-radius:8px !important;
    background:linear-gradient(90deg,var(--dv11-gold-2),var(--dv11-gold)) !important;
    color:#142033 !important;
    border:0 !important;
    box-shadow:none !important;
    font-size:11px !important;
    font-weight:900 !important;
    margin:0 !important;
    line-height:1 !important;
  }

  /* Configurações sai da lateral e vira Ajustes no topo */
  #appWrapper > .tab-bar .tab-btn[onclick*="config"],
  #appWrapper > .tab-bar .tab-btn[data-menu*="config"]{
    display:none !important;
  }

  @media(max-width:1280px){
    #appWrapper > header .header-inner{
      grid-template-columns:minmax(120px,.85fr) minmax(220px,420px) max-content !important;
      gap:8px !important;
    }
    #appWrapper > header .user-box > div{display:none !important;}
    .dv11-session-timer{min-width:88px !important;}
    .dv11-session-label{display:none !important;}
  }
  @media(max-width:980px){
    .dv11-config-text{display:none !important;}
    .dv11-config-top{min-width:32px !important;width:32px !important;padding:0 !important;}
    .dv11-session-timer{display:none !important;}
  }
  @media(max-width:760px){
    #appWrapper > header .header-inner{
      grid-template-columns:1fr auto !important;
    }
    #appWrapper > header .dv9-top-search{display:none !important;}
    #appWrapper > header .dv9-top-title span{display:none !important;}
  }
}

/* ── Seção CSS 11 ──────────────────────────────────────── */
@media screen{
  #appWrapper > header .dv9-top-search{position:relative !important;}
  .dv14-search-panel{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    min-width:360px !important;
    max-height:390px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border:1px solid #dfe6ef !important;
    border-radius:14px !important;
    box-shadow:0 18px 45px rgba(8,21,39,.16) !important;
    z-index:99999 !important;
    display:none;
  }
  .dv14-search-head{
    height:38px !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border-bottom:1px solid #eef2f7 !important;
    color:#0b1d34 !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
  }
  .dv14-search-count{color:#d8ae5e !important;}
  .dv14-search-list{max-height:300px !important;overflow:auto !important;padding:6px !important;}
  .dv14-search-item{
    width:100% !important;
    border:0 !important;
    background:#fff !important;
    color:#132033 !important;
    text-align:left !important;
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) auto !important;
    gap:9px !important;
    align-items:center !important;
    padding:9px 10px !important;
    border-radius:10px !important;
    cursor:pointer !important;
    box-shadow:none !important;
  }
  .dv14-search-item:hover,.dv14-search-item.active{background:#f6f8fb !important;}
  .dv14-search-icon{
    width:28px !important;height:28px !important;border-radius:9px !important;
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    background:#081527 !important;color:#d8ae5e !important;font-size:13px !important;
  }
  .dv14-search-title{font-size:12px !important;font-weight:900 !important;color:#132033 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
  .dv14-search-sub{font-size:10.5px !important;color:#6b7a90 !important;margin-top:2px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
  .dv14-search-pill{font-size:10px !important;font-weight:900 !important;color:#0b1d34 !important;background:#f3d37d !important;border-radius:999px !important;padding:3px 7px !important;white-space:nowrap !important;}
  .dv14-search-empty{padding:18px 12px !important;text-align:center !important;color:#6b7a90 !important;font-size:12px !important;}
  .dv14-search-foot{height:32px !important;border-top:1px solid #eef2f7 !important;display:flex !important;align-items:center !important;justify-content:space-between !important;padding:0 12px !important;color:#8390a3 !important;font-size:10.5px !important;}
  @media(max-width:760px){.dv14-search-panel{min-width:280px !important;left:auto !important;width:92vw !important;}}
}

/* ── Seção CSS 12 ──────────────────────────────────────── */
/* ===== DARVIGO V17 - ABA PROJETOS SEGURA ===== */
#aba-projetos .proj-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
#aba-projetos .proj-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
#aba-projetos .proj-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 235px;gap:10px;align-items:start}
#aba-projetos .proj-palette,#aba-projetos .proj-props,#aba-projetos .proj-work{padding:10px}
#aba-projetos .proj-group-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:10px 0 6px}
#aba-projetos .proj-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#aba-projetos .proj-tool{border:1px solid #dbe4f0;background:#fff;border-radius:14px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;box-shadow:0 4px 14px rgba(15,23,42,.04);transition:.15s ease}
#aba-projetos .proj-tool:hover{transform:translateY(-1px);border-color:#0b2f5a;box-shadow:0 8px 20px rgba(11,47,90,.12)}
#aba-projetos .proj-tool b{font-size:22px;line-height:1}
#aba-projetos .proj-tool span{font-size:11px;font-weight:800;color:#0f172a;text-align:center}
#aba-projetos .proj-canvas-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
#aba-projetos .proj-canvas-toolbar .left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#aba-projetos .proj-upload{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid #dbe4f0;border-radius:12px;padding:7px 10px;font-size:12px;font-weight:800;color:#334155}
#aba-projetos .proj-upload input{max-width:180px}
#aba-projetos .proj-canvas-wrap{height:78vh;min-height:760px;max-height:calc(100vh - 185px);overflow:auto;border:1px solid #dbe4f0;border-radius:16px;background:#eaf0f8;padding:10px}
#aba-projetos .proj-canvas{position:relative;width:2200px;height:1450px;border-radius:14px;background-color:#fff;background-image:linear-gradient(to right,rgba(11,47,90,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,47,90,.08) 1px,transparent 1px);background-size:24px 24px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.25)}
#aba-projetos .proj-item{position:absolute;display:flex;align-items:center;justify-content:center;cursor:move;user-select:none;border:2px solid transparent;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 18px rgba(15,23,42,.10)}
#aba-projetos .proj-item.selected{border-color:#0b2f5a;box-shadow:0 0 0 3px rgba(11,47,90,.14),0 10px 24px rgba(15,23,42,.14)}
#aba-projetos .proj-item-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;width:100%;height:100%;padding:4px}
#aba-projetos .proj-item-ico{font-size:24px;line-height:1}
#aba-projetos .proj-item-label{font-size:11px;font-weight:800;line-height:1.15;color:#0f172a;max-width:100%;word-break:break-word}
#aba-projetos .proj-line{border-radius:999px;background:transparent;box-shadow:none}
#aba-projetos .proj-line .proj-item-inner{flex-direction:row;justify-content:flex-start;border-radius:999px;color:#fff;padding:0 10px}
#aba-projetos .proj-line .proj-item-label{color:#fff}
#aba-projetos .proj-resize{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:#cda56b;border:2px solid #fff;cursor:nwse-resize;box-shadow:0 3px 8px rgba(0,0,0,.18);z-index:5}
#aba-projetos .proj-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#aba-projetos .proj-props textarea{min-height:82px}
#aba-projetos .proj-muted{font-size:12px;color:#64748b;line-height:1.5;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px;margin-top:12px}
#aba-projetos .proj-summary{font-size:12px;color:#334155;background:#f8fafc;border:1px solid #dbe4f0;border-radius:12px;padding:10px;margin-top:12px}
@media(max-width:1300px){#aba-projetos .proj-layout{grid-template-columns:210px minmax(0,1fr)}#aba-projetos .proj-props{grid-column:1/-1;max-height:none;position:static}}
@media(max-width:980px){#aba-projetos .proj-head{grid-template-columns:1fr 1fr}#aba-projetos .proj-layout{grid-template-columns:1fr}#aba-projetos .proj-canvas-wrap{height:520px;min-height:520px}#aba-projetos .proj-palette,#aba-projetos .proj-props{max-height:none;position:static}#aba-projetos .proj-palette-scroll{max-height:none}}
@media(max-width:640px){#aba-projetos .proj-head,#aba-projetos .proj-form{grid-template-columns:1fr}}
@media print{#aba-projetos .no-print,#aba-projetos .proj-palette,#aba-projetos .proj-props,#aba-projetos .proj-top-no-print{display:none!important}#aba-projetos .proj-layout{display:block!important}#aba-projetos .proj-work{box-shadow:none!important;border:none!important;padding:0!important}#aba-projetos .proj-canvas-wrap{height:auto!important;overflow:visible!important;border:none!important;background:#fff!important;padding:0!important}#aba-projetos .proj-canvas{transform:scale(.72);transform-origin:top left}}

/* ==== Projetos V20: giro individual + legenda profissional ==== */
#aba-projetos .proj-item .proj-label-chip{display:none!important}
#aba-projetos .proj-item-label{display:none!important}
#aba-projetos .proj-item.proj-text .proj-item-label{display:block!important}
#aba-projetos .proj-item.proj-measure .proj-label-chip{display:block!important;background:#fff;border-color:#cbd5e1;color:#334155}
#aba-projetos .proj-line .proj-item-inner{justify-content:center!important;padding:0!important}
#aba-projetos .proj-line .proj-item-ico{display:none!important}
#aba-projetos .proj-rotate{position:absolute;left:50%;top:-32px;width:20px;height:20px;border-radius:999px;background:#0b2f5a;border:3px solid #fff;box-shadow:0 5px 14px rgba(15,23,42,.25);cursor:grab;display:none;z-index:6}
#aba-projetos .proj-rotate:after{content:'↻';position:absolute;inset:-2px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900;line-height:1}
#aba-projetos .proj-rotate-line{position:absolute;left:50%;top:-14px;width:2px;height:16px;background:#0b2f5a;display:none;z-index:3}
#aba-projetos .proj-item.selected .proj-rotate,#aba-projetos .proj-item.selected .proj-rotate-line{display:block}
#aba-projetos .proj-item.rotating .proj-rotate{cursor:grabbing}
#aba-projetos .proj-length-resize{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#2563eb;border:2px solid #fff;cursor:ew-resize;box-shadow:0 3px 8px rgba(0,0,0,.18);display:none;z-index:5}
#aba-projetos .proj-item.selected .proj-length-resize{display:block}
#aba-projetos .proj-palette{max-height:calc(100vh - 175px);overflow:hidden;overflow-x:hidden;position:sticky;top:10px;scrollbar-gutter:stable}
#aba-projetos .proj-props{max-height:calc(100vh - 175px);overflow-y:auto;position:sticky;top:10px;scrollbar-gutter:stable}
#aba-projetos .proj-props h3{font-size:16px}
#aba-projetos .proj-palette h3{font-size:15px}
#aba-projetos .proj-work{min-width:0}
#aba-projetos .proj-palette-head{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:8px}
#aba-projetos .proj-palette-scroll{max-height:calc(100vh - 340px);overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin}
#aba-projetos .proj-palette-scroll::-webkit-scrollbar{width:8px}
#aba-projetos .proj-palette-scroll::-webkit-scrollbar-thumb{background:#c7d3e3;border-radius:999px}
#aba-projetos .proj-palette-scroll::-webkit-scrollbar-track{background:#eef3f9;border-radius:999px}
#aba-projetos .proj-palette .proj-muted{font-size:10px;line-height:1.35;margin-top:8px}
#aba-projetos .proj-palette-head input{width:100%;max-width:none;font-size:12px;padding:7px 10px}

#aba-projetos .proj-legend{max-height:260px;overflow:auto;border:1px solid #dbe4f0;border-radius:14px;background:#fff;padding:8px;box-shadow:inset 0 0 0 1px rgba(226,232,240,.55)}
#aba-projetos .proj-legend-item{display:grid;grid-template-columns:14px 1fr;gap:8px;padding:8px 6px;border-bottom:1px solid #edf2f7;font-size:12px;color:#334155;cursor:pointer;border-radius:10px}
#aba-projetos .proj-legend-item:hover{background:#f8fafc}
#aba-projetos .proj-legend-item:last-child{border-bottom:none}
#aba-projetos .proj-legend-code{font-weight:900;color:#0f172a;font-size:12px;display:block;margin-bottom:2px}
#aba-projetos .proj-legend-type{font-weight:700;color:#475569;font-size:11px;display:block}
#aba-projetos .proj-legend-obs{font-size:11px;color:#64748b;margin-top:3px;line-height:1.35}
#aba-projetos .proj-legend-swatch{width:12px;height:12px;border-radius:50%;margin-top:3px;border:1px solid rgba(15,23,42,.16);flex:0 0 12px}

/* ── Seção CSS 13 ──────────────────────────────────────── */
#aba-projetos .proj-canvas-wrap,
#aba-projetos .proj-canvas{cursor:grab;}
#aba-projetos .proj-canvas-wrap.panning,
#aba-projetos .proj-canvas-wrap.panning .proj-canvas{cursor:grabbing!important;}
#aba-projetos .proj-item{cursor:move;}
#aba-projetos .proj-wall{min-height:3px!important;border-radius:999px!important;}
#aba-projetos .proj-item.proj-wall.selected{box-shadow:0 0 0 3px rgba(17,24,39,.18),0 10px 24px rgba(15,23,42,.14)!important;}
#aba-projetos .proj-item.proj-wall .proj-rotate{top:-38px;width:24px;height:24px;background:#111827;}
#aba-projetos .proj-item.proj-wall .proj-rotate-line{top:-18px;height:20px;background:#111827;}
#aba-projetos .proj-item.proj-wall .proj-end-resize{width:22px;height:22px;top:50%;}
#aba-projetos .proj-item.proj-wall .proj-end-start{left:-13px;}
#aba-projetos .proj-item.proj-wall .proj-end-end{right:-13px;}
#aba-projetos .proj-item.proj-wall .proj-length-resize{width:22px;height:22px;right:-13px;background:#16a34a!important;}
#aba-projetos .proj-wall-easy-actions{
  margin-top:10px;padding:10px;border:1px dashed #b8c6d8;border-radius:14px;background:#f8fbff;display:grid;gap:8px;
}
#aba-projetos .proj-wall-easy-actions strong{font-size:12px;color:#334155;}
#aba-projetos .proj-wall-easy-actions div{display:flex;gap:6px;flex-wrap:wrap;}
#aba-projetos .proj-pan-help{font-size:11px;font-weight:800;color:#334155;background:#f8fafc;border:1px solid #dbe4f0;border-radius:999px;padding:7px 10px;}
#aba-projetos .proj-muted:after{
  content:" Dica V4: clique e segure no fundo branco para mover a planta. Para seleção por área, use Shift + arrastar.";
  display:block;margin-top:6px;color:#0b2f5a;font-weight:800;
}
#aba-projetos .proj-form input#dvProjH{font-weight:800;}

/* ── Seção CSS 14 ──────────────────────────────────────── */
/* Parede mais simples: a linha real fica visível, sem contorno azul por cima */
#aba-projetos .proj-item.proj-wall{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
#aba-projetos .proj-item.proj-wall.selected,
#aba-projetos .proj-item.proj-wall.multi-selected{
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
}
#aba-projetos .proj-item.proj-wall svg,
#aba-projetos .proj-item.proj-wall .proj-shape-svg{
  overflow:visible!important;
}
#aba-projetos .proj-item.proj-wall .proj-shape-svg rect{
  fill:#000!important;
  opacity:1!important;
}
/* Remove os controles que poluíam a parede: giro flutuante, resize azul/verde e etiqueta PAR em cima */
#aba-projetos .proj-item.proj-wall .proj-rotate,
#aba-projetos .proj-item.proj-wall .proj-rotate-line,
#aba-projetos .proj-item.proj-wall .proj-length-resize,
#aba-projetos .proj-item.proj-wall .proj-resize,
#aba-projetos .proj-item.proj-wall .proj-item-badge{
  display:none!important;
}
/* Só as duas pontas aparecem para aumentar/diminuir a parede, pequenas e discretas */
#aba-projetos .proj-item.proj-wall.selected .proj-end-resize{
  display:block!important;
  width:14px!important;
  height:14px!important;
  top:50%!important;
  background:#fff!important;
  border:2px solid #111827!important;
  box-shadow:0 2px 6px rgba(0,0,0,.16)!important;
  z-index:20!important;
  opacity:.95!important;
}
#aba-projetos .proj-item.proj-wall.selected .proj-end-resize:after{display:none!important;}
#aba-projetos .proj-item.proj-wall.selected .proj-end-start{left:-9px!important;}
#aba-projetos .proj-item.proj-wall.selected .proj-end-end{right:-9px!important;}
#aba-projetos .proj-wall-easy-actions{
  border-style:solid!important;
  background:#fff!important;
}
#aba-projetos .proj-wall-easy-actions strong:after{
  content:" • arraste as pontas para aumentar; use Fina/Média/Grossa para engrossar";
  color:#64748b;
  font-weight:700;
}
/* Seleção azul continua para câmeras, sensores e demais itens, mas nunca por cima da parede */
#aba-projetos .proj-item.proj-wall.route-start,
#aba-projetos .proj-item.proj-wall.proj-route-pointing{
  outline:none!important;
  box-shadow:none!important;
}

/* ── Seção CSS 15 ──────────────────────────────────────── */
#darvigoBackupEmailCard,#darvigoAutoBackupEmailCard{
  border:1px solid #dbe4f0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
}
#darvigoBackupEmailCard h3,#darvigoAutoBackupEmailCard h3{
  display:flex;
  align-items:center;
  gap:8px;
}
#darvigoBackupEmailCard h3:before{content:"☁️";font-size:16px;}
#darvigoAutoBackupEmailCard h3:before{content:"⏱️";font-size:16px;}
#darvigoBackupEmailCard input[type="email"],#darvigoAutoBackupEmailCard input[type="email"]{
  width:100%;
  max-width:480px;
}
#darvigoAutoBackupEmailCard .dv-backup-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  align-items:end;
}
#darvigoAutoBackupEmailCard .dv-backup-check{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #dbe4f0;
  background:#fff;
  border-radius:12px;
  padding:10px;
  min-height:42px;
  font-size:12px;
  font-weight:700;
  color:#334155;
}
#darvigoAutoBackupEmailCard .dv-backup-check input{width:auto!important;margin:0!important;}
#darvigoBackupAutoStatus{
  border:1px solid #dbe4f0;
  background:#ffffff;
  border-radius:12px;
  padding:9px 10px;
  font-size:12px;
  color:#475569;
  margin:10px 0 0;
  line-height:1.45;
}
#darvigoBackupAutoStatus strong{color:#0f172a;}
#darvigoAutoBackupEmailCard .dv-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
@media(max-width:980px){#darvigoAutoBackupEmailCard .dv-backup-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){#darvigoAutoBackupEmailCard .dv-backup-grid{grid-template-columns:1fr;}}

/* ── Seção CSS 16 ──────────────────────────────────────── */
/* Botão fixo para nunca travar no modo projeto */
#dvProjSairModoCroqui{
  display:none;
  position:fixed;
  right:14px;
  top:12px;
  z-index:999999;
  border:0 !important;
  border-radius:14px !important;
  padding:10px 14px !important;
  background:linear-gradient(135deg,#dc2626,#ef4444) !important;
  color:#fff !important;
  font-weight:900 !important;
  box-shadow:0 12px 28px rgba(220,38,38,.28) !important;
  cursor:pointer;
}
body.dv-projetos-modo-croqui #dvProjSairModoCroqui{display:block!important;}

#dvProjModoApresentacaoBtn{
  background:linear-gradient(135deg,#0f172a,#1d4ed8) !important;
  color:#fff !important;
  border-color:rgba(37,99,235,.45) !important;
}

body.dv-projetos-modo-croqui{
  overflow:hidden !important;
  background:#eef3f8 !important;
}

body.dv-projetos-modo-croqui #appWrapper{
  height:100vh !important;
  width:100vw !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr !important;
  grid-template-areas:"main" !important;
  gap:0 !important;
}

/* Elimina totalmente menu azul, cabeçalho e topo geral */
body.dv-projetos-modo-croqui #appWrapper > header,
body.dv-projetos-modo-croqui #appWrapper > .tab-bar,
body.dv-projetos-modo-croqui .global-search-box,
body.dv-projetos-modo-croqui .topbar,
body.dv-projetos-modo-croqui .header-inner{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.dv-projetos-modo-croqui #appWrapper > main{
  grid-area:main !important;
  height:100vh !important;
  width:100vw !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#eef3f8 !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

body.dv-projetos-modo-croqui .aba:not(#aba-projetos){
  display:none !important;
}

body.dv-projetos-modo-croqui #aba-projetos{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  width:100vw !important;
  min-height:0 !important;
  margin:0 !important;
  padding:8px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#eef3f8 !important;
  overflow:hidden !important;
}

/* No modo projeto fica apenas a área de ferramentas/croqui */
body.dv-projetos-modo-croqui #aba-projetos > h2,
body.dv-projetos-modo-croqui #aba-projetos .proj-top-no-print{
  display:none !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-layout{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:100% !important;
  display:grid !important;
  grid-template-columns:174px minmax(0,1fr) 214px !important;
  gap:8px !important;
  align-items:stretch !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-palette,
body.dv-projetos-modo-croqui #aba-projetos .proj-props,
body.dv-projetos-modo-croqui #aba-projetos .proj-work{
  height:calc(100vh - 16px) !important;
  max-height:calc(100vh - 16px) !important;
  min-height:0 !important;
  border-radius:14px !important;
  padding:8px !important;
  overflow:hidden !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-palette-scroll{
  height:calc(100vh - 112px) !important;
  max-height:calc(100vh - 112px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:4px !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-props{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:50px !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-work{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-canvas-toolbar{
  flex:0 0 auto !important;
  margin-bottom:6px !important;
  padding-right:118px !important; /* espaço para o botão Voltar fixo */
}

body.dv-projetos-modo-croqui #aba-projetos .proj-canvas-wrap{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:auto !important;
  padding:6px !important;
}

body.dv-projetos-modo-croqui #aba-projetos .proj-print-panel{
  display:none !important;
}

/* Cancelamento do modo antigo, caso algum CSS antigo ainda seja ativado */
body.dv-projetos-modo-croqui.dv-projetos-apresentacao #aba-projetos .proj-palette,
body.dv-projetos-modo-croqui.dv-projetos-apresentacao #aba-projetos .proj-props{
  display:block !important;
}

@media (max-width: 980px){
  body.dv-projetos-modo-croqui #aba-projetos .proj-layout{
    grid-template-columns:1fr !important;
    overflow:auto !important;
  }
  body.dv-projetos-modo-croqui #aba-projetos .proj-palette,
  body.dv-projetos-modo-croqui #aba-projetos .proj-props,
  body.dv-projetos-modo-croqui #aba-projetos .proj-work{
    height:auto !important;
    max-height:none !important;
  }
}

/* ── Seção CSS 17 ──────────────────────────────────────── */
/* Projetos: mais rápido para uso em campo */
#aba-projetos .proj-v13-assistente{border:1px solid #dbe4f0;border-radius:16px;background:linear-gradient(180deg,#ffffff,#f8fbff);padding:10px 12px;margin:0 0 10px;display:grid;gap:8px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
#aba-projetos .proj-v13-assistente .v13-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#aba-projetos .proj-v13-assistente strong{font-size:13px;color:#0f172a;margin-right:4px}
#aba-projetos .proj-v13-hint{font-size:11px;color:#64748b;font-weight:700}
#aba-projetos .proj-v13-section-title{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:8px 0 6px}
#aba-projetos .proj-v13-recentes{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px}
#aba-projetos .proj-v13-recentes .proj-tool{min-height:48px;padding:6px 4px!important;border-color:#cfe0f5!important;background:#f8fbff!important}
#aba-projetos .proj-tool.pending-tool{outline:3px solid rgba(37,99,235,.25)!important;border-color:#2563eb!important;background:#eff6ff!important}
#aba-projetos .proj-window .proj-shape-svg line,
#aba-projetos .proj-window .janela-v13-line{stroke:#2563eb!important;stroke-width:4!important}
#aba-projetos .proj-window{min-height:14px!important}
#aba-projetos .proj-room .proj-shape-svg rect{stroke:#111827!important;stroke-width:4!important;fill:transparent!important}
#aba-projetos .proj-props{overflow-y:auto!important;max-height:calc(100vh - 112px)!important}
body.dv-projeto-modo-v13 #appWrapper{grid-template-columns:0 minmax(0,1fr)!important;grid-template-rows:0 minmax(0,1fr)!important}
body.dv-projeto-modo-v13 #appWrapper>header,
body.dv-projeto-modo-v13 #appWrapper>.tab-bar,
body.dv-projeto-modo-v13 .proj-top-no-print{display:none!important}
body.dv-projeto-modo-v13 #appWrapper>main{grid-column:1/-1!important;grid-row:1/-1!important;height:100vh!important;padding:8px!important;margin:0!important}
body.dv-projeto-modo-v13 #aba-projetos{height:calc(100vh - 16px)!important;padding:8px!important;border-radius:12px!important}
body.dv-projeto-modo-v13 #aba-projetos .proj-layout{grid-template-columns:180px minmax(0,1fr) 210px!important;gap:8px!important;height:100%}
body.dv-projeto-modo-v13 #aba-projetos .proj-canvas-wrap{height:calc(100vh - 92px)!important;min-height:0!important;max-height:none!important}
#dvProjV13Voltar{position:fixed;right:12px;top:10px;z-index:99999;display:none;background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}
body.dv-projeto-modo-v13 #dvProjV13Voltar{display:block!important}
#dvProjAutoSaveStatus{font-size:11px;color:#64748b;font-weight:800;margin-left:4px}

/* ── Seção CSS 18 ──────────────────────────────────────── */
/* Croqui agora trabalha como folha, para ficar mais parecido com prancha técnica */
@media screen{
  body.dv-proj-folha-a4-paisagem #aba-projetos .proj-canvas{
    width:1123px !important;
    height:794px !important;
  }
  body.dv-proj-folha-a4-retrato #aba-projetos .proj-canvas{
    width:794px !important;
    height:1123px !important;
  }
  body.dv-proj-folha-a3-paisagem #aba-projetos .proj-canvas{
    width:1587px !important;
    height:1123px !important;
  }

  #aba-projetos .proj-canvas-wrap{
    background:linear-gradient(180deg,#e5edf6 0%,#dbe5f0 100%) !important;
    padding:22px !important;
    border-radius:16px !important;
  }

  #aba-projetos .proj-canvas{
    margin:0 auto 28px auto !important;
    border-radius:4px !important;
    background-color:#fff !important;
    box-shadow:
      0 0 0 1px rgba(15,23,42,.22),
      0 16px 42px rgba(15,23,42,.16) !important;
    overflow:hidden !important;
    background-size:22px 22px,22px 22px !important;
  }

  #aba-projetos .proj-canvas::after{
    content:"FOLHA A4 • CROQUI TÉCNICO";
    position:absolute;
    right:12px;
    bottom:8px;
    color:rgba(15,23,42,.38);
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    pointer-events:none;
    z-index:1;
  }

  body.dv-proj-folha-a3-paisagem #aba-projetos .proj-canvas::after{content:"FOLHA A3 • CROQUI TÉCNICO";}
  body.dv-proj-folha-a4-retrato #aba-projetos .proj-canvas::after{content:"FOLHA A4 RETRATO • CROQUI TÉCNICO";}

  .dv-folha-select{
    min-height:32px !important;
    height:32px !important;
    padding:4px 8px !important;
    border-radius:10px !important;
    border:1px solid #dbe4f0 !important;
    background:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    color:#334155 !important;
    width:auto !important;
    margin:0 !important;
  }

  .dv-simbologia-aviso{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 9px;
    border:1px dashed #94a3b8;
    background:#f8fafc;
    color:#475569;
    border-radius:10px;
    font-size:11px;
    font-weight:800;
  }

  /* Deixa janela com cara de símbolo técnico azul enquanto aguardamos a tabela normativa */
  #aba-projetos .proj-item.proj-window,
  #aba-projetos .proj-item[data-type="janela"]{
    min-height:16px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  #aba-projetos .proj-item.proj-window .proj-shape-svg,
  #aba-projetos .proj-item[data-type="janela"] .proj-shape-svg{
    overflow:visible !important;
  }
  #aba-projetos .proj-item.proj-window .proj-shape-svg line,
  #aba-projetos .proj-item[data-type="janela"] .proj-shape-svg line{
    stroke:#2563eb !important;
    stroke-width:5 !important;
  }

  /* Cômodo pronto continua como planta limpa com parede preta */
  #aba-projetos .proj-item.proj-room,
  #aba-projetos .proj-item[data-type="ambiente"]{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }
  #aba-projetos .proj-item.proj-room .proj-shape-svg rect,
  #aba-projetos .proj-item[data-type="ambiente"] .proj-shape-svg rect{
    stroke:#111827 !important;
    stroke-width:4 !important;
    fill:transparent !important;
  }

  /* No modo projeto, manter a folha centralizada e com espaço para trabalhar */
  body.dv-projetos-modo-croqui #aba-projetos .proj-canvas-wrap,
  body.dv-projeto-modo-v13 #aba-projetos .proj-canvas-wrap{
    padding:22px !important;
    background:#dbe5f0 !important;
  }
}

@media print{
  #aba-projetos .proj-canvas{
    width:100% !important;
    height:720px !important;
    box-shadow:none !important;
    border:1px solid #94a3b8 !important;
  }
  #aba-projetos .proj-canvas::after{display:none !important;}
}

/* ── Seção CSS 19 ──────────────────────────────────────── */
@media (min-width: 981px){
  :root{
    --dv22-sidebar-open: 224px;
    --dv22-sidebar-mini: 56px;
    --dv22-blue-1:#071d3a;
    --dv22-blue-2:#08264f;
    --dv22-gold:#e4c166;
    --dv22-border:#e5e7eb;
    --dv22-bg:#f7f8fb;
  }

  body{background:var(--dv22-bg)!important;}

  html body #appWrapper{
    grid-template-columns:var(--dv22-sidebar-open) minmax(0,1fr)!important;
  }
  html body.dv-sidebar-collapsed #appWrapper{
    grid-template-columns:var(--dv22-sidebar-mini) minmax(0,1fr)!important;
  }

  html body #appWrapper > .tab-bar,
  html body #appWrapper > .tab-bar:hover,
  html body #appWrapper > .tab-bar:focus-within{
    width:var(--dv22-sidebar-open)!important;
    min-width:var(--dv22-sidebar-open)!important;
    max-width:var(--dv22-sidebar-open)!important;
    background:linear-gradient(180deg,var(--dv22-blue-2),var(--dv22-blue-1))!important;
    border-right:1px solid rgba(255,255,255,.06)!important;
    box-shadow:none!important;
    padding:8px 8px 14px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transition:width .18s ease,min-width .18s ease,max-width .18s ease!important;
  }

  html body.dv-sidebar-collapsed #appWrapper > .tab-bar,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within{
    width:var(--dv22-sidebar-mini)!important;
    min-width:var(--dv22-sidebar-mini)!important;
    max-width:var(--dv22-sidebar-mini)!important;
    padding:8px 6px 12px!important;
  }

  html body #appWrapper > .tab-bar::before,
  html body #appWrapper > .tab-bar:hover::before,
  html body #appWrapper > .tab-bar:focus-within::before{
    display:none!important;
    content:none!important;
  }

  .dv-sidebar-toggle{
    width:30px!important;
    height:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    cursor:pointer!important;
    margin:2px 2px 8px auto!important;
    padding:0!important;
    box-shadow:none!important;
    font-weight:900!important;
    line-height:1!important;
  }
  html body.dv-sidebar-collapsed .dv-sidebar-toggle{
    margin:2px auto 10px!important;
  }

  html body #appWrapper > .tab-bar .menu-group{margin-bottom:8px!important;}
  html body #appWrapper > .tab-bar .menu-title{
    display:block!important;
    color:rgba(226,232,240,.72)!important;
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    margin:12px 8px 6px!important;
  }

  html body #appWrapper > .tab-bar .tab-btn,
  html body #appWrapper > .tab-bar:hover .tab-btn,
  html body #appWrapper > .tab-bar:focus-within .tab-btn{
    width:100%!important;
    min-height:40px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:10px 12px!important;
    margin:0 0 6px!important;
    border-radius:12px!important;
    border:1px solid transparent!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    color:#e8eef8!important;
  }
  html body #appWrapper > .tab-bar .tab-btn:hover{
    background:rgba(255,255,255,.06)!important;
    transform:none!important;
  }
  html body #appWrapper > .tab-bar .tab-btn.ativa,
  html body #appWrapper > .tab-bar:hover .tab-btn.ativa,
  html body #appWrapper > .tab-bar:focus-within .tab-btn.ativa{
    background:var(--dv22-gold)!important;
    color:#0f172a!important;
    border-color:rgba(255,255,255,.08)!important;
  }
  html body #appWrapper > .tab-bar .tab-btn.ativa .tab-label,
  html body #appWrapper > .tab-bar .tab-btn.ativa .tab-ico{color:#0f172a!important;}
  html body #appWrapper > .tab-bar .tab-btn::before,
  html body #appWrapper > .tab-bar .tab-btn::after{display:none!important;}

  html body #appWrapper > .tab-bar .tab-ico{
    width:20px!important;
    min-width:20px!important;
    height:20px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;
    font-size:14px!important;
  }
  html body #appWrapper > .tab-bar .tab-label{
    display:inline!important;
    opacity:1!important;
    visibility:visible!important;
    width:auto!important;
    max-width:160px!important;
    height:auto!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:13px!important;
    font-weight:700!important;
    color:inherit!important;
  }

  /* Recolhida: só ícones, SEM hover abrir */
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .tab-btn,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .tab-btn,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .tab-btn{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    justify-content:center!important;
    gap:0!important;
    padding:0!important;
    margin:0 auto 8px!important;
  }
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .tab-ico,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .tab-ico,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .tab-ico{
    margin:0 auto!important;
  }
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .tab-label,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .tab-label,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .tab-label,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .menu-title,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .menu-title,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .menu-title,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .menu-topo,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .menu-topo,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .menu-topo,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar #menuBusca,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-sidebar-quote,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-brand-badge,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-brand-title,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-brand-sub,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-brand-status,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .dv9-sidebar-brand > div:last-child,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .darvigo-brand-row > div{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    width:0!important;
    max-width:0!important;
    height:0!important;
    overflow:hidden!important;
  }

  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .dv9-sidebar-brand,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-sidebar-brand,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .darvigo-sidebar-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 0 8px!important;
    padding:0!important;
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;
    min-height:34px!important;
  }
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .dv9-brand-mark,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .jarbas-sidebar-brand img,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .darvigo-sidebar-brand img{
    width:28px!important;
    height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
    margin:0 auto!important;
  }

  /* topo/cards limpos, sem mudar a paleta */
  html body #appWrapper > header{
    background:rgba(255,255,255,.96)!important;
    border-bottom:1px solid var(--dv22-border)!important;
    box-shadow:none!important;
  }
  html body .card,
  html body .kpi-card,
  html body .proj-palette,
  html body .proj-props,
  html body fieldset{
    box-shadow:none!important;
    border:1px solid var(--dv22-border)!important;
    border-radius:16px!important;
  }
}
@media (max-width:980px){.dv-sidebar-toggle{display:none!important;}}

/* ── Seção CSS 20 ──────────────────────────────────────── */
@media (min-width: 981px){
  :root{
    --dv23-side-open: 206px;
    --dv23-side-mini: 56px;
  }

  html body:not(.dv-sidebar-collapsed) #appWrapper{
    grid-template-columns: var(--dv23-side-open) minmax(0,1fr) !important;
  }
  html body.dv-sidebar-collapsed #appWrapper{
    grid-template-columns: var(--dv23-side-mini) minmax(0,1fr) !important;
  }

  html body:not(.dv-sidebar-collapsed) #appWrapper > .tab-bar,
  html body:not(.dv-sidebar-collapsed) #appWrapper > .tab-bar:hover,
  html body:not(.dv-sidebar-collapsed) #appWrapper > .tab-bar:focus-within{
    width: var(--dv23-side-open) !important;
    min-width: var(--dv23-side-open) !important;
    max-width: var(--dv23-side-open) !important;
  }
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within{
    width: var(--dv23-side-mini) !important;
    min-width: var(--dv23-side-mini) !important;
    max-width: var(--dv23-side-mini) !important;
  }

  #appWrapper > .tab-bar,
  #appWrapper > .tab-bar:hover,
  #appWrapper > .tab-bar:focus-within{
    padding: 6px 6px 10px !important;
    overflow-y: hidden !important;
  }

  /* cabeçalho da marca mais compacto */
  .dv9-sidebar-brand,
  .jarbas-sidebar-brand,
  .darvigo-sidebar-brand{
    padding: 6px 8px !important;
    margin-bottom: 6px !important;
    border-radius: 12px !important;
  }
  .dv9-sidebar-brand .dv9-brand-mark{
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }
  .dv9-sidebar-brand strong,
  .jarbas-brand-title,
  .darvigo-brand-row strong,
  #empresaNomeHeader{
    font-size: 14px !important;
    line-height: 1.05 !important;
  }
  .dv9-sidebar-brand span,
  .jarbas-brand-sub,
  .jarbas-brand-status,
  .darvigo-brand-row small,
  #empresaCnpjWhatsapp,
  #empresaSiteInsta{
    font-size: 10px !important;
    line-height: 1.1 !important;
  }

  /* esconde a busca lateral para ganhar espaço; já existe busca no topo */
  #appWrapper > .tab-bar #menuBusca,
  #appWrapper > .tab-bar .menu-search,
  #appWrapper > .tab-bar input[placeholder*="Buscar módulo"],
  #appWrapper > .tab-bar input[placeholder*="Buscar"],
  #appWrapper > .tab-bar .sidebar-search{
    display: none !important;
  }

  .dv-sidebar-toggle{
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 6px !important;
  }

  #appWrapper > .tab-bar .menu-group{
    margin-bottom: 5px !important;
    padding-top: 2px !important;
  }
  #appWrapper > .tab-bar .menu-title{
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    margin: 2px 6px 4px !important;
    opacity: .75 !important;
  }

  #appWrapper > .tab-bar .tab-btn{
    min-height: 31px !important;
    height: 31px !important;
    padding: 6px 10px !important;
    margin-bottom: 3px !important;
    border-radius: 10px !important;
    gap: 8px !important;
  }
  #appWrapper > .tab-bar .tab-ico{
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }
  #appWrapper > .tab-bar .tab-label{
    font-size: 13px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  html body.dv-sidebar-collapsed #appWrapper > .tab-bar .tab-btn,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:hover .tab-btn,
  html body.dv-sidebar-collapsed #appWrapper > .tab-bar:focus-within .tab-btn{
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 auto 6px !important;
    padding: 0 !important;
  }

  /* remove barras de rolagem visíveis */
  #appWrapper > .tab-bar::-webkit-scrollbar{ width: 0 !important; height: 0 !important; }
  #appWrapper > .tab-bar{ scrollbar-width: none !important; }
}

/* ── Seção CSS 21 ──────────────────────────────────────── */
:root{
  --dv24-bg:#f7f8fb;
  --dv24-card:#ffffff;
  --dv24-border:#e5e9f2;
  --dv24-border-soft:#eef2f7;
  --dv24-text:#111827;
  --dv24-muted:#64748b;
  --dv24-blue:#081a35;
  --dv24-blue-2:#072246;
  --dv24-gold:#e4c166;
  --dv24-radius:14px;
}

html{
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:geometricPrecision !important;
}

body{
  background:var(--dv24-bg) !important;
  color:var(--dv24-text) !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size:13px !important;
  letter-spacing:-.01em !important;
}

/* escala SaaS: mais área útil sem quebrar layout */
#appWrapper > main{
  background:var(--dv24-bg) !important;
}

#appWrapper main,
#appWrapper .aba{
  font-size:13px !important;
}

h1,h2,h3,h4{
  letter-spacing:-.035em !important;
  color:#0f172a !important;
}

h2{
  font-size:20px !important;
  font-weight:800 !important;
}

h3{
  font-size:14px !important;
  font-weight:800 !important;
}

small,.muted,.hint,.subtitulo,.kpi-sub,.proj-muted{
  color:var(--dv24-muted) !important;
}

/* topbar mais nítida */
#appWrapper > header{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(8px) saturate(1.1) !important;
  border-bottom:1px solid var(--dv24-border) !important;
  box-shadow:none !important;
}

#appWrapper > header .header-inner{
  min-height:54px !important;
  padding:8px 14px !important;
}

/* busca superior tipo SaaS */
#appWrapper > header input,
#appWrapper > header .top-search,
#appWrapper > header .dv9-top-search{
  min-height:34px !important;
  border-radius:999px !important;
}

#appWrapper > header input[type="text"],
#appWrapper > header input[type="search"]{
  background:#f8fafc !important;
  border:1px solid var(--dv24-border) !important;
  box-shadow:none !important;
  font-size:13px !important;
}

/* sidebar aprovada: só refino de nitidez */
#appWrapper > .tab-bar{
  background:linear-gradient(180deg,var(--dv24-blue-2) 0%, var(--dv24-blue) 100%) !important;
  box-shadow:none !important;
}

#appWrapper > .tab-bar .tab-btn{
  font-weight:700 !important;
  letter-spacing:-.015em !important;
}

#appWrapper > .tab-bar .tab-label{
  font-size:12.5px !important;
}

#appWrapper > .tab-bar .tab-ico{
  filter:none !important;
}

/* cards mais finos */
.card,
.panel,
.kpi-card,
.dash-card,
.box,
.secao,
fieldset,
.proj-palette,
.proj-props,
.proj-work,
.proj-canvas-wrap,
#aba-orcamento .card,
#aba-dashboard .card,
#aba-financeiro .card,
#aba-projetos .card{
  background:var(--dv24-card) !important;
  border:1px solid var(--dv24-border) !important;
  border-radius:var(--dv24-radius) !important;
  box-shadow:none !important;
}

.card:hover,
.panel:hover,
.kpi-card:hover{
  box-shadow:0 8px 24px rgba(15,23,42,.04) !important;
}

/* formulários mais profissionais */
label{
  font-size:12px !important;
  font-weight:700 !important;
  color:#263244 !important;
  margin-bottom:5px !important;
}

input,
select,
textarea{
  min-height:34px !important;
  padding:7px 10px !important;
  border-radius:10px !important;
  border:1px solid #d9e0ea !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:13px !important;
  box-shadow:none !important;
  outline:none !important;
}

textarea{
  line-height:1.35 !important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#9fb5d8 !important;
  box-shadow:0 0 0 3px rgba(11,47,90,.08) !important;
}

/* botões estilo SaaS */
.btn,
button,
input[type="button"],
input[type="submit"]{
  border-radius:10px !important;
  font-size:12.5px !important;
  font-weight:800 !important;
  min-height:32px !important;
  padding:7px 12px !important;
  letter-spacing:-.01em !important;
  box-shadow:none !important;
}

.btn-primary,
button.btn-primary{
  background:#08264f !important;
  border-color:#08264f !important;
  color:#fff !important;
}

.btn-secondary,
button.btn-secondary{
  background:var(--dv24-gold) !important;
  border-color:var(--dv24-gold) !important;
  color:#111827 !important;
}

.btn-danger,
button.btn-danger,
button[style*="red"],
button[style*="#dc"]{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  color:#fff !important;
}

/* tabelas */
table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  font-size:12.5px !important;
}

th{
  background:#f8fafc !important;
  color:#475569 !important;
  font-size:11px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-weight:800 !important;
  border-bottom:1px solid var(--dv24-border) !important;
}

td{
  border-bottom:1px solid var(--dv24-border-soft) !important;
  color:#1f2937 !important;
}

/* orçamento: mais compacto e limpo */
#aba-orcamento .card{
  padding:14px !important;
}

#aba-orcamento h2{
  font-size:21px !important;
}

#aba-orcamento .grid-2,
#aba-orcamento .grid-3{
  gap:12px !important;
}

/* projetos: aparência de prancha técnica */
#aba-projetos .proj-layout{
  gap:10px !important;
}

#aba-projetos .proj-canvas-wrap{
  background:#eef3f8 !important;
  border-color:#d8e1ee !important;
}

#aba-projetos .proj-canvas{
  box-shadow:0 12px 34px rgba(15,23,42,.08) !important;
  border:1px solid #cfd8e3 !important;
}

#aba-projetos .proj-tool{
  border-radius:11px !important;
  box-shadow:none !important;
  border-color:#dce5f0 !important;
}

#aba-projetos .proj-tool:hover{
  transform:none !important;
  border-color:#9fb5d8 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}

/* status/chips */
.badge,
.chip,
.tag,
.status,
.pill{
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:800 !important;
}

/* rolagem mais bonita */
*::-webkit-scrollbar{
  width:8px;
  height:8px;
}
*::-webkit-scrollbar-thumb{
  background:#cbd5e1;
  border-radius:999px;
}
*::-webkit-scrollbar-track{
  background:transparent;
}

/* mantém sidebar sem barra visível conforme V23 */
#appWrapper > .tab-bar::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

/* impressão não deve herdar sombras */
@media print{
  *{
    box-shadow:none !important;
    text-shadow:none !important;
  }
}

/* ── Seção CSS 22 ──────────────────────────────────────── */
#aba-projetos .proj-item.proj-window,
#aba-projetos .proj-item[data-type="janela"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  min-height:14px!important;
  overflow:visible!important;
}
#aba-projetos .proj-item.proj-window.selected,
#aba-projetos .proj-item[data-type="janela"].selected{
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
}
#aba-projetos .proj-item.proj-window .proj-shape-svg,
#aba-projetos .proj-item[data-type="janela"] .proj-shape-svg{
  display:block!important;
  overflow:visible!important;
  filter:drop-shadow(0 1px 1px rgba(37,99,235,.18));
}
#aba-projetos .proj-item.proj-window.selected .proj-end-resize,
#aba-projetos .proj-item[data-type="janela"].selected .proj-end-resize{
  display:block!important;
  width:14px!important;
  height:14px!important;
  top:50%!important;
  background:#fff!important;
  border:2px solid #2563eb!important;
  box-shadow:0 2px 6px rgba(37,99,235,.25)!important;
  z-index:20!important;
}
#aba-projetos .proj-item.proj-window.selected .proj-end-resize:after,
#aba-projetos .proj-item[data-type="janela"].selected .proj-end-resize:after{display:none!important;}
#aba-projetos .proj-item.proj-window.selected .proj-end-start,
#aba-projetos .proj-item[data-type="janela"].selected .proj-end-start{left:-9px!important;}
#aba-projetos .proj-item.proj-window.selected .proj-end-end,
#aba-projetos .proj-item[data-type="janela"].selected .proj-end-end{right:-9px!important;}
#aba-projetos .proj-item.proj-window .proj-resize,
#aba-projetos .proj-item.proj-window .proj-rotate,
#aba-projetos .proj-item.proj-window .proj-rotate-line,
#aba-projetos .proj-item.proj-window .proj-length-resize,
#aba-projetos .proj-item[data-type="janela"] .proj-resize,
#aba-projetos .proj-item[data-type="janela"] .proj-rotate,
#aba-projetos .proj-item[data-type="janela"] .proj-rotate-line,
#aba-projetos .proj-item[data-type="janela"] .proj-length-resize{
  display:none!important;
}
#aba-projetos .proj-item.proj-window .proj-item-badge,
#aba-projetos .proj-item[data-type="janela"] .proj-item-badge{
  display:inline-flex!important;
  top:-15px!important;
  background:#fff!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
}



/* ── v27: Financeiro, Técnicos, Clientes ───────────────── */
.fin-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.fin-kpi-card{color:#fff;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--azul,#0b2f5a)}
.fin-kpi-card.verde{background:linear-gradient(135deg,#1a5c2a,#237a38)}
.fin-kpi-card.vermelho{background:linear-gradient(135deg,#7a1a1a,#a02020)}
.fin-kpi-card.dourado{background:linear-gradient(135deg,#7a5500,#b08800)}
.fin-kpi-card.neutro{background:linear-gradient(135deg,#1e3a5f,#2c5282)}
.fin-kpi-label{font-size:11px;opacity:.78;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.fin-kpi-val{font-size:22px;font-weight:700}
.fin-kpi-sub{font-size:11px;opacity:.62}
.fin-metricas{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 14px;background:#f8f9fc;border:1px solid #e3e6ee;border-radius:8px;font-size:13px;margin-bottom:14px}
.fin-metricas span{color:#555}.fin-metricas b{color:#111}
.fin-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:2px solid #e3e6ee}
.fin-tab{background:none;border:none;padding:8px 14px;cursor:pointer;font-size:13px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:4px 4px 0 0;font-family:inherit}
.fin-tab.ativa{color:var(--azul,#0b2f5a);font-weight:600;border-bottom-color:var(--dourado,#cda56b);background:#f5f7ff}
.fin-tab:hover:not(.ativa){background:#f0f2f8}
.badge-rec{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#d4edda;color:#155724}
.badge-desp{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#f8d7da;color:#721c24}
.badge-pago{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;background:#cce5ff;color:#004085}
.badge-pendente{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;background:#fff3cd;color:#856404}
.badge-atrasado{display:inline-block;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;background:#f8d7da;color:#721c24}
.dre-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid #f0f0f0}
.dre-row.total{font-weight:700;font-size:14px;border-top:2px solid #cda56b;border-bottom:none;margin-top:4px;padding-top:8px}
.tec-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}
.tec-disponivel{background:#d4edda;color:#155724}
.tec-campo{background:#fff3cd;color:#856404}
.tec-folga{background:#e2e3e5;color:#383d41}
.tec-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:10px 0}
.tec-card{background:#fff;border:1px solid #dee2ea;border-radius:10px;padding:14px 16px}
.tec-card .tec-nome{font-weight:600;font-size:14px;margin-bottom:2px}
.tec-card .tec-cargo{font-size:12px;color:#666;margin-bottom:8px}
.tec-card .tec-info{display:flex;gap:6px;flex-wrap:wrap;font-size:11px}
.tec-card .tec-info span{background:#f0f2f8;padding:2px 7px;border-radius:4px;color:#555}
.cli-wpp{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;background:#25D366;color:#fff!important;border-radius:6px;font-size:11px;font-weight:700;text-decoration:none}
.cli-wpp:hover{background:#1ebe5d}
.cli-tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;background:#e8eaf6;color:#3949ab;margin-right:2px}
.cli-busca-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.cli-busca-bar > div{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#555}
.cli-busca-bar input,.cli-busca-bar select{padding:7px 10px;border:1px solid #c4c9d4;border-radius:6px;font-size:13px}


/* ════════════════════════════════════════════════════════════════
 *  DARVIGO v28 — TEMA CREME QUENTE
 *  
 *  Paleta:
 *    Fundo página:    #f5f2ec  (creme leve, off-white quente)
 *    Fundo cards:     #fffdf8  (papel marfim)
 *    Sidebar:         #1c2f4a  (azul escuro original — mantido)
 *    Acento dourado:  #cda56b  (mantido — combina com o creme)
 *    Texto:           #1c2f4a  (azul escuro em vez de preto puro)
 *    Texto suave:     #6b5d4f  (marrom acinzentado em vez de #999)
 *    Bordas:          #e8e0d0  (creme mais escuro)
 *    Verde sucesso:   #16a34a
 *    Vermelho erro:   #c53030
 *    Âmbar alerta:    #d97706
 * ════════════════════════════════════════════════════════════════ */

/* ── Fundo geral da página (corpo do sistema) ── */
body{
  background:#f5f2ec !important;
  color:#1c2f4a;
}

/* Mantém fundo do login intocado (login é hero escuro) */
.login-wrapper{ background:inherit; }
/* [faxina 03/08] cobre as DUAS grafias (display:none e display: none) — o navegador
   reserializa o atributo com espaço quando o JS esconde a tela, e o seletor antigo
   deixava o body navy pra sempre (mesmo padrão já usado na regra "Login sempre respeitado") */
body:has(#licencaTela:not([style*="display:none"]):not([style*="display: none"])),
body:has(#loginTela:not([style*="display:none"]):not([style*="display: none"])){
  background:#0b1a30 !important;
}

/* ── Header: já tem fundo branco + borda dourada, suaviza pra creme ── */
header{
  background:#fffdf8 !important;
  border-bottom:3px solid #cda56b !important;
  box-shadow:0 1px 3px rgba(28,47,74,.06) !important;
}

/* ── Main / área de conteúdo ── */
main{
  background:transparent !important;
  box-shadow:none !important;
}

#appWrapper > main{
  background:transparent !important;
}

/* ── Sidebar (tab-bar) já é escura ou pode ficar creme ── */
/* Mantém o que está — sidebar original do sistema */

/* ── Cards: o coração da mudança ── */
.card,
.kpi-card,
.gestor-mini-card,
.chart-card{
  background:#fffdf8 !important;
  border:1px solid #e8e0d0 !important;
  border-radius:10px !important;
  box-shadow:0 1px 4px rgba(28,47,74,.04) !important;
  transition:box-shadow .2s, transform .15s;
}

.card:hover,
.kpi-card:hover{
  box-shadow:0 4px 12px rgba(28,47,74,.08) !important;
}

/* Headings dentro dos cards */
.card h3,
.aba > h2{
  color:#1c2f4a !important;
  border-bottom-color:rgba(205,165,107,.35) !important;
}

/* ── KPI cards: barra superior colorida indicando o tipo ── */
.kpi-card{
  position:relative;
  overflow:hidden;
  padding-top:14px !important;
}
.kpi-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:#cda56b;
}
/* Cores semânticas por posição: receita verde, despesa vermelho, resultado azul, clientes dourado */
.kpi-card:nth-child(1)::before{ background:#16a34a !important; }
.kpi-card:nth-child(2)::before{ background:#c53030 !important; }
.kpi-card:nth-child(3)::before{ background:#1c2f4a !important; }
.kpi-card:nth-child(4)::before{ background:#cda56b !important; }

.kpi-label{
  color:#6b5d4f !important;
  font-size:11px !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.kpi-value{
  color:#1c2f4a !important;
  font-size:22px !important;
  font-weight:700 !important;
}
.kpi-sub{
  color:#8a7a6a !important;
  font-size:11px !important;
}

/* ── Mini cards (gestor-mini-card) ── */
.gestor-mini-card{
  padding:12px 14px !important;
}
.gestor-mini-card .title{
  color:#6b5d4f !important;
  font-size:11px !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}
.gestor-mini-card .value{
  color:#1c2f4a !important;
  font-size:18px !important;
  font-weight:700 !important;
}
.gestor-mini-card .sub{
  color:#8a7a6a !important;
  font-size:11px !important;
}

/* ── Inputs, selects, textareas ── */
input[type="text"],input[type="number"],input[type="email"],input[type="password"],
input[type="date"],input[type="month"],input[type="search"],input[type="tel"],
select,textarea{
  background:#fffdf8 !important;
  border:1px solid #d4cab8 !important;
  color:#1c2f4a !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#cda56b !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(205,165,107,.15) !important;
}

label{
  color:#5a4e42 !important;
  font-size:12px !important;
  font-weight:600 !important;
}

/* ── Botões principais ── */
.btn-primary{
  background:#1c2f4a !important;
  border-color:#1c2f4a !important;
  color:#fff !important;
}
.btn-primary:hover{
  background:#2a4060 !important;
  border-color:#2a4060 !important;
}

.btn-secondary{
  background:#fffdf8 !important;
  border-color:#cda56b !important;
  color:#1c2f4a !important;
}
.btn-secondary:hover{
  background:#cda56b !important;
  color:#fff !important;
}

.btn{
  border-radius:6px !important;
}

/* ── Tabelas ── */
table{
  background:#fffdf8 !important;
}
table th{
  background:#f5f2ec !important;
  color:#1c2f4a !important;
  border-bottom:2px solid #cda56b !important;
  font-weight:700 !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}
table td{
  border-bottom:1px solid #f0ebe0 !important;
  color:#3a3528 !important;
}
table tr:hover td{
  background:#faf6ee !important;
}

/* ── Alertas e boxes ── */
.alerta-box{
  border-radius:8px !important;
  border-left:3px solid #cda56b !important;
}
.alerta-box.ok{
  background:#f0f9f4 !important;
  border-left-color:#16a34a !important;
  color:#155724 !important;
}

/* ── Tela de licença/login: mantém escura ── */
#licencaTela, #loginTela{
  background:#0b1a30 !important;
}

/* ── Aba projetos: mantém o fundo original (eef3f8 é necessário pro canvas) ── */
#aba-projetos{
  background:#f5f2ec !important;
}
#aba-projetos .proj-canvas-wrap{
  background:#fffdf8 !important;
}

/* ── KPI cards novos do Financeiro (v27) — mantém gradientes coloridos ── */
.fin-kpi-card{
  /* já tem os gradientes próprios, só ajusta sombra */
  box-shadow:0 2px 8px rgba(28,47,74,.08) !important;
}

/* ── Headers da aba (h2 principal) ── */
.aba > h2{
  background:linear-gradient(180deg, #fffdf8, #f5f2ec) !important;
  padding:14px 16px !important;
  border-radius:8px !important;
  border:1px solid #e8e0d0 !important;
  border-bottom-color:#cda56b !important;
  margin-bottom:16px !important;
}

/* ── Scrollbar ── */
*::-webkit-scrollbar-thumb{
  background:#cda56b !important;
  border-radius:999px;
}
*::-webkit-scrollbar-track{
  background:transparent;
}

/* ── Print: força branco puro pra impressão ── */
@media print{
  body, .card, table{ background:#fff !important; }
  *{ box-shadow:none !important; }
}


/* ── v29: Dashboard redesenhado ───────────────────────── */

/* Saudação */
.dv-dash-greeting{
  margin-bottom:16px;
  padding:0 2px;
}
.dv-dash-greeting h2{
  font-size:20px;font-weight:700;color:#1c2f4a;margin:0 0 3px;
  background:none !important;border:none !important;padding:0 !important;
  border-radius:0 !important;
}
.dv-dash-greeting p{
  font-size:13px;color:#6b5d4f;margin:0;
}

/* KPIs top — 4 cards grandes */
.dv-dash-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:16px;
}
@media(max-width:900px){ .dv-dash-kpis{grid-template-columns:repeat(2,1fr)} }
@media(max-width:500px){ .dv-dash-kpis{grid-template-columns:1fr} }

.dv-kpi{
  background:#fffdf8;
  border:1px solid #e8e0d0;
  border-radius:12px;
  padding:16px 18px;
  position:relative;
  overflow:hidden;
  box-shadow:0 1px 4px rgba(28,47,74,.04);
  transition:transform .15s, box-shadow .2s;
}
.dv-kpi:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(28,47,74,.08);
}
.dv-kpi::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
}
.dv-kpi.kpi-receita::before{background:linear-gradient(90deg,#16a34a,#4ade80)}
.dv-kpi.kpi-despesa::before{background:linear-gradient(90deg,#dc2626,#f87171)}
.dv-kpi.kpi-resultado::before{background:linear-gradient(90deg,#1c2f4a,#3b6fa0)}
.dv-kpi.kpi-clientes::before{background:linear-gradient(90deg,#cda56b,#e8c98a)}

.dv-kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dv-kpi-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.kpi-receita .dv-kpi-icon{background:rgba(22,163,74,.1)}
.kpi-despesa .dv-kpi-icon{background:rgba(220,38,38,.1)}
.kpi-resultado .dv-kpi-icon{background:rgba(28,47,74,.08)}
.kpi-clientes .dv-kpi-icon{background:rgba(205,165,107,.15)}

.dv-kpi-delta{
  font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;
}
.delta-up{background:rgba(22,163,74,.1);color:#16a34a}
.delta-down{background:rgba(220,38,38,.1);color:#dc2626}
.delta-neutral{background:rgba(107,93,79,.08);color:#6b5d4f}

.dv-kpi-label{
  font-size:11px;font-weight:600;color:#6b5d4f;
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;
}
.dv-kpi-val{
  font-size:26px;font-weight:800;color:#1c2f4a;line-height:1.1;
}
.dv-kpi-sub{
  font-size:11px;color:#8a7a6a;margin-top:4px;
}

/* Grid principal: gráfico grande + painéis lado */
.dv-dash-main{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
@media(max-width:800px){ .dv-dash-main{grid-template-columns:1fr} }

.dv-chart-card{
  background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;
  padding:16px 18px;box-shadow:0 1px 4px rgba(28,47,74,.04);
}
.dv-chart-title{
  font-size:14px;font-weight:600;color:#1c2f4a;margin-bottom:12px;
  display:flex;align-items:center;justify-content:space-between;
}
.dv-chart-title span{font-size:11px;color:#8a7a6a;font-weight:400}

.dv-side-stack{display:flex;flex-direction:column;gap:12px}

/* Mini métricas */
.dv-metric{
  background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;
  padding:14px 16px;box-shadow:0 1px 4px rgba(28,47,74,.04);
  display:flex;align-items:center;gap:12px;
}
.dv-metric-icon{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-size:18px;
  flex-shrink:0;
}
.dv-metric-text{flex:1}
.dv-metric-label{font-size:11px;color:#6b5d4f;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.dv-metric-val{font-size:18px;font-weight:700;color:#1c2f4a}

/* OS do dia */
.dv-os-card{
  background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;
  padding:16px 18px;box-shadow:0 1px 4px rgba(28,47,74,.04);
}
.dv-os-card h3{font-size:14px;font-weight:600;color:#1c2f4a;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.dv-os-card h3 .count-badge{
  font-size:11px;background:#1c2f4a;color:#fff;padding:1px 8px;
  border-radius:999px;font-weight:600;
}

/* Painéis de 3 colunas (alertas, top clientes, top técnicos) */
.dv-dash-panels{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;
}
@media(max-width:800px){ .dv-dash-panels{grid-template-columns:1fr} }

.dv-panel{
  background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;
  padding:16px 18px;box-shadow:0 1px 4px rgba(28,47,74,.04);
}
.dv-panel h3{
  font-size:13px;font-weight:600;color:#1c2f4a;margin:0 0 10px;
  padding-bottom:8px;border-bottom:1px solid #f0ebe0;
}

/* Charts grid 2 colunas */
.dv-dash-charts2{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;
}
@media(max-width:700px){ .dv-dash-charts2{grid-template-columns:1fr} }

/* Resumo inteligente */
.dv-dash-headline{
  background:linear-gradient(135deg,#1c2f4a,#2a4568);
  color:#fff;border-radius:12px;padding:14px 18px;margin-bottom:16px;
  font-size:13px;line-height:1.5;
  box-shadow:0 2px 8px rgba(28,47,74,.12);
}
.dv-dash-headline strong{color:#cda56b}

/* Mini KPIs row (margem, ticket, conversão, OS) */
.dv-dash-minis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;
}
@media(max-width:800px){.dv-dash-minis{grid-template-columns:repeat(2,1fr)}}

.dv-mini{
  background:#fffdf8;border:1px solid #e8e0d0;border-radius:10px;
  padding:12px 14px;text-align:center;
  box-shadow:0 1px 3px rgba(28,47,74,.03);
}
.dv-mini-label{font-size:10px;color:#6b5d4f;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.dv-mini-val{font-size:20px;font-weight:800;color:#1c2f4a}
.dv-mini-sub{font-size:10px;color:#8a7a6a;margin-top:2px}


/* ── v30: Integração entre módulos ─────────────────────── */
.dv-sync-select{
  background:#fffdf8 !important;
  border:1px solid #d4cab8 !important;
  border-radius:6px !important;
  padding:7px 10px !important;
  font-size:13px !important;
  color:#1c2f4a !important;
  width:100%;
  margin-bottom:6px;
}
.dv-sync-select:focus{
  border-color:#cda56b !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(205,165,107,.15) !important;
}
.dv-gerar-os-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 10px;background:#1c2f4a;color:#fff;
  border:none;border-radius:6px;font-size:11px;font-weight:600;
  cursor:pointer;font-family:inherit;
}
.dv-gerar-os-btn:hover{background:#2a4568}
.dv-alert-contrato{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  border-radius:8px;font-size:12px;margin-bottom:6px;
}
.dv-alert-contrato.vencido{background:#fef2f2;border-left:3px solid #dc2626;color:#7f1d1d}
.dv-alert-contrato.vencendo{background:#fffbeb;border-left:3px solid #d97706;color:#78350f}
.dv-alert-contrato .dv-alert-action{
  margin-left:auto;padding:3px 8px;background:#1c2f4a;color:#fff;
  border:none;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;
}


/* ── v31: Estoque completo ─────────────────────────────── */
.est-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}
.est-kpi{background:#fffdf8;border:1px solid #e8e0d0;border-radius:10px;padding:12px 14px;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(28,47,74,.04)}
.est-kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.est-kpi.kpi-total::before{background:#1c2f4a}
.est-kpi.kpi-valor::before{background:#cda56b}
.est-kpi.kpi-entrada::before{background:#16a34a}
.est-kpi.kpi-saida::before{background:#dc2626}
.est-kpi.kpi-alerta::before{background:#d97706}
.est-kpi-label{font-size:10px;color:#6b5d4f;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.est-kpi-val{font-size:22px;font-weight:700;color:#1c2f4a;margin-top:2px}
.est-kpi-sub{font-size:10px;color:#8a7a6a;margin-top:2px}
.est-tabs{display:flex;gap:2px;margin-bottom:12px;border-bottom:2px solid #e8e0d0}
.est-tab{background:none;border:none;padding:8px 14px;cursor:pointer;font-size:13px;color:#6b5d4f;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:4px 4px 0 0;font-family:inherit}
.est-tab.ativa{color:#1c2f4a;font-weight:600;border-bottom-color:#cda56b;background:#fffdf8}
.est-tab:hover:not(.ativa){background:#f5f2ec}
.est-alerta-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;margin-bottom:6px;font-size:12px}
.est-alerta-row.critico{background:#fef2f2;border-left:3px solid #dc2626;color:#7f1d1d}
.est-alerta-row.baixo{background:#fffbeb;border-left:3px solid #d97706;color:#78350f}
.est-alerta-row .est-alerta-nome{font-weight:600;flex:1}
.est-alerta-row .est-alerta-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}
.est-alerta-row.critico .est-alerta-badge{background:#fecaca;color:#991b1b}
.est-alerta-row.baixo .est-alerta-badge{background:#fef3c7;color:#92400e}
.est-mov-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0ebe0;font-size:12px}
.est-mov-row:last-child{border-bottom:none}
.est-mov-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;width:54px;text-align:center}
.est-mov-badge.entrada{background:#d4edda;color:#155724}
.est-mov-badge.saida{background:#f8d7da;color:#721c24}
.est-mov-nome{font-weight:500;color:#1c2f4a;flex:1}
.est-mov-qtd{font-weight:700;width:50px;text-align:right}
.est-mov-qtd.pos{color:#16a34a}
.est-mov-qtd.neg{color:#dc2626}
.est-mov-info{color:#8a7a6a;font-size:11px;width:180px;text-align:right}


/* ── v32: CRM 360 redesenhado ──────────────────────────── */
.crm3-layout{display:grid;grid-template-columns:280px 1fr;gap:14px;min-height:500px}
@media(max-width:750px){.crm3-layout{grid-template-columns:1fr}}
.crm3-sidebar{display:flex;flex-direction:column;gap:0}
.crm3-search{padding:12px 14px;background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px 12px 0 0}
.crm3-search input{width:100%;padding:8px 10px;border:1px solid #d4cab8;border-radius:6px;font-size:13px;background:#fffdf8}
.crm3-search input:focus{border-color:#cda56b;outline:none;box-shadow:0 0 0 3px rgba(205,165,107,.15)}
.crm3-list{background:#fffdf8;border:1px solid #e8e0d0;border-top:none;border-radius:0 0 12px 12px;max-height:500px;overflow-y:auto;padding:4px}
.crm3-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}
.crm3-item:hover{background:#f5f2ec}
.crm3-item.selected{background:#1c2f4a;color:#fff}
.crm3-item.selected .crm3-item-sub{color:rgba(255,255,255,.6)}
.crm3-item.selected .crm3-item-badge{background:rgba(205,165,107,.3);color:#cda56b}
.crm3-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}
.crm3-avatar.cli{background:rgba(28,47,74,.1);color:#1c2f4a}
.crm3-avatar.lead{background:rgba(205,165,107,.2);color:#8a6a30}
.crm3-item.selected .crm3-avatar{background:rgba(255,255,255,.15);color:#fff}
.crm3-item-info{flex:1;min-width:0}
.crm3-item-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm3-item-sub{font-size:11px;color:#8a7a6a}
.crm3-item-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:999px;background:#e8eaf6;color:#3949ab;flex-shrink:0}
.crm3-main{display:flex;flex-direction:column;gap:14px}
.crm3-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#8a7a6a;text-align:center;font-size:14px}
.crm3-empty span{font-size:48px;margin-bottom:12px;opacity:.3}

/* Profile card */
.crm3-profile{background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;padding:18px 20px;box-shadow:0 1px 4px rgba(28,47,74,.04)}
.crm3-profile-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.crm3-profile-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0;background:#1c2f4a;color:#cda56b}
.crm3-profile-name{font-size:18px;font-weight:700;color:#1c2f4a;margin-bottom:2px}
.crm3-profile-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.crm3-pbadge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px}
.crm3-pbadge.tipo-cli{background:#d4edda;color:#155724}
.crm3-pbadge.tipo-lead{background:#fff3cd;color:#856404}
.crm3-profile-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#6b5d4f}
.crm3-profile-meta span{display:flex;align-items:center;gap:4px}
.crm3-profile-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #f0ebe0}

/* Stats row */
.crm3-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.crm3-stat{background:#fffdf8;border:1px solid #e8e0d0;border-radius:10px;padding:10px 12px;text-align:center}
.crm3-stat-val{font-size:18px;font-weight:700;color:#1c2f4a}
.crm3-stat-label{font-size:10px;color:#6b5d4f;text-transform:uppercase;letter-spacing:.03em;margin-top:2px}

/* Timeline */
.crm3-timeline{position:relative;padding-left:24px}
.crm3-timeline::before{content:'';position:absolute;left:8px;top:4px;bottom:4px;width:2px;background:#e8e0d0;border-radius:1px}
.crm3-tl-item{position:relative;padding:8px 0 14px;font-size:12px}
.crm3-tl-dot{position:absolute;left:-20px;top:10px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #e8e0d0}
.crm3-tl-dot.t-lead{background:#d97706}
.crm3-tl-dot.t-orc{background:#2563eb}
.crm3-tl-dot.t-os{background:#16a34a}
.crm3-tl-dot.t-cont{background:#7c3aed}
.crm3-tl-dot.t-pgto{background:#cda56b}
.crm3-tl-date{font-size:10px;color:#8a7a6a;margin-bottom:2px}
.crm3-tl-title{font-weight:600;color:#1c2f4a}
.crm3-tl-meta{color:#6b5d4f;margin-top:1px}
.crm3-tl-badge{display:inline-block;font-size:9px;font-weight:600;padding:1px 6px;border-radius:999px;vertical-align:1px;margin-left:4px}
.crm3-tl-badge.b-lead{background:#fef3c7;color:#92400e}
.crm3-tl-badge.b-orc{background:#dbeafe;color:#1e40af}
.crm3-tl-badge.b-os{background:#d1fae5;color:#065f46}
.crm3-tl-badge.b-cont{background:#ede9fe;color:#5b21b6}
.crm3-tl-badge.b-pgto{background:#fef3c7;color:#78350f}

/* Sections */
.crm3-section{background:#fffdf8;border:1px solid #e8e0d0;border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px rgba(28,47,74,.03)}
.crm3-section h3{font-size:14px;font-weight:600;color:#1c2f4a;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #f0ebe0;display:flex;align-items:center;gap:6px}
.crm3-section h3 .cnt{font-size:11px;background:#1c2f4a;color:#fff;padding:1px 7px;border-radius:999px;font-weight:600}


:root{
  --dv-azul:#1c2f4a;--dv-dourado:#cda56b;--dv-creme:#f5f2ec;
  --dv-creme-card:#fffdf8;--dv-borda:#e8e0d0;
  --azul:var(--dv-azul);--dourado:var(--dv-dourado);
}

