/* =========================================================
   CRM Funil — folha de estilo principal
   Paleta clara, cantos suaves, roxo como cor de acento.
   ========================================================= */

:root{
  --brand:#5B4FE9;
  --brand-600:#4A3FD4;
  --brand-700:#3E34B8;
  --brand-50:#EFEDFD;
  --brand-100:#E2DEFB;

  --ink:#1F2138;
  --ink-2:#3E4059;
  --muted:#7B7D99;
  --muted-2:#9A9CB5;

  --bg:#F4F5FA;
  --col:#ECEDF7;
  --surface:#FFFFFF;
  --line:#E6E6F1;
  --line-2:#EFEFF7;
  --field:#EFF1F7;

  --green:#17A673;
  --green-50:#E6F7F0;
  --orange:#E0912F;
  --orange-50:#FDF3E5;
  --blue:#2E7FE0;
  --blue-50:#EAF2FD;
  --pink:#D0509B;
  --pink-50:#FBEBF3;
  --red:#E24C4B;
  --red-50:#FCECEC;
  --slate:#6E7191;

  --r-sm:6px;
  --r:9px;
  --r-md:12px;
  --r-lg:16px;

  --sh-1:0 1px 2px rgba(31,33,56,.06);
  --sh-2:0 4px 14px rgba(31,33,56,.08);
  --sh-3:0 18px 50px rgba(31,33,56,.18);

  --font:"Inter","Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html,body{height:100%;}
body{
  margin:0;
  font-family:var(--font);
  font-size:14px;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.01em;}
a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;}

/* scrollbars discretos */
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:#D3D4E4;border-radius:20px;border:3px solid transparent;background-clip:content-box;}
*::-webkit-scrollbar-thumb:hover{background:#BFC0D6;background-clip:content-box;}
*::-webkit-scrollbar-track{background:transparent;}

/* ============================ BOTÕES ============================ */
.btn{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--ink-2);
  padding:8px 13px;
  border-radius:var(--r);
  font-size:13.5px;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:7px;
  line-height:1.2;
  transition:background .14s,border-color .14s,color .14s,box-shadow .14s;
  white-space:nowrap;
}
.btn:hover{background:#F8F8FC;border-color:#D8D8E8;}
.btn .ic{width:15px;height:15px;flex:0 0 15px;}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(91,79,233,.28);}
.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600);}
.btn-soft{background:var(--brand-50);border-color:transparent;color:var(--brand);}
.btn-soft:hover{background:var(--brand-100);}
.btn-dark{background:#282A45;border-color:#282A45;color:#fff;}
.btn-dark:hover{background:#1D1F36;}
.btn-danger{color:var(--red);border-color:#F0D2D2;background:#fff;}
.btn-danger:hover{background:var(--red-50);border-color:#E9BEBE;}
.btn-sm{padding:6px 10px;font-size:12.5px;border-radius:var(--r-sm);}
.btn-block{width:100%;justify-content:center;}
.btn-ghost{background:transparent;border-color:transparent;color:var(--muted);}
.btn-ghost:hover{background:var(--brand-50);color:var(--brand);border-color:transparent;}
.icon-btn{
  border:none;background:transparent;color:var(--muted);
  width:30px;height:30px;border-radius:var(--r-sm);
  display:inline-flex;align-items:center;justify-content:center;
}
.icon-btn:hover{background:var(--brand-50);color:var(--brand);}
.icon-btn.lg{width:34px;height:34px;}

/* ============================ TELA DE CONEXÃO ============================ */
#connectScreen{
  position:fixed;inset:0;z-index:200;
  background:radial-gradient(1200px 600px at 50% -10%,#EDEBFC 0%,var(--bg) 55%);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
#connectScreen.hidden{display:none;}
.connect-card{
  width:100%;max-width:470px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sh-3);padding:34px 34px 28px;text-align:center;
}
.connect-logo{
  width:54px;height:54px;border-radius:15px;margin:0 auto 18px;
  background:linear-gradient(150deg,var(--brand) 0%,#7B6FF2 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 8px 20px rgba(91,79,233,.32);
}
.connect-card h1{font-size:20px;margin-bottom:8px;}
.connect-card p{color:var(--muted);line-height:1.65;margin:0 0 22px;font-size:13.5px;}
.connect-actions{display:flex;flex-direction:column;gap:9px;}
.connect-actions .btn{justify-content:center;padding:11px;font-size:14px;}
.connect-note{margin-top:20px;font-size:12px;color:var(--muted-2);line-height:1.65;}
.notice{
  text-align:left;border-radius:var(--r);padding:12px 14px;
  font-size:12.5px;line-height:1.6;margin-top:16px;
}
.notice-warn{background:var(--orange-50);border:1px solid #F2DDB8;color:#8A6116;}
.file-name{font-weight:700;color:var(--ink);}

/* ============================ TOPBAR ============================ */
.topbar{
  height:52px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:14px;padding:0 16px;
  position:sticky;top:0;z-index:30;
}
.brand{display:flex;align-items:center;gap:9px;min-width:0;}
.brand-mark{
  width:26px;height:26px;border-radius:8px;flex:0 0 26px;
  background:linear-gradient(150deg,var(--brand) 0%,#7B6FF2 100%);
  display:flex;align-items:center;justify-content:center;color:#fff;
}
#boardName{
  font-size:15.5px;font-weight:700;color:var(--brand);
  border:1px solid transparent;background:transparent;
  padding:4px 7px;border-radius:var(--r-sm);max-width:210px;
  text-overflow:ellipsis;
}
#boardName:hover{background:var(--brand-50);}
#boardName:focus{background:#fff;border-color:var(--brand);outline:none;}
.topbar-metric{
  display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);
  padding-left:14px;border-left:1px solid var(--line-2);
}
.topbar-metric b{font-weight:700;}
.pill{
  background:var(--brand-50);color:var(--brand);font-size:11.5px;font-weight:700;
  padding:3px 8px;border-radius:20px;white-space:nowrap;
}
.topbar-spacer{flex:1;}
.file-chip{
  display:inline-flex;align-items:center;gap:7px;max-width:280px;
  font-size:12px;color:var(--muted);background:var(--bg);
  border:1px solid var(--line);padding:5px 10px;border-radius:20px;
}
.file-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:0 0 7px;}
.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-chip button{border:none;background:transparent;color:var(--brand);font-size:12px;font-weight:600;padding:0;}

/* ============================ TOOLBAR DO FUNIL ============================ */
.toolbar{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;flex-wrap:wrap;
}
.search{position:relative;}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted-2);}
.search input{
  border:1px solid var(--line);background:#fff;border-radius:var(--r);
  padding:8px 12px 8px 33px;font-size:13.5px;width:250px;color:var(--ink);
  font-family:inherit;
}
.search input::placeholder{color:var(--muted-2);}
.search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,79,233,.12);}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2px;}
.seg button{
  border:none;background:transparent;color:var(--muted);
  font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:7px;
  display:inline-flex;align-items:center;gap:6px;
}
.seg button.on{background:var(--brand);color:#fff;}
.seg button:not(.on):hover{background:var(--brand-50);color:var(--brand);}

/* ============================ KANBAN ============================ */
#board{
  display:flex;gap:14px;padding:0 16px 20px;
  overflow-x:auto;align-items:flex-start;
  min-height:calc(100vh - 128px);
}
.column{
  background:var(--col);border-radius:var(--r-md);
  width:274px;flex:0 0 274px;padding:11px;
  display:flex;flex-direction:column;
  max-height:calc(100vh - 148px);
  transition:background .15s,box-shadow .15s;
}
.column.dragover{background:var(--brand-100);box-shadow:inset 0 0 0 2px var(--brand);}
.col-head{display:flex;align-items:flex-start;gap:4px;margin-bottom:10px;}
.col-head-main{flex:1;min-width:0;}
.col-title{
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;
  color:var(--ink-2);border:1px solid transparent;background:transparent;
  padding:3px 5px;border-radius:var(--r-sm);width:100%;font-family:inherit;
}
.col-title:hover{background:#fff;}
.col-title:focus{background:#fff;border-color:var(--brand);outline:none;}
.col-meta{font-size:11.5px;color:var(--muted);padding:2px 6px 0;display:flex;gap:6px;}
.col-meta b{color:var(--ink-2);font-weight:700;}
.col-acts{display:flex;gap:1px;opacity:0;transition:opacity .15s;}
.column:hover .col-acts{opacity:1;}
.col-acts button{
  border:none;background:transparent;color:var(--muted);
  width:24px;height:24px;border-radius:5px;display:inline-flex;
  align-items:center;justify-content:center;
}
.col-acts button:hover{background:#fff;color:var(--ink);}
.cards{
  display:flex;flex-direction:column;gap:8px;
  overflow-y:auto;flex:1;min-height:70px;padding:2px 2px 6px;
}
.col-empty{
  color:var(--muted-2);font-size:12.5px;text-align:center;
  padding:26px 10px;line-height:1.55;
  border:1px dashed #D6D7E8;border-radius:var(--r);
}
.add-card{
  margin-top:8px;border:1px dashed #CFD0E4;background:transparent;
  color:var(--muted);border-radius:var(--r);padding:8px;
  font-size:12.5px;font-weight:600;transition:all .14s;
}
.add-card:hover{background:#fff;color:var(--brand);border-color:var(--brand);}
.add-column{flex:0 0 210px;}
.add-column button{
  width:100%;background:rgba(255,255,255,.55);border:1px dashed #CFD0E4;
  color:var(--muted);border-radius:var(--r-md);padding:13px;
  font-weight:600;font-size:13.5px;
}
.add-column button:hover{background:#fff;color:var(--brand);border-color:var(--brand);}

/* ---- cartão ---- */
.card{
  background:#fff;border-radius:var(--r);padding:11px 12px;
  box-shadow:var(--sh-1);border:1px solid transparent;
  cursor:grab;position:relative;transition:box-shadow .14s,border-color .14s,transform .14s;
}
.card:hover{border-color:var(--brand);box-shadow:var(--sh-2);}
.card.dragging{opacity:.45;transform:rotate(1.5deg);}
.card.won{border-left:3px solid var(--green);}
.card.lost{border-left:3px solid var(--red);opacity:.75;}
.card-top{display:flex;align-items:center;gap:6px;margin-bottom:3px;}
.card-num{font-size:11px;font-weight:700;color:var(--muted-2);}
.card-name{
  font-size:13.5px;font-weight:700;color:var(--brand-700);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;
}
.card-sub{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:2px;}
.card-value{font-size:12.5px;font-weight:700;color:var(--ink-2);margin-top:4px;}
.card-badge{
  display:inline-flex;align-items:center;gap:5px;margin-top:8px;
  font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:20px;
}
.card-badge .dot{width:6px;height:6px;border-radius:50%;}
.card-badge.late{box-shadow:inset 0 0 0 1px currentColor;}
.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;}
.tag{font-size:10.5px;font-weight:600;color:var(--slate);background:var(--bg);border:1px solid var(--line);padding:2px 6px;border-radius:5px;}
.stars{display:inline-flex;gap:1px;color:#D8D9E7;}
.stars .on{color:#F0B429;}
.stars button{border:none;background:none;padding:0;color:inherit;line-height:0;}

/* ============================ MENU DE CONTEXTO ============================ */
.ctx{
  position:fixed;z-index:150;min-width:216px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--sh-3);padding:6px;display:none;
}
.ctx.show{display:block;animation:pop .12s ease-out;}
@keyframes pop{from{opacity:0;transform:translateY(-4px) scale(.98);}to{opacity:1;transform:none;}}
.ctx-head{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted-2);padding:7px 10px 5px;
}
.ctx button{
  width:100%;display:flex;align-items:center;gap:9px;
  border:none;background:transparent;text-align:left;
  padding:8px 10px;border-radius:var(--r-sm);
  font-size:13.5px;color:var(--ink-2);font-weight:500;
}
.ctx button:hover{background:var(--brand-50);color:var(--brand);}
.ctx button.danger{color:var(--red);}
.ctx button.danger:hover{background:var(--red-50);color:var(--red);}
.ctx hr{border:none;border-top:1px solid var(--line-2);margin:5px 4px;}
.ctx .ic{width:15px;height:15px;flex:0 0 15px;opacity:.85;}

/* ============================ MODAIS ============================ */
.overlay{
  position:fixed;inset:0;z-index:120;
  background:rgba(28,29,50,.5);backdrop-filter:blur(2px);
  display:none;align-items:flex-start;justify-content:center;
  padding:26px 18px;overflow-y:auto;
}
.overlay.show{display:flex;}
.modal{
  background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-3);
  width:100%;max-width:820px;margin:auto;
  animation:rise .18s cubic-bezier(.2,.7,.3,1);
  display:flex;flex-direction:column;max-height:calc(100vh - 52px);
}
.modal.wide{max-width:1180px;}
.modal.narrow{max-width:520px;}
/* empilhamento: negócio < empresa < agendar < confirmar/prompt */
#dealOverlay{z-index:120;}
#empresaOverlay{z-index:130;}
#schedOverlay{z-index:138;}
#confirmOverlay,#promptOverlay{z-index:146;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){
  .modal,.ctx.show{animation:none;}
  *{transition:none!important;}
}
.modal-head{
  display:flex;align-items:center;gap:13px;
  padding:20px 26px;border-bottom:1px solid var(--line-2);
}
.modal-head .avatar-sq{
  width:40px;height:40px;border-radius:11px;background:var(--brand-50);
  color:var(--brand);display:flex;align-items:center;justify-content:center;flex:0 0 40px;
}
.modal-head h2{font-size:18px;}
.modal-head .sub{font-size:12.5px;color:var(--muted);margin-top:2px;}
.modal-body{padding:6px 26px 22px;overflow-y:auto;flex:1;}
.modal-foot{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  padding:14px 26px;border-top:1px solid var(--line-2);background:#FBFBFE;
  border-radius:0 0 var(--r-lg) var(--r-lg);
}
.modal-foot .left{margin-right:auto;}

/* ---- seções do formulário ---- */
.sec{padding:20px 0;border-bottom:1px solid var(--line-2);}
.sec:last-child{border-bottom:none;}
.sec > h3{font-size:15.5px;margin-bottom:3px;}
.sec > .sec-desc{font-size:12.5px;color:var(--muted);margin:0 0 14px;}
.grid{display:grid;gap:12px 18px;grid-template-columns:1fr 1fr;}
.grid-3{display:grid;gap:12px 18px;grid-template-columns:1fr 1fr 1fr;}
.grid .full,.grid-3 .full{grid-column:1/-1;}
@media (max-width:680px){.grid,.grid-3{grid-template-columns:1fr;}}

.field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.field > label{
  font-size:12px;font-weight:700;color:var(--ink-2);
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.field .req{font-size:11px;font-weight:500;color:var(--muted-2);font-style:italic;}
.inp,select.inp,textarea.inp{
  border:1px solid transparent;background:var(--field);
  border-radius:var(--r-sm);padding:9px 11px;font-size:13.5px;
  color:var(--ink);font-family:inherit;width:100%;
  transition:background .14s,border-color .14s,box-shadow .14s;
}
.inp::placeholder,textarea.inp::placeholder{color:var(--muted-2);}
.inp:hover{background:#E9EBF3;}
.inp:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,79,233,.12);outline:none;}
.inp:disabled{color:var(--muted-2);cursor:not-allowed;}
textarea.inp{min-height:74px;resize:vertical;line-height:1.55;}
.inp.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(226,76,75,.12);background:#fff;}
.field-err{font-size:11.5px;color:var(--red);font-weight:600;display:none;}
.field.invalid .field-err{display:block;}
.select-wrap{position:relative;}
.select-wrap svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.select-wrap .inp{padding-right:32px;appearance:none;}
select.inp{appearance:none;}
.hint{font-size:11.5px;color:var(--muted-2);}

/* ---- radios de privacidade ---- */
.radio-row{
  display:flex;gap:12px;align-items:flex-start;
  padding:13px 2px;border-bottom:1px solid var(--line-2);cursor:pointer;
}
.radio-row:last-of-type{border-bottom:none;}
.radio-row input{margin:2px 0 0;accent-color:var(--brand);width:16px;height:16px;flex:0 0 16px;}
.radio-row .t{font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:7px;}
.radio-row .d{font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:2px;}

/* ---- chips (produtos) ---- */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:9px;}
.chip{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--brand-50);color:var(--brand-700);
  font-size:12.5px;font-weight:600;padding:5px 9px;border-radius:20px;
}
.chip button{border:none;background:none;color:inherit;opacity:.6;padding:0;line-height:0;}
.chip button:hover{opacity:1;}
.chips-empty{font-size:12.5px;color:var(--muted-2);margin-bottom:9px;}

/* ---- pessoas ---- */
.person{
  border:1px solid var(--line);border-radius:var(--r);
  padding:14px;margin-bottom:10px;background:#FCFCFE;position:relative;
}
.person .rm{position:absolute;top:8px;right:8px;}
.person-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:11px;}

/* ============================ MODAL DO NEGÓCIO ============================ */
.deal{display:flex;flex-direction:column;max-height:calc(100vh - 52px);}
.deal-head{padding:16px 22px 0;}
.deal-title-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.deal-title-row h2{font-size:19px;}
.deal-title-row .period{font-size:12.5px;color:var(--muted);font-weight:500;}
.deal-meta{display:flex;align-items:center;gap:9px;margin-top:7px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);}
.deal-meta .sep{color:#D5D6E5;}
.deal-company{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:600;}
.avatar{
  width:20px;height:20px;border-radius:50%;background:var(--brand);
  color:#fff;font-size:9.5px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;
}
.deal-status{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap;}
.st-btn{
  border:1px solid var(--line);background:#fff;color:var(--muted);
  font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:var(--r-sm);
  display:inline-flex;align-items:center;gap:6px;
}
.st-btn:hover{background:#F8F8FC;color:var(--ink-2);}
.st-btn.on-lost{background:var(--red-50);color:var(--red);border-color:#F2CFCF;}
.st-btn.on-open{background:var(--orange-50);color:#B4741F;border-color:#F0DAB4;}
.st-btn.on-won{background:var(--green-50);color:var(--green);border-color:#BFE8D7;}

/* ---- stepper de etapas ---- */
.stepper{display:flex;align-items:stretch;gap:6px;padding:14px 22px 16px;}
.stepper .funnel-name{
  display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;
  color:var(--ink-2);padding-right:8px;white-space:nowrap;
}
.steps{
  display:flex;flex:1;min-width:0;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;
}
.step{
  flex:1;min-width:0;position:relative;
  border:none;background:#fff;color:var(--muted);
  font-size:12.5px;font-weight:600;padding:10px 16px 10px 22px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  border-right:1px solid var(--line-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.step:last-child{border-right:none;}
.step:hover{background:var(--brand-50);color:var(--brand);}
.step.done{color:var(--brand-700);background:#F8F7FE;}
.step.current{
  background:var(--brand);color:#fff;font-weight:700;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%,11px 50%);
  padding-left:26px;padding-right:24px;
}
.step.current:hover{background:var(--brand-600);color:#fff;}
.step .days{
  background:rgba(255,255,255,.22);border-radius:20px;
  padding:1px 7px;font-size:10.5px;font-weight:700;
}
.step-nav{
  border:1px solid var(--line);background:#fff;color:var(--muted);
  width:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex:0 0 32px;
}
.step-nav:hover:not(:disabled){background:var(--brand-50);color:var(--brand);}
.step-nav:disabled{opacity:.4;cursor:not-allowed;}

/* ---- corpo em 2 colunas ---- */
.deal-body{
  display:grid;grid-template-columns:1fr 340px;gap:16px;
  padding:0 22px 22px;overflow-y:auto;flex:1;align-items:start;
}
@media (max-width:960px){.deal-body{grid-template-columns:1fr;}}
.deal-col-left,.deal-col-right{min-width:0;}
.panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;margin-bottom:14px;
}
.panel-head{
  padding:12px 15px;border-bottom:1px solid var(--line-2);
  font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.panel-body{padding:15px;}
.panel-body.tight{padding:12px 15px;}

/* composer */
.composer{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff;margin-bottom:14px;}
.composer-tabs{display:flex;gap:2px;background:#F7F7FC;border-bottom:1px solid var(--line-2);padding:5px;overflow-x:auto;}
.ctab{
  border:none;background:transparent;color:var(--muted);
  font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:var(--r-sm);
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
.ctab:hover{background:#fff;color:var(--ink-2);}
.ctab.on{background:#fff;color:var(--brand);box-shadow:var(--sh-1);}
.composer-body{padding:12px 14px;}
.composer-body textarea{
  border:none;background:transparent;width:100%;min-height:58px;resize:vertical;
  font-family:inherit;font-size:13.5px;color:var(--ink);line-height:1.6;padding:0;
}
.composer-body textarea:focus{outline:none;}
.composer-body textarea::placeholder{color:var(--muted-2);}
.composer-foot{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 14px;border-top:1px solid var(--line-2);background:#FBFBFE;
}
.composer-foot .when{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);}
.composer-foot input[type=datetime-local]{
  border:1px solid var(--line);background:#fff;border-radius:var(--r-sm);
  padding:6px 9px;font-size:12.5px;font-family:inherit;color:var(--ink);
}
.composer-foot .grow{flex:1;}

/* histórico */
.hist-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.htab{
  border:none;background:none;padding:9px 2px 11px;
  font-size:13.5px;font-weight:600;color:var(--muted);
  display:inline-flex;align-items:center;gap:7px;position:relative;
}
.htab.on{color:var(--ink);}
.htab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);border-radius:2px;}
.badge-new{background:var(--brand);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:20px;}

.act{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;background:#fff;}
.act-crumb{
  background:#F7F7FC;border-bottom:1px solid var(--line-2);
  padding:6px 12px;font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.act-crumb b{color:var(--brand);font-weight:600;}
.act-main{padding:12px;display:flex;gap:11px;}
.act-ic{
  width:32px;height:32px;border-radius:50%;flex:0 0 32px;
  display:flex;align-items:center;justify-content:center;
}
.act-info{flex:1;min-width:0;}
.act-t{font-size:13.5px;font-weight:700;}
.act-when{font-size:11.5px;color:var(--muted);margin-top:1px;}
.act-right{display:flex;align-items:center;gap:11px;flex-wrap:wrap;justify-content:flex-end;}
.due{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:var(--r-sm);white-space:nowrap;}
.due.soon{background:var(--green-50);color:var(--green);}
.due.late{background:var(--red-50);color:var(--red);}
.due.done{background:var(--bg);color:var(--muted);}
.check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;}
.check input{accent-color:var(--brand);width:15px;height:15px;}
.act-note{
  padding:0 12px 12px 55px;font-size:13px;line-height:1.6;color:var(--ink-2);
  white-space:pre-wrap;word-break:break-word;
}
.act-foot{
  border-top:1px solid var(--line-2);padding:8px 12px;
  display:flex;align-items:center;gap:16px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;
}
.act-foot .g{display:inline-flex;align-items:center;gap:6px;}
.act-foot .rm{margin-left:auto;border:none;background:none;color:var(--muted-2);font-size:11.5px;font-weight:600;padding:2px 4px;border-radius:4px;}
.act-foot .rm:hover{background:var(--red-50);color:var(--red);}
.act.done .act-t{text-decoration:line-through;color:var(--muted);}
.empty-state{
  text-align:center;padding:34px 16px;color:var(--muted-2);
  font-size:13px;line-height:1.6;border:1px dashed var(--line);border-radius:var(--r-md);
}

/* sidebar do negócio */
.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.actions-grid .btn{justify-content:center;padding:9px 8px;font-size:12.5px;}
.value{font-size:24px;font-weight:800;letter-spacing:-.02em;}
.value-edit{
  font-size:24px;font-weight:800;border:1px solid transparent;background:transparent;
  width:100%;padding:2px 5px;border-radius:var(--r-sm);font-family:inherit;color:var(--ink);
  letter-spacing:-.02em;
}
.value-edit:hover{background:var(--field);}
.value-edit:focus{background:#fff;border-color:var(--brand);outline:none;}
.kv{display:grid;grid-template-columns:118px 1fr;gap:9px 10px;align-items:center;font-size:13px;}
.kv .k{color:var(--muted);}
.kv .v{color:var(--ink-2);min-width:0;overflow-wrap:anywhere;}
.kv .v.link{color:var(--brand);}
.inline-add{border:none;background:none;color:var(--muted-2);font-size:13px;padding:2px 4px;border-radius:4px;text-align:left;}
.inline-add:hover{background:var(--brand-50);color:var(--brand);}
.inline-inp{
  border:1px solid var(--brand);border-radius:var(--r-sm);padding:5px 7px;
  font-size:13px;font-family:inherit;width:100%;color:var(--ink);
}
.inline-inp:focus{outline:none;box-shadow:0 0 0 3px rgba(91,79,233,.12);}
.sub-label{font-size:11.5px;color:var(--muted);margin-bottom:5px;}
.contact-scroll{max-height:330px;overflow-y:auto;padding-right:4px;}
.contact-block{padding:13px 0;border-bottom:1px solid var(--line-2);}
.contact-block:first-child{padding-top:0;}
.contact-block:last-child{border-bottom:none;padding-bottom:0;}
.contact-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;margin-bottom:11px;}
.contact-title .avatar-sq{
  width:28px;height:28px;border-radius:8px;background:var(--brand-50);color:var(--brand);
  display:flex;align-items:center;justify-content:center;flex:0 0 28px;
}
.block-label{font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:8px;}
.map-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--line);border-radius:var(--r);background:#F7F8FC;
  color:var(--brand);font-size:12.5px;font-weight:600;padding:9px;width:100%;margin-top:9px;
}
.map-btn:hover{background:var(--brand-50);}
.code-box{
  display:flex;align-items:center;gap:8px;background:var(--field);
  border-radius:var(--r-sm);padding:9px 11px;font-size:12.5px;color:var(--ink-2);
}
.code-box code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;}
.meta-lines{padding:12px 15px;font-size:11.5px;color:var(--muted);line-height:1.75;}
.social-list{display:flex;flex-direction:column;gap:6px;}
.social-list a{font-size:12.5px;display:flex;align-items:center;gap:7px;overflow-wrap:anywhere;}

/* ============================ TOASTS ============================ */
#toasts{position:fixed;bottom:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:9px;}
.toast{
  background:#26283F;color:#fff;border-radius:var(--r);
  padding:11px 15px;font-size:13px;font-weight:500;
  box-shadow:var(--sh-3);display:flex;align-items:center;gap:9px;
  animation:slidein .18s ease-out;max-width:340px;
}
@keyframes slidein{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.toast.ok .tic{color:#5BE0A8;}
.toast.err .tic{color:#FF9A99;}

/* ============================ UTIL ============================ */
.hidden{display:none!important;}
.muted{color:var(--muted);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.row-gap{display:flex;gap:9px;flex-wrap:wrap;}

/* =========================================================
   Marcador de posição ao arrastar dentro da coluna
   ========================================================= */
.drop-mark{
  height:3px;border-radius:3px;background:var(--brand);
  margin:1px 0;flex:0 0 3px;position:relative;
  box-shadow:0 0 0 3px rgba(91,79,233,.16);
}
.drop-mark::before{
  content:"";position:absolute;left:-4px;top:-3px;
  width:9px;height:9px;border-radius:50%;background:var(--brand);
}
.card{cursor:grab;}
.card:active{cursor:grabbing;}

/* =========================================================
   Comentários nas atividades
   ========================================================= */
.act-foot .cm{
  border:none;background:none;color:var(--muted);
  font-size:11.5px;font-weight:600;padding:3px 7px;border-radius:5px;
  display:inline-flex;align-items:center;gap:5px;margin-left:auto;
}
.act-foot .cm:hover{background:var(--brand-50);color:var(--brand);}
.act-foot .cm.on{background:var(--brand-50);color:var(--brand);}
.act-foot .rm{margin-left:0;}

.thread{
  border-top:1px solid var(--line-2);
  background:#FBFBFE;padding:12px 12px 12px 55px;
}
.thread-vazio{font-size:12.5px;color:var(--muted-2);margin-bottom:11px;line-height:1.6;}
.coment{display:flex;gap:9px;margin-bottom:11px;}
.coment .avatar{margin-top:2px;background:var(--slate);}
.coment-corpo{
  flex:1;min-width:0;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:8px 11px;
}
.coment-topo{
  display:flex;align-items:center;gap:8px;
  font-size:11.5px;color:var(--muted);margin-bottom:3px;
}
.coment-topo b{color:var(--ink-2);font-weight:700;font-size:12px;}
.coment-rm{
  margin-left:auto;border:none;background:none;color:var(--muted-2);
  padding:2px;border-radius:4px;line-height:0;
}
.coment-rm:hover{background:var(--red-50);color:var(--red);}
.coment-txt{
  font-size:13px;line-height:1.6;color:var(--ink-2);
  white-space:pre-wrap;word-break:break-word;
}
.coment-novo{display:flex;gap:8px;align-items:flex-end;}
.coment-novo textarea{flex:1;min-height:44px;background:#fff;border:1px solid var(--line);}
.coment-novo textarea:focus{border-color:var(--brand);}

/* =========================================================
   Agenda: Hoje / Amanhã
   ========================================================= */
.seg .cnt{
  background:var(--brand);color:#fff;font-size:10px;font-weight:800;
  min-width:17px;height:17px;padding:0 5px;border-radius:20px;
  display:inline-flex;align-items:center;justify-content:center;margin-left:5px;
}
.seg button.on .cnt{background:#fff;color:var(--brand);}

.ag-grupo{margin-top:18px;}
.ag-grupo:first-child{margin-top:6px;}
.ag-titulo{
  display:flex;align-items:center;gap:7px;
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);margin-bottom:10px;
}
.ag-titulo.atraso{color:var(--red);}
.ag-cont{
  background:var(--bg);color:var(--ink-2);font-size:11px;font-weight:700;
  padding:1px 7px;border-radius:20px;
}
.ag-titulo.atraso .ag-cont{background:var(--red-50);color:var(--red);}

.ag-item{
  display:flex;align-items:flex-start;gap:11px;
  border:1px solid var(--line);border-radius:var(--r-md);
  padding:11px 13px;margin-bottom:8px;background:#fff;
  cursor:pointer;transition:border-color .14s,box-shadow .14s;
}
.ag-item:hover{border-color:var(--brand);box-shadow:var(--sh-2);}
.ag-item.atraso{border-left:3px solid var(--red);}
.ag-hora{
  flex:0 0 62px;text-align:center;font-size:10.5px;color:var(--muted);
  line-height:1.35;padding-top:2px;
}
.ag-hora b{display:block;font-size:15px;color:var(--ink);font-weight:700;letter-spacing:-.01em;}
.ag-corpo{flex:1;min-width:0;}
.ag-linha1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;}
.ag-linha1 b{font-weight:700;}
.ag-emp{color:var(--brand);font-weight:600;font-size:12.5px;}
.ag-nota{
  font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.ag-acoes{display:flex;align-items:center;gap:9px;flex-shrink:0;}
@media (max-width:640px){
  .ag-item{flex-wrap:wrap;}
  .ag-acoes{width:100%;justify-content:flex-end;}
}

/* =========================================================
   Pedidos
   ========================================================= */
#pedidoOverlay{z-index:134;}

.ped-topo{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:12px;flex-wrap:wrap;margin-bottom:11px;
}
.ped-secao{
  font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;
  color:var(--ink-2);display:flex;align-items:center;gap:8px;
}
.ped-sub{font-size:12.5px;color:var(--muted);margin-top:3px;}

.ped{
  border:1px solid var(--line);border-radius:var(--r-md);
  background:#fff;margin-bottom:9px;overflow:hidden;
}
.ped.atual{border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,79,233,.09);}
.ped-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:12px 14px;cursor:pointer;flex-wrap:wrap;
}
.ped.atual .ped-head{cursor:default;background:#FAFAFE;}
.ped-head:hover{background:#FAFAFE;}
.ped-id{display:flex;align-items:center;gap:9px;font-size:13.5px;flex-wrap:wrap;}
.ped-flag{
  background:var(--brand);color:#fff;font-size:9.5px;font-weight:800;
  letter-spacing:.06em;padding:3px 7px;border-radius:20px;
}
.ped-data{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.ped-resumo{display:flex;align-items:center;gap:13px;font-size:12px;color:var(--muted);}
.ped-total{font-size:15px;color:var(--ink);font-weight:800;letter-spacing:-.01em;}
.ped-chev{display:inline-flex;transition:transform .15s;color:var(--muted-2);}
.ped-chev.on{transform:rotate(180deg);}

.ped-corpo{border-top:1px solid var(--line-2);padding:14px;}
.ped-tab{width:100%;border-collapse:collapse;font-size:13px;}
.ped-tab th{
  text-align:left;font-size:10.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);padding:0 8px 7px;
  border-bottom:1px solid var(--line);
}
.ped-tab td{padding:8px;border-bottom:1px solid var(--line-2);color:var(--ink-2);}
.ped-tab .num{text-align:right;}
.ped-tab .forte{font-weight:700;color:var(--ink);}
.ped-tab tfoot td{
  border-bottom:none;padding-top:10px;font-size:12px;
  font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;
}
.ped-tab tfoot .total{
  font-size:16px;color:var(--brand);letter-spacing:-.01em;text-transform:none;
}
.ped-pgto{
  display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;
  margin-top:13px;padding:10px 12px;background:var(--bg);border-radius:var(--r);
}
.ped-pgto .k{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.ped-pgto .v{font-size:13.5px;color:var(--ink-2);font-weight:600;}
.ped-foot{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:12px;padding-top:11px;border-top:1px solid var(--line-2);
  font-size:11.5px;color:var(--muted);
}
.ped-foot .g{display:inline-flex;align-items:center;gap:6px;}
.ped-foot .cm{
  border:none;background:none;color:var(--muted);
  font-size:11.5px;font-weight:600;padding:3px 7px;border-radius:5px;
  display:inline-flex;align-items:center;gap:5px;
}
.ped-foot .cm:hover,.ped-foot .cm.on{background:var(--brand-50);color:var(--brand);}
.ped-foot .cm[data-pedcoment]{margin-left:auto;}
.ped-foot .rm{
  border:none;background:none;color:var(--muted-2);
  font-size:11.5px;font-weight:600;padding:3px 6px;border-radius:4px;
}
.ped-foot .rm:hover{background:var(--red-50);color:var(--red);}

.ped-atalho{
  display:flex;align-items:center;gap:7px;width:100%;margin-top:10px;
  border:1px solid var(--brand-100);background:var(--brand-50);color:var(--brand-700);
  border-radius:var(--r);padding:8px 11px;font-size:12.5px;font-weight:600;
}
.ped-atalho:hover{background:var(--brand-100);}

/* linhas de item no modal */
.it-linha{
  display:grid;grid-template-columns:1fr 92px 132px 122px 34px;
  gap:9px;align-items:end;margin-bottom:8px;
}
.it-linha .inp.num{text-align:right;}
.it-subvalor{
  padding:9px 11px;font-size:13.5px;font-weight:700;color:var(--ink);
  background:var(--bg);border-radius:var(--r-sm);text-align:right;
  border:1px solid var(--line-2);
}
.it-rm{margin-bottom:2px;}
.it-rm:hover:not(:disabled){background:var(--red-50);color:var(--red);}
@media (max-width:720px){
  .it-linha{grid-template-columns:1fr 1fr;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line-2);}
  .it-linha .field:first-child{grid-column:1/-1;}
  .it-rm{grid-column:2;justify-self:end;}
}

.ped-total-box{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  margin-top:16px;padding:14px 16px;
  background:var(--brand-50);border-radius:var(--r-md);
}
.ped-total-box .ped-total-lbl{
  margin-left:auto;font-size:11.5px;font-weight:800;color:var(--brand-700);
  text-transform:uppercase;letter-spacing:.05em;
}
.ped-total-val{font-size:24px;font-weight:800;color:var(--brand);letter-spacing:-.02em;}

/* ---- comissão nos pedidos ---- */
.ped-resumo-geral{
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;
}
.ped-resumo-geral > div{
  flex:1;min-width:132px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);padding:11px 13px;
}
.ped-resumo-geral span{
  display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);margin-bottom:4px;
}
.ped-resumo-geral b{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--ink);}
.ped-resumo-geral .destaque{background:var(--green-50);border-color:#BFE8D7;}
.ped-resumo-geral .destaque b{color:var(--green);}
.ped-resumo-geral .destaque span{color:#0F8A5F;}

.ped-comis{
  font-size:11.5px;color:var(--green);background:var(--green-50);
  padding:3px 8px;border-radius:20px;font-weight:600;white-space:nowrap;
}
.ped-comis b{font-weight:800;}
.ped-tab tfoot .linha-comis td{padding-top:4px;}
.ped-tab tfoot .total.comis{color:var(--green);font-size:15px;}

.ped-total-linhas{margin-left:auto;display:flex;flex-direction:column;gap:5px;align-items:flex-end;}
.ped-total-linha{display:flex;align-items:baseline;gap:12px;}
.ped-total-linha.comis .ped-total-lbl{color:#0F8A5F;}
.ped-total-val.comis{font-size:18px;color:var(--green);}

/* =========================================================
   Marca Shaliach
   ========================================================= */
:root{
  --brand:#4F46E5;
  --brand-600:#4038CE;
  --brand-700:#312E81;
  --gold:#D9A63E;
  --gold-50:#FBF4E4;
}
.brand-logo{height:30px;width:auto;display:block;flex-shrink:0;}
.brand-sep{width:1px;height:22px;background:var(--line);flex:0 0 1px;margin:0 3px;}
.connect-logo-img{
  width:100%;max-width:290px;height:auto;display:block;margin:0 auto 22px;
}

/* =========================================================
   Menu suspenso (Relatórios)
   ========================================================= */
.menu-wrap{position:relative;}
.menu{
  position:absolute;top:calc(100% + 6px);right:0;z-index:60;
  min-width:288px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);padding:6px;display:none;
}
.menu.show{display:block;animation:pop .12s ease-out;}
.menu-head{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted-2);padding:7px 10px 6px;
}
.menu button{
  width:100%;display:flex;align-items:flex-start;gap:10px;
  border:none;background:transparent;text-align:left;
  padding:9px 10px;border-radius:var(--r-sm);color:var(--ink-2);
}
.menu button:hover{background:var(--brand-50);}
.menu .mic{
  width:30px;height:30px;border-radius:8px;flex:0 0 30px;
  background:var(--brand-50);color:var(--brand);
  display:flex;align-items:center;justify-content:center;
}
.menu button b{display:block;font-size:13.5px;font-weight:700;}
.menu button i{display:block;font-size:12px;color:var(--muted);font-style:normal;margin-top:1px;}

/* =========================================================
   Relatórios
   ========================================================= */
#relOverlay{z-index:126;}
.rel-filtros{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:12px 26px;border-bottom:1px solid var(--line-2);background:#FBFBFE;
}
.rel-datas{display:flex;gap:10px;align-items:center;}
.rel-datas label{
  display:flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--muted);
}
.rel-datas .inp{padding:6px 9px;font-size:12.5px;width:auto;background:#fff;border-color:var(--line);}

.folha{background:#fff;}
.folha-topo{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:18px 0 16px;border-bottom:2px solid var(--brand-700);margin-bottom:18px;
}
.folha-logo{height:52px;width:auto;}
.folha-info{flex:1;min-width:200px;}
.folha-info h3{font-size:16px;color:var(--brand-700);margin-bottom:4px;}
.folha-info div{font-size:12.5px;color:var(--muted);line-height:1.6;}

.rel-cards{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.rel-cards > div{
  flex:1;min-width:150px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;
}
.rel-cards span{
  display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;color:var(--muted);margin-bottom:4px;
}
.rel-cards b{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink);}
.rel-cards .destaque{background:var(--gold-50);border-color:#EAD6A6;}
.rel-cards .destaque b{color:#8B6A1E;}
.rel-cards .destaque span{color:#8B6A1E;}

.rel-aviso{
  background:var(--orange-50);border:1px solid #F2DDB8;color:#8A6116;
  border-radius:var(--r);padding:9px 12px;font-size:12.5px;margin-bottom:14px;
}
.rel-grupo{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;}
.rel-grupo-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px 13px;background:#F7F7FC;border-bottom:1px solid var(--line-2);
}
.rel-grupo-head b{font-size:13.5px;}
.rel-grupo-tot{display:flex;align-items:baseline;gap:14px;font-size:12px;color:var(--muted);}
.rel-grupo-tot b{font-size:14px;color:var(--ink);}
.rel-grupo-tot b.comis{color:#8B6A1E;}

.rel-tab{width:100%;border-collapse:collapse;font-size:12.5px;}
.rel-tab.solta{border:1px solid var(--line);border-radius:var(--r-md);}
.rel-tab th{
  text-align:left;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);padding:8px 12px;background:#FCFCFE;border-bottom:1px solid var(--line);
}
.rel-tab td{padding:8px 12px;border-bottom:1px solid var(--line-2);color:var(--ink-2);}
.rel-tab tr:last-child td{border-bottom:none;}
.rel-tab .num{text-align:right;}
.rel-tab .comis{color:#8B6A1E;font-weight:700;}

.rel-totais{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;
  padding:14px 16px;background:var(--brand-50);border-radius:var(--r-md);
}
.rel-totais > div{flex:1;min-width:180px;}
.rel-totais span{
  display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;color:var(--brand-700);margin-bottom:3px;
}
.rel-totais b{font-size:21px;font-weight:800;letter-spacing:-.02em;color:var(--brand-700);}
.rel-totais .comis b{color:#8B6A1E;}
.rel-rodape{
  margin-top:20px;padding-top:12px;border-top:1px solid var(--line-2);
  font-size:11px;color:var(--muted-2);text-align:center;
}

/* =========================================================
   Impressão: só a folha do relatório vai para o papel
   ========================================================= */
@media print{
  @page{ size:A4; margin:14mm 12mm; }
  body.imprimindo > *{display:none !important;}
  body.imprimindo #relOverlay{
    display:block !important;position:static;background:none;
    padding:0;overflow:visible;backdrop-filter:none;
  }
  body.imprimindo #relOverlay .modal{
    max-width:none;width:100%;box-shadow:none;border-radius:0;
    max-height:none;margin:0;animation:none;
  }
  body.imprimindo #relContent{max-height:none;display:block;}
  body.imprimindo .modal-head,
  body.imprimindo .modal-foot,
  body.imprimindo .rel-filtros{display:none !important;}
  body.imprimindo .modal-body{padding:0;overflow:visible;max-height:none;}
  .rel-grupo, .rel-tab tr{page-break-inside:avoid;}
  .rel-totais{page-break-inside:avoid;}
  .folha-topo{border-bottom-color:#312E81;}
  .rel-cards > div{border-color:#ccc;}
}

/* =========================================================
   Área do representante (topo direito)
   ========================================================= */
.user-btn{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line);background:#fff;border-radius:20px;
  padding:4px 10px 4px 4px;color:var(--ink-2);font-size:13px;font-weight:600;
  max-width:210px;
}
.user-btn:hover{background:#FAFAFE;border-color:#D8D8E8;}
.user-av{
  width:26px;height:26px;border-radius:50%;flex:0 0 26px;
  background:linear-gradient(150deg,var(--brand) 0%,#7B6FF2 100%);
  color:#fff;font-size:10.5px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.user-av.grande{width:38px;height:38px;flex:0 0 38px;font-size:13px;}
.user-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:820px){ .user-nome{display:none;} }

#userMenu{min-width:262px;}
.user-topo{
  display:flex;align-items:center;gap:11px;
  padding:11px 10px 13px;margin-bottom:5px;border-bottom:1px solid var(--line-2);
}
.user-topo b{display:block;font-size:13.5px;font-weight:700;color:var(--ink);}
.user-topo i{
  display:block;font-style:normal;font-size:12px;color:var(--muted);
  margin-top:1px;overflow-wrap:anywhere;
}
#userMenu hr{border:none;border-top:1px solid var(--line-2);margin:5px 4px;}
#userMenu button.perigo b{color:var(--red);}
#userMenu button.perigo:hover{background:var(--red-50);}
#userMenu button.perigo .mic{background:var(--red-50);color:var(--red);}
#perfilOverlay{z-index:128;}

/* ---- indicador de gravação na nuvem ---- */
.sync-chip{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;
  border:1px solid var(--line);background:var(--bg);color:var(--muted);
}
.sync-chip .dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px;background:var(--muted-2);}
.sync-chip.ok{background:var(--green-50);border-color:#BFE8D7;color:#0F7A54;}
.sync-chip.ok .dot{background:var(--green);}
.sync-chip.salvando{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand);}
.sync-chip.salvando .dot{background:var(--brand);animation:pisca 1s ease-in-out infinite;}
.sync-chip.erro{background:var(--red-50);border-color:#F2CFCF;color:var(--red);}
.sync-chip.erro .dot{background:var(--red);}
@keyframes pisca{0%,100%{opacity:1}50%{opacity:.25}}
@media (max-width:820px){ .sync-chip span{display:none;} }

/* =========================================================
   Abertura (evita o piscar da tela)
   ========================================================= */
#splash{
  position:fixed;inset:0;z-index:400;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  transition:opacity .25s;
}
#splash.saindo{opacity:0;pointer-events:none;}
#splash img{width:100%;max-width:250px;}
.splash-barra{width:170px;height:3px;background:var(--line);border-radius:20px;overflow:hidden;}
.splash-barra i{
  display:block;width:40%;height:100%;border-radius:20px;background:var(--brand);
  animation:desliza 1.05s ease-in-out infinite;
}
@keyframes desliza{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(320%)}
}

/* =========================================================
   Seletor de funis
   ========================================================= */
.funil-btn{
  display:flex;align-items:center;gap:7px;
  border:1px solid transparent;background:transparent;
  color:var(--brand);font-size:15px;font-weight:700;letter-spacing:-.01em;
  padding:5px 9px;border-radius:var(--r-sm);max-width:230px;
}
.funil-btn:hover{background:var(--brand-50);}
.funil-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#funilMenu{min-width:280px;}
#funilMenu button.atual{background:var(--brand-50);}
#funilMenu button.atual b{color:var(--brand-700);}
#funilMenu button.atual i{color:var(--brand);}
.menu-vazio{font-size:12.5px;color:var(--muted-2);padding:8px 10px;}

/* =========================================================
   Pedido atual em destaque na lateral do negócio
   ========================================================= */
.ped-destaque{
  display:block;width:100%;text-align:left;margin-bottom:10px;
  border:1px solid var(--brand-100);background:var(--brand-50);
  border-radius:var(--r-md);padding:12px 14px;
}
.ped-destaque:hover{background:var(--brand-100);}
.pd-topo{
  display:flex;align-items:center;gap:7px;
  font-size:11.5px;font-weight:700;color:var(--brand-700);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;
}
.pd-valor{
  display:block;font-size:24px;font-weight:800;
  letter-spacing:-.02em;color:var(--ink);
}
.pd-comis{
  display:block;font-size:12px;color:#0F8A5F;margin-top:4px;font-weight:600;
}
.pd-comis b{font-weight:800;}
