/* =====================================================================
   style.css — folha de estilo única do Painel de Clientes XBee.
   Trocar a marca inteira do painel é mexer aqui (paleta em :root),
   não em cada tela (padrão "assets de marca" do playbook Portal).
   Paleta herdada do mockup validado.
   ===================================================================== */
:root{
  --dark:#1f1f1f; --accent:#b8860b; --accent-dark:#8a6508;
  --paper:#fffdf8; --panel:#f4f1e9; --line:#e6ddc8; --muted:#6b6656;
  --st-pend-fg:#7a7461; --st-pend-bg:#eeeadd;
  --st-andamento-fg:#1f5fa8; --st-andamento-bg:#e3ecfa;
  --st-concluido-fg:#1f7a3d; --st-concluido-bg:#e3f2e1;
  --st-travado-fg:#b3401f; --st-travado-bg:#fbe4de;
  --st-ciclo-fg:#8a6508; --st-ciclo-bg:#f7edd3;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--panel);color:var(--dark);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:inherit;}

/* ---- Topbar ---- */
header.topbar{display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;background:var(--paper);border-bottom:1px solid var(--line);}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--dark);}
.brand .logo{width:32px;height:32px;border-radius:8px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;}
.brand .logo-img{height:30px;width:auto;display:block;}
.brand .name{font-weight:800;font-size:16px;}
.brand .name span{color:var(--accent-dark);}
.topbar-actions{display:flex;gap:10px;align-items:center;}
.user-chip{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px;}
.user-chip .papel{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  background:var(--st-ciclo-bg);color:var(--st-ciclo-fg);padding:2px 8px;border-radius:20px;}

/* ---- Botões ---- */
.btn{border:none;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;
  cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-primary{background:var(--dark);color:#fff;}
.btn-primary:hover{background:#000;}
.btn-ghost{background:transparent;color:var(--dark);border:1px solid var(--line);}
.btn-ghost:hover{background:#f0ead8;}
.btn-accent{background:var(--accent);color:#fff;}
.btn-accent:hover{background:var(--accent-dark);}

main{max-width:1180px;margin:0 auto;padding:28px 32px 60px;}
footer.foot{max-width:1180px;margin:0 auto;padding:0 32px 40px;font-size:12px;color:var(--muted);}

/* ---- Alerta / flash ---- */
.alerta{background:#fff8ec;border:1px solid #f0dfae;border-left:4px solid var(--accent);
  border-radius:8px;padding:12px 16px;font-size:13.5px;margin-bottom:20px;}
.erro{background:var(--st-travado-bg);border:1px solid #f0c4b8;border-left:4px solid var(--st-travado-fg);
  border-radius:8px;padding:12px 16px;font-size:13.5px;margin-bottom:16px;color:#7a2a15;}

/* ---- Formulários ---- */
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:26px;max-width:420px;margin:6vh auto 0;}
.form-card h1{font-size:20px;margin:0 0 4px;}
.form-card .sub{color:var(--muted);font-size:13.5px;margin:0 0 20px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px;font-weight:600;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;
  padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);border-color:var(--accent);}
.login-wrap{display:flex;flex-direction:column;min-height:100vh;background:var(--panel);}
.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px;}

@media (max-width:640px){
  main{padding:20px 16px 40px;}
  header.topbar{padding:14px 16px;}
}

/* ===================== Dashboard ===================== */
.view-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.view-title h1{font-size:22px;margin:0;}
.view-sub{color:var(--muted);font-size:14px;margin:0 0 22px;}
.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;}
.summary-card .n{font-size:24px;font-weight:800;}
.summary-card .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.client-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;
  cursor:pointer;transition:box-shadow .15s,transform .15s;text-decoration:none;color:var(--dark);display:block;}
.client-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}
.client-card .row-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.avatar{width:38px;height:38px;border-radius:50%;background:#efe6cf;color:var(--accent-dark);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:0 0 auto;}
.client-card h3{font-size:15.5px;margin:0 0 2px;}
.client-card .niche{font-size:12.5px;color:var(--muted);}
.status-pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;}
.pill-pendente{color:var(--st-pend-fg);background:var(--st-pend-bg);}
.pill-andamento{color:var(--st-andamento-fg);background:var(--st-andamento-bg);}
.pill-concluido{color:var(--st-concluido-fg);background:var(--st-concluido-bg);}
.pill-travado{color:var(--st-travado-fg);background:var(--st-travado-bg);}
.pill-aguardando_ciclo{color:var(--st-ciclo-fg);background:var(--st-ciclo-bg);}
.progress-line{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:5px;}
.progress-track{height:7px;background:#eee8d6;border-radius:6px;overflow:hidden;margin-bottom:12px;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));border-radius:6px;}
.card-footer{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;}
.card-footer .next{color:var(--dark);font-weight:600;}
.card-footer .arrow{color:var(--accent-dark);font-weight:700;}

/* ===================== Detalhe / timeline ===================== */
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;
  text-decoration:none;cursor:pointer;margin-bottom:10px;}
.back-link:hover{color:var(--dark);}
.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap;gap:14px;}
.detail-title{display:flex;align-items:center;gap:12px;}
.detail-title .avatar{width:46px;height:46px;font-size:17px;}
.detail-title h1{font-size:21px;margin:0;}
.detail-title .niche{font-size:13px;color:var(--muted);}
.next-callout{background:#fff8ec;border:1px solid #f0dfae;border-left:4px solid var(--accent);
  border-radius:8px;padding:12px 16px;font-size:13.5px;margin-bottom:22px;}
.next-callout strong{color:var(--accent-dark);}
.timeline{position:relative;}
.phase-item{display:flex;gap:16px;padding-bottom:22px;position:relative;}
.phase-item:not(:last-child)::before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--line);}
.phase-marker{flex:0 0 auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13px;border:2px solid var(--line);background:var(--paper);z-index:1;}
.phase-marker.concluido{background:var(--st-concluido-fg);border-color:var(--st-concluido-fg);color:#fff;}
.phase-marker.andamento{background:var(--st-andamento-fg);border-color:var(--st-andamento-fg);color:#fff;}
.phase-marker.travado{background:var(--st-travado-fg);border-color:var(--st-travado-fg);color:#fff;}
.phase-marker.aguardando_ciclo{background:var(--st-ciclo-fg);border-color:var(--st-ciclo-fg);color:#fff;}
.phase-body{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;}
.phase-body.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;}
.phase-body.banner-clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s;}
.phase-body.banner-clickable:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.08);}
.banner-hint{font-size:11.5px;color:var(--accent-dark);font-weight:600;margin-top:10px;opacity:.85;}
.phase-body.banner-clickable:hover .banner-hint{opacity:1;text-decoration:underline;}
.phase-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.phase-row h4{margin:0;font-size:14.5px;}
.phase-meta{font-size:12px;color:var(--muted);margin-top:3px;}
.phase-file{font-family:Consolas,Menlo,monospace;font-size:11.5px;background:#f0ead8;padding:2px 7px;border-radius:4px;color:#5b5747;}
.status-select{font-size:11.5px;font-weight:700;border-radius:20px;border:none;padding:4px 10px;cursor:pointer;font-family:inherit;}
.btn-detail{background:#f0ead8;color:var(--accent-dark);border:1px solid var(--line);border-radius:7px;
  padding:4px 11px;font-size:11.5px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;}
.btn-detail:hover{background:var(--accent);color:#fff;border-color:var(--accent);}

/* ===================== Modal Ajuda rápida ===================== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,17,10,.55);z-index:100;
  align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.modal-overlay.open{display:flex;}
.modal-panel{background:var(--paper);border-radius:14px;max-width:640px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;}
.modal-head{background:var(--dark);color:#fff;padding:20px 26px;position:relative;}
.modal-head .eyebrow-m{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#d9c088;margin:0 0 4px;font-weight:700;}
.modal-head h2{margin:0;font-size:19px;}
.modal-head .skills-m{font-size:12px;color:#cfc9b8;margin-top:6px;}
.modal-head .skills-m code{background:rgba(255,255,255,.12);color:#f3ead0;padding:1px 6px;border-radius:4px;}
.modal-close{position:absolute;top:14px;right:16px;background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1;opacity:.75;}
.modal-close:hover{opacity:1;}
.modal-body{padding:22px 26px 26px;max-height:70vh;overflow-y:auto;}
.modal-body h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-dark);margin:20px 0 8px;}
.modal-body h3:first-child{margin-top:0;}
.prompt-box{background:#2b2b2b;color:#f3ead0;border-radius:8px;padding:12px 14px;font-family:Consolas,Menlo,monospace;font-size:13px;}
.step-list{margin:0;padding-left:20px;}
.step-list li{margin-bottom:8px;font-size:13.5px;}
.file-chip{font-family:Consolas,Menlo,monospace;font-size:12px;background:#f0ead8;border:1px solid var(--line);border-radius:6px;padding:5px 10px;color:#5b5747;display:inline-block;}
.modal-note{background:#fff8ec;border:1px solid #f0dfae;border-left:4px solid var(--accent);border-radius:6px;padding:10px 14px;font-size:13px;margin-top:6px;}

/* ===================== Execução (tarefas) ===================== */
.exec-head{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px;}
.exec-head .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark);font-weight:700;margin:0 0 4px;}
.exec-head h1{margin:0;font-size:20px;}
.exec-head .sub{font-size:12.5px;color:var(--muted);margin-top:6px;}
.exec-head .sub code{background:#f0ead8;color:#5b5747;padding:1px 6px;border-radius:4px;font-size:11.5px;}
.exec-progress{font-size:13px;color:var(--muted);margin:0 0 18px;}
.exec-progress-track{height:8px;background:#eee8d6;border-radius:6px;overflow:hidden;margin-top:6px;}
.exec-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));}
.task-card{background:var(--paper);border:1px solid var(--line);border-left:5px solid #9a958a;border-radius:10px;padding:16px 18px;margin-bottom:14px;}
.task-card.andamento{border-left-color:var(--st-andamento-fg);}
.task-card.concluido{border-left-color:var(--st-concluido-fg);background:#f7fbf6;}
.task-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.task-top .num{font-weight:800;color:var(--accent-dark);font-size:12px;}
.task-top h3{margin:2px 0 0;font-size:14.5px;font-weight:600;}
.task-status-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.task-status-pill.pendente{color:var(--st-pend-fg);background:var(--st-pend-bg);}
.task-status-pill.andamento{color:var(--st-andamento-fg);background:var(--st-andamento-bg);}
.task-status-pill.concluido{color:var(--st-concluido-fg);background:var(--st-concluido-bg);}
.task-forms{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;}
.task-forms form{margin:0;}
.task-btn{border:none;border-radius:7px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.task-btn.iniciar{background:var(--st-andamento-fg);color:#fff;}
.task-btn.concluir{background:var(--st-concluido-fg);color:#fff;}
.task-btn.salvar{background:#f0ead8;color:var(--accent-dark);}
.task-btn.reabrir{background:transparent;color:#a3402a;text-decoration:underline;padding:6px 4px;}
.task-btn:disabled{opacity:.4;cursor:not-allowed;}
.task-times{font-size:11.5px;color:var(--muted);margin-top:8px;}
.task-locked{font-size:11.5px;color:var(--muted);font-style:italic;}
.task-save{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px;}
.task-save .linha{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.task-save label{font-size:11.5px;color:var(--muted);display:block;margin-bottom:3px;}
.task-save select,.task-save input[type=text]{border:1px solid var(--line);border-radius:6px;padding:6px 9px;font-size:13px;font-family:inherit;min-width:190px;background:#fff;}
.task-save textarea{width:100%;min-height:60px;border:1px solid var(--line);border-radius:6px;padding:8px;font-family:inherit;font-size:12.5px;resize:vertical;margin-top:6px;}
.resp-ro{font-size:12.5px;color:var(--dark);}

/* ===================== Tabelas (equipe / produtividade) ===================== */
.tabela{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13.5px;}
.tabela th,.tabela td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);}
.tabela th{background:#f0ead8;color:#5b5747;font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
.tabela tr:last-child td{border-bottom:none;}
.tabela tr.inativo td{opacity:.5;}
.topnav{display:flex;gap:4px;align-items:center;margin-right:6px;}
.topnav a{font-size:13px;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:7px;}
.topnav a:hover{background:#f0ead8;color:var(--dark);}

/* ===================== Quadro (Bloco 8) ===================== */
.filtro{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.filtro .rot{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-right:2px;}
.chip{font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:20px;border:1px solid var(--line);background:var(--paper);color:var(--muted);cursor:pointer;text-decoration:none;}
.chip.on{background:var(--dark);color:#fff;border-color:var(--dark);}
.chip.soon{opacity:.6;cursor:default;}
.chip .soon-b{font-size:9.5px;background:#eee8d6;color:#7a7461;border-radius:10px;padding:1px 6px;margin-left:5px;font-weight:700;text-transform:uppercase;}

.grupo{margin-bottom:26px;}
.grupo-head{display:flex;align-items:center;gap:9px;margin-bottom:8px;padding-left:2px;}
.grupo-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;}
.grupo-titulo{font-weight:800;font-size:14px;}
.grupo-count{font-size:12px;color:var(--muted);background:#eee8d6;border-radius:20px;padding:1px 9px;font-weight:700;}

.board{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;border-left:4px solid var(--line);}
.board.g-andamento{border-left-color:var(--st-andamento-fg);}
.board.g-travado{border-left-color:var(--st-travado-fg);}
.board.g-aguardando{border-left-color:var(--st-ciclo-fg);}
.board.g-pendente{border-left-color:var(--st-pend-fg);}
.board.g-concluido{border-left-color:var(--st-concluido-fg);}
.board-scroll{overflow-x:auto;}
.quadro-tab{width:100%;border-collapse:collapse;font-size:13px;min-width:1080px;}
.quadro-tab thead th{background:#f6f1e4;color:#5b5747;font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);font-weight:700;}
.quadro-tab tbody td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
.quadro-tab tbody tr:last-child td{border-bottom:none;}
.quadro-tab tbody tr:hover{background:#faf6ec;}

.cli{display:flex;align-items:center;gap:10px;}
.logo-cli{width:34px;height:34px;border-radius:9px;background:#efe6cf;color:var(--accent-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;flex:0 0 auto;}
.cli .nome{font-weight:700;font-size:13.5px;}
.cli .nicho{font-size:11.5px;color:var(--muted);}

.proj{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:7px;white-space:nowrap;}
.proj .pd{width:8px;height:8px;border-radius:50%;}

.pill.pri-alta,.pri-alta{color:#b3401f;}
.pill.pri-media,.pri-media{color:#9a6a12;}
.pill.pri-baixa,.pri-baixa{color:#1f5fa8;}
.pill.pri-alta{background:#fbe4de;}
.pill.pri-media{background:#faedd0;}
.pill.pri-baixa{background:#e3ecfa;}
.pri-select{font-size:11.5px;font-weight:700;border:none;border-radius:20px;padding:4px 10px;cursor:pointer;font-family:inherit;}
.pri-select.pri-alta{background:#fbe4de;}
.pri-select.pri-media{background:#faedd0;}
.pri-select.pri-baixa{background:#e3ecfa;}

.prog{min-width:110px;}
.prog-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:3px;}
.prog-track{height:7px;background:#eee8d6;border-radius:6px;overflow:hidden;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-dark));border-radius:6px;}

.fase-nome{font-weight:600;font-size:12.5px;}
.fase-hint{font-size:11px;margin-top:3px;}
.fase-hint.and{color:var(--st-andamento-fg);}
.fase-hint.trav{color:var(--st-travado-fg);}
.fase-hint.ciclo{color:var(--st-ciclo-fg);}
.fase-hint.pend{color:var(--muted);}

.resp{display:flex;align-items:center;gap:9px;}
.foto-ini{width:32px;height:32px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c98a3b,#9a6412);color:#fff;font-weight:700;font-size:11px;box-shadow:0 1px 3px rgba(0,0,0,.18);border:2px solid #fff;}
.resp .rn{font-weight:600;font-size:12.5px;}
.resp.vazio{color:var(--muted);font-style:italic;font-size:12.5px;}

.prazo{font-size:12.5px;}
.prazo .data{font-weight:700;}
.plano .dur{font-weight:700;font-size:12.5px;}
.plano .pecas{color:var(--muted);font-size:11.5px;}

/* Foto de perfil (avatar real) */
.foto-img{border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.18);flex:0 0 auto;display:inline-block;vertical-align:middle;}
.user-chip .foto-img,.user-chip .foto-ini{margin-right:2px;}

/* Histórico mensal (detalhe do cliente) */
.hist-mes{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:10px;}
.hist-mes summary{cursor:pointer;font-size:13.5px;color:var(--dark);}
.hist-mes summary:hover{color:var(--accent-dark);}
.hist-mes[open] summary{margin-bottom:4px;}

/* ==================== Demandas avulsas (Bloco 9) ==================== */
.dem-wrap{margin:32px 0 8px;}
.dem-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.dem-badge{flex:none;background:var(--st-travado-bg);color:var(--st-travado-fg);
  font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;white-space:nowrap;}
.dem-nova{background:var(--paper);border:1px solid var(--line);border-radius:10px;
  padding:10px 16px;margin:12px 0;}
.dem-nova summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--accent-dark);}
.dem-nova[open] summary{margin-bottom:10px;}
.dem-form .dem-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.dem-form label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;
  font-weight:600;color:var(--muted);}
.dem-form .dem-full{grid-column:1 / -1;}
.dem-form .req{color:var(--st-travado-fg);}
.dem-form input,.dem-form textarea,.dem-form select{font:inherit;font-size:13.5px;
  font-weight:400;color:var(--dark);padding:8px 10px;border:1px solid var(--line);
  border-radius:8px;background:#fff;width:100%;box-sizing:border-box;}
.dem-form textarea{resize:vertical;}
.dem-vazio{color:var(--muted);font-size:13.5px;font-style:italic;
  background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:16px;}
.dem-tabela td{vertical-align:top;}
.dem-desc{font-size:12.5px;color:var(--muted);margin-top:3px;}
.dem-meta{font-size:11.5px;color:var(--muted);margin-top:3px;}
.dem-fechada{opacity:.55;}
.dem-com{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.dem-com-incluido{color:var(--st-concluido-fg);background:var(--st-concluido-bg);}
.dem-com-extra{color:var(--accent-dark);background:var(--st-ciclo-bg);}
.dem-status{font:inherit;font-size:12.5px;font-weight:600;padding:5px 8px;
  border:1px solid var(--line);border-radius:8px;cursor:pointer;}
.dem-st-aberta{color:var(--st-pend-fg);background:var(--st-pend-bg);}
.dem-st-em_producao{color:var(--st-andamento-fg);background:var(--st-andamento-bg);}
.dem-st-aprovacao{color:var(--st-ciclo-fg);background:var(--st-ciclo-bg);}
.dem-st-concluida{color:var(--st-concluido-fg);background:var(--st-concluido-bg);}
.dem-st-cancelada{color:var(--st-travado-fg);background:var(--st-travado-bg);}
/* Contador de demandas no Quadro */
.dem-tag{display:inline-block;font-size:11px;font-weight:700;text-decoration:none;
  color:var(--st-travado-fg);background:var(--st-travado-bg);padding:1px 7px;
  border-radius:20px;margin-left:6px;vertical-align:middle;}
.dem-tag:hover{filter:brightness(.95);}
@media(max-width:640px){.dem-form .dem-grid{grid-template-columns:1fr;}}

/* Abas da ficha do cliente (Processo / Demandas / Histórico) */
.abas{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid var(--line);
  margin:4px 0 22px;}
.aba{display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-size:14px;font-weight:700;color:var(--muted);padding:10px 18px;
  border:2px solid transparent;border-bottom:none;border-radius:10px 10px 0 0;
  margin-bottom:-2px;}
.aba:hover{color:var(--dark);background:#f0ead8;}
.aba.on{color:var(--dark);background:var(--paper);
  border-color:var(--line);border-bottom:2px solid var(--paper);}
/* Contador estilo WhatsApp: vermelho = tem pendência pra fazer */
.aba-n{background:#d33b2c;color:#fff;font-size:11.5px;font-weight:800;
  min-width:19px;height:19px;padding:0 5px;border-radius:20px;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;}
/* Caixa "Extras do mês" (cobrança) */
.extras-box{background:#fff8ec;border:1px solid #f0dfae;border-left:4px solid var(--accent);
  border-radius:10px;padding:12px 16px;margin:12px 0;}
.extras-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;}
.extras-count{background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;
  padding:3px 10px;border-radius:20px;white-space:nowrap;}
.extras-list{list-style:none;margin:10px 0 6px;padding:0;}
.extras-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:6px 0;border-bottom:1px dashed #eaddb8;font-size:13px;}
.extras-list li:last-child{border-bottom:none;}
.extras-t{font-weight:600;color:var(--dark);}
.extras-st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap;}
.extras-hint{font-size:11.5px;color:var(--muted);margin:4px 0 0;}

/* Data + hora "menorzinha" no Solicitado (demandas/extras) */
.hora-mini{font-size:11px;color:var(--muted);font-weight:600;}
.extras-quando{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;}
.extras-quando .hora-mini{font-size:10.5px;}
.dem-hint-inline{font-weight:400;font-size:10.5px;color:var(--accent-dark);
  background:var(--st-ciclo-bg);padding:1px 6px;border-radius:10px;margin-left:4px;}

/* ==================== Cockpit (Bloco 10) ==================== */
/* Tudo prefixado com ck- pra não colidir com nada das outras telas. */
.ck-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 4px var(--st-ciclo-bg);display:inline-block;margin-right:9px;vertical-align:middle;}
.ck-mes{font-size:12.5px;font-weight:700;color:var(--accent-dark);background:var(--st-ciclo-bg);
  border:1px solid #ecdcb0;padding:6px 13px;border-radius:20px;}
.view-title h1{display:flex;align-items:center;}

/* KPIs */
.ck-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px;}
.ck-kpi{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:15px 16px;}
.ck-k-l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:8px;}
.ck-k-n{font-size:26px;font-weight:800;line-height:1.05;}
.ck-k-hint{font-size:11.5px;color:var(--muted);margin-top:7px;}
.ck-kpi.alert{border-left:4px solid var(--st-travado-fg);}
.ck-kpi.alert .ck-k-n{color:var(--st-travado-fg);}
.ck-kpi.warn{border-left:4px solid var(--st-ciclo-fg);}
.ck-kpi.warn .ck-k-n{color:var(--st-ciclo-fg);}
.ck-kpi.ok{border-left:4px solid var(--st-concluido-fg);}
.ck-kpi.money{border-left:4px solid var(--accent);background:linear-gradient(180deg,#fffdf6,#fff8ec);}
.ck-kpi.money .ck-k-n{color:var(--accent-dark);font-size:22px;}

/* layout 2 colunas */
.ck-cols{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start;}
.ck-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:20px;}
.ck-panel h2{font-size:15px;margin:0 0 3px;display:flex;align-items:center;gap:8px;}
.ck-p-sub{font-size:12px;color:var(--muted);margin:0 0 14px;}
.ck-badge{font-size:11px;font-weight:800;padding:2px 9px;border-radius:20px;margin-left:auto;}
.ck-badge.red{background:var(--st-travado-bg);color:var(--st-travado-fg);}
.ck-badge.gold{background:var(--accent);color:#fff;}
.ck-vazio{font-size:13px;color:var(--muted);background:#faf7ef;border:1px dashed var(--line);border-radius:10px;padding:14px;}

/* clientes em risco */
.ck-risk{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);color:var(--dark);}
.ck-risk:last-of-type{border-bottom:none;}
.ck-risk:hover{background:#faf6ec;}
.ck-logo{width:38px;height:38px;border-radius:10px;background:#efe6cf;color:var(--accent-dark);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 auto;}
.ck-risk-body{flex:1;min-width:0;}
.ck-risk-name{font-weight:700;font-size:14px;}
.ck-risk-reason{font-size:12.5px;color:var(--muted);margin-top:2px;}
.ck-tag{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:20px;white-space:nowrap;
  text-transform:uppercase;letter-spacing:.02em;flex:0 0 auto;}
.ck-rt-travado,.ck-rt-prazo{background:var(--st-travado-bg);color:var(--st-travado-fg);}
.ck-rt-contrato{background:var(--st-ciclo-bg);color:var(--st-ciclo-fg);}

/* tabela atrasadas */
.ck-tab{width:100%;border-collapse:collapse;font-size:13px;}
.ck-tab th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#5b5747;
  font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);}
.ck-tab td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;}
.ck-tab tr:last-child td{border-bottom:none;}
.ck-t-cli{font-weight:700;}
.ck-fase-chip{font-family:Consolas,Menlo,monospace;font-size:11px;background:#f0ead8;padding:2px 7px;border-radius:4px;color:#5b5747;white-space:nowrap;}
.ck-venceu{color:var(--st-travado-fg);font-weight:700;font-size:12.5px;white-space:nowrap;}
.ck-mini-resp{display:flex;align-items:center;gap:7px;}
.ck-mini-resp .foto-ini,.ck-mini-resp .foto-img{width:26px;height:26px;font-size:10px;}
.ck-sem{color:var(--muted);font-style:italic;font-size:12px;}

/* extras a cobrar */
.ck-extras-li{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 2px;border-bottom:1px dashed #eaddb8;color:var(--dark);}
.ck-extras-li:hover{background:#fffaf0;}
.ck-ex-t{font-size:13px;font-weight:600;}
.ck-ex-t small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;margin-top:1px;}
.ck-ex-warn{color:var(--st-travado-fg);font-weight:700;}
.ck-ex-v{font-weight:800;font-size:13.5px;color:var(--accent-dark);white-space:nowrap;}
.ck-extras-total{display:flex;align-items:center;justify-content:space-between;
  margin-top:12px;padding-top:12px;border-top:2px solid var(--line);}
.ck-lbl{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.ck-val{font-size:22px;font-weight:800;color:var(--accent-dark);}
.ck-btn-soon{display:block;text-align:center;background:#f0ead8;color:var(--accent-dark);border-radius:8px;
  padding:10px;font-size:12.5px;font-weight:700;margin-top:14px;opacity:.7;cursor:not-allowed;}

/* carga equipe */
.ck-load{padding:11px 2px;border-bottom:1px solid var(--line);}
.ck-load:last-child{border-bottom:none;}
.ck-load-top{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.ck-load-name{font-weight:700;font-size:13px;flex:1;}
.ck-load-count{font-size:12px;color:var(--muted);font-weight:700;}
.ck-load-track{height:8px;background:#eee8d6;border-radius:6px;overflow:hidden;}
.ck-load-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent),var(--accent-dark));}
.ck-load-fill.hot{background:linear-gradient(90deg,#d9663a,#b3401f);}
.ck-load-tag{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;}
.ck-load-tag.hot{background:var(--st-travado-bg);color:var(--st-travado-fg);}
.ck-load-tag.ok{background:var(--st-concluido-bg);color:var(--st-concluido-fg);}

@media (max-width:900px){
  .ck-kpi-row{grid-template-columns:repeat(2,1fr);}
  .ck-cols{grid-template-columns:1fr;}
}
/* botão de fechamento no cockpit (substitui o "em breve") */
.ck-btn-fechar{display:block;text-align:center;background:var(--accent);color:#fff;border-radius:8px;
  padding:10px;font-size:12.5px;font-weight:700;margin-top:14px;text-decoration:none;}
.ck-btn-fechar:hover{background:var(--accent-dark);}

/* ==================== Fechamento financeiro (Bloco 11) ==================== */
.fz-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:6px 0 20px;}
.fz-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.fz-card .fz-l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:7px;}
.fz-card .fz-n{font-size:22px;font-weight:800;}
.fz-card.money{border-left:4px solid var(--accent);}   .fz-card.money .fz-n{color:var(--accent-dark);}
.fz-card.warn{border-left:4px solid var(--st-ciclo-fg);} .fz-card.warn .fz-n{color:var(--st-ciclo-fg);}
.fz-card.ok{border-left:4px solid var(--st-concluido-fg);} .fz-card.ok .fz-n{color:var(--st-concluido-fg);}
.fz-acoes{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;}
.fz-hint{font-size:12px;color:var(--muted);max-width:520px;}
.fz-vazio{font-size:13.5px;color:var(--muted);background:#faf7ef;border:1px dashed var(--line);border-radius:10px;padding:18px;line-height:1.6;}
.fz-cliente{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;}
.fz-cli-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#faf6ec;border-bottom:1px solid var(--line);}
.fz-cli-nome{display:flex;align-items:center;gap:11px;font-weight:800;font-size:15px;}
.fz-logo{width:34px;height:34px;border-radius:9px;background:#efe6cf;color:var(--accent-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;}
.fz-cli-right{display:flex;align-items:center;gap:16px;}
.fz-sub{font-weight:800;font-size:16px;color:var(--accent-dark);}
.fz-print{font-size:12.5px;font-weight:700;color:var(--accent-dark);text-decoration:none;background:#f0ead8;border:1px solid var(--line);border-radius:7px;padding:6px 11px;}
.fz-print:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.fz-tab{width:100%;border-collapse:collapse;font-size:13px;}
.fz-tab th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#5b5747;font-weight:700;padding:9px 18px;border-bottom:1px solid var(--line);}
.fz-tab td{padding:11px 18px;border-bottom:1px solid var(--line);vertical-align:middle;}
.fz-tab tr:last-child td{border-bottom:none;}
.fz-desc{font-weight:600;}
.fz-nowrap{white-space:nowrap;}
.fz-valor{font-weight:800;white-space:nowrap;}
.fz-cancelado{opacity:.5;text-decoration:line-through;}
.fz-cat{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;}
.fz-cat-mensalidade{background:var(--st-andamento-bg);color:var(--st-andamento-fg);}
.fz-cat-extra{background:var(--st-ciclo-bg);color:var(--accent-dark);}
.fz-cat-avulso{background:var(--st-pend-bg);color:var(--st-pend-fg);}
.fz-sit{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;}
.fz-sit small{font-weight:600;opacity:.85;}
.fz-sit-projetado{background:var(--st-pend-bg);color:var(--st-pend-fg);}
.fz-sit-dia{background:var(--st-concluido-bg);color:var(--st-concluido-fg);}
.fz-sit-atraso{background:var(--st-ciclo-bg);color:var(--accent-dark);}
.fz-sit-vencido{background:var(--st-travado-bg);color:var(--st-travado-fg);}
.fz-sit-cancelado{background:var(--st-pend-bg);color:var(--st-pend-fg);}
.fz-btn{border:none;border-radius:7px;padding:6px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;}
.fz-btn.recebido{background:var(--st-concluido-fg);color:#fff;}
.fz-btn.desfazer{background:transparent;color:var(--muted);text-decoration:underline;padding:6px 4px;}
@media (max-width:900px){ .fz-resumo{grid-template-columns:repeat(2,1fr);} }

/* Contas a pagar (Etapa 2) */
.cp-rec{font-size:10px;font-weight:700;color:var(--accent-dark);background:var(--st-ciclo-bg);padding:1px 7px;border-radius:10px;margin-left:6px;white-space:nowrap;}
.cp-tipo{font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap;}
.cp-tipo-custo_fixo{background:var(--st-andamento-bg);color:var(--st-andamento-fg);}
.cp-tipo-custo_variavel{background:var(--st-ciclo-bg);color:var(--accent-dark);}
.cp-tipo-investimento{background:var(--st-concluido-bg);color:var(--st-concluido-fg);}
.cp-tipo-saida_nao_op{background:var(--st-pend-bg);color:var(--st-pend-fg);}
.cp-edit{background:#f0ead8;color:var(--accent-dark);text-decoration:none;margin-left:2px;}
.cp-del{background:transparent;color:var(--st-travado-fg);text-decoration:underline;padding:6px 4px;}

/* ==================== DRE / Resultado (Etapa 3) ==================== */
.dre-wrap{overflow-x:auto;}
.dre-tab{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:13.5px;min-width:560px;}
.dre-tab th{text-align:left;background:#f0ead8;color:#5b5747;font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:10px 16px;border-bottom:1px solid var(--line);font-weight:700;}
.dre-tab td{padding:10px 16px;border-bottom:1px solid var(--line);}
.dre-tab .num,.dre-tab th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.dre-lin.neg td:first-child{color:var(--muted);}
.dre-sub td{background:#faf6ec;font-weight:700;}
.dre-tot td{background:var(--dark);color:#fff;font-weight:800;font-size:15px;border-bottom:none;}
.dre-tot td.pos{color:#8fe0a6;} .dre-tot td.neg2{color:#f0a58f;}
.dre-tab td.pos{color:var(--st-concluido-fg);font-weight:700;} .dre-tab td.neg2{color:var(--st-travado-fg);font-weight:700;}
.dre-tab .pct{color:var(--muted);font-size:12.5px;}
.dre-tab.ano th,.dre-tab.ano td{padding:8px 16px;}
.dre-vazio-mes td{color:#bcb7a8;}
.dre-mes-atual td{background:#fff8ec;}
.dre-ano-tot td{background:#f0ead8;font-weight:800;border-bottom:none;border-top:2px solid var(--line);}
.dre-bar-track{height:9px;background:#eee8d6;border-radius:6px;overflow:hidden;}
.dre-bar{height:100%;border-radius:6px;}
.dre-bar.pos{background:linear-gradient(90deg,#3ba55d,var(--st-concluido-fg));}
.dre-bar.neg{background:linear-gradient(90deg,#d9663a,var(--st-travado-fg));}
.dre-cat td{background:#fffdf9;font-size:12.5px;color:var(--muted);border-bottom:1px solid #f2ecdd;}
.dre-cat td:first-child{padding-left:34px;}
.dre-cat td.num{color:var(--dark);}
.dre-cat td.pct{color:var(--muted);}

/* Painel Financeiro (Etapa E) */
.dash-hint{font-size:11.5px;color:var(--muted);margin-top:7px;}
.dash-alerta{color:var(--st-travado-fg);font-weight:700;}
.fz-card .fz-n.res-pos{color:var(--st-concluido-fg);}
.fz-card .fz-n.res-neg{color:var(--st-travado-fg);}
.fz-card .fz-n.neg-t{color:var(--st-travado-fg);}
.dash-sub-hint{font-size:11px;font-weight:700;color:var(--st-travado-fg);background:var(--st-travado-bg);padding:2px 8px;border-radius:20px;margin-left:auto;}
.dash-bloco-t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;}
.dash-bloco-t.in{color:var(--st-concluido-fg);}
.dash-bloco-t.out{color:var(--st-travado-fg);}
.dash-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);color:var(--dark);text-decoration:none;}
.dash-item:last-child{border-bottom:none;}
.dash-item:hover{background:#faf6ec;}
.dash-il{display:flex;flex-direction:column;min-width:0;}
.dash-il strong{font-size:13px;}
.dash-il small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;}
.dash-ir{text-align:right;white-space:nowrap;flex:0 0 auto;}
.dash-v{display:block;font-weight:800;font-size:13px;}
.dash-v.in{color:var(--st-concluido-fg);}
.dash-v.out{color:var(--st-travado-fg);}
.dash-d{font-size:11px;color:var(--muted);}
.dash-d.venc{color:var(--st-travado-fg);font-weight:700;}
.dash-vazio{font-size:12.5px;color:var(--muted);font-style:italic;padding:4px 2px;}

/* Sub-navegação do Módulo Financeiro */
.fin-nav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;border-bottom:2px solid var(--line);}
.fin-nav a{font-size:13.5px;font-weight:700;color:var(--muted);text-decoration:none;padding:9px 15px;
  border-radius:9px 9px 0 0;border:2px solid transparent;border-bottom:none;margin-bottom:-2px;}
.fin-nav a:hover{background:#f0ead8;color:var(--dark);}
.fin-nav a.on{color:var(--accent-dark);background:var(--paper);border-color:var(--line);border-bottom:2px solid var(--paper);}
.fz-receber-form{margin:0;display:inline-flex;align-items:center;gap:4px;vertical-align:middle;}
.fz-data-in{border:1px solid var(--line);border-radius:6px;padding:4px 6px;font-size:11.5px;font-family:inherit;background:#fff;}

/* Cadastro / plano de contas (Etapa B) */
.cad-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
.cad-bloco{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.cad-bloco h2{font-size:15px;margin:0 0 12px;}
.cad-add{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.cad-add input[type=text],.cad-add select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;background:#fff;}
.cad-add input[type=text]{flex:1;min-width:150px;}
.cad-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cad-sub{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;margin-bottom:6px;}
.cad-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px;border-bottom:1px solid var(--line);font-size:13px;}
.cad-item:last-child{border-bottom:none;}
.cad-item.inat span{color:#bcb7a8;text-decoration:line-through;}
.cad-tipo{font-style:normal;font-size:10.5px;font-weight:700;color:var(--accent-dark);background:var(--st-ciclo-bg);padding:1px 6px;border-radius:10px;margin-left:4px;}
.cad-acoes{display:flex;align-items:center;gap:6px;flex:0 0 auto;}
.cad-toggle{border:none;border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:700;cursor:pointer;font-family:inherit;}
.cad-toggle.on{background:var(--st-concluido-bg);color:var(--st-concluido-fg);}
.cad-toggle.off{background:var(--st-pend-bg);color:var(--st-pend-fg);}
.cad-del{border:none;background:transparent;color:var(--st-travado-fg);font-size:16px;line-height:1;cursor:pointer;font-weight:700;padding:0 4px;}
.cad-vazio{font-size:12.5px;color:var(--muted);font-style:italic;padding:6px 0;}
@media (max-width:760px){ .cad-cols,.cad-grid2{grid-template-columns:1fr;} }

/* ===================== BLOCO Responsivo / Mobile ===================== */
@media (max-width:640px){
  /* Barra de topo: quebra e o menu vira faixa que rola de lado */
  header.topbar{flex-wrap:wrap;gap:10px 12px;}
  .topbar-actions{width:100%;flex-wrap:wrap;justify-content:flex-end;gap:10px;}
  .topnav{order:10;width:100%;margin-right:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
  .topnav a{flex:0 0 auto;white-space:nowrap;}
  /* Cards de resumo em 2 colunas */
  .summary-row{grid-template-columns:repeat(2,1fr);}
  /* Cabeçalhos podem quebrar em vez de espremer */
  .view-title{flex-wrap:wrap;gap:10px;}
  .fz-cli-head{flex-wrap:wrap;}
  /* Tabelas largas rolam de lado em vez de cortar conteúdo */
  .fz-tab{display:block;width:100%;white-space:nowrap;overflow:auto !important;-webkit-overflow-scrolling:touch;}
  .tabela{display:block;width:100%;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ================= MODO ESCURO (Colmeia) ================= */
.tema-btn{cursor:pointer;font-size:18px;line-height:1;background:none;border:none;padding:6px;border-radius:9px;}
.tema-btn:hover{background:rgba(0,0,0,.06);}
:root[data-theme="escuro"]{
  --paper:#221e18; --panel:#1b1813; --line:#38332c; --muted:#a89f8c; --dark:#ece6d6;
  --accent:#d9ad38; --accent-dark:#e6bd52;
}
:root[data-theme="escuro"] body{background:#141210;color:var(--dark);}
:root[data-theme="escuro"] header.topbar{background:#1b1813;border-bottom:1px solid var(--line);}
:root[data-theme="escuro"] .brand{color:var(--dark);}
:root[data-theme="escuro"] .topnav a{color:var(--muted);}
:root[data-theme="escuro"] .topnav a:hover{background:#2a251e;color:var(--dark);}
:root[data-theme="escuro"] .btn-primary{background:var(--accent);color:#1a1510;}
:root[data-theme="escuro"] .btn-primary:hover{background:var(--accent-dark);}
:root[data-theme="escuro"] .btn-ghost{color:var(--dark);border-color:var(--line);}
:root[data-theme="escuro"] .btn-accent{background:var(--accent);color:#1a1510;}
:root[data-theme="escuro"] input,:root[data-theme="escuro"] select,:root[data-theme="escuro"] textarea{background:#181410;color:var(--dark);border-color:var(--line);}
:root[data-theme="escuro"] .tabela th{background:#2a251e;color:#cdc4b2;}
:root[data-theme="escuro"] .tabela,:root[data-theme="escuro"] .summary-card,:root[data-theme="escuro"] .panel,:root[data-theme="escuro"] .app,:root[data-theme="escuro"] .vazio,:root[data-theme="escuro"] .notif-drop{background:var(--paper);border-color:var(--line);}
:root[data-theme="escuro"] .app-t{color:var(--dark);}
:root[data-theme="escuro"] .bell:hover{background:#2a251e;}
:root[data-theme="escuro"] .notif-item{color:var(--dark);border-bottom-color:#2a251e;}
:root[data-theme="escuro"] .notif-item:hover{background:#2a251e;}
:root[data-theme="escuro"] .notif-item.unread{background:#241f17;}
:root[data-theme="escuro"] .user-chip .papel{background:#2a251e;color:#cdc4b2;}
:root[data-theme="escuro"] .chip{background:var(--paper);color:var(--muted);border-color:var(--line);}
:root[data-theme="escuro"] .dem-nova,:root[data-theme="escuro"] .dem-form{background:#1f1b15;border-color:var(--line);}
:root[data-theme="escuro"] .alerta{background:#2a2213;border-color:#4a3d1e;color:#e7d6a6;}
