/* Painel de gestão de chamados — usa os tokens de style.css */

body{ padding-bottom:3rem; }

/* o .bi-card do site principal usa height:100% (pensado pra grids de altura igual);
   no painel os cards ficam empilhados, então isso precisa voltar a ser automático */
.bi-card{ height:auto; }

.bi-panel-title{ font-weight:800; color:#fff; margin:1.75rem 0 1rem; }

.bi-back-link{
  appearance:none; -webkit-appearance:none;
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:var(--bi-text-muted) !important;
  font-weight:600; font-size:.82rem;
  padding:.35rem .8rem .35rem .6rem;
  border-radius:999px;
  margin-bottom:1rem;
  text-decoration:none !important;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.bi-back-link svg{ flex:none; }
.bi-back-link:hover{
  color:var(--bi-gold-light) !important;
  background:rgba(232,185,63,.1);
  border-color:rgba(232,185,63,.4);
}

/* protocolo em formato de badge, com botão de copiar embutido */
.bi-copy-btn{
  appearance:none; -webkit-appearance:none;
  display:inline-flex; align-items:center; gap:.45rem;
  background:rgba(232,185,63,.1);
  border:1px solid rgba(232,185,63,.4);
  color:var(--bi-gold-light) !important;
  font-family:inherit;
  font-size:.8rem; font-weight:700; letter-spacing:.02em;
  line-height:1;
  padding:.4rem .75rem;
  border-radius:999px;
  cursor:pointer;
  box-shadow:none;
  transition:background .15s ease, border-color .15s ease, transform .1s ease;
}
.bi-copy-btn:hover{ background:rgba(232,185,63,.2); border-color:rgba(232,185,63,.6); }
.bi-copy-btn:active{ transform:scale(.97); }
.bi-copy-btn svg{ opacity:.75; flex:none; }
.bi-copy-btn.copied{ background:rgba(60,200,120,.18); border-color:rgba(60,200,120,.55); color:#7be0a0 !important; }

/* busca + paginação nas listagens */
.bi-search-row{ max-width:420px; }
.bi-pagination{ display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.bi-pagination a, .bi-pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:34px; height:34px; padding:0 .5rem;
  border-radius:8px; font-size:.85rem;
  border:1px solid rgba(232,185,63,.2);
  color:var(--bi-text);
}
.bi-pagination a:hover{ border-color:rgba(232,185,63,.5); color:var(--bi-gold-light); }
.bi-pagination .active{ background:var(--bi-gold); color:#151b2e; font-weight:700; border-color:var(--bi-gold); }
.bi-pagination .disabled{ opacity:.35; pointer-events:none; }

/* Kanban */
.bi-kanban{ display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; align-items:start; }
@media (max-width:1399.98px){ .bi-kanban{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767.98px){ .bi-kanban{ grid-template-columns:1fr 1fr; } }
@media (max-width:575.98px){ .bi-kanban{ grid-template-columns:1fr; } }

.bi-kanban-col{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(232,185,63,.15);
  border-radius:12px;
  padding:.9rem;
  min-height:120px;
}
.bi-kanban-col h3{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--bi-gold-light);
  font-weight:700;
  margin-bottom:.75rem;
  display:flex; align-items:center; justify-content:space-between;
}
.bi-kanban-count{
  background:rgba(232,185,63,.15);
  color:var(--bi-gold-light);
  border-radius:999px;
  font-size:.72rem;
  padding:.1rem .55rem;
}
.bi-kanban-card{
  display:block;
  background:linear-gradient(160deg, rgba(21,42,92,.6), rgba(10,22,51,.6));
  border:1px solid rgba(232,185,63,.15);
  border-radius:10px;
  padding:.75rem .85rem;
  margin-bottom:.65rem;
  color:var(--bi-text);
  transition:border-color .2s ease, transform .2s ease;
}
.bi-kanban-card:hover{ border-color:rgba(232,185,63,.5); transform:translateY(-2px); color:var(--bi-text); }
.bi-kanban-card .proto{ font-size:.72rem; color:var(--bi-gold); font-weight:700; }
.bi-kanban-card .titulo{ font-weight:600; font-size:.92rem; margin:.2rem 0; }
.bi-kanban-card .meta{ font-size:.76rem; color:var(--bi-text-muted); }

/* status badges */
.bi-badge{
  display:inline-block;
  padding:.2rem .6rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.bi-badge-aberto{ background:rgba(95,168,255,.15); color:#8dc0ff; border:1px solid rgba(95,168,255,.35); }
.bi-badge-em_andamento{ background:rgba(232,185,63,.15); color:var(--bi-gold-light); border:1px solid rgba(232,185,63,.35); }
.bi-badge-concluido{ background:rgba(60,200,120,.15); color:#7be0a0; border:1px solid rgba(60,200,120,.35); }
.bi-badge-reaberto{ background:rgba(255,110,110,.15); color:#ff9b9b; border:1px solid rgba(255,110,110,.35); }

/* SLA */
.bi-badge-no_prazo{ background:rgba(60,200,120,.15); color:#7be0a0; border:1px solid rgba(60,200,120,.35); }
.bi-badge-atencao{ background:rgba(232,185,63,.15); color:var(--bi-gold-light); border:1px solid rgba(232,185,63,.35); }
.bi-badge-atrasado{ background:rgba(255,90,90,.18); color:#ff8a8a; border:1px solid rgba(255,90,90,.4); }
.bi-badge-concluido_no_prazo{ background:rgba(60,200,120,.15); color:#7be0a0; border:1px solid rgba(60,200,120,.35); }
.bi-badge-concluido_atrasado{ background:rgba(255,170,90,.15); color:#ffb46b; border:1px solid rgba(255,170,90,.35); }

/* tabelas */
.bi-table{ width:100%; color:var(--bi-text); border-collapse:separate; border-spacing:0; }
.bi-table th{ text-align:left; font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--bi-text-muted); padding:.6rem .75rem; border-bottom:1px solid rgba(232,185,63,.2); }
.bi-table td{ padding:.65rem .75rem; border-bottom:1px solid rgba(255,255,255,.06); font-size:.9rem; }
.bi-table tr:hover td{ background:rgba(255,255,255,.02); }
.bi-row-link{ cursor:pointer; }
.bi-row-link:hover td{ background:rgba(232,185,63,.06); }

/* stepper de etapas (reaproveita visual do site) */
.bi-stepper{ display:flex; flex-wrap:wrap; gap:1.5rem; margin:1.5rem 0; }
.bi-stepper .step{ display:flex; align-items:center; gap:.6rem; opacity:.45; }
.bi-stepper .step.active{ opacity:1; }
.bi-stepper .step .num{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(232,185,63,.4);
  color:var(--bi-gold-light); font-weight:800; font-size:.85rem;
  flex:none;
}
.bi-stepper .step.active .num{ background:var(--bi-gold); color:#151b2e; }
.bi-stepper .step .label{ font-weight:700; font-size:.85rem; }

/* mensagens do chamado */
.bi-msg{
  border-radius:10px;
  padding:.85rem 1rem;
  margin-bottom:.75rem;
  border:1px solid rgba(255,255,255,.08);
}
.bi-msg-cliente{ background:rgba(95,168,255,.08); border-color:rgba(95,168,255,.25); }
.bi-msg-staff-publico{ background:rgba(232,185,63,.08); border-color:rgba(232,185,63,.25); }
.bi-msg-interno{ background:rgba(255,255,255,.03); border-style:dashed; }
.bi-msg-sistema{ background:transparent; border-style:dotted; font-style:italic; color:var(--bi-text-muted); }
.bi-msg .author{ font-size:.78rem; font-weight:700; color:var(--bi-gold-light); }
.bi-msg .when{ font-size:.72rem; color:var(--bi-text-muted); }
.bi-msg .body{ margin-top:.35rem; white-space:pre-wrap; }

.bi-pix-box{
  background:#0b1730;
  border:1px solid rgba(232,185,63,.25);
  border-radius:12px;
  padding:1.25rem;
  text-align:center;
}
.bi-qr-wrap{
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; padding:10px; border-radius:10px;
}
.bi-qr-wrap canvas{ display:block; max-width:100%; height:auto; }
.bi-pix-code{
  font-family:monospace;
  font-size:.75rem;
  word-break:break-all;
  background:rgba(255,255,255,.05);
  padding:.6rem;
  border-radius:8px;
  color:var(--bi-text-muted);
}
