  :root{
    --verde:#1B4332; --escuro:#123026; --folha:#52B788; --dourado:#B08D57;
    --offwhite:#F8F7F2; --grafite:#2D3436; --borda:#E4E2DA;
    --vermelho:#B23A3A; --vermelho-bg:#F7E9E7; --branco:#FFFFFF; --cinza:#8A8A82;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
       background:var(--offwhite);color:var(--grafite);line-height:1.5}
  button{font-family:inherit;cursor:pointer;border:none}
  input,select,textarea{font-family:inherit;font-size:14px;width:100%;
       padding:10px 12px;border:1px solid var(--borda);border-radius:8px;
       background:var(--branco);color:var(--grafite)}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--folha)}
  input:disabled,select:disabled,textarea:disabled,input[readonly],textarea[readonly]{background:var(--offwhite);color:var(--grafite);cursor:not-allowed}
  select optgroup{font-weight:700;color:var(--verde)}
  select option{font-weight:400;color:var(--grafite)}
  label{font-size:12px;color:var(--cinza);display:block;margin-bottom:4px}
  .campo{margin-bottom:14px}
  textarea{resize:vertical;overflow:hidden;line-height:1.45}
  textarea.auto{min-height:46px}
  .btn{background:var(--verde);color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500}
  .btn:hover{background:var(--escuro)}
  .btn-sec{background:transparent;color:var(--verde);border:1px solid var(--borda)}
  .btn-sec:hover{background:#fff}
  .btn-cinza{background:var(--cinza)}
  .btn-cinza:hover{background:var(--grafite)}
  .link-acao{background:none;color:var(--cinza);font-size:12px;text-decoration:underline;padding:4px 6px}
  .link-acao:hover{color:var(--verde)}
  .link-acao.perigo{color:var(--vermelho)}
  .link-acao.perigo:hover{opacity:.75}
  .oculto{display:none !important}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
  .grid4{display:grid;grid-template-columns:repeat(4,max-content);gap:10px}
  .grid4 .campo select,.grid4 .campo input{width:auto;min-width:110px}

  /* ---------- LOGIN ---------- */
  #login,#esqueciSenha,#recuperarSenha{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
  .login-card{background:#fff;border:1px solid var(--borda);border-radius:16px;
       padding:36px 32px;width:100%;max-width:390px;box-shadow:0 8px 30px rgba(27,67,50,.06)}
  .logo-login{display:block;margin:0 auto 18px;max-width:220px;height:auto}
  .login-card p{font-size:13px;color:var(--cinza);margin-bottom:24px;text-align:center}
  .erro{font-size:12px;font-weight:500}
  .erro:not(:empty){background:var(--vermelho);color:#fff;padding:9px 14px;border-radius:8px;margin-top:10px;display:inline-block}

  /* ---------- HEADER + NAV ---------- */
  header{background:var(--verde);color:#fff;padding:10px 22px;
       display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:45}
  header .marca{display:flex;align-items:center;gap:14px;flex-shrink:0}
  .logo-chip{background:#fff;border-radius:12px;padding:6px 10px;display:flex;align-items:center;height:52px}
  .logo-chip img{height:38px;width:auto;display:block}
  .wordmark b{display:block;font-size:17px;font-weight:600;letter-spacing:.02em;line-height:1.15}
  .wordmark small{display:block;font-size:10px;color:#9FC6B0;letter-spacing:.16em;text-transform:uppercase;margin-top:3px}
  header .dir{display:flex;align-items:center;gap:14px;font-size:13px;flex-shrink:0;margin-left:auto}

  nav{display:flex;gap:4px;overflow-x:auto;flex:1;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav button{background:none;color:#9FC6B0;padding:8px 14px;font-size:11px;
       display:flex;flex-direction:column;align-items:center;gap:4px;
       white-space:nowrap;border-radius:10px;border-bottom:2px solid transparent}
  nav button svg{flex-shrink:0}
  nav button:hover{color:#fff}
  nav button.ativo{background:rgba(255,255,255,.09);color:var(--dourado);border-bottom-color:var(--dourado)}

  .nav-dropdown{position:relative;flex-shrink:0}
  .nav-dropdown-lista{position:absolute;top:100%;left:0;margin-top:6px;background:#fff;border:1px solid var(--borda);
       border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);padding:6px;z-index:60;min-width:170px}
  .nav-dropdown-lista button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;
       padding:8px 10px;font-size:13px;border-radius:6px;color:var(--grafite)}
  .nav-dropdown-lista button:hover{background:var(--verde);color:#fff}
  .nav-dropdown-lista button svg{flex-shrink:0;color:var(--verde)}
  .nav-dropdown-lista button:hover svg{color:#fff}

  .menu-usuario{position:relative}
  .usuario-btn{background:none;color:#fff;display:flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;
       border-radius:24px}
  .usuario-btn:hover{background:rgba(255,255,255,.08)}
  .avatar-usuario{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
       background:var(--folha);color:#fff;font-size:14px;font-weight:600;flex-shrink:0}
  .avatar-usuario-img{width:36px;height:36px;border-radius:50%;object-fit:cover;display:block;flex-shrink:0}
  .menu-usuario-lista{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--borda);
       border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);padding:6px;z-index:60;min-width:140px}
  .menu-usuario-lista button{display:block;width:100%;text-align:left;background:none;padding:8px 10px;
       font-size:13px;border-radius:6px;color:var(--grafite)}
  .menu-usuario-lista button:hover{background:var(--offwhite)}

  main{max-width:760px;margin:0 auto;padding:24px 18px 60px}

  /* ---------- HOJE ---------- */
  .topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .topo h2{font-size:22px;font-weight:500}
  .data{font-size:13px;color:var(--cinza)}
  .acoes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
  .filtro{display:inline-flex;background:#fff;border:1px solid var(--borda);border-radius:8px;overflow:hidden}
  .filtro button{background:#fff;padding:7px 14px;font-size:13px;color:var(--cinza)}
  .filtro button.ativo{background:var(--verde);color:#fff}
  .filtro select{background:#fff;border:none;border-radius:0;padding:7px 14px;font-size:13px;color:var(--cinza);width:auto}
  .filtro select:focus{outline:none}
  .periodo-verde{background:#EAF4EE;border-color:#EAF4EE}
  .periodo-verde select{background:#EAF4EE;color:#2C7A52;font-weight:500}
  #filtro button.ativo{background:var(--verde);color:#fff}
  .metricas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
  .metrica{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:12px}
  .metrica.alerta{background:var(--vermelho-bg);border-color:#EBD3CF}
  .metrica .lab{font-size:12px;color:var(--cinza)}
  .metrica.alerta .lab{color:var(--vermelho)}
  .metrica .num{font-size:24px;font-weight:500}
  .metrica.alerta .num{color:var(--vermelho)}
  .badge{font-size:12px;padding:3px 8px;border-radius:6px;white-space:nowrap;background:var(--offwhite);color:var(--cinza)}
  .badge.alerta{background:var(--vermelho-bg);color:var(--vermelho)}
  .badge.olho{background:#EAF4EE;color:#2C7A52;margin-left:6px}
  .botoes{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
  .btn-duv{background:#fff;color:var(--verde);border:1px solid var(--borda);
       padding:7px 12px;font-size:13px;border-radius:8px;position:relative}
  .btn-duv:hover{background:var(--offwhite)}
  .btn-duv .pin{position:absolute;top:-6px;right:-6px;background:var(--dourado);color:#fff;
       font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}
  #toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
    background:var(--verde);color:#fff;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;
    box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:9999;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw;text-align:center}
  #toast.toast-show{opacity:1;transform:translateX(-50%) translateY(0)}
  #toast.toast-erro{background:var(--vermelho)}
  .toast-oculto{opacity:0 !important;transform:translateX(-50%) translateY(20px) !important}
  .vazio{text-align:center;color:var(--cinza);font-size:14px;padding:40px 0}
  .construcao-cliente{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}
  .construcao-cliente h2{font-size:22px;font-weight:700;color:var(--grafite);margin:0}
  .card-recolhe.fechado .corpo-recolhe{display:none}
  .card-recolhe .seta-exp{margin-right:6px}
  .card-recolhe.fechado .seta-exp{transform:rotate(0deg)}
  .card-recolhe:not(.fechado) .seta-exp{transform:rotate(90deg)}
  .cli-hoje{background:#fff;border:1px solid var(--borda);border-radius:12px;margin-bottom:10px;overflow:hidden}
  .cli-hoje .cab{display:flex;justify-content:space-between;align-items:center;
       gap:10px;padding:13px 16px;cursor:pointer;flex-wrap:wrap}
  .cli-hoje .cab:hover{background:var(--offwhite)}
  .cli-hoje .nome{font-size:15px;font-weight:500;display:flex;align-items:center}
  .cli-hoje .selos{display:flex;gap:6px;flex-wrap:wrap}
  .cli-hoje .itens{padding:2px 12px 12px}
  .cli-hoje.fechado .itens{display:none}
  .cli-hoje.fechado .seta-exp{transform:rotate(0deg)}
  .cli-hoje:not(.fechado) .seta-exp{transform:rotate(90deg)}
  .seta-exp{color:var(--cinza);font-size:10px;margin-right:8px;display:inline-block;transition:transform .15s}
  .seta-exp.aberta{transform:rotate(90deg)}

  /* ---------- CLIENTES ---------- */
  .busca{margin-bottom:14px}
  .busca-fin{display:flex;gap:10px;align-items:center;margin-bottom:14px}
  .busca-fin input{flex:1;width:auto}
  .busca-fin .filtro{flex-shrink:0}
  .status{font-size:11px;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}
  .status.ativo{background:#EAF4EE;color:#2C7A52}
  .status.prospecto{background:#F3ECDD;color:#8A6D3B}
  .status.inativo{background:#EDEBE4;color:#7A756B}
  .status.concluido{background:#EAF4EE;color:#2C7A52}
  .status.suspenso{background:var(--vermelho-bg);color:var(--vermelho)}
  .status.cancelado{background:var(--cinza);color:#E8E6DE}

  /* ---------- CONTRATOS & PROSPECÇÕES ---------- */
  .status.andamento{background:#FBF3E2;color:#8A6D3B}
  .status.atencao{background:#FBF3E2;color:#8A6D3B}
  .status.aberto{background:var(--vermelho-bg);color:var(--vermelho)}

  .ctr-topo-abas{display:flex;gap:28px;overflow-x:auto}
  .ctr-topo-abas button{background:none;padding:6px 0;font-size:14px;color:var(--cinza);
       border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px;white-space:nowrap}
  .ctr-topo-abas button.ativo{color:var(--grafite);border-bottom-color:var(--verde);font-weight:600}
  .ctr-contagem{background:var(--offwhite);color:var(--cinza);font-size:12px;font-weight:600;padding:1px 9px;border-radius:20px}
  .ctr-topo-abas button.ativo .ctr-contagem{background:#EAF4EE;color:#2C7A52}

  .ctr-select{appearance:none;-webkit-appearance:none;width:auto;background:#fff;
       border:1px solid var(--borda);border-radius:8px;padding:9px 30px 9px 14px;font-size:13px;color:var(--grafite);
       cursor:pointer;
       background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%238A8A82' stroke-width='1.4' fill='none'/></svg>");
       background-repeat:no-repeat;background-position:right 12px center}

  .tabela-contratos-wrap{overflow-x:auto;border:1px solid var(--borda);border-radius:12px;background:#fff}
  .tabela-contratos{width:100%;border-collapse:collapse;min-width:1000px}
  .tabela-contratos th{background:var(--offwhite);text-align:left;font-size:11px;color:var(--cinza);text-transform:uppercase;letter-spacing:.04em;
       padding:10px 14px;border-bottom:1px solid var(--borda);white-space:nowrap;position:relative}
  .tabela-contratos td{padding:10px 14px;border-bottom:1px solid var(--borda);vertical-align:middle;font-size:12px;font-weight:500;white-space:nowrap}
  .tabela-contratos tbody tr:hover{background:var(--offwhite)}
  .tabela-contratos tbody tr:last-child td{border-bottom:none}
  .ctr-resp{display:flex;align-items:center;gap:8px}
  .ctr-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
       color:#fff;font-size:11px;font-weight:600;flex-shrink:0}
  .ctr-demandas-tem{color:var(--vermelho);font-weight:500}
  .ctr-fin{display:flex;align-items:center;gap:7px}
  .ctr-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
  .ctr-dot.verde{background:#2C7A52}
  .ctr-dot.dourado{background:#8A6D3B}
  .ctr-dot.cinza{background:var(--cinza)}
  .ctr-dot.azul{background:#5DADE2}

  .ctr-paginacao{display:flex;justify-content:space-between;align-items:center;gap:14px;
       margin:14px 0 30px;font-size:13px;color:var(--cinza);flex-wrap:wrap}
  .ctr-pag-num{display:flex;gap:4px;align-items:center}
  .ctr-pag-num button{min-width:30px;height:30px;border:1px solid var(--borda);border-radius:6px;
       background:#fff;font-size:13px;color:var(--grafite)}
  .ctr-pag-num button.ativo{background:var(--verde);color:#fff;border-color:var(--verde)}
  .ctr-pag-num button:disabled{opacity:.4;cursor:default}
  .ctr-linhas-pag{display:flex;align-items:center;gap:8px}
  .ctr-linhas-pag select{width:auto;padding:5px 26px 5px 10px;font-size:13px}

  .detalhe-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
  .detalhe-cab h3{font-size:17px;color:var(--verde);margin-bottom:0}
  .detalhe-sub{font-size:13px;color:var(--cinza);margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

  .menu-kebab{position:relative;flex-shrink:0}
  .menu-kebab-lista{position:absolute;top:100%;right:0;margin-top:6px;background:#fff;border:1px solid var(--borda);
       border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);padding:6px;z-index:60;min-width:160px}
  .menu-kebab-lista button{display:block;width:100%;text-align:left;background:none;padding:8px 10px;
       font-size:13px;border-radius:6px;color:var(--grafite)}
  .menu-kebab-lista button:hover{background:var(--offwhite)}
  .menu-kebab-lista button.perigo{color:var(--vermelho)}

  .info-cols{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px}
  .info-cols .col .lab{font-size:11px;color:var(--cinza);margin-bottom:5px}
  .info-cols .col .val{font-size:11px;font-weight:500;display:flex;align-items:center;gap:8px}
  .info-cols.info-cols-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}

  .ctr-acoes-quadradas{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
  .acao-quadrada{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid var(--borda);
       border-radius:10px;padding:10px 12px;background:#fff;font-size:11px;color:var(--grafite);min-width:60px}
  .acao-quadrada:hover{border-color:var(--folha);background:var(--offwhite)}
  .acao-quadrada.ativo{border-color:var(--verde);background:#EAF4EE;color:var(--verde)}
  .acao-quadrada svg{width:16px;height:16px}
  .card-esq .ctr-acoes-quadradas{flex-wrap:nowrap;gap:6px}
  .card-esq .ctr-acoes-quadradas .acao-quadrada{flex:1 1 0;min-width:0;padding:8px 4px;font-size:10.5px;text-align:center}
  .card-esq .ctr-acoes-quadradas.ctr-acoes-4col{display:grid;grid-template-columns:repeat(4,1fr)}
  .card-esq .ctr-acoes-quadradas.ctr-acoes-4col .acao-quadrada{flex:none}

  .detalhe-abas{display:flex;gap:20px;border-bottom:1px solid var(--borda);margin-bottom:14px;overflow-x:auto}
  .detalhe-abas button{display:flex;align-items:center;gap:6px;background:none;padding:0 0 10px;font-size:13px;color:var(--cinza);
       border-bottom:2px solid transparent;white-space:nowrap}
  .detalhe-abas button svg{width:14px;height:14px;flex-shrink:0}
  .detalhe-abas button.ativo{color:var(--grafite);border-bottom-color:var(--verde);font-weight:600}

  .demanda-linha{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--borda);cursor:pointer}
  .demanda-linha:first-of-type{border-top:none}
  .demanda-linha:hover .tit{text-decoration:underline}
  .demanda-linha .pt-status{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0}
  .demanda-linha .pt-status.ativo{background:var(--folha)}
  .demanda-linha .pt-status.criado{background:var(--dourado)}
  .demanda-linha .pt-status.andamento{background:#8A6D3B}
  .demanda-linha .pt-status.concluido{background:#2C7A52}
  .demanda-linha .pt-status.suspenso{background:var(--cinza)}
  .demanda-linha .pt-status.cancelado{background:var(--cinza)}
  .demanda-linha .pt-status.excluido{background:var(--vermelho)}
  .demanda-linha .pt-status.vencido{background:var(--vermelho)}
  .demanda-linha .corpo{flex:1;min-width:0}
  .demanda-linha .linha-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
  .demanda-linha .tit{font-size:13px;font-weight:500}
  .demanda-linha .meta{font-size:12px;color:var(--cinza);margin-top:3px}

  .igam-resumo-card{padding:8px 14px}
  .igam-resumo-linha{font-size:13px;font-weight:600;color:var(--grafite);line-height:1.3}
  .igam-resumo-linha b{font-size:16px;font-weight:700;margin-right:5px}
  .igam-resumo-sub{font-size:10.5px;color:var(--cinza);margin-top:1px}
  .resumo-box{background:var(--offwhite);border-radius:10px;padding:12px 14px;margin-bottom:14px}
  .resumo-box .titulo{font-size:12px;font-weight:600;color:var(--dourado);text-transform:uppercase;
       letter-spacing:.08em;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--borda)}
  .resumo-box .linha{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:4px 0}
  .resumo-box .linha .pt{display:flex;align-items:center;gap:8px}
  .resumo-grid{display:grid;grid-template-columns:1fr repeat(3,minmax(64px,1fr));align-items:center;row-gap:6px}
  .resumo-grid.resumo-grid-2col{grid-template-columns:1fr repeat(2,minmax(64px,1fr))}
  .resumo-grid .cab{font-size:11px;font-weight:600;color:var(--cinza);text-align:center}
  .resumo-grid .lab-linha{display:flex;align-items:center;gap:8px;font-size:13px}
  .resumo-grid .lab-linha.ativo{font-weight:700;color:var(--verde);text-decoration:underline}
  .resumo-grid .num{font-size:13px;font-weight:600;text-align:center;color:var(--grafite)}

  .prazo-linha{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:500;padding:7px 0;border-top:1px solid var(--borda)}
  /* :first-of-type não pega aqui porque o ".titulo" logo acima também é uma <div> — como ambos
     compartilham a mesma tag, o primeiro ".prazo-linha" é sempre o 2º <div> do grupo, nunca o 1º.
     Por isso a dupla linha (borda do .titulo + borda deste elemento) só some mirando o par exato. */
  .titulo + .prazo-linha{border-top:none}
  .prazo-linha .data{font-size:11px;color:var(--vermelho);font-weight:400;white-space:nowrap}


  /* ---------- TABELAS ---------- */
  .tabela-wrap{overflow-x:auto;border:1px solid var(--borda);border-radius:12px;background:#fff}
  .tabela-forn{width:100%;border-collapse:collapse;min-width:1100px}
  .tabela-forn th{background:var(--offwhite);color:var(--cinza);font-weight:600;font-size:11px;
       text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 12px;
       border-bottom:1px solid var(--borda);white-space:nowrap;position:relative}
  .filtro-col-wrap{position:relative;display:inline-flex;align-items:center;gap:3px}
  .filtro-col-btn{background:none;border:none;color:var(--cinza);cursor:pointer;padding:4px;
       border-radius:5px;display:inline-flex;align-items:center;justify-content:center}
  .filtro-col-btn svg{display:block}
  .filtro-col-btn:hover{background:var(--offwhite);color:var(--folha)}
  .filtro-col-btn.ativo{color:var(--folha);background:#EAF4EE}
  .filtro-col-btn.busca-toggle{color:var(--vermelho)}
  .filtro-col-btn.busca-toggle:hover{color:var(--vermelho);background:var(--vermelho-bg)}
  .filtro-col-btn.busca-toggle.ativo{color:var(--verde);background:#EAF4EE}
  .filtro-col-menu{position:absolute;top:100%;left:0;margin-top:6px;background:#fff;
       border:1px solid var(--borda);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);
       padding:8px;z-index:60;min-width:170px;max-height:220px;overflow-y:auto;
       text-transform:none;letter-spacing:normal;font-weight:400}
  .filtro-col-menu-flutuante{margin-top:0}
  .filtro-col-menu label{display:flex;align-items:center;gap:7px;padding:5px 4px;margin:0;
       cursor:pointer;white-space:nowrap;font-size:13px;color:var(--grafite)}
  .filtro-col-menu label input{width:auto;padding:0}
  .filtro-col-menu .limpar{display:block;margin-top:4px;padding-top:6px;border-top:1px solid var(--borda);
       font-size:12px;color:var(--folha);cursor:pointer;text-align:center}
  .filtro-checklist{max-height:210px;overflow-y:auto;border:1px solid var(--borda);border-radius:8px;padding:4px 10px}
  .filtro-checklist label{display:flex;align-items:center;gap:7px;padding:5px 0;margin:0;
       cursor:pointer;font-size:12px;font-weight:500;color:var(--grafite)}
  .filtro-checklist label input{width:auto;padding:0;flex-shrink:0}
  .tabela-forn td{padding:10px 12px;border-bottom:1px solid var(--borda);white-space:nowrap;font-size:12px;font-weight:500}
  .tabela-anexos-compacta{min-width:0}
  .tabela-anexos-compacta th{padding:6px 12px}
  .tabela-anexos-compacta td{padding:4px 12px}
  .tabela-anexos-compacta .chip{padding:2px 8px;margin:0}
  .toggle-pag{display:inline-block;width:34px;height:18px;border-radius:20px;position:relative;
       vertical-align:middle;background:#D8D8D0;transition:background .15s}
  .toggle-pag .toggle-bolinha{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
       background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
  .toggle-pag.pago{background:var(--folha);cursor:default}
  .toggle-pag.pago .toggle-bolinha{left:18px}
  .toggle-pag.atrasado{background:var(--vermelho);cursor:pointer}
  .toggle-pag.pendente{cursor:pointer}
  .toggle-pag.agendado{background:var(--dourado);cursor:default}
  .toggle-pag.agendado .toggle-bolinha{left:18px}
  .toggle-pag.cancelado{background:var(--cinza);cursor:default}
  .toggle-pag.cancelado .toggle-bolinha{left:18px}
  .tabela-forn tbody tr:last-child td{border-bottom:none}
  .tabela-forn tbody tr:hover{background:var(--offwhite)}
  .tabela-forn tbody tr.pc-linha-1:hover{background:var(--verde)}
  .tabela-forn tbody tr.pc-linha-2:hover{background:#EAF4EE}

  /* ---------- IGAM: acompanhamento ---------- */
  .igam-acomp-wrap{max-height:65vh;overflow:auto;border:1px solid var(--borda);border-radius:12px}
  .tabela-igam{min-width:1200px;table-layout:fixed}
  .tabela-igam td{font-size:11px;font-weight:500;padding:5px 10px;white-space:normal}
  .tabela-igam th{white-space:normal;line-height:1.25;vertical-align:bottom;padding:6px 10px}
  .tabela-igam thead th{position:sticky;top:0;z-index:3}
  .tabela-igam input{font-size:12px;padding:4px 6px}
  .tabela-igam .filtro-col-btn{padding:2px}
  .tabela-igam .filtro-col-btn svg{width:10px;height:10px}
  .tabela-igam th:nth-child(1),.tabela-igam td:nth-child(1){width:96px}
  .tabela-igam th:nth-child(2),.tabela-igam td:nth-child(2){width:88px}
  .tabela-igam th:nth-child(3),.tabela-igam td:nth-child(3){width:128px}
  .tabela-igam th:nth-child(4),.tabela-igam td:nth-child(4){width:142px}
  .tabela-igam th:nth-child(5),.tabela-igam td:nth-child(5){width:136px}
  .tabela-igam th:nth-child(6),.tabela-igam td:nth-child(6){width:148px}
  .tabela-igam th:nth-child(7),.tabela-igam td:nth-child(7){width:133px}
  .tabela-igam th:nth-child(8),.tabela-igam td:nth-child(8){width:106px}
  .tabela-igam th:nth-child(9),.tabela-igam td:nth-child(9){width:auto}

  /* ---------- SIMULADOR KM ---------- */
  .kmsim-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:20px;align-items:start}
  @media (max-width:920px){ .kmsim-grid{grid-template-columns:1fr} }

  .kmsim-card{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(27,67,50,.05)}
  .kmsim-card-titulo{font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
       color:var(--grafite);margin:0 0 4px;display:flex;align-items:center;gap:8px}
  .kmsim-idx{color:var(--dourado)}
  .kmsim-card-sub{color:var(--cinza);font-size:12px;margin:0 0 18px}

  .kmsim-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
  @media (max-width:520px){ .kmsim-field-grid{grid-template-columns:1fr} }
  .kmsim-field{border-top:1px solid var(--borda);padding-top:12px}

  .kmsim-input-row{display:flex;align-items:center;background:#fff;border:1px solid var(--borda);
       border-radius:8px;overflow:hidden;transition:border-color .15s}
  .kmsim-input-row:focus-within{border-color:var(--folha)}
  .kmsim-input-row .kmsim-prefix,.kmsim-input-row .kmsim-suffix{
       padding:9px 10px;font-size:12px;color:var(--cinza);white-space:nowrap}
  .kmsim-input-row input{width:100%;background:transparent;border:none;outline:none;color:var(--grafite);
       font-size:13px;font-weight:500;padding:9px 4px;text-align:right}

  .kmsim-pct-row{display:flex;align-items:stretch;gap:10px}
  .kmsim-pct-input{flex:0 0 88px}
  .kmsim-pct-input input{text-align:center;padding:9px 2px}
  .kmsim-computed-row{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;
       background:var(--offwhite);border:1px solid var(--borda);border-radius:8px;padding:9px 12px;
       font-size:13px;font-weight:500;color:var(--verde);white-space:nowrap;overflow:hidden}
  .kmsim-computed-row small{color:var(--cinza);font-size:11px;font-weight:500}

  .kmsim-ref{font-size:11px;color:var(--cinza);margin-top:6px}
  .kmsim-ref span{color:var(--grafite);font-weight:500}
  .kmsim-ref button{background:none;border:none;color:var(--verde);font-size:11px;font-weight:600;
       cursor:pointer;text-decoration:underline;padding:0;margin-left:4px}
  .kmsim-ref button:hover{color:var(--escuro)}
  .kmsim-ref a{color:var(--verde)}

  .kmsim-nota{margin-top:16px;padding:12px 14px;background:var(--offwhite);border:1px solid var(--borda);
       border-radius:8px;font-size:12px;color:var(--cinza);line-height:1.55}
  .kmsim-nota b{color:var(--grafite)}
  .kmsim-valdest{color:var(--verde);font-weight:600}

  .kmsim-result-panel{position:sticky;top:20px}
  .kmsim-readout{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:24px;
       text-align:center;box-shadow:0 1px 2px rgba(27,67,50,.05)}
  .kmsim-readout-lab{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);
       margin-bottom:10px;font-weight:600}
  .kmsim-readout-big{font-weight:700;font-size:34px;color:var(--verde);letter-spacing:-.01em}
  .kmsim-readout-big small{font-size:15px;color:var(--cinza);font-weight:500}
  .kmsim-readout-sub{font-size:12px;color:var(--cinza);margin-top:8px}

  .kmsim-bar-track{height:6px;background:var(--offwhite);border-radius:3px;overflow:hidden;display:flex;margin:16px 0 4px}
  .kmsim-bar-seg{height:100%}

  .kmsim-breakdown{margin-top:14px;text-align:left}
  .kmsim-breakdown-row{display:grid;grid-template-columns:1fr 92px 34px;align-items:center;gap:10px;
       padding:8px 0;border-bottom:1px solid var(--borda);font-size:12px;font-weight:500}
  .kmsim-breakdown-row:last-child{border-bottom:none}
  .kmsim-nome{color:var(--grafite);display:flex;align-items:center;gap:8px;min-width:0;
       overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kmsim-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
  .kmsim-valor{color:var(--grafite);font-weight:600;text-align:right}
  .kmsim-pct{color:var(--cinza);font-size:11px;text-align:right}

  .kmsim-final-price{margin-top:16px;background:#fff;border:1px solid var(--dourado);border-radius:10px;
       padding:16px;text-align:center;box-shadow:0 1px 2px rgba(27,67,50,.05)}
  .kmsim-final-lab{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza);font-weight:600}
  .kmsim-final-valor{font-weight:700;font-size:22px;color:var(--grafite);margin-top:4px}

  .kmsim-annual-est{display:flex;justify-content:space-between;font-size:12px;color:var(--cinza);
       margin-top:12px;padding-top:12px;border-top:1px solid var(--borda)}
  .kmsim-annual-est span:last-child{color:var(--grafite);font-weight:600}

  .kmsim-footer{text-align:center;color:var(--cinza);font-size:11px;margin-top:28px}

  .btn-olho{background:none;border:1px solid var(--borda);border-radius:6px;width:30px;height:30px;
       font-size:14px;cursor:pointer;line-height:1}
  .btn-olho:hover{border-color:var(--folha);background:#EAF4EE}
  .btn-olho-toggle{background:var(--offwhite);border:1px solid var(--borda);border-radius:8px;width:30px;height:30px;
       display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--cinza);flex-shrink:0;text-transform:none}
  .btn-olho-toggle:hover{border-color:var(--folha);color:var(--folha)}
  .btn-olho-toggle.ativo{background:var(--verde);border-color:var(--verde);color:#fff}
  .btn-olho-toggle.ativo:hover{background:var(--escuro);border-color:var(--escuro)}
  .btn-olho-toggle svg{width:16px;height:16px}
  .btn-perigo{background:var(--vermelho);color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500}
  /* .btn-peq vem depois de .btn/.btn-sec/.btn-perigo de propósito, pra sempre vencer o
     padding/font-size deles quando combinada (ex: class="btn-perigo btn-peq") */
  .btn-peq{padding:7px 12px;font-size:13px}
  .btn-perigo:hover{background:#8f2d2d}
  main.larga{max-width:1400px}
  main.cheia{max-width:100%;padding:0}
  main.topo-compacto{padding-top:5px}
  main.topo-painel{padding-top:22px}

  /* ---------- MODAL ---------- */
  .overlay{position:fixed;left:0;right:0;bottom:0;top:73px;background:rgba(45,52,54,.45);
       display:flex;align-items:flex-start;justify-content:center;padding:16px 16px 30px;overflow-y:auto;z-index:50}
  .modal{background:#fff;border-radius:16px;width:100%;max-width:760px;padding:28px 30px;
       box-shadow:0 20px 60px rgba(0,0,0,.2);cursor:grab}
  .modal.modal-compacto{width:auto;max-width:min(92vw,520px)}
  .modal.arrastando{cursor:grabbing;user-select:none;box-shadow:0 24px 70px rgba(0,0,0,.3)}
  .modal.flutuante{max-height:calc(100vh - 40px);overflow-y:auto}
  .pagina-fechar-x{background:none;border:none;color:var(--cinza);cursor:pointer;font-size:16px;
       line-height:1;padding:6px;border-radius:6px}
  .pagina-fechar-x:hover{background:var(--offwhite);color:var(--grafite)}
  .contrato-2cards{display:grid;grid-template-columns:30% 70%;position:relative;background:var(--offwhite);
       height:calc(100vh - 73px);overflow:hidden}
  .contrato-2cards>div{padding:14px 30px 28px;overflow-y:auto;max-height:100%}
  .fin-linha-corpo{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .fin-linha-direita{display:grid;grid-template-columns:100px 100px 90px;gap:16px;align-items:center;justify-items:end;flex-shrink:0}
  .contrato-2cards .card-esq{border-right:1px solid var(--borda)}
  #modalCardDireito h3,#modalCardEsquerdo h3{font-size:18px;color:var(--verde);margin-bottom:4px}
  #orcCardEsq h3{font-size:18px;color:var(--verde);margin-bottom:0}
  #modalCardDireito .sub,#modalCardEsquerdo .sub{font-size:13px;color:var(--cinza);margin-bottom:20px}
  .modal input,.modal textarea,.modal select{cursor:auto}
  .modal button,.modal a{cursor:pointer}
  .modal h3{font-size:18px;color:var(--verde);margin-bottom:4px;cursor:grab}
  .modal .sub{font-size:13px;color:var(--cinza);margin-bottom:20px}
  .modal-rodape{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
  .pagina-cartao{width:100%}
  .pagina-cartao .sub{font-size:13px;color:var(--cinza);margin-bottom:20px}
  #orcFormConteudo label{font-size:12px}
  #orcFormConteudo input,#orcFormConteudo select,#orcFormConteudo textarea{font-size:12px;font-weight:500}
  #psFormConteudo input,#psFormConteudo select,#psFormConteudo textarea{font-size:12px;font-weight:500}
  #epFormConteudo input,#epFormConteudo select,#epFormConteudo textarea{font-size:12px;font-weight:500}
  #ecFormConteudo input,#ecFormConteudo select,#ecFormConteudo textarea{font-size:12px;font-weight:500}
  #agFormConteudo input,#agFormConteudo select,#agFormConteudo textarea{font-size:12px;font-weight:500}
  .check{display:flex;align-items:center;gap:8px}
  .check input{width:auto}
  .check label{margin:0;color:var(--grafite);font-size:14px}
  .olho-btn{background:none;border:1px solid var(--borda);border-radius:6px;padding:4px 6px;margin-top:6px;cursor:pointer;font-size:14px;line-height:1;opacity:.55}
  .olho-btn.on{opacity:1;border-color:var(--folha);background:#EAF4EE}
  .add-link{background:none;color:var(--verde);font-size:13px;text-decoration:underline;padding:4px 0}
  .nota-interna textarea{background:#FBF3E2;border-color:#E4CE9E}
  .nota-interna label{color:#8A6D3B}
  .nota-aviso{font-size:12px;color:#8A6D3B;margin-top:4px}
  .sec-form{font-size:12px;font-weight:600;color:var(--dourado);text-transform:uppercase;
       letter-spacing:.08em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--borda)}
  .sec-form-sem-linha{margin:18px 0 8px;padding-bottom:0;border-bottom:none}

  .sec-form-abas{display:flex;gap:22px;margin:18px 0 16px;padding-bottom:0;border-bottom:1px solid var(--borda);overflow-x:auto}
  #orcCardDir .sec-form-abas{margin-top:0}
  #orcCardDir select:disabled{-webkit-appearance:none;appearance:none}
  .sec-form-tab{display:inline-flex;align-items:center;gap:6px;background:none;font-size:12px;font-weight:600;color:var(--cinza);text-transform:uppercase;
       letter-spacing:.08em;padding:0 0 9px;border-bottom:2px solid transparent;white-space:nowrap}
  .sec-form-tab.ativo{color:var(--dourado);border-bottom-color:var(--dourado)}
  .sec-form-abas.abas-verde .sec-form-tab{color:var(--dourado)}
  .sec-form-abas.abas-verde .sec-form-tab.ativo{color:var(--verde);border-bottom-color:var(--verde)}
  .sec-form-abas.abas-verde .sec-form-tab.ativo .ctr-contagem{background:#EAF4EE;color:#2C7A52}
  .secao-form{margin-bottom:4px}

  .busca-cliente-wrap{position:relative}
  .busca-cliente-lista{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;
       border:1px solid var(--borda);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);
       max-height:220px;overflow-y:auto;z-index:60}
  .busca-cliente-item{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;
       align-items:center;gap:10px;font-size:12px}
  .busca-cliente-item b{font-weight:500}
  .busca-cliente-item:hover{background:var(--offwhite)}
  .busca-cliente-item span{color:var(--cinza);font-size:12px;font-weight:500;white-space:nowrap}
  .busca-cliente-vazio{padding:12px;color:var(--cinza);font-size:13px;text-align:center}
  .tabela-etapas-orc{width:100%;border-collapse:collapse;margin-bottom:8px}
  .tabela-etapas-orc th{text-align:left;font-size:12px;color:var(--cinza);text-transform:uppercase;
       letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--borda)}
  .tabela-etapas-orc td{padding:9px 10px;border-bottom:1px solid var(--borda);font-size:12px;font-weight:500;vertical-align:middle}
  .tabela-etapas-orc td input,.tabela-etapas-orc td select{padding:6px 8px;font-size:12px;font-weight:500}
  .tabela-etapas-orc tfoot td{font-weight:600;color:var(--grafite);border-bottom:none;padding-top:12px}
  .tabela-etapas-orc .etapa-total{color:var(--verde);font-size:15px;white-space:nowrap}
  .tabela-etapas-orc th:nth-child(2),.tabela-etapas-orc td:nth-child(2){width:130px}
  .tabela-etapas-orc th:nth-child(3),.tabela-etapas-orc td:nth-child(3){width:230px}
  .tabela-etapas-orc th:nth-child(4),.tabela-etapas-orc td:nth-child(4){width:150px}
  .tabela-etapas-orc th:nth-child(5),.tabela-etapas-orc td:nth-child(5){width:80px;text-align:center}
  .tabela-etapas-orc td:nth-child(5) input{text-align:center}
  .tabela-etapas-orc-view th:nth-child(3),.tabela-etapas-orc-view td:nth-child(3){width:1%;white-space:nowrap}
  .tabela-etapas-orc-view th:nth-child(4),.tabela-etapas-orc-view td:nth-child(4){width:170px}
  .tabela-etapas-orc-view th:nth-child(5),.tabela-etapas-orc-view td:nth-child(5){width:150px;text-align:left}
  .tabela-fin-aprov th:nth-child(3),.tabela-fin-aprov td:nth-child(3){width:170px;text-align:left;white-space:normal}
  .tabela-fin-aprov th:nth-child(4),.tabela-fin-aprov td:nth-child(4){width:110px;text-align:left}
  .tabela-fin-aprov th:nth-child(5),.tabela-fin-aprov td:nth-child(5){width:150px;text-align:left}
  .etapa-acoes{white-space:nowrap;width:1%}
  .acao-etapa{background:none;border:none;color:var(--cinza);font-size:15px;padding:2px 6px;cursor:pointer}
  .et-arrastar{display:inline-flex;align-items:center;cursor:grab}
  .et-arrastar:active{cursor:grabbing}
  .et-linha{cursor:default}
  .acao-etapa:hover{color:var(--verde)}
  .acao-etapa.perigo:hover{color:var(--vermelho)}
  .acao-etapa.ativo{color:var(--folha)}
  .acao-etapa.inativo{color:var(--vermelho)}

  /* ---------- DOSSIÊ ---------- */
  .dossie-sec{font-size:13px;font-weight:600;color:var(--cinza);margin:20px 0 10px}
  .tl{border-left:2px solid var(--borda);padding-left:14px;margin-left:4px}
  .tl-meta{font-size:12px;color:var(--cinza);margin-bottom:2px}
  .chip{display:inline-flex;align-items:center;gap:5px;background:var(--offwhite);border:1px solid var(--borda);
       border-radius:8px;padding:5px 10px;font-size:12px;margin:6px 6px 0 0;cursor:pointer;color:var(--verde)}
  .chip:hover{border-color:var(--folha)}
  .passo-linha{display:flex;justify-content:space-between;align-items:center;gap:10px;
       padding:9px 12px;border:1px solid var(--borda);border-radius:8px;margin-bottom:6px;font-size:13px}
  .passo-linha.done{opacity:.7}
  .pc-codigo{color:var(--cinza);font-size:11px;min-width:50px;display:inline-block}
  .pc-linha-1{background:var(--verde);color:#fff;border-color:var(--verde)}
  .pc-linha-1 .pc-codigo{color:rgba(255,255,255,.75)}
  .pc-linha-1 .seta-exp{color:#fff}
  .pc-linha-1 .link-acao{color:#fff}
  .pc-linha-1 .link-acao:hover{color:#fff;opacity:.75}
  .pc-linha-2{background:#EAF4EE;color:#2C7A52;border-color:#EAF4EE}
  .pc-linha-2 .pc-codigo{color:#2C7A52;opacity:.8}
  .pc-linha-2 .seta-exp{color:#2C7A52}
  .pc-linha-2 .link-acao{color:#2C7A52}
  .pc-linha-2 .link-acao:hover{color:#2C7A52;opacity:.75}
  .pend-bloco{border:1px solid var(--borda);border-radius:12px;padding:14px 16px;margin-bottom:12px;background:#fff}
  .pend-bloco.done{background:#FBFAF7}
  .pend-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
  .pend-cab{cursor:pointer;user-select:none}
  .pend-bloco.fechado .pend-corpo{display:none}
  .pend-bloco.fechado .seta-exp{transform:rotate(0deg)}
  .pend-bloco .seta-exp{margin-right:6px}
  .pend-bloco:not(.fechado) .seta-exp{transform:rotate(90deg)}

  /* ---------- ACOMPANHAMENTO VISUAL DE PENDÊNCIAS (Detalhe da Demanda) ---------- */
  .pend-stats{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
  .pend-stats.pend-stats-lateral{flex-direction:column;flex-wrap:nowrap;margin-bottom:0;gap:8px}
  .pend-stats-lateral .pend-stat-card{min-width:0}
  .pend-stat-card{display:flex;align-items:center;gap:10px;border:1px solid var(--borda);border-radius:10px;
       padding:9px 14px;background:#fff;flex:1;min-width:200px;cursor:pointer}
  .pend-stat-card:hover{border-color:var(--folha)}
  .pend-stat-card.ativo{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde)}
  .pend-stat-icone{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pend-stat-icone svg{width:15px;height:15px}
  .pend-stat-card.sit-atrasada .pend-stat-icone{background:var(--vermelho-bg);color:var(--vermelho)}
  .pend-stat-card.sit-hoje .pend-stat-icone{background:#FBF3E2;color:#8A6D3B}
  .pend-stat-card.sit-concluida .pend-stat-icone{background:#EAF4EE;color:#2C7A52}
  .pend-stat-card.sit-prospecto .pend-stat-icone{background:#F3ECDD;color:var(--dourado)}
  .pend-stat-card.sit-neutro .pend-stat-icone{background:#EDEBE4;color:#7A756B}
  .pend-stat-card.sit-info .pend-stat-icone{background:#EAF0F6;color:#3B5B80}
  .pend-stat-num{font-size:18px;font-weight:700;color:var(--grafite);line-height:1.15}
  #finResumoCards .pend-stat-num{font-size:16px}
  .pend-stat-lab{font-size:10.5px;color:var(--cinza);line-height:1.25}
  .pend-stat-valor{font-size:11px;font-weight:600;color:var(--vermelho);line-height:1.3;margin-top:1px}
  .pend-stat-add{display:flex;align-items:center;justify-content:center;width:46px;flex-shrink:0;
       border:1px solid var(--verde);border-radius:10px;background:var(--verde);color:#fff;cursor:pointer}
  .pend-stat-add:hover{background:var(--escuro);border-color:var(--escuro)}
  .pend-stat-add svg{width:18px;height:18px}
  .pend-stat-addbox{display:flex;flex-direction:column;gap:6px;flex-shrink:0;width:42px}
  .pend-stat-addbox button{flex:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;padding:0}
  .pend-stat-addbox .criar{border:1px solid var(--verde);background:var(--verde);color:#fff}
  .pend-stat-addbox .criar:hover{background:var(--escuro);border-color:var(--escuro)}
  .pend-stat-addbox .criar svg{width:16px;height:16px}
  .pend-stat-addbox .filtro{border:1px solid var(--borda);background:#fff;color:var(--cinza)}
  .pend-stat-addbox .filtro:hover{border-color:var(--folha);color:var(--folha)}
  .pend-stat-addbox .filtro.ativo{border-color:var(--verde);color:var(--verde);background:#EAF4EE}
  .pend-stat-addbox .filtro-busca.ativo{border-color:var(--verde);color:#fff;background:var(--verde)}
  .pend-stat-addbox .filtro svg{width:13px;height:13px}
  .pend-stat-addbox-estreito{width:32px}
  .pend-stat-addbox-estreito .criar svg{width:14px;height:14px}
  .pend-stat-addbox-estreito .filtro svg{width:12px;height:12px}

  /* ---------- LEADS (Prospecção) ---------- */
  .leads-kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px}
  .leads-coluna{flex:0 0 260px;display:flex;flex-direction:column;gap:10px}
  .leads-coluna-cab{display:flex;align-items:center;gap:8px;padding:2px 4px}
  .leads-coluna-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
  .leads-coluna-titulo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--grafite)}
  .leads-coluna-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--cinza);background:#fff;
    border:1px solid var(--borda);border-radius:20px;padding:1px 8px}
  .leads-coluna-corpo{display:flex;flex-direction:column;gap:8px}
  .leads-card{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:11px;cursor:pointer;transition:border-color .15s}
  .leads-card:hover{border-color:var(--folha)}
  .leads-card-empresa{font-size:12.5px;font-weight:600;color:var(--grafite);margin-bottom:6px;line-height:1.25}
  .leads-card-necessidade{font-size:11.5px;color:var(--cinza);line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .leads-card-agenda{display:flex;align-items:center;gap:6px;margin-top:8px;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:600}
  .leads-card-agenda svg{width:13px;height:13px;flex-shrink:0}
  .leads-card-rodape{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:8px;border-top:1px solid var(--borda)}
  .leads-card-numero{font-size:10.5px;font-weight:600;color:var(--cinza)}
  .leads-card-tempo{font-size:10.5px;color:var(--cinza)}
  .leads-etapa-tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500}
  .leads-etapas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
  .leads-etapa-btn{display:flex;align-items:center;gap:7px;border:1px solid var(--borda);background:#fff;
    border-radius:20px;padding:6px 12px;font-size:11.5px;font-weight:500;color:var(--grafite);cursor:pointer;font-family:inherit}
  .leads-etapa-btn.atual{border-color:var(--verde);background:#EAF4EE;font-weight:700;color:var(--verde)}
  .leads-notas{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;max-height:220px;overflow-y:auto}
  .leads-nota{background:var(--offwhite);border-radius:8px;padding:8px 10px}
  .leads-nota-cab{display:flex;justify-content:space-between;font-size:10.5px;color:var(--cinza);margin-bottom:3px}
  .leads-nota-cab b{color:var(--grafite);font-weight:600}
  .leads-nota-texto{font-size:12px;color:var(--grafite);line-height:1.4;white-space:pre-wrap}

  .pend-bloco.sit-aberta{border-left:4px solid var(--borda)}
  .pend-bloco.sit-atrasada{border-left:4px solid var(--vermelho)}
  .pend-bloco.sit-hoje{border-left:4px solid var(--dourado)}
  .pend-bloco.sit-concluida{border-left:4px solid #2C7A52}
  .pend-tit-wrap{flex:1;min-width:0}
  .pend-tit{font-size:14px;font-weight:600;color:var(--grafite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pend-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:5px}
  .pend-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--cinza)}
  .pend-meta-item svg{width:13px;height:13px;flex-shrink:0}
  .pend-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}
  .pend-chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
  .pend-chip.sit-atrasada{background:var(--vermelho-bg);color:var(--vermelho)}
  .pend-chip.sit-hoje{background:#FBF3E2;color:#8A6D3B}
  .pend-chip.sit-concluida{background:#EAF4EE;color:#2C7A52}
  .pend-chip.sit-aberta{background:var(--dourado);color:#fff}
  .pend-chip.sit-cancelada{background:var(--cinza);color:#E8E6DE}
  .ep-badge-concl{background:var(--offwhite);color:var(--cinza);font-size:11px;padding:2px 9px;border-radius:20px;white-space:nowrap}
  .ep-badge-concl svg{width:13px;height:13px;flex-shrink:0}
  .aviso-salvar{background:#FBF3E2;color:#8A6D3B;border:1px solid #F0DFB8;font-size:13px;font-weight:600;padding:10px 12px;border-radius:8px;margin-top:14px}
  .ep-acao-linha{padding:10px 0}
  .pend-toolbar{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
  .pend-toolbar button{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--cinza);
       background:#fff;border:1px solid var(--borda);border-radius:8px;padding:6px 11px}
  .pend-toolbar button:hover{border-color:var(--folha);color:var(--verde)}
  .pend-toolbar button svg{width:13px;height:13px;flex-shrink:0}
  .pend-toolbar button.ativo{background:var(--offwhite);color:var(--grafite);border-color:var(--cinza)}
  .pend-toolbar button.sucesso{color:var(--verde)}
  .pend-toolbar button.perigo{color:var(--vermelho)}
  .pend-toolbar button.perigo:hover{border-color:var(--vermelho);color:var(--vermelho)}
  .pend-toolbar button:disabled{opacity:.45;cursor:not-allowed}
  .pend-toolbar button:disabled:hover{border-color:var(--borda);color:var(--cinza)}

  /* ---------- PAINEL (dashboard gerencial) ---------- */
  .painel-kpis-linha{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
  .painel-kpis{display:flex;gap:6px;flex-wrap:wrap;flex:1;margin-bottom:0}
  .pn-kpi-card{flex:1;min-width:150px;height:100px;box-sizing:border-box;overflow:hidden;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:12px 16px;box-shadow:0 1px 2px rgba(27,67,50,.05)}
  .pn-kpi-topo{display:flex;align-items:center;gap:8px;margin-bottom:7px}
  .pn-kpi-icone{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pn-kpi-icone svg{width:13px;height:13px}
  .pn-kpi-titulo-col{display:flex;flex-direction:column;min-width:0}
  .pn-kpi-titulo{font-size:10.5px;font-weight:700;letter-spacing:.4px;color:var(--grafite);text-transform:uppercase;line-height:1.3}
  .pn-kpi-titulo-data{font-size:10.5px;font-weight:500;color:var(--cinza);line-height:1.3;white-space:nowrap}
  .pn-kpi-num{font-size:23px;font-weight:700;color:var(--grafite);line-height:1.1;margin-bottom:4px;font-variant-numeric:tabular-nums}
  .pn-kpi-tend{font-size:11px;font-weight:600;color:var(--cinza);display:flex;align-items:center;gap:4px}
  .pn-kpi-card.sit-atrasada .pn-kpi-icone{background:var(--vermelho-bg);color:var(--vermelho)}
  .pn-kpi-card.sit-hoje .pn-kpi-icone{background:#FBF3E2;color:#8A6D3B}
  .pn-kpi-card.sit-concluida .pn-kpi-icone{background:#EAF4EE;color:#2C7A52}
  .pn-kpi-card.sit-prospecto .pn-kpi-icone{background:#F3ECDD;color:var(--dourado)}
  .pn-kpi-card.sit-neutro .pn-kpi-icone{background:#EDEBE4;color:#7A756B}
  .pn-kpi-card.sit-info .pn-kpi-icone{background:#EAF0F6;color:#3B5B80}
  .pn-kpi-card.sit-leads .pn-kpi-icone{background:#F1EAFA;color:#7C5C9E}
  .pn-kpi-card.pn-kpi-clicavel{cursor:pointer}
  .pn-kpi-card.pn-kpi-clicavel:hover{border-color:var(--folha)}
  .pn-kpi-card.pn-kpi-clicavel.ativo{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde)}
  @media (max-width:900px){ .pn-kpi-card{min-width:130px} }
  .painel-grid-4{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .painel-card{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(27,67,50,.05);height:480px;overflow:auto}
  .painel-col-solta{padding-top:0}
  /* Alinhamento fino com os 7 KPIs do topo (só quando são exatamente 7, isto é, visão admin — ver
     kpis-grid/grid-alinhado alternados via JS em renderPainelDashboard): a mesma grade de 7 colunas
     + a coluna fixa de 32px do addbox (pend-stat-addbox-estreito) é reaproveitada nas duas linhas,
     garantindo que as bordas batam certinho sem depender de medir nada em JS.
     Tarefas pendentes = colunas 1-3 (Contratos Ativos+Orçamentos+Leads em Andamento);
     Próximos compromissos = colunas 4-5 (Ações da Semana+Receita do Mês);
     coluna dos 3 cards soltos = da coluna 6 até o fim (Contas a Receber+Contas a Pagar+addbox),
     largura flexível de propósito, conforme pedido do Vitor. */
  .painel-kpis.kpis-grid{display:grid;grid-template-columns:repeat(7,1fr) 32px}
  .painel-grid-4.grid-alinhado{grid-template-columns:repeat(7,1fr) 32px;gap:16px 6px}
  .painel-grid-4.grid-alinhado .pn-col-tarefas{grid-column:1/4}
  .painel-grid-4.grid-alinhado .pn-col-proximos{grid-column:4/6}
  .painel-grid-4.grid-alinhado .pn-col-donuts{grid-column:6/-1}
  .painel-card .titulo-secao{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
  .painel-card .titulo-secao h2{font-size:13.5px;font-weight:700;color:var(--grafite);margin:0}
  .painel-card .contagem-secao{font-size:11.5px;color:var(--cinza);white-space:nowrap}
  .bolinha{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}
  .lista-tarefas{list-style:none;margin:0;padding:0;max-height:414px;overflow-y:auto}
  .lista-tarefas li{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid var(--borda);font-size:12px;cursor:pointer}
  .lista-tarefas li:last-child{border-bottom:none;padding-bottom:0}
  .lista-tarefas li:hover{background:var(--offwhite)}
  .lista-tarefas .marca-check{width:14px;height:14px;border-radius:50%;border:1.6px solid var(--borda);flex-shrink:0;margin-top:2px}
  .lista-tarefas .corpo{flex:1;min-width:0}
  .lista-tarefas .desc{color:var(--grafite);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lista-tarefas .meta{font-size:10.5px;color:var(--cinza);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lista-tarefas .prazo{font-size:11px;font-weight:400;color:var(--cinza);white-space:nowrap;flex-shrink:0}
  .lista-tarefas .prazo.atraso{color:var(--vermelho)}
  .pn-agenda-item{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--borda);font-size:12px;cursor:pointer}
  .pn-agenda-item:last-child{border-bottom:none;padding-bottom:0}
  .pn-agenda-item:hover{background:var(--offwhite)}
  .pn-agenda-item .dot-tipo{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}
  .pn-agenda-item .info{flex:1;min-width:0}
  .pn-agenda-item .info .hr{display:block;font-size:10.5px;font-weight:600;color:var(--cinza)}
  .pn-agenda-item .info b{display:block;font-weight:600;color:var(--grafite);margin:1px 0;font-size:12px}
  .pn-agenda-item .info span{font-size:11px;color:var(--cinza)}
  .pn-aberto-bloco{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:14px 16px;margin-bottom:12px}
  .pn-aberto-bloco:last-child{margin-bottom:0}
  .pn-aberto-topo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .pn-aberto-icone{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .pn-aberto-icone svg{width:16px;height:16px}
  .pn-aberto-titulos{flex:1;min-width:0}
  .pn-aberto-titulos h3{font-size:14px;font-weight:700;color:var(--grafite);margin:0}
  .pn-aberto-titulos span{font-size:11px;color:var(--cinza)}
  .pn-aberto-total{font-size:11px;color:var(--cinza);white-space:nowrap}
  .pn-aberto-total b{font-size:17px;font-weight:700;color:var(--grafite)}
  .pn-aberto-barra{display:flex;height:26px;border-radius:6px;overflow:hidden;margin-bottom:10px}
  .pn-aberto-barra div{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11.5px;font-weight:700}
  .pn-funil-linha{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .pn-funil-linha:last-child{margin-bottom:0}
  .pn-funil-barra{height:34px;border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#fff;white-space:nowrap;overflow:hidden;min-width:60px}
  .pn-funil-barra b{font-size:14px;font-weight:700}
  .pn-funil-barra span{font-size:11.5px;font-weight:500}
  .pn-funil-sub{font-size:10.5px;color:var(--cinza);white-space:nowrap;flex:1;min-width:0}
  .pn-funil-sub b{display:block;font-size:12px}

  /* ---------- AGENDA (página) ---------- */
  .agenda-toolbar{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:center;margin:14px 0}
  .agenda-toolbar-esq{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
  .agenda-toolbar-dir{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
  .agenda-btn-novo{width:32px;height:32px;flex-shrink:0;border:none;border-radius:8px;background:var(--verde);color:#fff;
       font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .agenda-btn-novo:hover{background:var(--escuro)}
  .agenda-btn-filtro{width:32px;height:32px;flex-shrink:0;border:1px solid var(--borda);border-radius:8px;background:#fff;color:var(--cinza);
       display:flex;align-items:center;justify-content:center;cursor:pointer}
  .agenda-btn-filtro:hover{border-color:var(--folha);color:var(--folha)}
  .agenda-btn-filtro.ativo{background:var(--verde);border-color:var(--verde);color:#fff}
  .agenda-nav{display:flex;align-items:center;gap:10px}
  .agenda-nav button{background:none;border:none;color:var(--grafite);font-size:17px;cursor:pointer;padding:2px 6px;line-height:1}
  .agenda-nav button:hover{color:var(--verde)}
  .agenda-range{font-size:14px;font-weight:600;color:var(--grafite);min-width:190px;text-align:center;display:inline-block}
  .agenda-filtros-linha{display:grid;grid-template-columns:1fr 300px;align-items:center;gap:16px;margin-bottom:14px}
  .agenda-filtros{display:grid;grid-template-columns:357px 1fr 170px;gap:8px}
  .agenda-filtros .filtro{width:100%}
  .agenda-filtros .filtro select{width:100%}
  .agenda-filtros-linha #agBusca{width:100%;padding:7px 14px;font-size:13px;color:var(--cinza)}
  .agenda-filtro-busca{width:100%}
  .agenda-filtro-busca input{padding:7px 26px 7px 14px;font-size:13px;color:var(--cinza);border-radius:8px}
  .agenda-filtro-limpar{position:absolute;right:8px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--cinza);font-size:15px;line-height:1;padding:2px}
  .agenda-filtro-limpar:hover{color:var(--vermelho)}
  .agenda-corpo{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
  .agenda-sidebar{display:flex;flex-direction:column;gap:10px}
  .agenda-sidebar.oculto{display:none}

  .agenda-mini{border:1px solid var(--borda);border-radius:10px;padding:12px;background:#fff}
  .agenda-mini-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12.5px}
  .agenda-mini-topo button{background:none;border:none;cursor:pointer;color:var(--cinza);font-size:14px}
  .agenda-mini-topo button:hover{color:var(--verde)}
  .agenda-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
  .agenda-mini-cab{font-size:10px;color:var(--cinza);padding:2px 0}
  .agenda-mini-dia{position:relative;background:none;border:none;border-radius:6px;padding:5px 0;font-size:11.5px;font-weight:500;color:var(--grafite);cursor:pointer}
  .agenda-mini-dia:hover{background:var(--offwhite)}
  .agenda-mini-dia.fora{color:var(--cinza);opacity:.5}
  .agenda-mini-dia.hoje{background:var(--verde);color:#fff}
  .agenda-mini-dia.selecionado{box-shadow:0 0 0 1.5px var(--verde) inset}
  .agenda-mini-dia.hoje.selecionado{box-shadow:0 0 0 1.5px #fff inset}
  .agenda-mini-dot-ind{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--dourado)}
  .agenda-mini-dia.hoje .agenda-mini-dot-ind{background:#fff}
  .agenda-mini-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:3px}

  .agenda-lista{border:1px solid var(--borda);border-radius:10px;padding:14px;background:#fff}
  .agenda-lista-grupo{margin-bottom:14px}
  .agenda-lista-grupo:last-child{margin-bottom:0}
  .agenda-lista-data{font-size:11px;font-weight:700;color:var(--cinza);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
  .agenda-lista-item{display:flex;align-items:flex-start;gap:8px;padding:8px 4px;border-top:1px solid var(--borda);cursor:pointer}
  .agenda-lista-item:first-child{border-top:none}
  .agenda-lista-item:hover{background:var(--offwhite)}
  .agenda-lista-hora{font-size:12px;font-weight:600;color:var(--grafite);min-width:36px;flex-shrink:0}
  .agenda-lista-corpo{flex:1;min-width:0}
  .agenda-lista-tit{font-size:12px;font-weight:500;color:var(--grafite)}
  .agenda-lista-sub{font-size:11.5px;color:var(--cinza);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .agenda-lista-item .btn{flex-shrink:0}

  .agenda-mes{border:1px solid var(--borda);border-radius:10px;overflow:hidden;background:#fff}
  .agenda-mes-grid{display:grid;grid-template-columns:repeat(7,1fr)}
  .agenda-mes-cabecalho{background:var(--offwhite);border-bottom:1px solid var(--borda)}
  .agenda-mes-cab{padding:8px;font-size:11px;font-weight:600;color:var(--cinza);text-align:center;text-transform:uppercase}
  .agenda-mes-dia{min-height:92px;border-right:1px solid var(--borda);border-bottom:1px solid var(--borda);padding:6px;cursor:pointer;overflow:hidden}
  .agenda-mes-dia:hover{background:var(--offwhite)}
  .agenda-mes-dia.fora{color:var(--cinza);opacity:.55;background:var(--offwhite)}
  .agenda-mes-dia.hoje{background:#EAF4EE}
  .agenda-mes-num{font-size:12px;font-weight:600;margin-bottom:4px}
  .agenda-mes-evt{font-size:10.5px;font-weight:500;border-radius:4px;padding:2px 5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .agenda-mes-mais{font-size:10.5px;color:var(--cinza)}

  .agenda-semana{border:1px solid var(--borda);border-radius:10px;background:#fff;overflow:hidden}
  .agenda-sem-grid-cab{display:grid;grid-template-columns:56px repeat(7,1fr);border-bottom:1px solid var(--borda);background:var(--offwhite)}
  .agenda-sem-hora-vazio{border-right:1px solid var(--borda)}
  .agenda-sem-cab{padding:8px 4px;text-align:center;font-size:11px;color:var(--cinza);border-left:1px solid var(--borda)}
  .agenda-sem-cab.hoje{background:#EAF4EE;color:var(--verde);font-weight:700}
  .agenda-sem-scroll{overflow-x:auto}
  .agenda-sem-grid-corpo{display:grid;grid-template-columns:56px repeat(7,1fr);min-width:760px}
  .agenda-sem-horas{display:flex;flex-direction:column;border-right:1px solid var(--borda)}
  .agenda-sem-hora{font-size:10.5px;color:var(--cinza);padding:2px 4px;box-sizing:border-box;border-top:1px solid var(--borda)}
  .agenda-sem-col{position:relative;border-left:1px solid var(--borda)}
  .agenda-sem-corpo{position:relative;background-image:repeating-linear-gradient(to bottom, transparent, transparent 55px, var(--borda) 55px, var(--borda) 56px)}
  .agenda-sem-semhora{display:flex;gap:3px;flex-wrap:wrap;padding:4px;border-bottom:1px solid var(--borda)}
  .agenda-evento{position:absolute;left:3px;right:3px;border-radius:6px;padding:4px 6px;font-size:10.5px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06)}
  .agenda-evento-hora{font-weight:700;font-size:10px}
  .agenda-evento-tit{font-weight:600;color:var(--grafite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .agenda-evento-sub{color:var(--cinza);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* visualização (somente leitura) de um compromisso */
  .agenda-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin-bottom:18px}
  .agenda-view-linha{display:flex;gap:10px;align-items:flex-start}
  .agenda-view-icone{width:30px;height:30px;border-radius:8px;background:#fff;color:var(--verde);
       display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .agenda-view-icone svg{width:15px;height:15px}
  .agenda-view-grid .lab{font-size:12px;font-weight:600;color:var(--dourado);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
  .agenda-view-grid .val small{display:block;font-size:10.5px;font-weight:400;color:var(--cinza);margin-top:2px}
  #agFormConteudo .val{font-size:12px}

  /* ================= CELULAR ================= */
  @media (max-width: 720px){
    main{padding:16px 12px 80px}

    /* cabeçalho empilha e encolhe: marca + usuário na linha 1, menu na linha 2 */
    header{padding:10px 14px;flex-wrap:wrap;gap:8px}
    header .marca{gap:10px;order:1}
    .logo-chip{height:48px;padding:6px 9px;border-radius:10px}
    .logo-chip img{height:34px}
    .wordmark b{font-size:15px;line-height:1.2}
    .wordmark small{font-size:9px;letter-spacing:.12em}
    header .dir{font-size:12px;gap:10px;margin-left:auto;text-align:right;order:2}

    /* barra de menu: linha própria, rola de lado sem cortar */
    nav{order:3;flex-basis:100%;padding:2px 0 0}
    nav button{padding:8px 11px;font-size:10px}
    nav button svg{width:18px;height:18px}
    .avatar-usuario,.avatar-usuario-img{width:30px;height:30px}

    /* títulos e ações */
    .topo{flex-wrap:wrap;gap:8px}
    .topo h2{font-size:19px}
    .acoes{gap:6px;margin-bottom:14px}
    .filtro{width:100%;overflow-x:auto;scrollbar-width:none}
    .filtro::-webkit-scrollbar{display:none}
    .filtro button{padding:8px 12px;white-space:nowrap}

    /* cartões de número: um embaixo do outro */
    .metricas{grid-template-columns:1fr;gap:8px;margin-bottom:14px}
    .metrica .num{font-size:20px}

    /* formulários: uma coluna */
    .grid2,.grid3,.grid4{grid-template-columns:1fr}
    .grid4 .campo select,.grid4 .campo input{width:100%}

    /* Agenda: sidebar desce para baixo do calendário, semana rola de lado */
    .agenda-corpo{grid-template-columns:1fr}
    .agenda-toolbar{grid-template-columns:1fr}
    .agenda-filtros-linha{grid-template-columns:1fr}
    .agenda-filtros{grid-template-columns:1fr}
    .painel-grid-4{grid-template-columns:1fr}
    .painel-grid-4.grid-alinhado{grid-template-columns:1fr}
    .painel-grid-4.grid-alinhado .pn-col-tarefas,.painel-grid-4.grid-alinhado .pn-col-proximos,.painel-grid-4.grid-alinhado .pn-col-donuts{grid-column:auto}
    .painel-kpis.kpis-grid{display:flex;flex-wrap:wrap}
    .agenda-view-grid{grid-template-columns:1fr}
    .agenda-sem-grid-corpo{min-width:640px}
    .agenda-mes-dia{min-height:64px}

    .botoes{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}
    .botoes .btn,.botoes .btn-peq,.botoes .btn-duv{flex:0 0 auto}

    /* alvo de toque decente */
    .btn-peq{padding:9px 13px}
    .link-acao{padding:7px 6px;font-size:12px}

    /* modal ocupa a tela */
    .overlay{top:120px;padding:12px 12px 24px}
    .modal{max-width:100%;padding:20px 16px;border-radius:14px}
    .modal-rodape{flex-direction:column-reverse;gap:8px}
    .modal-rodape .btn,.modal-rodape .btn-sec{width:100%;text-align:center}
    main.cheia{padding:0}
    .contrato-2cards{grid-template-columns:1fr;height:auto}
    .contrato-2cards>div{padding:20px 16px;max-height:none;overflow-y:visible}
    .contrato-2cards .card-esq{border-right:none;border-bottom:1px solid var(--borda)}

    /* evita zoom automático do iPhone ao focar um campo */
    input,select,textarea{font-size:16px}
  }
