/* === EXTRAS: colors picker, prof cards, resumo cliente, ctx menu, config agenda === */

/* ── Chat Assistente IA ─────────────────────────────────────────────────────── */
#chat-root{position:fixed;bottom:22px;right:22px;z-index:195;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
#chat-fab{width:52px;height:52px;border-radius:50%;background:var(--primary);border:none;cursor:pointer;box-shadow:0 4px 16px rgba(155,61,143,.45);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;flex-shrink:0}
#chat-fab:hover{transform:scale(1.08);background:var(--primary-d,#7a2f6f)}
#chat-fab.chat-fab-open{background:var(--primary-d,#7a2f6f)}
#chat-panel{width:360px;height:500px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.18);flex-direction:column;overflow:hidden;animation:chatSlide .18s ease}
@keyframes chatSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--primary-l);flex-shrink:0}
.chat-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.chat-msg-user{display:flex;justify-content:flex-end}
.chat-msg-ia{display:flex;justify-content:flex-start}
.chat-bubble-user{background:var(--primary);color:#fff;border-radius:16px 16px 4px 16px;padding:9px 13px;max-width:82%;font-size:12.5px;line-height:1.55;word-break:break-word}
.chat-bubble-ia{background:var(--bg);border:1px solid var(--border);color:var(--txt);border-radius:16px 16px 16px 4px;padding:9px 13px;max-width:90%;font-size:12.5px;line-height:1.6;word-break:break-word}
.chat-bubble-ia b{color:var(--primary-d,#7a2f6f)}
.chat-input-area{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;background:var(--surface)}
.chat-textarea{flex:1;border:1px solid var(--border2);border-radius:10px;padding:8px 11px;font-size:12.5px;font-family:inherit;resize:none;outline:none;line-height:1.5;max-height:120px;overflow-y:auto;background:var(--surface);color:var(--txt);transition:border-color .15s}
.chat-textarea:focus{border-color:var(--primary)}
.chat-send-btn{width:36px;height:36px;border-radius:50%;background:var(--primary);border:none;cursor:pointer;color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;margin-bottom:1px}
.chat-send-btn:hover{background:var(--primary-d,#7a2f6f)}
.chat-send-btn:disabled{opacity:.4;cursor:default}
/* Loading dots */
.chat-loading{display:flex;align-items:center;gap:5px;padding:12px 14px}
.chat-loading span{width:7px;height:7px;border-radius:50%;background:var(--txt3);animation:chatDot 1.2s infinite}
.chat-loading span:nth-child(2){animation-delay:.2s}
.chat-loading span:nth-child(3){animation-delay:.4s}
@keyframes chatDot{0%,80%,100%{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}
@media(max-width:600px){
  #chat-root{bottom:12px;right:10px}
  #chat-panel{width:calc(100vw - 20px);height:420px}
}

/* COLORS PICKER */
/* -- COLORS PICKER -- */
.color-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.co{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.co.on{border-color:var(--txt)}


/* PROF CARDS */
/* -- PROF CARDS -- */
.prof-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pc-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
.pc-info{flex:1;min-width:0}
.pc-nm{font-size:13px;font-weight:500;color:var(--txt)}
.pc-rl{font-size:11px;color:var(--txt3)}

/* empty state */
.empty{text-align:center;padding:40px 20px;color:var(--txt3);font-size:12px}
.empty i{font-size:32px;display:block;margin-bottom:8px;color:var(--border2)}

/* sub-nav */
.sub-nav{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}
.sn-item{padding:8px 16px;font-size:12px;cursor:pointer;color:var(--txt2);border-bottom:2px solid transparent;white-space:nowrap}
.sn-item:hover{color:var(--primary)}
.sn-item.on{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}

/* chips inline */
.chips{display:flex;flex-wrap:wrap;gap:5px}


/* RESUMO DO CLIENTE */
/* -- RESUMO DO CLIENTE -- */
.resumo-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.resumo-kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;text-align:center;transition:box-shadow .15s,transform .15s}
.resumo-kpi:hover{box-shadow:0 2px 10px rgba(155,61,143,.08);transform:translateY(-1px)}
.resumo-kpi-val{font-size:20px;font-weight:700;color:var(--primary)}
.resumo-kpi-lbl{font-size:10px;color:var(--txt3);margin-top:3px}
.resumo-section{margin-bottom:20px}
.resumo-section-title{font-size:11px;font-weight:600;color:var(--txt2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.resumo-section-title i{color:var(--primary);font-size:14px}
.plano-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;transition:box-shadow .15s}
.plano-card:hover{box-shadow:0 2px 10px rgba(155,61,143,.08)}
.plano-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.plano-card-titulo{font-size:12px;font-weight:600;color:var(--primary)}
.plano-card-data{font-size:10px;color:var(--txt3)}
.sessao-item{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px}
.sessao-nome{flex:0 0 auto;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--txt)}
.sessao-bar-wrap{flex:1;height:7px;background:var(--border);border-radius:4px;overflow:hidden}
.sessao-bar{height:100%;border-radius:4px;transition:width .4s}
.sessao-nums{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--txt2);min-width:32px;text-align:right}
.sessao-restante{flex:0 0 auto;font-size:10px;min-width:90px;text-align:right}
.trat-chip{display:inline-flex;align-items:center;gap:5px;background:var(--primary-l);color:var(--primary-d,#5A1F54);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500;margin:0 4px 4px 0}
.sessao-nome{color:var(--txt2);flex:1}
.sessao-bar-wrap{flex:1;height:6px;background:var(--border);border-radius:3px;margin:0 10px;overflow:hidden}
.sessao-bar{height:100%;border-radius:3px;background:var(--primary);transition:width .4s}
.sessao-nums{font-size:11px;font-weight:500;color:var(--txt);white-space:nowrap}
.sessao-restante{font-size:10px;color:var(--txt3);margin-left:6px}
.trat-chip{display:inline-flex;align-items:center;gap:5px;background:var(--primary-l);color:var(--primary);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500;margin:3px}
.historico-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--border);font-size:12px;transition:background .1s}
.historico-row:hover{background:var(--bg)}
.historico-row:last-child{border-bottom:none}
.trat-chip i{font-size:10px}
.hist-status{font-size:10px;font-weight:500;padding:2px 8px;border-radius:20px}


/* CONTEXT MENU */
/* -- CONTEXT MENU -- */
.ctx-menu{position:fixed;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:0 8px 32px rgba(30,10,40,.18);min-width:200px;z-index:5000;overflow:hidden;display:none}
.ctx-menu.open{display:block}
.ctx-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:12.5px;color:var(--txt2);cursor:pointer;transition:background .1s}
.ctx-item:hover{background:var(--primary-l);color:var(--primary)}
.ctx-item i{font-size:15px;width:18px;text-align:center;flex-shrink:0}
.ctx-item.danger:hover{background:#FCEBEB;color:#A32D2D}
.ctx-item.success:hover{background:var(--teal-l);color:var(--teal)}
.ctx-item.primary{color:var(--primary);font-weight:600}
.ctx-item.primary i{color:var(--primary)}
.ctx-item.primary:hover{background:var(--primary);color:#fff}
.ctx-item.primary:hover i{color:#fff}
.ctx-divider{height:1px;background:var(--border);margin:3px 0}
/* APPT status colors */
.appt.st-conf{opacity:1}
.appt.st-canc{opacity:.55;text-decoration:line-through}
.appt.st-done{border-left-width:4px!important}
/* Sessoes badge */
.appt-sess{font-size:8px;font-weight:600;opacity:.8;margin-top:1px}



/* CONFIG AGENDA */
/* -- CONFIG AGENDA -- */
.cfg-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}
.cfg-section-head{padding:13px 18px;background:var(--bg);border-bottom:1px solid var(--border);font-size:13px;font-weight:500;color:var(--txt);display:flex;align-items:center;gap:8px}
.cfg-section-head i{color:var(--primary);font-size:16px}
.cfg-body{padding:20px 18px}
.cfg-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.cfg-row:last-child{border-bottom:none}
.cfg-label{font-size:13px;color:var(--txt);font-weight:500}
.cfg-sub{font-size:11px;color:var(--txt3);margin-top:2px}
.interval-btns{display:flex;gap:6px;flex-wrap:wrap}
.iv-btn{border:1px solid var(--border2);background:none;border-radius:var(--radius-sm);padding:6px 14px;font-size:12px;cursor:pointer;color:var(--txt2);font-family:inherit;transition:all .15s}
.iv-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-l)}
.iv-btn.on{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:500}
.color-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cc-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;display:flex;align-items:center;gap:12px}
.cc-preview{width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0;border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden}
.cc-preview input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cc-swatch{position:absolute;inset:0;pointer-events:none}
.cc-info{flex:1}
.cc-name{font-size:12px;font-weight:500;color:var(--txt)}
.cc-desc{font-size:11px;color:var(--txt3);margin-top:2px}
.cc-hex{font-size:11px;color:var(--primary);margin-top:3px;font-family:monospace}
.time-range-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.agenda-preview{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:16px}
.ap-head{background:var(--bg);padding:8px 12px;font-size:11px;font-weight:500;color:var(--txt2);border-bottom:1px solid var(--border)}
.ap-body{display:flex;max-height:200px;overflow:hidden}
.ap-time{width:44px;border-right:1px solid var(--border);flex-shrink:0}
.ap-slot{height:var(--slot);border-bottom:1px solid var(--border);display:flex;align-items:flex-start;padding:2px 4px}
.ap-slot.hr{border-bottom-color:var(--border2)}
.ap-slot-lbl{font-size:9px;color:var(--txt3)}
.ap-slot-lbl.hr{color:var(--txt2);font-weight:500}
.ap-cols{flex:1;display:flex}
.ap-col{flex:1;border-right:1px solid var(--border);position:relative}
.ap-col:last-child{border-right:none}
.ap-cell{height:var(--slot);border-bottom:1px solid var(--border)}
.ap-cell.hr{border-bottom-color:var(--border2)}
.ap-appt{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:500;border-left:3px solid transparent}
.cfg-toggle{display:flex;align-items:center;gap:8px}
.toggle-wrap{position:relative;width:42px;height:22px;cursor:pointer}
.toggle-wrap input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:var(--border2);border-radius:20px;transition:.2s}
.toggle-slider:before{content:'';position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}
.toggle-wrap input:checked+.toggle-slider{background:var(--primary)}
.toggle-wrap input:checked+.toggle-slider:before{transform:translateX(20px)}

/* print-area no longer used - contracts open in new window */
#print-area{display:none}
.print-doc{max-width:800px;margin:0 auto;padding:40px;font-family:'Times New Roman',serif;font-size:13px;line-height:1.8;color:#1a1a1a}
.print-logo{text-align:center;margin-bottom:8px}
.print-clinic-name{font-size:20px;font-weight:bold;text-transform:uppercase;letter-spacing:2px;color:#5A1F54}
.print-clinic-sub{font-size:11px;color:#666;margin-top:2px}
.print-title{text-align:center;font-size:16px;font-weight:bold;text-transform:uppercase;letter-spacing:1px;margin:24px 0 6px;color:#1a1a1a}
.print-subtitle{text-align:center;font-size:12px;color:#444;margin-bottom:24px}
.print-hr{border:none;border-top:2px solid #5A1F54;margin:16px 0}
.print-hr-thin{border:none;border-top:1px solid #ccc;margin:12px 0}
.print-section{margin-bottom:18px}
.print-section-title{font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.5px;color:#5A1F54;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e0d0e8}
.print-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.print-field{margin-bottom:6px}
.print-field-label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.5px}
.print-field-value{font-size:13px;color:#1a1a1a;font-weight:500;border-bottom:1px dotted #ccc;padding-bottom:2px;min-height:20px}
.print-clausula{margin-bottom:14px}
.print-clausula-title{font-size:12px;font-weight:bold;color:#1a1a1a;margin-bottom:4px}
.print-clausula-body{font-size:12px;color:#333;line-height:1.7;text-align:justify}
.print-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:12px}
.print-table th{background:#f0e8f0;color:#5A1F54;padding:7px 10px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border:1px solid #d4b8d0}
.print-table td{padding:7px 10px;border:1px solid #e0d0e8;vertical-align:top}
.print-table tr:nth-child(even) td{background:#faf5fb}
.print-total-row td{font-weight:bold;background:#f0e8f0!important;color:#5A1F54}
.print-sign-area{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.print-sign-box{text-align:center}
.print-sign-line{border-top:1px solid #333;margin-bottom:6px;padding-top:8px}
.print-sign-name{font-size:12px;font-weight:bold;color:#1a1a1a}
.print-sign-role{font-size:10px;color:#666}
.print-footer{margin-top:32px;text-align:center;font-size:10px;color:#999;border-top:1px solid #eee;padding-top:12px}
.print-badge{display:inline-block;background:#f0e8f0;color:#5A1F54;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:bold;margin-bottom:8px}

/* ---------- TELA DE LOGIN ---------- */
#login-screen{
  position:fixed;inset:0;z-index:10000;overflow-y:auto;
  display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(160deg,var(--sidebar-bg-1) 0%,var(--sidebar-bg-2) 100%);
  padding:24px;
}
.login-card{
  width:100%;max-width:380px;flex-shrink:0;
  margin:auto 0 14px;
  background:var(--surface);border-radius:18px;
  box-shadow:0 24px 64px -16px rgba(0,0,0,.55);
  overflow:hidden;
}
.login-brand{
  text-align:center;padding:30px 24px 22px;
  background:linear-gradient(160deg,var(--sidebar-bg-1) 0%,var(--sidebar-bg-2) 100%);
  border-radius:18px 18px 0 0;  /* casa com o raio do card ? sem fresta branca no topo */
}
.login-brand-icon{
  width:54px;height:54px;margin:0 auto 10px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(217,183,121,.16);border:1px solid rgba(217,183,121,.4);
  border-radius:14px;font-size:26px;color:var(--gold);
}
.login-brand-name{font-size:21px;font-weight:700;color:#fff;letter-spacing:.01em}
.login-brand-sub{font-size:11px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;margin-top:3px}
.login-form{padding:24px 26px 26px}
.login-field{margin-bottom:14px}
.login-field label{display:block;font-size:11px;font-weight:600;color:var(--txt2);margin-bottom:5px}
.login-field input{
  width:100%;border:1px solid var(--border2);border-radius:9px;
  padding:11px 13px;font-size:14px;font-family:inherit;background:var(--bg);
}
.login-field input:focus{outline:none;border-color:var(--primary);background:#fff}
.login-msg{
  font-size:12px;border-radius:8px;padding:9px 12px;margin-bottom:12px;line-height:1.5;
}
.login-remember{
  display:flex;align-items:center;gap:8px;cursor:pointer;
  font-size:12.5px;color:var(--txt2);margin:2px 2px 14px;user-select:none;
}
.login-remember input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.login-msg.erro{background:#fcebeb;color:#A32D2D;border:1px solid #f0c8c8}
.login-msg.info{background:var(--primary-l);color:var(--primary-d);border:1px solid #e0c8dd}
.login-btn{
  width:100%;border:none;border-radius:9px;cursor:pointer;
  background:var(--primary);color:#fff;font-family:inherit;
  font-size:14px;font-weight:600;padding:12px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  transition:background .15s;
}
.login-btn:hover{background:var(--primary-m)}
.login-btn:disabled{opacity:.65;cursor:default}
.login-links{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:16px;font-size:12px;color:var(--txt3);
}
.login-links a{color:var(--primary);font-weight:600;cursor:pointer}
.login-links a:hover{text-decoration:underline}
.login-foot{margin:0 0 auto;flex-shrink:0;font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.04em}

/* ---------- USU?RIO LOGADO NA SIDEBAR ---------- */
.sb-user{
  margin-top:auto;display:flex;align-items:center;gap:9px;
  padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);
}
.sb-user-av{
  width:34px;height:34px;flex-shrink:0;border-radius:9px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(217,183,121,.18);color:var(--gold);
  font-size:12px;font-weight:700;
}
.sb-user-info{flex:1;min-width:0}
.sb-user-name{font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-role{font-size:10px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-logout{
  flex-shrink:0;width:32px;height:32px;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.7);font-size:16px;
  display:flex;align-items:center;justify-content:center;transition:.15s;
}
.sb-logout:hover{background:rgba(211,90,48,.25);border-color:rgba(211,90,48,.5);color:#fff}

/* ---------------- CRM ? funil de contatos (Kanban) ---------------- */
.crm-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px;
}
.crm-stat{
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  box-shadow:var(--shadow-sm);padding:16px 14px;min-width:0;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.crm-stat:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(122,45,114,.18);border-color:var(--border2)}
.crm-stat-val{font-size:clamp(18px,2.2vw,24px);font-weight:700;color:var(--primary);line-height:1.1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-stat-lbl{font-size:10.5px;color:var(--txt2);margin-top:4px;text-transform:uppercase;letter-spacing:.03em;font-weight:600;line-height:1.2;max-width:100%;overflow-wrap:anywhere}

/* -- CRM estilo Trello -- */
/* -- Barra de filtros do CRM -- */
.crm-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.crm-tb-search{
  display:flex;align-items:center;gap:7px;flex:1;min-width:200px;max-width:340px;
  background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);
  padding:0 11px;
}
.crm-tb-search i{color:var(--txt3);font-size:15px;flex-shrink:0}
.crm-tb-search input{border:none;outline:none;background:none;flex:1;padding:9px 0;font-family:inherit;font-size:13px;color:var(--txt)}
.crm-tb-pills{display:flex;gap:6px;flex-wrap:wrap}
.crm-tb-pill{
  display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  border:1px solid var(--border2);background:var(--surface);color:var(--txt2);
  border-radius:20px;padding:7px 14px;font-size:12.5px;font-family:inherit;transition:all .13s;
}
.crm-tb-pill i{font-size:14px}
.crm-tb-pill:hover{border-color:var(--primary);color:var(--primary)}
.crm-tb-pill.on{background:var(--primary);border-color:var(--primary);color:#fff}
.crm-tb-sel{
  border:1px solid var(--border2);border-radius:var(--radius-sm);padding:8px 11px;
  font-size:12.5px;font-family:inherit;color:var(--txt);background:var(--surface);outline:none;
}
.crm-tb-sel:focus{border-color:var(--primary)}
.crm-tb-info{font-size:12px;color:var(--txt3);margin-left:auto;white-space:nowrap}
/* -- Detalhe do agendamento: rodap? responsivo + bot?es mobile -- */
.agd-mobile-only{display:none}
.agd-foot-grp{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
@media(max-width:820px){
  #agd-footer{flex-direction:column;align-items:stretch;gap:8px}
  .agd-mobile-only{display:inline-flex}
  .agd-foot-grp{width:100%}
  #agd-footer button{flex:1 1 calc(50% - 4px);min-width:0;justify-content:center}
  #agd-footer .btn-primary{flex-basis:100%}   /* Finalizar atendimento ocupa a linha toda */
}
.crm-arq-tag{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:600;color:var(--txt3);background:var(--bg);border:1px solid var(--border2);border-radius:10px;padding:1px 7px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.03em}

/* -- Resumo/Hist?rico do cliente: responsivo no celular/tablet -- */
@media(max-width:720px){
  #modal-resumo-cliente .modal{ width:96vw; max-height:94vh; }
  #resumo-body{ padding:14px 13px !important; }
  /* KPIs 3 colunas ? 2 */
  #resumo-body div[style*="1fr 1fr 1fr"]{ grid-template-columns:1fr 1fr !important; }
  /* Abas rol?veis (n?o quebram empilhando) */
  #resumo-body .resumo-tabs{ flex-wrap:nowrap !important; overflow-x:auto; }
  #resumo-body .resumo-tab{ white-space:nowrap; }
  /* Tabelas (atendimentos / agendamentos / financeiro) viram CARDS */
  #resumo-body .data-table{ overflow-x:visible !important; border:none; }
  #resumo-body .dt-head{ display:none !important; }
  #resumo-body .dt-row{
    display:flex !important; flex-direction:column; align-items:stretch; gap:5px;
    grid-template-columns:1fr !important;
    border:1px solid var(--border); border-radius:10px; padding:11px 13px; margin-bottom:8px;
  }
  #resumo-body .dt-row > span[data-th]{
    display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px !important;
  }
  #resumo-body .dt-row > span[data-th]::before{
    content:attr(data-th); font-size:10px; font-weight:600; color:var(--txt3);
    text-transform:uppercase; letter-spacing:.03em; flex-shrink:0;
  }
}
.crm-arq-tag i{font-size:11px}
@media(max-width:760px){
  .crm-toolbar{justify-content:center}
  .crm-tb-search{max-width:none;width:100%}
  .crm-tb-info{margin-left:0;width:100%;text-align:center}
}
.crm-board{
  display:flex;gap:14px;overflow-x:auto;align-items:flex-start;min-height:320px;
  padding:16px;border-radius:16px;cursor:grab;
  background:linear-gradient(135deg,rgba(155,61,143,.10),rgba(83,74,183,.07));
}
.crm-board.crm-panning{cursor:grabbing;user-select:none}
.crm-board.crm-panning .crm-card{pointer-events:none}  /* evita clicar/arrastar card durante o pan */
.crm-col{
  flex:0 0 280px;background:#f1f0f4;border:none;
  border-radius:14px;display:flex;flex-direction:column;max-height:74vh;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.crm-col-head{
  display:flex;align-items:center;gap:8px;padding:12px 14px 8px;
}
.crm-col-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.crm-col-name{font-size:13px;font-weight:700;color:var(--txt);flex:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-col-count{
  font-size:11px;font-weight:700;background:rgba(0,0,0,.06);color:var(--txt2);
  border-radius:20px;padding:1px 9px;min-width:22px;text-align:center;
}
.crm-col-body{
  flex:1;overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:8px;
  min-height:50px;transition:background .12s;
}
.crm-col-body.drag-over{background:rgba(155,61,143,.10);outline:2px dashed var(--primary);outline-offset:-4px;border-radius:8px}
.crm-col-empty{font-size:11px;color:var(--txt3);text-align:center;padding:10px 6px}
.crm-col-add{
  margin:4px 8px 10px;padding:8px 10px;border:none;background:transparent;
  border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--txt2);font-family:inherit;
  display:flex;align-items:center;gap:7px;transition:background .12s,color .12s;
}
.crm-col-add:hover{background:rgba(0,0,0,.06);color:var(--txt)}
.crm-col-add i{font-size:15px}

.crm-card{
  position:relative;background:var(--surface);border:none;border-radius:9px;
  box-shadow:0 1px 2px rgba(9,30,66,.18);padding:10px 12px 9px;cursor:grab;
  transition:box-shadow .12s,transform .12s;
}
.crm-card:hover{box-shadow:0 3px 8px rgba(9,30,66,.22);transform:translateY(-1px)}
.crm-card:active{cursor:grabbing}
.crm-card.dragging{opacity:.45;transform:rotate(2deg)}
/* etiqueta colorida no topo (estilo Trello) */
.crm-card-label{display:block;width:42px;height:8px;border-radius:5px;margin-bottom:8px}
/* etiquetas m?ltiplas coloridas */
.crm-card-etiqs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.crm-etiq{font-size:9.5px;font-weight:700;color:#fff;padding:2px 9px;border-radius:6px;line-height:1.5;letter-spacing:.02em}
/* rodap? com badges (data / coment?rios) ? estilo Trello */
.crm-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.crm-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--txt2)}
.crm-badge i{font-size:13px}
.crm-badge.over{color:#fff;background:#E24B4A;border-radius:6px;padding:2px 7px}
/* editor de etiquetas no detalhe */
.crm-etiq-editor{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.crm-etiq-tgl{
  display:inline-flex;align-items:center;gap:3px;cursor:pointer;font-family:inherit;
  font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:8px;
  border:1.5px solid var(--e,#9B3D8F);background:transparent;color:var(--e,#9B3D8F);transition:all .12s;
}
.crm-etiq-tgl:hover{background:color-mix(in srgb,var(--e,#9B3D8F) 12%,transparent)}
.crm-etiq-tgl.on{background:var(--e,#9B3D8F);color:#fff}
.crm-card-nome{font-size:13px;font-weight:600;color:var(--txt);margin-bottom:2px;line-height:1.25}
.crm-card-row{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--txt2);margin-top:3px}
.crm-card-row i{font-size:12px;color:var(--txt3)}
.crm-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.crm-card-tag{
  font-size:9.5px;font-weight:600;padding:2px 8px;border-radius:20px;
  background:rgba(0,0,0,.05);color:var(--txt2);
}
.crm-card-valor{font-weight:700;color:var(--teal);background:var(--teal-l)!important}
.crm-card-alerta{color:#A32D2D;font-weight:600}
.crm-card-alerta i{color:#E24B4A}

/* detalhe do cart?o */
.crm-d-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px 13px;margin-bottom:11px;box-shadow:var(--shadow-sm);
}
.crm-d-card-title{
  font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;
  letter-spacing:.05em;margin-bottom:9px;display:flex;align-items:center;gap:6px;
}
.crm-d-card-title i{color:var(--primary);font-size:14px}
.crm-d-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.crm-d-field-lbl{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.04em}
.crm-d-field-val{font-size:12.5px;color:var(--txt);font-weight:500}

.crm-tl-item{
  display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--border);
}
.crm-tl-item:last-child{border-bottom:none}
.crm-tl-dot{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:var(--primary-l);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:13px;
}
.crm-tl-body{flex:1;min-width:0}
.crm-tl-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.crm-tl-tipo{font-size:11.5px;font-weight:600;color:var(--txt)}
.crm-tl-data{font-size:10px;color:var(--txt3);white-space:nowrap}
.crm-tl-desc{font-size:11.5px;color:var(--txt2);margin-top:2px;word-break:break-word}
.crm-tl-user{font-size:10px;color:var(--txt3);margin-top:2px}

/* config de etapas */
.crm-etapa-row{
  display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--border);
}
/* -- Busca-como-digita de cliente (Nova oportunidade do CRM) -- */
.cli-ac-wrap{position:relative}
.cli-ac-res{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;
  background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);
  box-shadow:0 10px 28px rgba(30,10,40,.16);max-height:240px;overflow-y:auto;
}
.cli-ac-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 12px;font-size:13px;color:var(--txt);cursor:pointer;border-bottom:1px solid var(--border);
}
.cli-ac-item:last-child{border-bottom:none}
.cli-ac-item:hover{background:var(--primary-l)}
.cli-ac-nome{font-weight:500}
.cli-ac-sub{font-size:11px;color:var(--txt3);white-space:nowrap}
.cli-ac-empty{padding:10px 12px;font-size:12px;color:var(--txt3)}
.crm-etapa-row:last-child{border-bottom:none}
.crm-etapa-cor{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:1px solid var(--border)}
.crm-etapa-nome{flex:1;font-size:12.5px;color:var(--txt);font-weight:500}
.crm-etapa-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;text-transform:uppercase}

@media(max-width:760px){
  .crm-d-grid{grid-template-columns:1fr}
  #modal-crm-detalhe .modal{width:94vw}
}

/* Multi-select de interesses dentro do cadastro de cliente (CRM) */
.crm-int-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:24px}
.crm-int-chip{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--primary-l);color:var(--primary-m);
  font-size:11px;font-weight:600;padding:4px 4px 4px 10px;
  border-radius:20px;border:1px solid var(--border);
}
.crm-int-chip button{
  background:none;border:none;cursor:pointer;color:var(--primary-m);
  padding:0;width:18px;height:18px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;
}
.crm-int-chip button:hover{background:rgba(0,0,0,.06)}
.crm-int-empty{font-size:10.5px;color:var(--txt3);padding:2px 4px}

/* ---------------- Tela de Configura??es do CRM ---------------- */
.ccrm-intro{
  font-size:12px;color:var(--txt2);background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);
  padding:13px 15px;box-shadow:var(--shadow-sm);
  display:flex;gap:11px;align-items:flex-start;margin-bottom:16px;
  line-height:1.55;
}
.ccrm-intro i{color:var(--primary);font-size:18px;flex-shrink:0;margin-top:1px}

.ccrm-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);
  padding:16px 18px;margin-bottom:12px;
  position:relative;overflow:hidden;transition:.15s;
}
.ccrm-card::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  background:var(--primary);transition:.15s;
}
.ccrm-card.off::before{background:var(--border2)}
.ccrm-card.off{background:var(--bg)}
.ccrm-card.off .ccrm-icon{background:var(--surface);color:var(--txt3)}
.ccrm-card.off .ccrm-title{color:var(--txt2)}

.ccrm-head{display:flex;align-items:flex-start;gap:13px}
.ccrm-icon{
  width:44px;height:44px;border-radius:10px;
  background:var(--primary-l);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:21px;flex-shrink:0;transition:.15s;
}
.ccrm-text{flex:1;min-width:0}
.ccrm-title{
  
  font-size:15px;font-weight:600;color:var(--txt);
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.ccrm-badge{
  font-size:9px;font-weight:700;padding:2px 8px;border-radius:20px;
  text-transform:uppercase;letter-spacing:.04em;
  background:var(--teal-l);color:var(--teal);
}
.ccrm-badge.off{background:#F1EFE8;color:var(--txt3)}
.ccrm-desc{font-size:11.5px;color:var(--txt2);margin-top:4px;line-height:1.55}

.ccrm-toggle-wrap{flex-shrink:0;margin-top:2px}

.ccrm-body{
  margin-top:13px;background:var(--bg);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:11px 13px;
}
.ccrm-body-row{display:flex;align-items:center;gap:12px}
.ccrm-body-lbl{
  font-size:10.5px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;
}
.ccrm-body-row select{flex:1}
.ccrm-default-lbl{
  font-size:10.5px;color:var(--txt3);margin-top:6px;
  display:flex;align-items:center;gap:5px;
}
.ccrm-default-lbl i{font-size:11px;color:var(--primary)}

@media(max-width:760px){
  .ccrm-head{flex-wrap:wrap}
  .ccrm-toggle-wrap{margin-left:auto}
  .ccrm-body-row{flex-direction:column;align-items:stretch;gap:5px}
}

/* Lista de servi?os (interesses) dentro do cadastro do cliente (CRM) ?
   mesmo visual da venda de planos, s? com altura limitada e scroll. */
.crm-int-list{
  border:1px solid var(--border);border-radius:var(--radius-sm);
  max-height:260px;overflow-y:auto;background:var(--surface);
}
.crm-int-list .empty{color:var(--txt3);font-size:11.5px}

/* ---------------- TELA DE ATENDIMENTO ---------------- */
.at-screen{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);
  overflow:hidden;display:flex;flex-direction:column;
  min-height:calc(100vh - 110px);
}
.at-screen-head{
  padding:14px 20px;gap:14px;
  display:flex;align-items:center;
  background:linear-gradient(135deg, var(--primary-l), var(--surface));
  border-bottom:1px solid var(--border);
}
.at-screen-icon{
  width:44px;height:44px;border-radius:12px;
  background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;flex-shrink:0;
}
.at-screen-info{flex:1;min-width:0}
.at-screen-title{
  
  font-size:19px;font-weight:600;color:var(--txt);
}
.at-screen-sub{font-size:11.5px;color:var(--txt2);margin-top:2px}
.at-status{
  font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;
  background:var(--amber-l);color:var(--amber);
  text-transform:uppercase;letter-spacing:.05em;
}
.at-status.concluido{background:var(--teal-l);color:var(--teal)}
.at-status.cancelado{background:#FCEBEB;color:#A32D2D}

.at-tabs{
  display:flex;gap:0;
  background:var(--bg);border-bottom:1px solid var(--border);
  overflow-x:auto;
}
.at-tab{
  background:none;border:none;font-family:inherit;cursor:pointer;
  padding:10px 16px;font-size:12px;color:var(--txt2);font-weight:500;
  display:inline-flex;align-items:center;gap:7px;
  border-bottom:2px solid transparent;
  transition:all .15s;white-space:nowrap;
}
.at-tab:hover{color:var(--txt);background:rgba(155,61,143,.04)}
.at-tab.active{
  color:var(--primary);font-weight:600;
  border-bottom-color:var(--primary);
  background:var(--surface);
}
.at-tab i{font-size:15px}

.at-body{
  flex:1;overflow-y:auto;padding:18px;background:var(--bg);
}
.at-pane-header{
  display:flex;gap:12px;margin-bottom:14px;
  padding:12px 14px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm);
}
.at-pane-header i{font-size:22px;margin-top:2px;flex-shrink:0}
.at-pane-title{
  
  font-size:15px;font-weight:600;color:var(--txt);
}
.at-pane-sub{font-size:11.5px;color:var(--txt2);margin-top:3px;line-height:1.5}

/* Item de sess?o (venda_item) */
.at-sess-grupo{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);
  margin-bottom:11px;overflow:hidden;
}
.at-sess-grupo-head{
  padding:11px 14px;background:var(--primary-l);
  border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.at-sess-grupo-num{
  
  font-size:13px;font-weight:600;color:var(--primary-d);
}
.at-sess-grupo-info{font-size:10.5px;color:var(--txt2)}
.at-sess-item{
  padding:11px 14px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:12px;cursor:pointer;
  transition:background .12s;
}
.at-sess-item:last-child{border-bottom:none}
.at-sess-item:hover{background:var(--primary-l)}
.at-sess-icon{
  width:32px;height:32px;border-radius:8px;
  background:var(--primary-l);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}
.at-sess-nome{
  font-size:12.5px;font-weight:500;color:var(--txt);flex:1;min-width:0;
}
.at-sess-meta{font-size:10.5px;color:var(--txt3);margin-top:2px}
.at-sess-saldo{
  font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;
  background:var(--teal-l);color:var(--teal);
}
.at-sess-saldo.zero{background:#F1EFE8;color:var(--txt3)}

/* Lista de hist?rico */
.at-hist-row{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);
  padding:11px 14px;margin-bottom:8px;
  display:flex;gap:11px;align-items:center;
}
.at-hist-data{
  font-size:11.5px;font-weight:600;color:var(--primary);
  white-space:nowrap;
}
.at-hist-info{flex:1;min-width:0}
.at-hist-srv{font-size:12.5px;color:var(--txt);font-weight:500}
.at-hist-meta{font-size:10.5px;color:var(--txt3);margin-top:2px}

.at-evolucao-prev{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.at-evolucao-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:10px 13px;box-shadow:var(--shadow-sm);
}
.at-evolucao-card-head{
  font-size:10.5px;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.05em;font-weight:600;
  margin-bottom:5px;
}
.at-evolucao-card-body{font-size:12px;color:var(--txt);line-height:1.5;white-space:pre-wrap}

@media(max-width:760px){
  .at-screen{min-height:auto}
  .at-screen-head{flex-wrap:wrap;padding:11px 14px}
  .at-screen-title{font-size:16px}
  .at-screen-head .btn-primary{margin-left:auto}
  .at-tab{padding:9px 11px;font-size:11px}
  .at-body{padding:13px}
}

/* -------- EVOLU??O DA SESS?O (sub-modal do atendimento) -------- */
.ats-modal{width:min(760px, 96vw); max-height:94vh; display:flex; flex-direction:column}
.ats-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:13px 16px;margin-bottom:12px;
}
.ats-card-head{display:flex;align-items:center;gap:13px}
.ats-icon{
  width:42px;height:42px;border-radius:10px;
  background:var(--primary-l);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
}
.ats-srv-nome{font-size:15px;font-weight:600;color:var(--txt)}
.ats-srv-meta{font-size:11.5px;color:var(--txt2);margin-top:2px}
.ats-saldo{
  font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:20px;
  background:var(--teal-l);color:var(--teal);white-space:nowrap;
}
.ats-saldo.zero{background:#F1EFE8;color:var(--txt3)}
.ats-card-title{
  font-size:11px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.05em;
  display:flex;align-items:center;gap:6px;margin-bottom:9px;
}
.ats-card-title i{color:var(--primary);font-size:13px}
.ats-fotos-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ats-galeria{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:10px;
}
.ats-foto{
  position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);
  overflow:hidden;background:var(--bg);box-shadow:var(--shadow-sm);
  aspect-ratio:1/1;
}
.ats-foto img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.ats-foto-tag{
  position:absolute;top:6px;left:6px;
  background:rgba(0,0,0,.65);color:#fff;
  font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;
  text-transform:uppercase;letter-spacing:.04em;
}
.ats-foto-tag.antes  {background:#BA7517}
.ats-foto-tag.durante{background:#534AB7}
.ats-foto-tag.depois {background:#1D9E75}
.ats-foto-tag.anotada{background:var(--primary)}
.ats-foto-del{
  position:absolute;top:6px;right:6px;
  width:22px;height:22px;border-radius:50%;cursor:pointer;
  background:rgba(0,0,0,.55);color:#fff;border:none;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;opacity:0;transition:.15s;
}
.ats-foto:hover .ats-foto-del{opacity:1}
.ats-foto-del:hover{background:#A32D2D}
.ats-foto-data{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent, rgba(0,0,0,.7));
  color:#fff;font-size:9px;padding:8px 7px 5px;
}
.ats-evolucao-card{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:9px 11px;margin-bottom:7px;
}
.ats-evolucao-card-head{
  font-size:10.5px;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.05em;font-weight:600;
  margin-bottom:5px;
}
.ats-evolucao-card-body{font-size:12px;color:var(--txt);line-height:1.5;white-space:pre-wrap}

@media(max-width:760px){
  .ats-galeria{grid-template-columns:repeat(2,1fr)}
}

/* Filtro de sess?es na aba "Sess?es da cliente" do Atendimento */
.at-sess-toggle{
  display:flex;gap:6px;margin-bottom:12px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:4px;box-shadow:var(--shadow-sm);
}
.at-sess-toggle-btn{
  flex:1;background:none;border:none;cursor:pointer;
  padding:8px 12px;font-size:12px;font-family:inherit;color:var(--txt2);
  border-radius:6px;transition:.15s;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
}
.at-sess-toggle-btn:hover{background:var(--bg);color:var(--txt)}
.at-sess-toggle-btn.on{background:var(--primary);color:#fff;font-weight:600}
.at-sess-toggle-btn.on .at-sess-toggle-badge{background:rgba(255,255,255,.25);color:#fff}
.at-sess-toggle-btn i{font-size:14px}
.at-sess-toggle-badge{
  font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;
  background:var(--border);color:var(--txt2);
}
@media(max-width:600px){
  .at-sess-toggle{flex-direction:column}
}

/* Chip de Plano/Avulso dentro do bloco da agenda */
.appt-plano{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.appt-plano-tag{
  font-size:9px;font-weight:700;letter-spacing:.03em;
  padding:1px 7px;border-radius:8px;line-height:1.4;
}
.appt-plano-tag.plano {background:var(--primary-l);color:var(--primary-m)}
.appt-plano-tag.avulso{background:#FFF1DB;color:#BA7517}

/* ---------------- FOTO + ANOTA??O (avalia??o) ---------------- */
.fa-modal{
  width:min(960px, 96vw); max-height:96vh;
  display:flex;flex-direction:column;overflow:hidden;
  background:#1A1020;
}
.fa-body{
  flex:1;display:flex;align-items:center;justify-content:center;
  min-height:340px;padding:18px;overflow:auto;
}
.fa-capture{
  display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;padding:30px;
}
.fa-capture i{font-size:48px;color:rgba(255,255,255,.3);margin-bottom:10px}
.fa-capture-titulo{font-size:17px;font-weight:600;color:#fff;margin-top:8px}
.fa-capture-sub{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:6px;max-width:420px;line-height:1.55}

.fa-canvas-wrap{
  display:flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;
}
.fa-canvas-wrap canvas{
  max-width:100%;max-height:65vh;display:block;
  background:#000;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.4);
  touch-action:none;cursor:crosshair;
}

.fa-toolbar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 14px;background:#26122a;border-top:1px solid rgba(255,255,255,.06);
}
.fa-tools-grupo{display:flex;gap:5px}
.fa-sep{width:1px;height:22px;background:rgba(255,255,255,.12);margin:0 4px}
.fa-tool{
  background:none;border:1px solid rgba(255,255,255,.12);cursor:pointer;
  width:36px;height:36px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.7);font-family:inherit;transition:.12s;
}
.fa-tool:hover{background:rgba(255,255,255,.08);color:#fff}
.fa-tool.on{border-color:var(--gold);background:rgba(217,183,121,.18);color:#fff}
.fa-tool.on .fa-cor{box-shadow:0 0 0 2px var(--gold)}
.fa-tool i{font-size:16px}
.fa-cor{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.fa-size{border-radius:50%;background:#fff;display:block}
.fa-clear-btn:hover{background:rgba(226,75,74,.2);color:#fff}

@media(max-width:760px){
  .fa-toolbar{padding:8px 10px;gap:6px}
  .fa-tool{width:32px;height:32px}
  .fa-canvas-wrap canvas{max-height:55vh}
}

/* Cart?o de a??o grande na aba "Sess?es" pra avalia??es */
.av-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;
}
.av-action-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:22px 18px;gap:8px;cursor:pointer;
  background:var(--surface);border:2px dashed var(--border2);
  border-radius:var(--radius);font-family:inherit;color:var(--txt);
  transition:.15s;
}
.av-action-btn:hover{border-color:var(--primary);background:var(--primary-l)}
.av-action-btn .av-action-icon{
  width:48px;height:48px;border-radius:12px;
  background:var(--primary-l);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:24px;
}
.av-action-btn:hover .av-action-icon{background:var(--primary);color:#fff}
.av-action-btn .av-action-titulo{font-size:14px;font-weight:600}
.av-action-btn .av-action-sub{font-size:11px;color:var(--txt2);line-height:1.45;max-width:200px}
@media(max-width:640px){.av-actions{grid-template-columns:1fr}}

/* Cards de or?amento na aba "Or?amento" do atendimento */
.at-orc-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);
  margin-bottom:12px;overflow:hidden;
}
.at-orc-head{
  padding:12px 16px;background:var(--primary-l);
  border-bottom:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.at-orc-num{font-size:14px;font-weight:600;color:var(--primary-d,#5A1F54)}
.at-orc-meta{font-size:11px;color:var(--txt2);margin-top:2px}
.at-orc-total{font-size:18px;font-weight:700;color:var(--primary)}
.at-orc-itens{padding:10px 16px}
.at-orc-item{
  display:flex;justify-content:space-between;
  padding:6px 0;font-size:12px;color:var(--txt2);
  border-bottom:1px dashed var(--border);
}
.at-orc-item:last-child{border-bottom:none}
.at-orc-acoes{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;
  padding:10px 16px;background:var(--bg);border-top:1px solid var(--border);
}

/* -- INBOX WhatsApp (atendimento) -- */
.inbox-wrap{display:flex;gap:14px;height:calc(100vh - 230px);min-height:420px}
.inbox-side{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.inbox-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--txt3)}
.inbox-search input{flex:1;border:none;outline:none;font-family:inherit;font-size:13px;background:transparent;color:var(--txt)}
#inbox-lista{flex:1;overflow-y:auto}
.inbox-conv{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.inbox-conv:hover{background:var(--bg)}
.inbox-conv.ativa{background:var(--primary-l)}
.inbox-conv-av{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--rose))}
.inbox-conv-info{flex:1;min-width:0}
.inbox-conv-nome{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-conv-prev{font-size:11.5px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.inbox-conv-hora{font-size:10px;color:var(--txt3);white-space:nowrap}
.inbox-naolida{background:#25D366;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.inbox-main{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}
.inbox-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--txt3);font-size:13px}
.inbox-empty i{font-size:40px;color:var(--border2)}
.inbox-thread-head{padding:11px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--bg)}
.inbox-thread{flex:1;overflow-y:auto;padding:16px;background:linear-gradient(var(--bg),var(--bg));display:flex;flex-direction:column;gap:8px}
.ib-msg{max-width:72%;padding:8px 11px;border-radius:12px;font-size:13px;line-height:1.4;position:relative;word-wrap:break-word}
.ib-msg .ib-hora{font-size:9.5px;color:var(--txt3);margin-top:3px;text-align:right}
.ib-in{align-self:flex-start;background:#fff;border:1px solid var(--border)}
.ib-out{align-self:flex-end;background:#dcf8c6;border:1px solid #c5ecae}
.ib-dia{align-self:center;background:var(--border);color:var(--txt2);font-size:10.5px;padding:3px 10px;border-radius:10px;margin:6px 0}
.inbox-reply{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);align-items:flex-end}
.inbox-reply textarea{flex:1;border:1px solid var(--border2);border-radius:18px;padding:9px 14px;font-family:inherit;font-size:13px;resize:none;max-height:120px;outline:none}
.inbox-reply .btn-primary{border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.inbox-reply.bloqueada{opacity:.6;pointer-events:none}
@media (max-width:760px){
  .inbox-wrap{flex-direction:column;height:auto}
  .inbox-side{width:100%;height:300px}
  .inbox-main{height:60vh}
}

/* Nota interna no inbox (n?o vai pra cliente) */
.ib-nota{align-self:center;background:#fff7d6;border:1px dashed #e0c873;color:#6b5410;max-width:88%;font-size:12px;cursor:pointer}
.ib-nota:hover{background:#fdf0bf}

/* --- Barra de progresso de importa??o (overlay reus?vel) --- */
.imp-prog-ov{position:fixed;inset:0;z-index:9998;background:rgba(20,8,24,.55);display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.imp-prog-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:26px 30px;width:min(440px,92vw)}
.imp-prog-top{font-size:14.5px;font-weight:600;color:var(--primary-d);display:flex;align-items:center;gap:9px;margin-bottom:16px}
.imp-prog-spin{animation:imp-prog-spin 1s linear infinite;color:var(--primary);font-size:18px}
@keyframes imp-prog-spin{to{transform:rotate(360deg)}}
.imp-prog-track{height:13px;background:var(--border);border-radius:8px;overflow:hidden}
.imp-prog-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:8px;transition:width .25s ease}
.imp-prog-fill.imp-prog-indet{animation:imp-prog-indet 1.1s ease-in-out infinite alternate}
@keyframes imp-prog-indet{from{margin-left:0}to{margin-left:60%}}
.imp-prog-info{display:flex;justify-content:space-between;margin-top:10px;font-size:12.5px;color:var(--txt2)}
.imp-prog-info #imp-prog-pct{font-weight:700;color:var(--primary)}
.imp-prog-hint{margin-top:14px;font-size:11px;color:var(--txt3);display:flex;align-items:center;gap:6px}

/* ----------- RELAT?RIOS ? lista por categoria + painel do relat?rio ----------- */
.rel-layout{display:flex;gap:18px;align-items:flex-start}
.rel-sidebar{width:248px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px}
.rel-cat{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt3);padding:12px 10px 5px}
.rel-cat:first-child{padding-top:4px}
.rel-nav-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:9px 11px;font-size:12.8px;font-family:inherit;color:var(--txt);cursor:pointer;transition:background .12s}
.rel-nav-item i{color:var(--primary);font-size:16px;flex-shrink:0}
.rel-nav-item:hover{background:var(--primary-l)}
.rel-nav-item.ativo{background:var(--primary);color:#fff;font-weight:600}
.rel-nav-item.ativo i{color:#fff}
.rel-painel{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}
.rel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.rel-head-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:9px}
.rel-head-title i{color:var(--primary)}
.rel-head-desc{font-size:12.5px;color:var(--txt2);margin-top:4px}
.rel-filtros{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:16px}
.rel-flt{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--txt2)}
.rel-flt span{font-weight:600;color:var(--primary-d)}
.rel-flt input,.rel-flt select{border:1px solid var(--border2);border-radius:6px;padding:7px 10px;font-size:12.5px;font-family:inherit;background:var(--surface)}
.rel-tot{font-size:12px;color:var(--txt2);margin-bottom:8px}
.rel-tabela-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}
.rel-tabela{width:100%;border-collapse:collapse;font-size:12.3px;white-space:nowrap}
.rel-tabela th{background:var(--primary-l);color:var(--primary-d);font-weight:600;text-align:left;padding:9px 11px;position:sticky;top:0;border-bottom:1px solid var(--border)}
.rel-tabela td{padding:8px 11px;border-bottom:1px solid var(--border)}
.rel-tabela tbody tr:nth-child(even){background:var(--bg)}
.rel-tabela tbody tr:hover{background:var(--primary-l)}
@media (max-width:860px){
  .rel-layout{flex-direction:column}
  .rel-sidebar{width:100%}
  .rel-sidebar #rel-nav{display:flex;flex-wrap:wrap;gap:6px}
  .rel-cat{width:100%;padding:6px 6px 2px}
  .rel-nav-item{width:auto}
}

/* ── Editor visual de e-mail (Config. de E-mail) ── */
.ce-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border:1px solid var(--border2);border-bottom:none;border-radius:8px 8px 0 0;background:#faf7fb}
.ce-toolbar button{display:inline-flex;align-items:center;gap:3px;border:1px solid transparent;background:transparent;border-radius:6px;padding:5px 8px;font-size:12.5px;cursor:pointer;color:var(--txt);font-family:inherit;line-height:1}
.ce-toolbar button:hover{background:var(--primary-l);border-color:var(--border)}
.ce-toolbar select{border:1px solid var(--border2);border-radius:6px;padding:4px 6px;font-size:12px;background:var(--surface);font-family:inherit;cursor:pointer;color:var(--txt)}
.ce-toolbar .ce-tb-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 4px}
.ce-toolbar .ce-cor{width:18px;height:18px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}
.ce-editor{border:1px solid var(--border2);border-radius:0 0 8px 8px;padding:12px 14px;min-height:120px;font-size:13px;line-height:1.6;color:var(--txt);background:var(--surface);outline:none;font-family:inherit}
.ce-editor:focus{border-color:var(--primary)}
.ce-editor img{max-width:100%;height:auto}
.ce-editor a{color:var(--primary)}
.ce-editor:empty:before{content:'Escreva o e-mail aqui…';color:var(--txt3)}
.ce-sched{font-size:12px;color:var(--txt2);margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#faf7fb;border:1px solid var(--border);border-radius:8px;padding:7px 10px}
.ce-sched i{color:var(--primary)}

/* Agendamento avulso GRÁTIS (cortesia): esconde preços/subtotais no modal */
.avu-gratis .nv2-serv-valor,.avu-gratis .nv2-item-card-valor,.avu-gratis .nv2-area-subtotal{display:none !important}
