/* ============================================================
   Projeto Bronks — estilos da plataforma. Tema dark (19/05/2026).
   Compartilhado pelo Atendimento (index.html) e pelo Reviews (reviews.html).
   A carcaça (sidebar, topbar) mora aqui uma vez só, sem duplicação.
   ============================================================ */

:root{
  --accent:var(--brand-accent);
  --blue:#2a45ff;
  --sidebar:var(--brand-sidebar-bg);
  --sidebar-line:rgba(255,255,255,.12);
  --sidebar-text:#cdd9e8;
  --sidebar-faint:#8aa0bd;
  --content:var(--brand-bg);
  --card:var(--brand-panel);
  --line:var(--brand-line);
  --ink:var(--brand-ink);
  --muted:var(--brand-muted);
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:var(--brand-font);font-size:14px;color:var(--ink);
  background:var(--content);-webkit-font-smoothing:antialiased;overflow:hidden;
}
.app{width:100vw;height:100vh;display:flex;}

/* ===================== SIDEBAR ===================== */
.sidebar{
  width:248px;flex:none;display:flex;flex-direction:column;
  background:var(--sidebar);
  border-right:1px solid rgba(216,189,131,.45);
}
.logo-slot{
  height:168px;flex:none;display:flex;align-items:center;justify-content:center;
  padding:16px;
}
.logo-slot img{max-width:215px;max-height:130px;width:auto;height:auto;object-fit:contain;}
.nav{flex:1;padding:10px 12px;overflow-y:auto;}
.nav-sep{height:1px;background:var(--sidebar-line);margin:8px 10px;}
.nav-item{
  display:flex;align-items:center;gap:11px;
  padding:7px 10px;border-radius:8px;cursor:pointer;
  color:var(--sidebar-text);font-size:13.5px;margin-bottom:1px;
  text-decoration:none;
}
.nav-item svg{width:18px;height:18px;flex:none;stroke-width:1.8;}
.nav-item span{flex:1;min-width:0;}
.nav-wip{
  flex:none;font-size:11px;line-height:1;padding:2px 5px;border-radius:6px;
  background:rgba(212,165,18,.18);border:1px solid rgba(212,165,18,.4);
  color:#f0c84c;font-weight:600;
}
.nav-item:hover{background:rgba(255,255,255,.05);}
.nav-item.active{background:rgba(255,255,255,.10);color:#fff;font-weight:600;
  border:1.5px solid var(--brand-frame);
  box-shadow:none;}
.sidebar-foot{
  flex:none;border-top:1px solid var(--sidebar-line);padding:12px;
  display:flex;align-items:center;gap:10px;
}
.sidebar-foot .av{
  width:32px;height:32px;border-radius:8px;flex:none;background:transparent;
  border:1px solid rgba(255,255,255,.16);
  color:#fff;font-size:12px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.sidebar-foot .uinfo b{display:block;font-size:12.5px;font-weight:600;color:#fff;}
.sidebar-foot .uinfo span{font-size:11px;color:var(--sidebar-faint);}
.sidebar-foot .logout{
  margin-left:auto;flex:none;width:30px;height:30px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--sidebar-faint);cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s;
}
.sidebar-foot .logout:hover{background:rgba(255,255,255,.06);color:var(--sidebar-text);}
.sidebar-foot .logout svg{width:17px;height:17px;stroke-width:1.9;}

/* ===================== MAIN / TOPBAR ===================== */
.main{flex:1;display:flex;flex-direction:column;min-width:0;}
.topbar{
  height:76px;flex:none;
  background:var(--brand-panel);
  border-bottom:2px solid var(--brand-frame);
  box-shadow:0 1px 6px rgba(28,39,56,.06);
  display:flex;align-items:center;padding:0 24px;position:relative;
}
.topbar-frase{position:absolute;left:48%;top:50%;transform:translate(-50%,-50%);
  height:56px;width:auto;}
.topbar-marca{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  color:var(--brand-accent-strong);font-weight:800;font-size:18px;letter-spacing:.06em;}

/* ============================================================
   Botão de emergência (kill switch global) — vive na topbar de todas as telas.
   ============================================================ */
.emergencia-btn{
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:7px;
  height:36px;padding:0 14px;border-radius:8px;
  background:rgba(0,0,0,.5);border:1px solid rgba(228,32,46,.55);
  color:#ff9999;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;
  letter-spacing:.02em;backdrop-filter:blur(4px);
  transition:background .15s, border-color .15s, color .15s;
}
.emergencia-btn .emerg-icone{font-size:14px;}
.emergencia-btn:hover{background:rgba(228,32,46,.18);border-color:rgba(228,32,46,.8);color:#fff;}
.emergencia-btn.ativa{
  background:#c41616;border-color:#ff3333;color:#fff;
  animation:emergPulse 1.4s ease-in-out infinite;
}
@keyframes emergPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(228,32,46,.5);}
  50%{box-shadow:0 0 0 6px rgba(228,32,46,0);}
}

/* Modal de senha da emergência (próprio, leve, fica acima de outros modais) */
.emerg-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);
  display:flex;align-items:center;justify-content:center;z-index:10001;
}
.emerg-modal-overlay[hidden]{display:none;}
.emerg-modal{
  background:#141414;border:1px solid rgba(228,32,46,.55);border-radius:12px;
  width:440px;max-width:90vw;overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.7),0 0 24px rgba(228,32,46,.25);
}
.emerg-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid rgba(228,32,46,.3);
}
.emerg-modal-head h3{font-size:15px;font-weight:700;color:#fff;margin:0;}
.emerg-modal-x{
  background:none;border:none;color:var(--muted);font-size:22px;
  cursor:pointer;line-height:1;padding:0 6px;border-radius:4px;
}
.emerg-modal-x:hover{color:#fff;background:rgba(255,255,255,.06);}
.emerg-modal-body{padding:16px 18px;}
.emerg-modal-body p{font-size:13px;color:var(--ink);line-height:1.5;margin:0 0 14px;}
.emerg-modal-body input[type="password"]{
  width:100%;padding:9px 12px;background:#0a0a0a;color:var(--ink);
  border:1px solid rgba(228,32,46,.3);border-radius:6px;
  font-family:inherit;font-size:13px;letter-spacing:.1em;
}
.emerg-modal-body input[type="password"]:focus{outline:none;border-color:rgba(228,32,46,.7);}
.emerg-modal-erro{
  font-size:12px;color:#ff6677;margin-top:6px;padding:6px 10px;
  background:rgba(228,32,46,.1);border:1px solid rgba(228,32,46,.35);border-radius:5px;
}
.emerg-modal-foot{
  display:flex;gap:8px;justify-content:flex-end;
  padding:14px 18px;border-top:1px solid rgba(228,32,46,.3);
}
.emerg-modal-foot button{
  padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;
  cursor:pointer;font-family:inherit;border:none;
}
.emerg-btn-secondary{background:#1a1a1a;color:var(--ink);border:1px solid rgba(255,55,55,.18);}
.emerg-btn-secondary:hover{background:#222;}
.emerg-btn-primary{background:#c41616;color:#fff;}
.emerg-btn-primary:hover{background:#a41010;}

/* área de conteúdo — base; cada tela escolhe se rola ou não */
.content{flex:1;background:var(--content);}
.content-fixed{overflow:hidden;}
.content-scroll{overflow-y:auto;}

/* ===================== ATENDIMENTO (chat) ===================== */
/* Padrão de atmosfera dos módulos (cravado 19/05/2026): imagem temática 16:9
   com véu linear-gradient(rgba(0,0,0,.94),rgba(0,0,0,.97)), cover/center.
   Sutil o bastante pra não brigar com a leitura, presente o bastante pra dar
   identidade. Replicar essa mesma calibragem nos outros módulos (Reservas,
   Disparos, etc.), só trocando a imagem temática. */
.chat{
  display:flex;height:100%;
  /* Fundo neutro até a Lua entregar a arte temática do Tijuca (substituir a
     url aqui pela imagem nova; o véu escuro já está calibrado). */
  background:var(--brand-dark-bg);
}
.chat svg{stroke-width:1.8;}

/* ---- coluna 1: conversas (a fila) ---- */
.conv-col{
  width:322px;flex:none;background:transparent;border-right:1px solid var(--line);
  display:flex;flex-direction:column;min-height:0;
}
.conv-head{flex:none;padding:13px 13px 11px;border-bottom:1px solid var(--line);}
.conv-search{
  height:36px;background:rgba(20,20,20,.6);border:1px solid rgba(255,55,55,.18);
  border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 11px;
  color:var(--muted);font-size:13px;
}
.conv-search svg{width:15px;height:15px;flex:none;}
.conv-search input{
  flex:1;min-width:0;background:transparent;border:0;outline:0;
  color:var(--text,#fff);font-family:inherit;font-size:13px;padding:0;
}
.conv-search input::placeholder{color:var(--muted);}
.conv-search input::-webkit-search-cancel-button{
  -webkit-appearance:none;appearance:none;width:14px;height:14px;cursor:pointer;
  background:rgba(255,255,255,.4);mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M18 6L6 18M6 6l12 12' stroke='currentColor' stroke-width='2' fill='none'/></svg>") center/contain no-repeat;
}
.conv-filters{display:flex;gap:6px;margin-top:10px;}
.fpill{
  font-size:12px;padding:5px 9px;border-radius:7px;
  background:rgba(20,20,20,.6);border:1px solid rgba(255,55,55,.18);color:var(--muted);
  cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px;font-family:inherit;
}
.fpill .ct{font-weight:700;}
.fpill.active{background:rgba(255,55,55,.12);color:var(--ink);border-color:rgba(255,55,55,.4);}
.fpill.alert{background:rgba(228,32,46,.08);border-color:rgba(228,32,46,.25);color:#ff5566;}
.fpill.alert.active{background:rgba(228,32,46,.2);color:#ff5566;}

.conv-scroll{flex:1;overflow-y:auto;min-height:0;}
.conv{
  display:flex;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line);
  cursor:pointer;position:relative;
}
.conv:hover{background:rgba(255,55,55,.04);}
.conv.active{background:rgba(255,55,55,.08);}
.conv.active::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
}
.conv .av{
  width:40px;height:40px;border-radius:50%;flex:none;
  background:#2a2a2a;color:#9a9da5;font-size:13px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.conv-body{flex:1;min-width:0;}
.conv-top{display:flex;align-items:center;gap:7px;}
.conv-name{
  font-size:13.5px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.av img{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover;mix-blend-mode:screen;}
.conv-time{margin-left:auto;font-size:11px;color:var(--muted);flex:none;}
.conv-line{
  font-size:12.5px;color:var(--muted);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.conv-meta{display:flex;align-items:center;gap:6px;margin-top:7px;}
.chan{
  width:17px;height:17px;border-radius:5px;flex:none;color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.chan svg{width:11px;height:11px;}
.chan.wa{background:#25d366;}
.chan.ig{background:linear-gradient(45deg,#feda75,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5);}
.chan.ms{background:#0866ff;}
.chan.gg{background:var(--card);border:1px solid var(--line);}
.chan.gg svg{width:13px;height:13px;}
.tag{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;white-space:nowrap;}
.tag.aniv{background:rgba(228,32,46,.12);color:#ff6677;}
.tag.rsv{background:rgba(42,69,255,.12);color:#6888ff;}
.tag.prog{background:rgba(245,158,11,.12);color:#f5a842;}
.tag.pos{background:rgba(31,157,84,.12);color:#34c77b;}
.temp{width:8px;height:8px;border-radius:50%;flex:none;margin-left:auto;}
.temp.hot{background:#e4202e;}
.temp.warm{background:#f59e0b;}
.temp.cold{background:#5b8def;}
.unread{
  min-width:18px;height:18px;border-radius:9px;background:var(--accent);
  color:#fff;font-size:10.5px;font-weight:700;padding:0 5px;flex:none;
  display:flex;align-items:center;justify-content:center;
}

/* ---- coluna 2: thread (a conversa) ---- */
.thread{flex:1;min-width:0;display:flex;flex-direction:column;background:transparent;}
.thread-head{
  flex:none;background:transparent;border-bottom:1px solid rgba(255,55,55,.18);
  padding:11px 18px;display:flex;align-items:center;gap:11px;
}
.thread-head .av{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:#2a2a2a;color:#9a9da5;font-size:13px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.th-id b{font-size:14px;font-weight:600;color:var(--ink);display:block;}
.th-id span{
  font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:1px;
}
.th-id .chan{width:14px;height:14px;}
.th-id .chan svg{width:9px;height:9px;}
.win{
  margin-left:auto;flex:none;display:flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:7px;
  background:rgba(31,157,84,.12);color:#34c77b;
}
.win .dot{width:6px;height:6px;border-radius:50%;background:#34c77b;}

.msgs{
  flex:1;overflow-y:auto;min-height:0;padding:20px;
  display:flex;flex-direction:column;gap:13px;
}
.msg{max-width:72%;display:flex;flex-direction:column;gap:3px;}
.msg.in{align-self:flex-start;align-items:flex-start;}
.msg.out{align-self:flex-end;align-items:flex-end;}
.bubble{padding:9px 13px;font-size:13.5px;line-height:1.46;border-radius:14px;}
.msg.in .bubble{
  background:#1e1e1e;border:1px solid rgba(255,255,255,.08);color:var(--ink);
  border-bottom-left-radius:4px;
}
.msg.out .bubble{background:#2a45ff;color:#fff;border-bottom-right-radius:4px;}
.msg-meta{
  font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:5px;padding:0 4px;
}
.msg-meta .by{font-weight:700;}
.msg-meta .by.ia{color:var(--accent);}
.msg-meta .by.human{color:#6888ff;}
.audio{display:flex;align-items:center;gap:10px;min-width:172px;}
.audio .play{
  width:27px;height:27px;border-radius:50%;flex:none;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.audio .play svg{width:11px;height:11px;}
.audio .wave{
  flex:1;height:16px;border-radius:2px;
  background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px);
  opacity:.35;
}
.audio .dur{font-size:11px;opacity:.65;flex:none;}
.photo{
  width:190px;height:122px;border-radius:11px;
  background:linear-gradient(135deg,#3b3c44,#202024);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);
}
.photo svg{width:30px;height:30px;}

/* ---- composer (caixa de digitação) ---- */
.composer{flex:none;background:transparent;border-top:1px solid rgba(255,55,55,.18);padding:11px 16px 13px;position:relative;}

/* ---- popup do Acervo (mensagens salvas) ---- */
.acervo-popup{
  position:absolute;bottom:calc(100% + 8px);left:16px;
  width:380px;max-height:420px;
  background:#141414;border:1px solid rgba(255,55,55,.35);
  border-radius:12px;
  box-shadow:0 10px 32px rgba(0,0,0,.6),0 0 16px rgba(255,55,55,.15);
  display:flex;flex-direction:column;z-index:100;
}
.acervo-popup[hidden]{display:none;}
.ap-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid rgba(255,55,55,.18);
}
.ap-title{font-size:13px;font-weight:600;color:var(--ink);}
.ap-new{
  font-size:12px;padding:5px 11px;font-family:inherit;font-weight:600;
  background:rgba(228,32,46,.12);color:#ff5566;
  border:1px solid rgba(255,55,55,.35);border-radius:6px;cursor:pointer;
}
.ap-new:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.ap-search{padding:9px 12px;border-bottom:1px solid rgba(255,55,55,.18);}
.ap-search[hidden]{display:none;}
.ap-search input{
  width:100%;padding:7px 11px;background:#0a0a0a;color:var(--ink);
  border:1px solid rgba(255,55,55,.18);border-radius:6px;
  font-family:inherit;font-size:12px;
}
.ap-search input:focus{outline:none;border-color:rgba(42,69,255,.5);}
.ap-list{flex:1;overflow-y:auto;max-height:290px;}
.ap-list[hidden]{display:none;}
.ap-item{
  display:flex;align-items:flex-start;gap:8px;
  padding:9px 14px;cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.ap-item:hover{background:rgba(255,255,255,.04);}
.ap-item:last-child{border-bottom:none;}
.ap-item-main{flex:1;min-width:0;}
.ap-item-title{font-size:12.5px;font-weight:600;color:var(--ink);}
.ap-item-preview{
  font-size:11px;color:var(--muted);margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ap-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;}
.ap-item:hover .ap-item-actions{opacity:1;}
.ap-item-actions button{
  width:24px;height:24px;font-family:inherit;
  background:#0a0a0a;border:1px solid rgba(255,55,55,.18);border-radius:5px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--muted);
}
.ap-item-actions button:hover{color:var(--ink);border-color:rgba(255,55,55,.4);}
.ap-item-actions button svg{width:12px;height:12px;stroke-width:1.8;}
.ap-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:12px;}
.ap-form{padding:12px 14px;}
.ap-form[hidden]{display:none;}
.ap-form input,
.ap-form textarea{
  width:100%;padding:8px 11px;background:#0a0a0a;color:var(--ink);
  border:1px solid rgba(255,55,55,.18);border-radius:6px;
  font-family:inherit;font-size:12px;margin-bottom:8px;
}
.ap-form textarea{min-height:90px;resize:vertical;line-height:1.45;}
.ap-form input:focus,
.ap-form textarea:focus{outline:none;border-color:rgba(42,69,255,.5);}
.ap-form-actions{display:flex;gap:8px;justify-content:flex-end;}
.ap-form-actions button{
  padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;
  cursor:pointer;font-family:inherit;
}
.ap-cancel{background:#0a0a0a;color:var(--muted);border:1px solid rgba(255,55,55,.18);}
.ap-cancel:hover{color:var(--ink);}
.ap-save{background:var(--blue);color:#fff;border:1px solid var(--blue);}
.ap-save:hover{background:#1f37cc;}

/* ---- Agendamento de envio ---- */
.schedule-btn{
  width:44px;height:44px;border-radius:10px;font-family:inherit;
  background:#1a1a1a;border:1px solid rgba(255,55,55,.18);color:var(--muted);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.schedule-btn:hover{background:#222;color:var(--ink);}
.schedule-btn svg{width:18px;height:18px;}
.schedule-popup{
  position:absolute;bottom:calc(100% + 8px);right:16px;
  width:300px;background:#141414;
  border:1px solid rgba(255,55,55,.35);border-radius:12px;
  box-shadow:0 10px 32px rgba(0,0,0,.6),0 0 16px rgba(255,55,55,.15);
  padding:12px 14px;z-index:100;
}
.schedule-popup[hidden]{display:none;}
.sp-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.schedule-popup input[type="datetime-local"]{
  width:100%;padding:8px 11px;background:#0a0a0a;color:var(--ink);
  border:1px solid rgba(255,55,55,.18);border-radius:6px;
  font-family:inherit;font-size:12px;margin-bottom:10px;
}
.schedule-popup input[type="datetime-local"]:focus{outline:none;border-color:rgba(42,69,255,.5);}
.sp-actions{display:flex;gap:8px;justify-content:flex-end;}
.sp-actions button{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.sp-cancel{background:#0a0a0a;color:var(--muted);border:1px solid rgba(255,55,55,.18);}
.sp-cancel:hover{color:var(--ink);}
.sp-save{background:var(--blue);color:#fff;border:1px solid var(--blue);}
.sp-save:hover{background:#1f37cc;}

.msg.scheduled .bubble{
  background:rgba(255,255,255,.04);color:var(--ink);
  border:1px dashed rgba(255,255,255,.18);
}
.schedule-meta{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--muted);margin-bottom:6px;
  padding-bottom:6px;border-bottom:1px dashed rgba(255,255,255,.08);
}
.schedule-meta svg{width:12px;height:12px;stroke-width:1.8;}
.schedule-cancel{
  margin-left:auto;background:none;border:none;
  font-size:16px;color:var(--muted);
  cursor:pointer;padding:0 6px;border-radius:4px;line-height:1;
  font-family:inherit;
}
.schedule-cancel:hover{color:var(--ink);background:rgba(255,255,255,.06);}
.suggest-tag{
  display:flex;align-items:center;gap:6px;font-size:11px;
  color:var(--accent);font-weight:600;margin-bottom:8px;
}
.suggest-tag svg{width:13px;height:13px;}
.suggest-tag .clr{margin-left:auto;color:var(--muted);font-weight:500;cursor:pointer;}
.composer-row{display:flex;align-items:flex-end;gap:9px;}
.composer textarea{
  flex:1;min-height:44px;max-height:130px;resize:none;
  padding:11px 13px;border:1px solid rgba(255,55,55,.18);border-radius:10px;
  font-family:inherit;font-size:13.5px;color:var(--ink);line-height:1.45;
  background:var(--content);
}
.composer textarea:focus{outline:none;border-color:rgba(42,69,255,.5);background:#1a1a1a;}
.icon-btn{
  width:44px;height:44px;flex:none;border-radius:10px;
  background:#1a1a1a;border:1px solid rgba(255,55,55,.18);color:var(--muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.icon-btn:hover{background:#222;color:var(--ink);}
.icon-btn svg{width:18px;height:18px;}
.send-btn{
  height:44px;flex:none;padding:0 17px;border-radius:10px;border:none;
  background:var(--blue);color:#fff;font-family:inherit;font-size:13px;
  font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;
}
.send-btn svg{width:15px;height:15px;}

/* ---- coluna 3: painel estrategista (colapsável) ---- */
.panel{
  width:328px;flex:none;background:transparent;border-left:1px solid var(--line);
  display:flex;flex-direction:column;min-height:0;
  position:relative;transition:width .2s ease;
}
.panel-content{flex:1;overflow-y:auto;min-height:0;}
.panel-toggle{
  position:absolute;top:14px;left:-14px;z-index:5;
  width:28px;height:28px;border-radius:50%;
  background:#141414;border:1px solid rgba(255,55,55,.35);
  color:var(--muted);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:color .15s, border-color .15s, transform .2s;
  box-shadow:0 2px 8px rgba(0,0,0,.5);
}
.panel-toggle:hover{color:var(--ink);border-color:rgba(255,55,55,.6);}
.panel-toggle svg{width:14px;height:14px;}
.panel.collapsed{width:32px;}
.panel.collapsed .panel-content{display:none;}
.panel.collapsed .panel-toggle{transform:rotate(180deg);}
.p-sec{padding:15px 16px;border-bottom:1px solid rgba(255,55,55,.18);}
.p-sec:last-child{border-bottom:none;}
.p-label{
  font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);margin-bottom:11px;
}
.dial{
  display:flex;gap:3px;background:#0a0a0a;border:1px solid var(--line);
  border-radius:9px;padding:3px;
}
.dial button{
  flex:1;height:33px;border:1px solid rgba(255,55,55,.18);background:none;cursor:pointer;
  font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);border-radius:6px;
}
.dial button.on{background:var(--blue);color:#fff;}
.dial-note{font-size:11.5px;color:var(--muted);margin-top:9px;line-height:1.45;}
.ficha-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;}
.ficha-row .k{color:var(--muted);}
.ficha-row .v{color:var(--ink);font-weight:500;text-align:right;}
.an-item{margin-bottom:13px;}
.an-item:last-child{margin-bottom:0;}
.an-k{font-size:11px;color:var(--muted);margin-bottom:4px;}
.an-v{font-size:13px;color:var(--ink);font-weight:600;line-height:1.4;}
.an-v.warn{color:#ff5566;}
.pill-temp{
  display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:5px;
  background:rgba(228,32,46,.12);color:#ff5566;
}
.steps{display:flex;gap:5px;margin-top:2px;}
.step{flex:1;height:5px;border-radius:3px;background:var(--line);}
.step.done{background:var(--blue);}
.steps-cap{font-size:11px;color:var(--muted);margin-top:6px;}
.resumo{font-size:12.5px;line-height:1.55;color:#9a9da5;}
.act{
  width:100%;height:38px;border-radius:9px;font-family:inherit;font-size:12.5px;
  font-weight:600;cursor:pointer;margin-bottom:7px;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.act:last-child{margin-bottom:0;}
.act svg{width:14px;height:14px;}
.act.primary{background:var(--blue);color:#fff;border:none;}
.act.ghost{background:#1a1a1a;color:var(--ink);border:1px solid rgba(255,55,55,.18);}
.act.ghost:hover{background:#222;}

/* ============================================================
   Compartilhado entre módulos — sub-abas (.rs-tabs/.rs-tab) e modais
   (.cm-modal-*/.cm-btn-*). Originalmente em reservas.css; promovido
   pra cá pra acervo.html (e próximos módulos) reusarem sem importar
   reservas.css. A duplicação com reservas.css é intencional por
   enquanto — limpar de reservas.css em refactor posterior.
   ============================================================ */

/* sub-abas em módulos com mais de uma view (Reservas, Acervo, Agente IA) — cada
   aba é uma pill com contorno neon vermelho discreto, pra deixar claro que é botão.
   Ativa ganha contorno mais forte + glow. */
.rs-tabs{
  display:flex;gap:6px;margin-bottom:16px;align-items:center;flex-wrap:wrap;
}
.rs-nova-mini{
  margin-left:auto;
  height:34px;padding:0 14px;border-radius:7px;border:none;
  background:var(--accent);color:#fff;font-family:inherit;font-size:12px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;gap:5px;
}
.rs-nova-mini svg{width:13px;height:13px;stroke-width:2.2;}
.rs-nova-mini:hover{filter:brightness(1.1);}
.rs-tab{
  font-size:13px;padding:8px 14px;background:transparent;
  border:1px solid rgba(255,55,55,.22);border-radius:7px;
  color:var(--muted);cursor:pointer;font-family:inherit;font-weight:600;
  display:flex;align-items:center;gap:6px;
  transition:border-color .15s, color .15s, box-shadow .15s;
}
.rs-tab .ct{
  font-weight:500;font-size:11px;color:var(--muted);
  background:rgba(255,255,255,.05);padding:1px 6px;border-radius:4px;
}
.rs-tab:hover{color:var(--ink);border-color:rgba(255,55,55,.4);}
.rs-tab.active{
  color:#ffbbbb;border-color:rgba(255,55,55,.6);
  background:rgba(255,55,55,.06);
  box-shadow:0 0 12px rgba(255,55,55,.18), inset 0 0 6px rgba(255,55,55,.08);
}
.rs-tab.active .ct{background:rgba(255,55,55,.22);color:#ffbbbb;}

/* modal genérico (overlay + caixa + cabeçalho + rodapé) */
.cm-modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);
  display:flex;align-items:center;justify-content:center;
  z-index:1000;
}
.cm-modal{
  background:var(--card);border:1px solid rgba(255,55,55,.18);border-radius:12px;
  width:480px;max-width:90vw;max-height:85vh;
  display:flex;flex-direction:column;overflow:hidden;
}
.cm-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid rgba(255,55,55,.18);
}
.cm-modal-head h3{font-size:15px;font-weight:600;color:var(--ink);margin:0;}
.cm-modal-x{
  background:none;border:none;color:var(--muted);font-size:22px;
  cursor:pointer;line-height:1;padding:0 6px;border-radius:4px;
}
.cm-modal-x:hover{color:var(--ink);background:rgba(255,255,255,.06);}
.cm-modal-body{padding:16px 18px;overflow-y:auto;flex:1;}
.cm-modal-row{margin-bottom:14px;}
.cm-modal-row label{
  display:block;font-size:11px;font-weight:600;color:var(--muted);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;
}
.cm-modal-row input[type="date"],
.cm-modal-row input[type="text"],
.cm-modal-row select,
.cm-modal-row textarea{
  width:100%;padding:8px 11px;background:#0a0a0a;color:var(--ink);
  border:1px solid rgba(255,55,55,.18);border-radius:6px;
  font-family:inherit;font-size:13px;
}
.cm-modal-row textarea{resize:vertical;min-height:80px;line-height:1.5;}
.cm-modal-row input:focus,
.cm-modal-row select:focus,
.cm-modal-row textarea:focus{outline:none;border-color:rgba(42,69,255,.5);}
.cm-modal-foot{
  display:flex;gap:8px;justify-content:flex-end;
  padding:14px 18px;border-top:1px solid rgba(255,55,55,.18);
}
.cm-modal-foot button{
  padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;
  cursor:pointer;font-family:inherit;border:none;
}
.cm-btn-secondary{background:#1a1a1a;color:var(--ink);border:1px solid rgba(255,55,55,.18) !important;}
.cm-btn-secondary:hover{background:#222;}
.cm-btn-primary{background:var(--blue);color:#fff;}
.cm-btn-primary:hover{background:#1f37cc;}
.cm-btn-primary:disabled{background:#444;color:#888;cursor:not-allowed;}
.cm-btn-danger{background:#1a1a1a;color:#ff6677;border:1px solid rgba(228,32,46,.35) !important;}
.cm-btn-danger:hover{background:#2a1414;border-color:rgba(228,32,46,.6) !important;}

/* Overrides do atributo hidden: especificidade (0,2,0) ganha das classes (0,1,0)
   que tem display:flex/grid. Sem isso, elementos com hidden continuam visiveis. */
.cm-modal-overlay[hidden]{display:none;}
.ac-pane[hidden]{display:none;}
.ac-dd-menu[hidden]{display:none;}
.ag-pane[hidden]{display:none;}
.ag-agenda-analisando[hidden]{display:none;}

/* Dropdown padrão da plataforma — usado em Acervo, Contatos, etc. */
.ac-dd{position:relative;flex:none;}
.ac-dd-btn{
  display:flex;align-items:center;gap:8px;
  height:38px;padding:0 14px;border-radius:8px;
  background:#0a0a0a;border:1px solid rgba(255,55,55,.18);
  color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;
}
.ac-dd-btn:hover{border-color:rgba(255,55,55,.35);}
.ac-dd-prefix{color:var(--muted);font-weight:500;}
.ac-dd-current{font-weight:600;}
.ac-dd-arrow{width:14px;height:14px;color:var(--muted);}
.ac-dd-menu{
  position:absolute;top:calc(100% + 6px);left:0;min-width:240px;
  background:#141414;border:1px solid rgba(255,55,55,.35);border-radius:8px;
  box-shadow:0 10px 32px rgba(0,0,0,.6),0 0 16px rgba(255,55,55,.15);
  padding:5px;z-index:100;
  display:flex;flex-direction:column;gap:1px;
  max-height:340px;overflow-y:auto;
}
.ac-dd-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:8px 11px;border:none;background:transparent;border-radius:5px;
  color:var(--ink);cursor:pointer;font-family:inherit;font-size:13px;
  text-align:left;
}
.ac-dd-item:hover{background:rgba(255,55,55,.08);}
.ac-dd-item.active{background:rgba(255,55,55,.14);color:#ffbbbb;font-weight:600;}
.ac-dd-ct{
  font-size:11px;font-weight:600;color:var(--muted);
  background:rgba(255,255,255,.06);padding:1px 7px;border-radius:4px;
  min-width:22px;text-align:center;
}
.ac-dd-item.active .ac-dd-ct{background:rgba(255,55,55,.22);color:#ffbbbb;}
