/* TEMA "PULSE" — Impulsiona CRM com a linguagem do Pulsedesk (24/09/2026).
   Carregar DEPOIS de crm-base.css. Claro por padrão; escuro com <html data-theme="escuro">.
   Fontes: <link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap" rel="stylesheet">
   Classes marcadas NOVO pedem ajuste de marcação. */
:root,[data-theme="claro"]{
  --bg:#F5F7FA;
  --surface:#EDF1F6;
  --card:#FFFFFF;
  --raised:#FFFFFF;
  --border:#E2E8F0;
  --border-strong:#7D899C;
  --text:#0B1220;
  --muted:#475569;
  --muted2:#5F6B7D;
  --primary:#0B1220;
  --primary-h:#1E293B;
  --on-primary:#FFFFFF;
  --accent:#0369A1;
  --accent-soft:#E0F2FE;
  --primary-l:rgba(3,105,161,0.08);
  --success:#047857;
  --success-soft:#ECFDF5;
  --danger:#B91C1C;
  --danger-soft:#FEF2F2;
  --warn:#B45309;
  --warn-soft:#FFF7ED;
  --focus:#0369A1;
  --overlay:rgba(11,18,32,0.40);
  --chart-1:#0369A1;
  --chart-2:#0EA5E9;
  --chart-3:#7DD3FC;
  --chart-4:#BAE6FD;
  --chart-5:#E0F2FE;
  --shadow-card:0 1px 2px rgba(15,23,42,0.05), 0 4px 12px rgba(15,23,42,0.04);
  --shadow-drag:0 12px 28px rgba(15,23,42,0.14);
  --shadow-modal:0 24px 60px rgba(15,23,42,0.18);
  --shadow-glow:0 1px 2px rgba(15,23,42,0.20);
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:20px;
  --radius-full:999px;
  --touch-min:36px;
  --header-h:60px;
  --mobnav-h:60px;
  --font-sans:Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display:"Plus Jakarta Sans", Geist, -apple-system, "Segoe UI", sans-serif;
}
[data-theme="escuro"]{
  --bg:#080C14;
  --surface:#0D131F;
  --card:#111827;
  --raised:#172033;
  --border:#1E2736;
  --border-strong:#5B6B82;
  --text:#F1F5F9;
  --muted:#A3AEC0;
  --muted2:#8391A7;
  --primary:#CFFAFE;
  --primary-h:#ECFEFF;
  --on-primary:#0B1220;
  --accent:#38BDF8;
  --accent-soft:rgba(56,189,248,0.12);
  --primary-l:rgba(56,189,248,0.10);
  --success:#34D399;
  --success-soft:rgba(52,211,153,0.12);
  --danger:#F87171;
  --danger-soft:rgba(248,113,113,0.12);
  --warn:#FBBF24;
  --warn-soft:rgba(251,191,36,0.12);
  --focus:#38BDF8;
  --overlay:rgba(0,0,0,0.60);
  --chart-1:#7DD3FC;
  --chart-2:#38BDF8;
  --chart-3:#0284C7;
  --chart-4:#075985;
  --chart-5:#0C4A6E;
  --shadow-card:inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 32px rgba(0,0,0,0.30);
  --shadow-drag:0 0 0 1px rgba(56,189,248,0.35), 0 18px 40px rgba(0,0,0,0.50);
  --shadow-modal:inset 0 1px 0 rgba(255,255,255,0.06), 0 30px 70px rgba(0,0,0,0.60);
  --shadow-glow:0 0 0 1px rgba(207,250,254,0.30), 0 8px 24px rgba(56,189,248,0.18);
  color-scheme:dark;
}
body{background:var(--bg);color:var(--text);font-family:var(--font-sans)}

/* Impulsiona CRM · Pulse — linguagem do Pulsedesk (pílulas, Geist + Plus Jakarta Sans, azul-noite e ciano)
   aplicada às interfaces do CRM, com tema claro e escuro via [data-theme]. Base original:
   Usa os nomes de classe reais do CRM (.btn, .fi, .p-card, .pipe-hd, .kpi-card, .ses-card, #mobNav…)
   para virar temas/premium.css carregado depois de crm-base.css. Classes novas (pc-*, kpi-*, nx-*)
   exigem ajuste de marcação e estão marcadas com NOVO. */

/* ---------- Base ---------- */
.crm{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:20px}
.crm *{box-sizing:border-box}
.num{font-variant-numeric:tabular-nums}
.crm :focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--radius-full);
  font:500 14px/20px var(--font-sans);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
.btn svg{width:16px;height:16px;flex-shrink:0}
.btn-p{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-glow);font-weight:600}
.btn-p:hover{background:var(--primary-h)}
.btn-s{background:var(--card);color:var(--text);border-color:var(--border)}
.btn-s:hover{background:var(--raised)}
.btn-s:hover{border-color:var(--border-strong)}
.btn-d{background:var(--card);color:var(--danger);border-color:var(--border)}
.btn-d:hover{background:var(--danger-soft);border-color:var(--danger)}
.btn-won{background:var(--success-soft);color:var(--success);border-color:transparent}
.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn-ghost:hover{background:var(--primary-l);color:var(--text)}
.btn-icon{width:36px;padding:0}
.btn-sm{height:32px;padding:0 10px;font-size:13px}
.seg{display:inline-flex;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full)}
.seg .btn{height:30px;padding:0 14px;font-size:13px;border-radius:var(--radius-full);background:transparent;color:var(--muted);border:none}
.seg .btn.on{background:var(--raised);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}

/* ---------- Campos ---------- */
.fl{display:block;font:500 12.5px/16px var(--font-sans);color:var(--muted);margin-bottom:6px}
.fi{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--card);
  color:var(--text);font:400 16px/22px var(--font-sans);outline:none;transition:border-color .12s,box-shadow .12s}
.fi::placeholder{color:var(--muted2)}
.fi:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
select.fi{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;
  background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2352525B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/12px}
.fi.is-error{border-color:var(--danger)}
.f-help{font-size:12px;line-height:16px;color:var(--muted);margin-top:6px}
.f-help.is-error{color:var(--danger)}
.sb-wrap{position:relative}
.sb-wrap .fi{padding-left:36px}
.sb-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.pipe-filter-bar{display:flex;gap:8px;align-items:center}
.pipe-filter-bar select.fi{flex:1 1 0;min-width:0}
.pipe-filter-bar .btn{flex-shrink:0;height:40px}

/* ---------- Etiquetas ---------- */
.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:var(--radius-full);
  font:500 12px/16px var(--font-sans);color:var(--muted);background:var(--card);border:1px solid var(--border);white-space:nowrap}
.tag svg{width:12px;height:12px}
.tag-soft{background:var(--accent-soft);border-color:transparent;color:var(--accent);font-weight:600}
.tag-won{background:var(--success-soft);border-color:transparent;color:var(--success);font-weight:600}
.tag-lost{background:var(--danger-soft);border-color:transparent;color:var(--danger);font-weight:600}
.stage{display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--font-sans);color:var(--text)}
.stage::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted2)}
.stage.won{color:var(--success)}.stage.won::before{background:var(--success)}
.stage.lost{color:var(--danger)}.stage.lost::before{background:var(--danger)}

/* ---------- Iniciais ---------- */
.av{width:32px;height:32px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--surface);color:var(--text);font:600 12px/1 var(--font-sans);letter-spacing:.02em}
.av-xs{width:20px;height:20px;font-size:10px}
.av-lg{width:48px;height:48px;font-size:16px}

/* ---------- Cabeçalho ---------- */
.app-header,#appHeader{height:60px;background:var(--card);border-bottom:1px solid var(--border)}
.header-inner{height:100%;display:flex;align-items:center;gap:4px;padding:0 24px}
.header-logo{display:flex;align-items:center;gap:10px;font:700 16px/20px var(--font-display);letter-spacing:-.02em;color:var(--text);margin-right:16px;white-space:nowrap}
.logo-icon{width:28px;height:28px;border-radius:9px;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font:700 13px/1 var(--font-sans)}
.nav-item{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--radius-full);font:500 13.5px/20px var(--font-sans);color:var(--muted);white-space:nowrap}
.nav-item svg{width:16px;height:16px}
.nav-item:hover{background:var(--primary-l);color:var(--text)}
.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.header-user{margin-left:auto;display:flex;align-items:center;gap:8px}

/* ---------- Menu do celular ---------- */
.mob-nav,#mobNav{display:grid;grid-template-columns:repeat(6,1fr);background:var(--card);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))}
.mob-nav button,#mobNav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;
  background:none;border:none;color:var(--muted);font:500 11px/14px var(--font-sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
.mob-nav button svg,#mobNav button svg{width:22px;height:22px}
.mob-nav button.active,#mobNav button.active{color:var(--accent);font-weight:600}
.mob-nav button.active::before,#mobNav button.active::before{content:"";position:absolute;top:-4px;left:30%;right:30%;height:2px;border-radius:0 0 2px 2px;background:var(--accent)}

/* ---------- Funil ---------- */
.pipe-col{display:flex;flex-direction:column;min-width:0}
.pipe-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;height:36px;padding:0 4px;margin-bottom:8px}
.pipe-hd .ph-name{font:600 14px/20px var(--font-display);letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipe-hd .ph-meta{font:500 12px/16px var(--font-sans);color:var(--muted2);white-space:nowrap}  /* NOVO: quantidade · soma */
.pipe-cards{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--surface);border-radius:var(--radius-lg);min-height:120px}
.pipe-cards.is-over{background:var(--primary-l);outline:1px dashed var(--accent);outline-offset:-1px}

.p-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-card);cursor:grab;transition:border-color .12s}
.p-card:hover{border-color:var(--border-strong)}
.p-card.is-drag{background:var(--raised);box-shadow:var(--shadow-drag);transform:rotate(1deg);cursor:grabbing}
.pc-top{display:flex;align-items:baseline;gap:8px;padding-right:28px}                                   /* NOVO */
.pc-name{flex:1;min-width:0;font:600 15px/20px var(--font-sans);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-value{font:600 15px/20px var(--font-sans);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.pc-value.won{color:var(--success)}
.pc-meta{margin-top:2px;font:400 13px/18px var(--font-sans);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-meta b{font-weight:500;color:var(--text)}
.pc-action{display:flex;align-items:center;gap:6px;margin-top:10px;padding:5px 8px;border-radius:var(--radius-sm);background:var(--surface);
  font:500 13px/18px var(--font-sans);color:var(--muted)}
.pc-action svg{width:14px;height:14px;flex-shrink:0}
.pc-action .pa-what{color:var(--text)}
.pc-action.is-today{background:var(--warn-soft);color:var(--warn)}
.pc-action.is-today .pa-what{color:var(--warn)}
.pc-action.is-late{background:var(--danger-soft);color:var(--danger)}
.pc-action.is-late .pa-what{color:var(--danger)}
.pc-foot{display:flex;align-items:center;gap:6px;margin-top:10px;font:400 12.5px/16px var(--font-sans);color:var(--muted)}
.pc-foot .pc-origin{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--muted2);font-size:12px}
.pc-foot .pc-origin svg{width:12px;height:12px}
.pc-more{position:absolute;top:4px;right:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:none;
  color:var(--muted2);border-radius:var(--radius-full);cursor:pointer}
.pc-more:hover{background:var(--primary-l);color:var(--text)}
.pc-more svg{width:18px;height:18px}

/* ---------- Painel ---------- */
.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card)}
.kpi-label{font:600 11px/14px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.kpi-num{white-space:nowrap;margin-top:10px;font:600 30px/36px var(--font-display);letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.kpi-num.won{color:var(--success)}
.kpi-sub{margin-top:6px;font:400 12px/16px var(--font-sans);color:var(--muted2)}
.kpi-delta{font-weight:600;color:var(--accent)}
.chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-card)}
.chart-card h3{margin:0;font:600 15px/20px var(--font-display);letter-spacing:-.01em}
.chart-card p{margin:2px 0 0;font:400 13px/18px var(--font-sans);color:var(--muted)}
.chart-legend{display:flex;flex-direction:column;gap:8px;font:400 13px/18px var(--font-sans);color:var(--text)}
.chart-legend span{display:flex;align-items:center;gap:8px}
.chart-legend i{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.chart-legend b{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}

/* ---------- Degustações ---------- */
.ses-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card)}
.ses-card.ses-past{background:var(--surface);box-shadow:none}
.ses-date{font:600 16px/22px var(--font-display);letter-spacing:-.01em;color:var(--text)}
.ses-place{font:400 13px/18px var(--font-sans);color:var(--muted)}
.ses-count{display:flex;justify-content:space-between;margin:14px 0 8px;font:400 13px/18px var(--font-sans);color:var(--muted)}
.ses-count b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.ses-bar{height:6px;background:var(--surface);border-radius:var(--radius-full);overflow:hidden}
.ses-bar span{display:block;height:100%;background:var(--accent);border-radius:var(--radius-full)}
.ses-bar span.full{background:var(--danger)}
.sg-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--border)}
.sg-main{flex:1;min-width:0}
.sg-name{font:600 14px/20px var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-sub{font:400 12.5px/16px var(--font-sans);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-people{display:flex;align-items:center;gap:6px;font:500 12px/16px var(--font-sans);color:var(--muted)}
.sg-people input{width:52px;height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--card);text-align:center;font:500 16px/1 var(--font-sans);color:var(--text);background:var(--card)}

/* ---------- Janelas ---------- */
.mdl{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);overflow:hidden}
.mdl-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--border)}
.mdl-hd h3{margin:0;font:600 16px/22px var(--font-display);letter-spacing:-.01em}
.mdl-bd{padding:20px}
.mdl-ft{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border);background:var(--card)}
.overline{font:600 11px/14px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.perfil-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}  /* NOVO */
.perfil-grid>div{padding:12px 14px}
.perfil-grid>div+div{border-left:1px solid var(--border)}
.perfil-grid .pv{margin-top:6px;font:600 18px/24px var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nx-box{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}      /* NOVO */
.nx-box>svg{width:20px;height:20px;flex-shrink:0;color:var(--muted)}
.nx-box.is-late{background:var(--danger-soft)}
.nx-box.is-late>svg{color:var(--danger)}
.nx-box.is-late .nx-when{color:var(--danger)}
.nx-what{font:600 14px/20px var(--font-sans)}
.nx-when{font:500 13px/18px var(--font-sans);color:var(--muted)}
.dl{display:grid;grid-template-columns:120px 1fr;gap:10px 12px;font:400 14px/20px var(--font-sans)}
.dl dt{color:var(--muted)}
.dl dd{margin:0;color:var(--text)}

/* ---------- Pulse: detalhes ---------- */
.crm{font-family:var(--font-sans)}
.dot-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.mdl-ft .btn,.pc-foot,.sg-row{font-family:var(--font-sans)}

/* ============================================================
   AJUSTE AO CRM REAL (Claude Code, 24/09/2026)
   pulse-base.css é o arquivo do Claude Design, sem alteração.
   Este aqui faz as telas que o redesenho não desenhou seguirem a mesma
   linguagem e resolve conflitos com as regras de celular do CSS base.
   O montador junta os dois: pulse-base.css + pulse-ajustes.css.
   Etapa 2 (mais abaixo): perfil, novo lead, indicadores, receita e tema escuro.
   ============================================================ */
html,body{font-family:var(--font-sans)}
.pg-title{font:700 26px/32px var(--font-display);letter-spacing:-.03em;color:var(--text)}
@media(max-width:768px){.pg-title{font-size:21px;line-height:26px}}
.card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border-color:var(--border)}
.logo-icon{border-radius:9px!important}

/* Funil: largura das colunas (o tema zera o mínimo) e trilho */
.pipe-col{min-width:272px}
@media(max-width:768px){.pipe-col{min-width:80vw!important;width:80vw!important}}
@media(min-width:600px) and (max-width:768px){.pipe-col{min-width:calc(50vw - 16px)!important;width:calc(50vw - 16px)!important}}
.pipe-wrap{gap:16px}
.pipe-hd{background:transparent!important;border:none!important;border-radius:0;cursor:pointer}
.pipe-cards{border:none!important}
.pipe-empty{font:400 13px/18px var(--font-sans);color:var(--muted2)}
/* Cartão novo: o CSS base do celular empurrava o conteúdo com padding-right */
.p-card{padding:12px!important}
.p-card>.pc-top{padding-right:32px!important}
.p-card>div:not(.pc-top){padding-right:0!important}
.p-card.sortable-chosen,.p-card.sortable-drag{background:var(--raised)!important;box-shadow:var(--shadow-drag)!important;border-color:var(--border-strong)!important}
.sortable-ghost{opacity:.35;background:var(--primary-l)!important;border:1px dashed var(--accent)!important}
body.pipe-dragging .pipe-cards{background:var(--primary-l)!important}

/* Menu "mais ações" do cartão */
.card-menu{position:fixed;z-index:300;width:220px;max-height:70vh;overflow:auto;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:6px}
.card-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:9px 10px;
  font:500 14px/20px var(--font-sans);color:var(--text);cursor:pointer;min-height:36px}
.card-menu button:hover{background:var(--surface)}
.card-menu .cm-sep{font:600 11px/14px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;border-top:1px solid var(--border);margin-top:4px}
.card-menu .cm-danger{color:var(--danger);border-top:1px solid var(--border);margin-top:4px}

/* Campos: o tema fixa 40px de altura; área de texto precisa crescer */
textarea.fi{height:auto;min-height:84px;padding:10px 12px;line-height:22px}
input[type=file].fi{height:auto;padding:8px}

/* Iniciais: cor calculada pelo nome sai (no CRM a cor não informa nada) */
.av{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)}
span[style*="border-radius:50%"][style*="font-size:9px"]{background:var(--surface)!important;color:var(--text)!important}

/* Etiquetas e selos das outras telas: neutros; pré/pós-venda em azul suave */
.tag{height:auto;min-height:22px}
.pill,[class*="pill-"]{background:var(--card)!important;color:var(--muted)!important;border:1px solid var(--border)!important}
span[style*="background:#E7F0FF"],span[style*="background:#FEF7E0"],span[style*="background:#25D36622"],span[style*="background:#25D36615"]{
  background:var(--card)!important;color:var(--muted)!important;border:1px solid var(--border)!important}
span[style*="background:#E7F0FF"] svg,span[style*="background:#FEF7E0"] svg{filter:grayscale(1);opacity:.6}
span[style*="background:#EDE9FE"],span[style*="background:#D1FAE5"]{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:transparent!important}

/* Textos com cor fixa nas telas antigas: verde só para fechado, vermelho só para atraso */
[style*="color:#1D4ED8"],[style*="color:#0369A1"],[style*="color:#6D28D9"],[style*="color:#7E22CE"],[style*="color:#B45309"],
[style*="color:#065F46"],[style*="color:#4B5563"],[style*="color:#1558B8"],[style*="color:#8A4B00"],[style*="color:#1E40AF"],
[style*="color:#166534"],[style*="color:#92400E"],[style*="color:#78350F"],[style*="color:#047857"],[style*="color:#10B981"]{color:var(--text)!important}
[style*="color:#DC2626"],[style*="color:#B91C1C"],[style*="color:#EF4444"]{color:var(--danger)!important}
#kpi-fechados,#kpi-receita{color:var(--success)!important}

/* Caixas de destaque antigas (próxima ação, valor no perfil): superfície neutra */
[style*="background:#FFFBEB"],[style*="background:#FEF3C7"],[style*="background:#F0FDF4"],[style*="background:#EFF6FF"],
[style*="background:#FEF2F2"],[style*="background:#DCFCE7"]{background:var(--surface)!important;border-color:var(--border)!important}
.perfil-valor{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-lg)!important}
.perfil-valor div:last-child{font-family:var(--font-display)!important;color:var(--text)!important;letter-spacing:-.02em}

/* Painel: rótulo espaçado, número na fonte de título, 3 por linha no computador */
.kpi-card>p:first-child{font:600 11px/14px var(--font-sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important}
.kpi-card span[id^="kpi-"]{font:600 30px/36px var(--font-display)!important;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi-card>p:last-child{color:var(--muted2)!important}
.kpi-card svg{stroke:var(--muted2)!important;opacity:1!important}
@media(min-width:769px){.kpi-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:768px){.kpi-card span[id^="kpi-"]{font-size:22px!important;line-height:28px!important}}
.card h3{font-family:var(--font-display);letter-spacing:-.01em}
#dashPeriodBtns{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px;gap:2px!important}
#dashPeriodBtns .btn{height:30px;border:none;background:transparent;color:var(--muted);box-shadow:none;font-size:13px}
#dashPeriodBtns .btn.btn-p{background:var(--raised);color:var(--text);box-shadow:var(--shadow-card)}
/* No celular a tira vira um quadro de seis, tres por linha: o canto arredondado da tira
   de uma linha so nao serve para duas (25/09). */
@media(max-width:768px){#dashPeriodBtns{border-radius:18px}}

/* Degustações */
.ses-card{border-left:1px solid var(--border)!important}
.ses-bar span{background:var(--accent)!important}
.ses-bar span[style*="#DC2626"]{background:var(--danger)!important}

/* Tabelas */
.tbl th{background:var(--surface);color:var(--muted);letter-spacing:.1em}
/* Destaque de linha só com mouse e tabela de computador. No celular a linha vira cartão e o toque
   deixava o "passar o mouse" preso, pintando cada campo em bloco (achado pelo João no iPhone). */
@media(hover:hover) and (min-width:769px){.tbl tr:hover td{background:var(--surface)}}

/* Janelas */
dialog{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-modal)!important;border-color:var(--border)!important;background:var(--card)}
dialog::backdrop{background:var(--overlay)}
.mdl-hd h2,.mdl-hd h3{font-family:var(--font-display);letter-spacing:-.01em}
dialog :focus:not(:focus-visible){outline:none;box-shadow:none}

/* Agenda */
.cal-dh{background:var(--surface)!important;color:var(--muted)}
.cal-day.today{background:var(--accent-soft)!important}
.cal-num.today-num{background:var(--primary)!important}
.cal-ev{background:var(--accent-soft)!important;color:var(--accent)!important}
.cal-tasting{background:var(--surface)!important;color:var(--text)!important;border-left-color:var(--border-strong)!important}
@media(max-width:768px){.cal-day .cal-ev{background:var(--accent)!important}.cal-day .cal-tasting{background:var(--border-strong)!important}}
.cal-day.cal-sel{outline-color:var(--accent)!important}

/* Menu do celular */
#mobNav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#mobMore{background:var(--overlay)!important}
.mob-more-panel{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-modal)!important}

/* Faixa da demonstração e entrada */
#demoBar{background:var(--surface)!important;color:var(--muted)!important;border-bottom-color:var(--border)!important}
#demoBar button{border-color:var(--border)!important;color:var(--text)!important;border-radius:var(--radius-full)!important}
#demoLoginTip{background:var(--surface)!important;border-color:var(--border)!important;color:var(--muted)!important}
#demoLoginTip code{background:var(--card)!important;color:var(--text)}
.login-card{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-card)!important}

/* O tema liga o menu do celular em qualquer tela; no computador ele fica escondido */
@media(min-width:769px){#mobNav,#mobMore{display:none!important}}
/* Filtros do funil no computador: largura própria, não esticam na linha toda */
@media(min-width:769px){.pipe-filter-bar select.fi{flex:0 0 auto}}

/* Pós-venda e outros números verdes antigos: verde só para fechado */
[style*="color:#059669"]{color:var(--text)!important}

/* ============================================================
   ETAPA 2 (24/09/2026): perfil, novo lead, indicadores, receita, tema escuro
   ============================================================ */
/* Perfil do lead */
#modalPerfil.pl-perfil .mdl-bd{width:460px!important;max-width:100%!important}
.pl-topo{display:flex;gap:12px;align-items:center}
.pl-nome{font:700 19px/24px var(--font-display);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}
.pl-sub{margin-top:4px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pl-atalhos{display:flex;gap:8px;margin-top:14px}
.pl-atalho{flex:1 1 0;min-width:0;height:var(--touch-min)!important;text-decoration:none;padding:0 8px!important}
.pl-atalho[disabled]{opacity:.45;cursor:not-allowed}
#modalPerfil .perfil-grid{margin-top:16px}
.nx-box .btn{height:var(--touch-min)}
.nx-box.is-today{background:var(--warn-soft)}
.nx-box.is-today>svg,.nx-box.is-today .nx-when{color:var(--warn)}
.pl-sec{margin:20px 0 10px}
.pl-txt{font:400 14px/21px var(--font-sans);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}
.pl-hist{display:flex;flex-direction:column;gap:10px}
.pl-h1{font:500 13px/18px var(--font-sans);color:var(--text)}
.pl-h2{font:400 12px/16px var(--font-sans);color:var(--muted)}
.dl dd{overflow-wrap:anywhere;min-width:0}
@media(max-width:420px){.dl{grid-template-columns:100px 1fr}.pl-atalho svg{display:none}}

/* Novo lead: ordem da conversa; no Editar, o resto vem em "Mais detalhes" */
#modalContato.pl-form .form-grid{grid-template-columns:1fr 1fr!important}
#modalContato.pl-form .form-grid>div{grid-column:1/-1!important;order:100;min-width:0}
#modalContato.pl-form .form-grid>.pl-meio{grid-column:auto!important}
#modalContato.pl-form .form-grid>.pl-mais{order:50;margin-top:6px;padding-top:18px;border-top:1px solid var(--border)}
#modalContato.pl-quick .form-grid>div:not([data-pq]){display:none!important}
#modalContato.pl-quick .mdl-bd{width:460px!important;max-width:100%!important}
@media(min-width:560px){#modalContato.pl-form:not(.pl-quick) .form-grid>div:not([data-pq]):not(.col-span-2):not(.pl-mais){grid-column:auto!important}}
#modalContato input[type=date].fi{min-width:0}

/* Botão de tema no cabeçalho */
#btnTema{color:var(--muted)}
#btnTema:hover{color:var(--text)}
/* O Tailwind do CRM tem uma classe "overline" (risco em cima do texto): aqui ela é só o rótulo espaçado */
.overline{text-decoration:none!important}
@media(max-width:420px){.perfil-grid .overline{letter-spacing:.08em}}

/* Cores das telas antigas: o código usa var(--pl-*, cor antiga). Só o pulse define essas variáveis;
   nas versões colorida e limpa vale a cor antiga. Aqui elas apontam para o tema (claro e escuro). */
:root{--pl-muted:var(--muted);--pl-subtle:var(--surface);--pl-faint:var(--muted2);--pl-on-primary:var(--on-primary);
  --pl-danger:var(--danger);--pl-danger-bg:var(--danger-soft);
  --pl-won:var(--success);--pl-won-bg:var(--success-soft);--pl-won-bd:transparent;
  --pl-info:var(--accent);--pl-info-bg:var(--accent-soft);
  --pl-chip:var(--muted);--pl-chip-bg:var(--card);--pl-chip-bd:var(--border)}
/* Agenda: dias de outro mês em muted2 (sem apagar pela metade, que caía abaixo de 4,5:1) */
.cal-day.other-m{opacity:1}

/* Data no iPhone (24/09): o Safari escreve "13 de dez. de 2026", centralizado, e quebrava em duas linhas
   saindo do campo. Aqui a data fica numa linha, à esquerda, e no celular data e origem ocupam a linha toda. */
input[type=date].fi{-webkit-appearance:none;appearance:none;display:block;white-space:nowrap;overflow:hidden;text-align:left;line-height:38px;min-height:40px}
input[type=date].fi::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date].fi::-webkit-datetime-edit{padding:0}
@media(max-width:480px){#modalContato.pl-form .form-grid>.pl-quebra{grid-column:1/-1!important}}
/* Período personalizado do Painel: largura para a data por extenso do iPhone, 16px para o iPhone não dar zoom */
#dpDateFrom,#dpDateTo{width:170px!important;font-size:16px!important;padding:0 12px!important;height:40px}

/* Funil (25/09, pedido do João): o quadro fica na área centralizada (do título ao botão "Novo Lead")
   e os cartões somem suavemente na borda em vez de cortar reto. O script liga fade-l / fade-r
   conforme há colunas escondidas de cada lado. É transparência (máscara), não cor. */
@property --fade-l{syntax:'<length>';inherits:false;initial-value:0px}
@property --fade-r{syntax:'<length>';inherits:false;initial-value:0px}
#pipelineContainer{--fade:64px;transition:--fade-l .2s,--fade-r .2s;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent 100%)}
#pipelineContainer.fade-l{--fade-l:var(--fade)}
#pipelineContainer.fade-r{--fade-r:var(--fade)}
@media(max-width:768px){#pipelineContainer{--fade:28px}}

/* Coluna do funil (25/09, achado pelo João): a barra de rolagem vertical ficava colada na borda
   direita e deixava a coluna com cara de cortada nesse lado. Agora ela é fina, só aparece com o
   mouse em cima da coluna, e o espaço dela é reservado dos dois lados (coluna simétrica). */
.pipe-cards{scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:transparent transparent}
.pipe-cards:hover{scrollbar-color:var(--border-strong) transparent}
.pipe-cards::-webkit-scrollbar{width:6px}
.pipe-cards::-webkit-scrollbar-track{background:transparent}
.pipe-cards::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}
.pipe-cards:hover::-webkit-scrollbar-thumb{background:var(--border-strong)}

/* ---- PLANTÃO (29/09/2026): relógio de espera no cartão e faixa de retornos no funil ----
   Só existe quando o layout é pulse (o script só cria estes elementos nele). Cores só por variável: vale nos dois temas. */
.pc-espera{display:flex;align-items:center;gap:6px;margin-top:10px;padding:5px 8px;border-radius:var(--radius-sm);
  background:var(--success-soft);color:var(--success);font:500 12px/16px var(--font-sans)}
.pc-espera+.pc-action{margin-top:6px}
.pc-espera svg{width:14px;height:14px;flex-shrink:0}
.pc-espera b{font-weight:600}
.pc-espera.is-warn{background:var(--warn-soft);color:var(--warn)}
.pc-espera.is-late{background:var(--danger-soft);color:var(--danger)}
.pipe-ret{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.pipe-ret .pr-tit{font:600 11px/16px var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted2);margin-right:4px}
.pr-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:var(--radius-full);
  border:1px solid var(--border);background:var(--card);color:var(--text);font:500 13px/18px var(--font-sans);cursor:pointer;transition:border-color .12s,background .12s}
.pr-chip b{font-weight:700;font-size:14px}
.pr-chip.is-warn b{color:var(--warn)}
.pr-chip.is-late b{color:var(--danger)}
.pr-chip.is-today b{color:var(--accent)}
.pr-chip.is-zero{color:var(--muted)}
.pr-chip.is-zero b{color:var(--muted2)}
.pr-chip.is-on{border-color:var(--accent);background:var(--accent-soft)}
@media(hover:hover){.pr-chip:hover{border-color:var(--border-strong)}}
@media(max-width:480px){.pipe-ret .pr-tit{flex:1 0 100%}}

/* ---- VISIBILIDADE, VISITA E NOTA DE ETAPA (30/09/2026) ---- */
.ph-note{margin:-4px 4px 8px;font:400 11.5px/16px var(--font-sans);color:var(--muted2)}
.pr-chip.is-visita b{color:var(--success)}

/* ---- CÓDIGO CURTO DO LEAD (30/09/2026) ---- */
.pc-code{font:500 11.5px/16px var(--font-mono, ui-monospace, Consolas, monospace);color:var(--accent);letter-spacing:.02em}

/* ---- GANHO E PERDIDO COMO BANDEIRA (30/09/2026) ---- */
.pc-flag{display:flex;align-items:center;gap:6px;margin-top:10px;padding:5px 8px;border-radius:var(--radius-sm);font:600 12px/16px var(--font-sans)}
.pc-flag svg{width:14px;height:14px;flex-shrink:0}
.pc-flag.is-won{background:var(--success-soft);color:var(--success)}
.pc-flag.is-lost{background:var(--danger-soft);color:var(--danger)}
.pc-flag+.pc-action{margin-top:6px}
.p-card.is-perdido{background:var(--surface)}
.p-card.is-perdido .pc-name{color:var(--muted)}
.pl-res{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.pl-res>button{flex:1 1 0;min-width:0}
.pl-res.is-won{background:var(--success-soft);color:var(--success);padding:8px 10px;border-radius:var(--radius-sm);justify-content:space-between}
.pl-res.is-lost{background:var(--danger-soft);color:var(--danger);padding:8px 10px;border-radius:var(--radius-sm);justify-content:space-between}
.pl-res.is-won>button,.pl-res.is-lost>button{flex:0 0 auto}

/* TEMA "PLANTÃO NOTURNO" para o CRM (29/09/2026).
   Design system: https://claude.ai/artifact/M9CMBPBjs9ryvimMbbLR73 (marinho + latão, Newsreader, Instrument Sans, IBM Plex Mono).
   Carregar DEPOIS de pulse-base.css e pulse-ajustes.css. Só troca variáveis e acabamento; nenhuma estrutura muda.
   Vale só com <html data-marca="plantao"> (o montador da demo põe). Sem isso o Pulse fica exatamente como era.
   Sempre escuro: a marca é a noite de sábado. */

html[data-marca="plantao"]{
  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:20px;
  --font-sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display:"Newsreader", Georgia, serif;
  --font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;
}
html[data-marca="plantao"][data-theme="escuro"]{
  --bg:#0B1322;
  --surface:#0E1829;
  --card:#121D31;
  --raised:#17243C;
  --border:rgba(200,160,100,.22);
  --border-strong:#7C8699;
  --text:#F5F0E7;
  --muted:#AEB5C2;
  --muted2:#8A93A3;
  --primary:#C8A064;
  --primary-h:#D6B37E;
  --on-primary:#1A1308;
  --accent:#C8A064;
  --accent-soft:rgba(200,160,100,.14);
  --primary-l:rgba(200,160,100,.12);
  --success:#4ADE80;
  --success-soft:rgba(74,222,128,.12);
  --danger:#FF9C8A;
  --danger-soft:rgba(255,156,138,.13);
  --warn:#F2C265;
  --warn-soft:rgba(242,194,101,.13);
  --focus:#C8A064;
  --overlay:rgba(4,8,16,.72);
  --chart-1:#C8A064;
  --chart-2:#E9DCC3;
  --chart-3:#8F7346;
  --chart-4:#5F4D31;
  --chart-5:#3B3222;
  --shadow-card:inset 0 1px 0 rgba(233,220,195,.05), 0 30px 60px -34px rgba(0,0,0,.9);
  --shadow-drag:0 0 0 1px rgba(200,160,100,.5), 0 24px 50px rgba(0,0,0,.6);
  --shadow-modal:inset 0 1px 0 rgba(233,220,195,.06), 0 40px 80px -30px rgba(0,0,0,.9);
  --shadow-glow:0 14px 30px -16px rgba(200,160,100,.7);
  color-scheme:dark;
}
/* PLANTÃO DIURNO (01/10/2026): o mesmo tema com papel quente e latão escuro. Vale quando o <html> não está em data-theme="escuro". */
html[data-marca="plantao"]:not([data-theme="escuro"]){
  --bg:#F6F1E7;
  --surface:#EFE8DA;
  --card:#FFFFFF;
  --raised:#FFFFFF;
  --border:#DDD3BF;
  --border-strong:#7A6F5C;
  --text:#1B1710;
  --muted:#5A5244;
  --muted2:#6B6252;
  --primary:#7A5518;
  --primary-h:#664512;
  --on-primary:#FFFFFF;
  --accent:#7A5518;
  --accent-soft:rgba(200,160,100,.22);
  --primary-l:rgba(200,160,100,.16);
  --success:#166534;
  --success-soft:rgba(22,101,52,.10);
  --danger:#B42318;
  --danger-soft:rgba(180,35,24,.10);
  --warn:#92590A;
  --warn-soft:rgba(146,89,10,.12);
  --focus:#7A5518;
  --overlay:rgba(27,23,16,.45);
  --chart-1:#7A5518;
  --chart-2:#C8A064;
  --chart-3:#E0C79A;
  --chart-4:#EBDDBF;
  --chart-5:#F3EAD6;
  --shadow-card:0 1px 2px rgba(27,23,16,.06), 0 8px 18px -10px rgba(27,23,16,.14);
  --shadow-drag:0 0 0 1px rgba(138,100,32,.5), 0 18px 36px rgba(27,23,16,.22);
  --shadow-modal:0 30px 70px -30px rgba(27,23,16,.45);
  --shadow-glow:0 14px 30px -16px rgba(122,85,24,.55);
  color-scheme:light;
}

/* Título grande: serifa, peso 500, como no site */
html[data-marca="plantao"] h1,
html[data-marca="plantao"] .pg-title,
html[data-marca="plantao"] .pl-nome,
html[data-marca="plantao"] .pipe-hd .ph-name{font-family:var(--font-display);font-weight:500;letter-spacing:-.012em}
html[data-marca="plantao"] .pg-title{font-size:34px;line-height:1.1}
@media(max-width:768px){html[data-marca="plantao"] .pg-title{font-size:26px}}
html[data-marca="plantao"] .pipe-hd .ph-name{font-size:17px}
html[data-marca="plantao"] .pl-nome{font-size:24px;line-height:28px}

/* Botões: cantos quase retos, rótulo em caixa alta com espaçamento (como .btn do site) */
html[data-marca="plantao"] .btn{border-radius:3px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
html[data-marca="plantao"] .btn-p:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}
html[data-marca="plantao"] .btn-p{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background .12s}
html[data-marca="plantao"] .btn-p:active{transform:none}

/* Navegação e filtros continuam em pílula (estado, não ação) */
html[data-marca="plantao"] .nav-item{font-size:13.5px}

/* Horários, valores e contagens em mono, como todo horário da marca */
html[data-marca="plantao"] .num,
html[data-marca="plantao"] .kpi-delta,
html[data-marca="plantao"] .pipe-hd .ph-meta,
html[data-marca="plantao"] .pc-action .pa-what + *,
html[data-marca="plantao"] .nx-when{font-family:var(--font-mono);font-weight:500;letter-spacing:.02em}

/* O login segue a noite também */
html[data-marca="plantao"] body{background:var(--bg)}

/* Claro e escuro (01/10/2026): o botão lua/sol volta a existir (no menu lateral e no cabeçalho) */

/* Movimento reduzido: nada se mexe */
@media (prefers-reduced-motion:reduce){
  html[data-marca="plantao"] .btn-p{transition:none}
  html[data-marca="plantao"] .btn-p:hover{transform:none}
}

/* ================= REFINO (30/09/2026) =================
   A primeira versão gritava: botão em caixa alta, negrito e letra espaçada em tudo, e título de cartão em serifa pesada.
   Agora: frases normais nos botões, peso médio, o latão só onde manda (botão principal, índice, itálico) e títulos de peso 500. */
html[data-marca="plantao"]{--leading-ui:1.45}

/* Botões: sentença normal, peso 600, cantos de 6 px. A caixa alta fica só para rótulos pequenos (eyebrow). */
html[data-marca="plantao"] .btn{border-radius:6px;font-size:13px;font-weight:600;letter-spacing:.005em;text-transform:none;height:36px;padding:0 14px}
html[data-marca="plantao"] .btn-sm{height:30px;padding:0 11px;font-size:12.5px}
html[data-marca="plantao"] .btn-p{box-shadow:none}
html[data-marca="plantao"] .btn-p:hover{transform:none;box-shadow:0 8px 22px -12px rgba(200,160,100,.75)}
html[data-marca="plantao"] .btn-s,html[data-marca="plantao"] .btn-ghost{font-weight:500}
html[data-marca="plantao"] .btn-d{font-weight:600}
/* Controle segmentado (período, calendário/lista): pílula calma */
html[data-marca="plantao"] .seg .btn{height:30px;padding:0 13px;font-size:13px;font-weight:500;letter-spacing:0;border-radius:var(--radius-full)}
html[data-marca="plantao"] .seg .btn.active,html[data-marca="plantao"] .seg .btn[aria-pressed="true"]{font-weight:600}

/* Títulos: serifa de peso 500 em cartão, janela e seção (antes herdavam negrito pesado) */
html[data-marca="plantao"] h2,
html[data-marca="plantao"] h3,
html[data-marca="plantao"] .mdl-hd h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;color:var(--text)}
html[data-marca="plantao"] .card h3{font-size:18px;line-height:24px}
html[data-marca="plantao"] .mdl-hd h2{font-size:20px!important;line-height:26px}
html[data-marca="plantao"] #brandNameLogin{font-size:26px!important;font-weight:500!important}
html[data-marca="plantao"] .card h3+p,html[data-marca="plantao"] .card p{line-height:1.5}

/* Rótulos pequenos em caixa alta (eyebrow): discretos */
html[data-marca="plantao"] .overline,
html[data-marca="plantao"] .kpi-label{font-weight:600;letter-spacing:.12em}
html[data-marca="plantao"] .tbl th{font-weight:600;letter-spacing:.09em;color:var(--muted)}
html[data-marca="plantao"] .fl{font-weight:500;color:var(--muted)}

/* Tabelas: botões de linha compactos e sem gritar */
html[data-marca="plantao"] .tbl .btn{height:28px;padding:0 10px;font-size:12.5px}
html[data-marca="plantao"] .tbl td{vertical-align:middle}

/* Janelas: centralizadas, com respiro e cabeçalho limpo */
html[data-marca="plantao"] dialog{border-radius:var(--radius-lg)!important;max-width:min(94vw,720px)}
html[data-marca="plantao"] .mdl-hd{padding:16px 20px;border-bottom:1px solid var(--border)}
html[data-marca="plantao"] .mdl-bd{padding:18px 20px}
html[data-marca="plantao"] .mdl-ft{padding:12px 20px;gap:8px;border-top:1px solid var(--border)}
html[data-marca="plantao"] .fi,html[data-marca="plantao"] select.fi,html[data-marca="plantao"] textarea.fi{border-radius:8px}

/* Perfil do lead: os atalhos dividem a largura por igual e nunca quebram nem cortam o texto */
html[data-marca="plantao"] .pl-atalhos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
html[data-marca="plantao"] .pl-atalho{height:36px!important;padding:0 6px!important;gap:6px;font-size:12.5px;justify-content:center;white-space:nowrap}
html[data-marca="plantao"] .pl-atalho svg{width:15px;height:15px}
html[data-marca="plantao"] .pl-res{gap:8px;margin-top:10px}
html[data-marca="plantao"] .pl-res>.btn{height:34px;font-weight:500}
html[data-marca="plantao"] .pl-nome{font-size:26px;line-height:30px}
@media(max-width:420px){html[data-marca="plantao"] .pl-atalho svg{display:none}}

/* Agenda e degustação: pílulas legíveis, sem itálico */
html[data-marca="plantao"] .cal-ev,html[data-marca="plantao"] .cal-tasting{font-style:normal;font-size:11.5px;padding:3px 7px;border-radius:6px}

/* Cartões do painel: número grande em serifa, rótulo calmo */
html[data-marca="plantao"] .kpi-card{border-radius:var(--radius-lg)}
html[data-marca="plantao"] .kpi-value{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}

/* Menu do cartão e chips do funil */
html[data-marca="plantao"] .card-menu button{font-weight:500}
html[data-marca="plantao"] .pr-chip{font-weight:500}
html[data-marca="plantao"] .mdl-hd h2{text-transform:none!important;letter-spacing:-.01em!important}
/* Números grandes e títulos de cartão vêm com estilo direto no HTML (negrito): aqui eles ficam no peso da marca */
html[data-marca="plantao"] #pgDashboard [style*="font-size:28px"]{font-weight:500!important;font-size:30px!important;letter-spacing:-.01em}
html[data-marca="plantao"] .card h3,html[data-marca="plantao"] #pgDashboard h3{font-size:17px!important;font-weight:500!important;line-height:24px!important}
/* Configurações: em tela larga os cartões se distribuem em duas colunas, em vez de uma coluna estreita com o resto vazio */
@media(min-width:1100px){
  html[data-marca="plantao"] #pgConfig>div[style*="max-width:580px"]{display:block!important;max-width:1180px!important;column-count:2;column-gap:20px}
  html[data-marca="plantao"] #pgConfig .card,html[data-marca="plantao"] #pgConfig #usersMgmtSection{break-inside:avoid;margin-bottom:20px}
  html[data-marca="plantao"] #pgConfig #usersMgmtSection{display:block}
}
/* Campos: mesma altura em texto, data e lista */
html[data-marca="plantao"] input.fi,html[data-marca="plantao"] select.fi{min-height:40px}
html[data-marca="plantao"] textarea.fi{min-height:72px}
/* Filtros do funil no celular: dois por linha, com o nome inteiro visível */
@media(max-width:560px){
  html[data-marca="plantao"] .pipe-filter-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  html[data-marca="plantao"] .pipe-filter-bar .fi{width:100%!important;min-width:0}
  html[data-marca="plantao"] .pipe-filter-bar .pipe-clear{justify-self:start;width:auto;min-width:44px}
}

/* MÓDULO "CONVERSAS" (30/09/2026): estilo da tela de conversas. Só por variável do tema (vale no Pulse claro, escuro e no Plantão). */
.cv-badge{margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--danger-soft);color:var(--danger);font:700 11px/18px var(--font-sans);text-align:center}
.cv-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cv-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cv-selo{background:#FBE9A6;color:#4A3600;font:600 11px/16px var(--font-sans);padding:2px 9px;border-radius:99px;letter-spacing:.04em}
.cv-info-txt{font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.cv-wrap{display:grid;grid-template-columns:310px minmax(0,1fr);height:calc(100vh - 168px);min-height:460px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--card)}
.cv-lista{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border);background:var(--card)}
.cv-filtros{display:flex;gap:6px;padding:12px 12px 8px;flex-wrap:wrap}
.cv-chip{min-height:32px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--muted);font:500 12.5px/18px var(--font-sans);cursor:pointer}
.cv-chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.cv-busca{margin:0 12px 8px;width:calc(100% - 24px)}
.cv-itens{flex:1;overflow:auto}
.cv-vazio{padding:20px 14px;font:400 13px/19px var(--font-sans);color:var(--muted)}
.cv-item{display:block;width:100%;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font:400 13px/18px var(--font-sans)}
.cv-item:hover{background:var(--surface)}
.cv-item.is-sel{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}
.cv-l1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.cv-nome{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-tempo{flex-shrink:0;font-size:11.5px;color:var(--muted2)}
.cv-tempo.is-warn{color:var(--warn)}
.cv-tempo.is-late{color:var(--danger)}
.cv-trecho{margin-top:2px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-tag{display:inline-block;margin-top:5px;padding:1px 8px;border-radius:99px;font:600 11px/16px var(--font-sans)}
.cv-tag.is-visita{background:var(--success-soft);color:var(--success)}
.cv-chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}
.cv-escolha{margin:auto;color:var(--muted);font:400 14px/20px var(--font-sans);padding:20px;text-align:center}
.cv-hd{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--card);flex-wrap:wrap}
.cv-volta{display:none}
.cv-quem{min-width:0;flex:1 1 200px}
.cv-quem-nome{font:700 16px/22px var(--font-display);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-cod{font:500 11.5px/16px var(--font-mono,ui-monospace,Consolas,monospace);color:var(--accent)}
.cv-quem-sub{font:400 12px/17px var(--font-sans);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-janela,.cv-modo{padding:3px 10px;border-radius:99px;font:600 11.5px/16px var(--font-sans);white-space:nowrap}
.cv-janela.is-aberta{background:var(--success-soft);color:var(--success)}
.cv-janela.is-fecha{background:var(--warn-soft);color:var(--warn)}
.cv-janela.is-fechada{background:var(--danger-soft);color:var(--danger)}
.cv-modo.is-ia{background:var(--accent-soft);color:var(--accent)}
.cv-modo.is-humano{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.cv-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.cv-dia{align-self:center;font:500 11.5px/16px var(--font-sans);color:var(--muted2);padding:2px 10px}
.cv-evento{align-self:center;max-width:90%;text-align:center;font:500 12px/17px var(--font-sans);color:var(--accent);border:1px solid var(--border);border-radius:99px;padding:3px 14px}
.cv-msg{max-width:min(72%,520px);padding:8px 11px 6px;border-radius:12px;font:400 13.5px/19px var(--font-sans);color:var(--text);overflow-wrap:anywhere}
.cv-msg.is-lead{align-self:flex-start;background:var(--raised);border:1px solid var(--border)}
.cv-msg.is-ia{align-self:flex-end;background:var(--accent-soft);border:1px solid var(--border)}
.cv-msg.is-vend{align-self:flex-end;background:var(--primary);color:var(--on-primary)}
.cv-de{display:block;font:700 10.5px/14px var(--font-sans);letter-spacing:.08em;color:var(--accent)}
.cv-msg.is-vend .cv-de{color:var(--on-primary)}
.cv-modelo{display:block;font:600 10.5px/14px var(--font-sans);opacity:.85}
.cv-txt{white-space:pre-wrap}
.cv-hora{display:block;margin-top:2px;font:500 10.5px/14px var(--font-mono,ui-monospace,Consolas,monospace);color:var(--muted2);text-align:right}
.cv-msg.is-vend .cv-hora{color:var(--on-primary);opacity:.75}
.cv-compor{position:relative;display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--border);background:var(--card)}
.cv-input{flex:1;min-width:0}
.cv-btn-modelo.is-destaque{border-color:var(--accent);color:var(--text)}
.cv-modelos{position:absolute;left:14px;right:14px;bottom:62px;display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-modal);z-index:5}
.cv-modelo-item{display:block;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;font:400 12.5px/17px var(--font-sans)}
.cv-modelo-item b{display:block;font-weight:600}
.cv-modelo-item span{color:var(--muted)}
.cv-modelo-item:hover{border-color:var(--accent)}
@media(max-width:768px){
  .cv-wrap{grid-template-columns:minmax(0,1fr);height:calc(100vh - 322px);height:calc(100dvh - 322px);min-height:340px}
  .cv-wrap:not(.cv-abre) .cv-chat{display:none}
  .cv-wrap.cv-abre .cv-lista{display:none}
  .cv-volta{display:inline-flex}
  .cv-msg{max-width:86%}
}

/* ---- Conversas em tela larga: três colunas e coluna de leitura centralizada ---- */
.cv-painel{display:none}
.cv-msgs{padding-left:max(16px,calc((100% - 820px)/2));padding-right:max(16px,calc((100% - 820px)/2))}
.cv-compor{padding-left:max(14px,calc((100% - 820px)/2));padding-right:max(14px,calc((100% - 820px)/2))}
.cv-modelos{left:max(14px,calc((100% - 820px)/2));right:max(14px,calc((100% - 820px)/2))}
.cv-msg{max-width:min(78%,560px)}
@media(min-width:1500px){
  .cv-wrap{grid-template-columns:320px minmax(0,1fr) 320px}
  .cv-painel{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px;border-left:1px solid var(--border);background:var(--card);overflow:auto}
}
.cvp-topo{display:flex;align-items:center;gap:12px}
.cvp-av{width:44px;height:44px;flex-shrink:0;font-size:14px}
.cvp-tit{min-width:0}
.cvp-nome{font:500 18px/24px var(--font-display);color:var(--text);overflow-wrap:anywhere}
.cvp-etapa{font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.cvp-flag{padding:6px 10px;border-radius:var(--radius-sm);font:600 12.5px/18px var(--font-sans)}
.cvp-flag.is-won{background:var(--success-soft);color:var(--success)}
.cvp-flag.is-lost{background:var(--danger-soft);color:var(--danger)}
.cvp-acao{padding:10px 12px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}
.cvp-acao.is-late{background:var(--danger-soft);border-color:transparent}
.cvp-acao.is-today{background:var(--warn-soft);border-color:transparent}
.cvp-acao-t{font:600 13.5px/19px var(--font-sans);color:var(--text)}
.cvp-acao-d{font:500 12px/17px var(--font-mono,ui-monospace,Consolas,monospace);color:var(--muted)}
.cvp-acao.is-late .cvp-acao-t,.cvp-acao.is-late .cvp-acao-d{color:var(--danger)}
.cvp-acao.is-today .cvp-acao-t,.cvp-acao.is-today .cvp-acao-d{color:var(--warn)}
.cvp-dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 10px;margin:0}
.cvp-dl dt{font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.cvp-dl dd{margin:0;font:500 13px/18px var(--font-sans);color:var(--text);overflow-wrap:anywhere}
.cvp-botoes{display:flex;gap:8px;margin-top:auto}
.cvp-botoes>*{flex:1;justify-content:center;text-decoration:none}

/* MÓDULO "MENU LATERAL" (30/09/2026). Só por variável do tema. Em tela larga (769 px para cima); no celular nada muda. */
#mlSide{display:none}
.ml-volta{margin-right:8px}
@media(min-width:769px){
  html[data-menu="lateral"]{--ml-w:244px}
  html[data-menu="lateral"].ml-mini{--ml-w:72px}
  html[data-menu="lateral"] #appHeader{display:none}
  html[data-menu="lateral"] #appWrap[style*="block"]{display:grid!important;grid-template-columns:var(--ml-w) minmax(0,1fr);align-items:start}
  html[data-menu="lateral"] #demoBar{position:sticky;top:0;z-index:300}
  html[data-menu="lateral"] #mainContent{grid-column:2;min-width:0}
  html[data-menu="lateral"] #mlSide{display:flex;flex-direction:column;gap:6px;position:sticky;top:var(--ml-top,0px);grid-column:1;grid-row:1;width:var(--ml-w);height:calc(100vh - var(--ml-top,0px));max-height:calc(100dvh - var(--ml-top,0px));padding:14px 12px;background:var(--card);border-right:1px solid var(--border);overflow-x:hidden;overflow-y:auto;z-index:60}

  /* topo: marca e botão de recolher */
  #mlSide .ml-top{display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:6px}
  #mlSide .ml-marca{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:4px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}
  #mlSide .ml-logo{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--primary);color:var(--on-primary);font:700 15px/1 var(--font-sans)}
  #mlSide .ml-nome{font:500 17px/22px var(--font-display);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mlSide .ml-recolher{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
  #mlSide .ml-recolher svg{width:16px;height:16px}
  #mlSide .ml-recolher:hover{color:var(--text);border-color:var(--border-strong)}

  /* itens */
  #mlSide .nav-item{display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:500 14px/20px var(--font-sans);text-align:left;cursor:pointer;position:relative}
  #mlSide .nav-item svg{width:18px;height:18px;flex-shrink:0}
  #mlSide .nav-item:hover{background:var(--surface);color:var(--text)}
  #mlSide .nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}
  #mlSide .nav-item.active svg{color:var(--accent)}
  #mlSide .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mlSide .ml-busca{border:1px solid var(--border);color:var(--muted2);margin-bottom:4px}
  #mlSide .ml-busca kbd{margin-left:auto;font:500 10.5px/14px var(--font-mono,ui-monospace,Consolas,monospace);color:var(--muted2);border:1px solid var(--border);border-radius:5px;padding:1px 6px}
  #mlSide .cv-badge{margin-left:auto}

  /* grupos */
  #mlSide .ml-nav{display:flex;flex-direction:column;gap:14px;flex:1;padding-top:6px}
  #mlSide .ml-grupo{display:flex;flex-direction:column;gap:2px}
  #mlSide .ml-grupo-titulo{padding:0 12px 4px;font:600 11px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}

  /* rodapé */
  #mlSide .ml-pe{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--border)}
  #mlSide .ml-trocar{height:30px;padding:0 10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--muted2);font:500 12px/16px var(--font-sans);cursor:pointer;text-align:left}
  #mlSide .ml-trocar:hover{color:var(--text);border-color:var(--border-strong)}
  #mlSide .ml-eu{display:flex;align-items:center;gap:10px;min-width:0}
  #mlSide .ml-av{width:32px;height:32px;flex-shrink:0;font-size:12px;background:var(--primary);color:var(--on-primary)}
  #mlSide .ml-eu-nome{flex:1;min-width:0;font:500 13px/18px var(--font-sans);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #mlSide .ml-sair{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
  #mlSide .ml-sair:hover{color:var(--text);background:var(--surface)}
  #mlSide .ml-sair svg{width:16px;height:16px}

  /* recolhido: só ícones */
  html.ml-mini #mlSide{padding:14px 10px}
  html.ml-mini #mlSide .ml-top{flex-direction:column;align-items:center}
  html.ml-mini #mlSide .ml-nome,html.ml-mini #mlSide .nav-label,html.ml-mini #mlSide .ml-busca kbd,html.ml-mini #mlSide .ml-eu-nome,html.ml-mini #mlSide .ml-trocar{display:none}
  html.ml-mini #mlSide .ml-marca{flex:0 0 auto;padding:0}
  html.ml-mini #mlSide .ml-recolher svg{transform:rotate(180deg)}
  html.ml-mini #mlSide .nav-item{justify-content:center;padding:0}
  html.ml-mini #mlSide .ml-grupo-titulo{height:1px;padding:0;margin:0 10px 4px;background:var(--border);font-size:0;overflow:hidden}
  html.ml-mini #mlSide .ml-grupo:first-child .ml-grupo-titulo{display:none}
  html.ml-mini #mlSide .cv-badge{position:absolute;top:3px;right:5px;min-width:16px;height:16px;line-height:16px;padding:0 4px;font-size:10px;margin:0}
  html.ml-mini #mlSide .ml-eu{flex-direction:column;gap:6px}

  /* em tela estreita o menu é sempre recolhido: sem botão de expandir */
  html.ml-estreita #mlSide .ml-recolher{display:none}

  /* a conversa usa a altura que sobra sem o cabeçalho de cima */
  html[data-menu="lateral"] .cv-wrap{height:calc(100vh - 150px)}
}

/* ---- Tela larga: o conteúdo ocupa o espaço ao lado do menu, alinhado a ele (antes ficava num miolo de 1440 px centralizado) ---- */
@media(min-width:769px){
  html[data-menu="lateral"] #mainContent{max-width:none;margin:0;width:100%}
  html[data-menu="lateral"] .pg{padding-left:clamp(20px,2.4vw,48px);padding-right:clamp(20px,2.4vw,48px)}
  /* páginas de lista ou cadastro: não esticam além do que se lê bem */
  html[data-menu="lateral"] #pgEquipe,html[data-menu="lateral"] #pgPacotes{max-width:1320px}
}
/* Degustações: cartões das sessões com largura própria, sem ocupar cinco colunas vazias */
@media(min-width:769px){
  html[data-menu="lateral"] #pgDegustation .ses-card{min-width:0}
  html[data-menu="lateral"] #pgDegustation :has(>.ses-card){grid-template-columns:repeat(auto-fill,minmax(300px,380px))!important}
}
/* Painel: seis indicadores numa linha quando cabe; Configurações em três colunas */
@media(min-width:1500px){
  html[data-menu="lateral"] #pgDashboard .kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media(min-width:2400px){
  html[data-menu="lateral"] #pgConfig>div[style*="max-width"]{column-count:3!important;max-width:none!important}
}
@media(min-width:769px){
  /* indicadores de poucos números (pré e pós-venda): cartões compactos, não metade da tela cada um */
  html[data-menu="lateral"] #pgDegustation :has(>.kpi-card){grid-template-columns:repeat(auto-fill,minmax(200px,260px))!important}
}
/* atalho de tema no menu recolhido: só o ícone */
html.ml-mini #mlSide .ml-tema{display:block;width:100%;padding:0;font-size:0;text-align:center}
html.ml-mini #mlSide .ml-tema::after{content:"\25D0";font-size:16px}
#mlSide .ml-linha{display:flex;gap:6px}
#mlSide .ml-linha .ml-trocar{flex:1;min-width:0;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.ml-mini #mlSide .ml-linha{flex-direction:column}

/* MÓDULO "PEDIDOS DO RODRIGO" (01/10/2026): faixa de soma e filtros do funil, cartões novos do painel. Só variáveis do tema. */
.ped-barra{margin-bottom:12px;display:flex;flex-direction:column;gap:10px}
.ped-soma{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.ped-bloco{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg,10px);background:var(--card)}
.ped-bloco.is-destaque{border-color:var(--accent);background:var(--accent-soft)}
.ped-b-rot{font:600 11.5px/16px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ped-b-val{font:500 24px/30px var(--font-serif,var(--font-sans));color:var(--text)}
.ped-b-sub{font:400 12px/17px var(--font-sans);color:var(--muted)}
.ped-nota{flex-basis:100%;margin:0;font:400 12px/17px var(--font-sans);color:var(--muted2)}
.ped-linha,.ped-barra-painel{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ped-barra-painel{margin:0 0 14px}
.ped-rot{font:500 12.5px/18px var(--font-sans);color:var(--muted)}
.ped-data{width:142px;font-size:12.5px}
.ped-sel{width:190px;font-size:12.5px}
.ped-atalho.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.ped-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ped-h3{font-size:14px;font-weight:600;margin:0 0 4px}
.ped-sub{font-size:12px;color:var(--muted);margin:0 0 14px}
.ped-item{padding:8px 0;border-bottom:1px solid var(--border)}
.ped-item-topo{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:5px;font:500 13px/18px var(--font-sans);color:var(--text)}
.ped-item-casa{margin-left:8px;color:var(--muted);font-weight:400;font-size:11.5px}
.ped-trilho{height:5px;background:var(--border);border-radius:99px;overflow:hidden}
.ped-fill{height:100%;background:var(--accent);border-radius:99px}
.ped-vazio{padding:18px 0;text-align:center;font-size:13px;color:var(--muted)}
.ped-tab{width:100%;border-collapse:collapse;font:400 13px/18px var(--font-sans)}
.ped-tab th{padding:6px 8px;text-align:left;font-weight:600;font-size:11.5px;color:var(--muted);border-bottom:1px solid var(--border)}
.ped-tab td{padding:8px;border-bottom:1px solid var(--border);color:var(--text)}
.ped-tab .num{text-align:right}
.pc-casa{font-weight:600;letter-spacing:.02em}
.pc-casa.is-solar{color:var(--chart-1)}
.pc-casa.is-vale{color:var(--success)}
.p-card.has-casa-solar{box-shadow:inset 3px 0 0 var(--chart-1)}
.p-card.has-casa-vale{box-shadow:inset 3px 0 0 var(--success)}
@media (max-width:900px){.ped-grid{grid-template-columns:1fr}.ped-sel,.ped-data{width:100%}}

/* alternador de casa (01/10) */
.ped-casa{display:flex;flex-direction:column;gap:6px}
.ped-casa-t{font:600 10.5px/14px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted2)}
.ped-casa-f{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.ped-casa-b{min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:500 13px/18px var(--font-sans);cursor:pointer}
.ped-casa-b:hover{color:var(--text)}
.ped-casa-b.is-on{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}
.ped-casa-b .ped-m{display:none}
.ped-casa.is-lateral{margin:2px 0 6px}
.ped-casa.is-topo{flex-direction:row;align-items:center;gap:10px;margin:0 0 12px;padding:0 12px}
.ped-casa.is-topo .ped-casa-f{width:min(300px,100%)}
@media(min-width:769px){html[data-menu="lateral"] .ped-casa.is-topo{display:none!important}}
@media(max-width:768px){.ped-casa.is-lateral{display:none!important}}
html.ml-mini .ped-casa.is-lateral .ped-casa-t{display:none}
html.ml-mini .ped-casa.is-lateral .ped-casa-f{grid-template-columns:1fr}
html.ml-mini .ped-casa.is-lateral .ped-l{display:none}
html.ml-mini .ped-casa.is-lateral .ped-m{display:inline}

.ped-atalhos{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:768px){
  .ped-linha{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ped-linha>.ped-rot:first-child{grid-column:1/-1}
  .ped-linha>.ped-rot:nth-child(3){display:none}
  .ped-linha>.ped-atalhos,.ped-linha>.ped-sel{grid-column:1/-1}
  .ped-data{width:100%;min-width:0;font-size:16px}
  .ped-bloco{flex-basis:100%}
}

/* topo compacto do funil (01/10, reunião técnica): soma + botão Filtros numa linha; filtros num painel */
.ped-barra{position:relative;gap:0;margin-bottom:8px}
.ped-top{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.ped-soma{flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:10px}
.ped-bloco{flex:0 1 auto;flex-direction:row;align-items:baseline;gap:8px;padding:7px 14px;min-width:0;white-space:nowrap}
.ped-b-rot{font-size:10.5px;line-height:16px}
.ped-b-val{font-size:19px;line-height:26px}
.ped-b-sub{font-size:12px;overflow:hidden;text-overflow:ellipsis}
.ped-filtros-bt{display:inline-flex;align-items:center;gap:8px;align-self:center;height:38px;padding:0 14px;white-space:nowrap}
.ped-filtros-bt::before{content:"";width:14px;height:14px;background:currentColor;opacity:.8;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E") center/contain no-repeat}
.ped-filtros-bt.is-ativo{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.ped-badge{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--accent);color:var(--bg,#0B1220);font:700 11px/18px var(--font-sans);text-align:center}
.ped-painel{display:none;margin-top:8px;padding:12px;border:1px solid var(--border-strong,var(--border));border-radius:var(--radius-lg,10px);background:var(--card);box-shadow:var(--shadow-drag,0 12px 32px rgba(0,0,0,.35));gap:10px;flex-direction:column}
.ped-painel.is-aberto{display:flex}
.ped-painel .pipe-filter-bar{padding:0}
.ped-painel-rodape{display:flex;justify-content:flex-end}
@media(min-width:769px){
  .ped-painel{position:absolute;top:100%;right:0;z-index:30;width:min(760px,100%);margin-top:6px}
}
@media(max-width:768px){
  .ped-top{flex-wrap:wrap;gap:8px}
  .ped-soma{flex:1 1 100%;flex-wrap:wrap}
  .ped-bloco{flex:1 1 100%;flex-wrap:wrap;gap:0 10px;padding:7px 12px;white-space:normal}
  .ped-b-sub{flex-basis:100%}
  .ped-filtros-bt{align-self:flex-start;height:34px}
  .ped-linha{display:grid}
}
/* etiquetas do lead criado pela IA (01/10) */
.pc-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.pc-tag{padding:0 8px;border-radius:99px;border:1px solid var(--border);color:var(--muted);font:600 10.5px/17px var(--font-sans);letter-spacing:.02em}
.pc-tag.is-ok{color:var(--success);border-color:var(--success)}
.pc-tag.is-warn{color:var(--warn);border-color:var(--warn)}

/* cartões mais estreitos: cabe mais uma coluna na tela (reunião técnica de 01/10) */
@media(min-width:769px){
  .pipe-wrap .pipe-col{flex:0 0 292px;width:292px;min-width:292px}
  .pipe-wrap .pipe-col.pipe-minimized{flex:0 0 40px;width:40px;min-width:40px}
}
/* valor editável no cartão */
.ped-qv{cursor:text}
.pc-value.ped-qv:hover{text-decoration:underline dotted;text-underline-offset:3px}
.pc-addval{margin-left:auto;padding:0 8px;height:20px;border:1px dashed var(--border-strong,var(--border));border-radius:99px;background:transparent;color:var(--muted);font:500 11.5px/18px var(--font-sans);cursor:text;white-space:nowrap}
.pc-addval:hover{color:var(--text);border-color:var(--accent)}
.ped-qinput{margin-left:auto;width:112px;height:26px;padding:0 8px;border:1px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--text);font:600 14px/22px var(--font-sans);text-align:right;font-variant-numeric:tabular-nums}
.ped-qinput:focus{outline:2px solid var(--accent-soft);outline-offset:1px}
/* data de criação e tempo na etapa */
.pc-tempo{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid var(--border);font:500 11.5px/16px var(--font-sans);color:var(--muted2)}
/* rodapé do menu lateral sempre à vista: só a lista de itens rola (em tela baixa o botão de tema ficava escondido) */
html[data-menu="lateral"] #mlSide{overflow:hidden}
html[data-menu="lateral"] #mlSide .ml-nav{overflow-y:auto;min-height:0;scrollbar-width:thin}
html[data-menu="lateral"] #mlSide .ml-pe{flex-shrink:0}
/* no cartão estreito a linha de dados quebra em vez de cortar */
.pipe-wrap .pc-meta{white-space:normal;overflow:visible;text-overflow:clip}
.ped-soma{flex:0 1 auto}

/* edição direto no perfil do lead */
.ped-ed{cursor:text;border-radius:6px;transition:background .15s}
.ped-ed:hover,.ped-ed:focus-visible{background:var(--surface);outline:1px dashed var(--border-strong,var(--border));outline-offset:2px}
.ped-ed:hover::after,.ped-ed:focus-visible::after{content:"\270E";margin-left:8px;font:400 .8em/1 var(--font-sans);opacity:.6}
.ped-vazio{color:var(--muted2);font-style:italic}
.ped-dica{margin:8px 2px 0;font:400 12px/17px var(--font-sans);color:var(--muted2)}
.perfil-grid .pv .ped-pin,.pl-nome .ped-pin{width:100%;font:600 16px/22px var(--font-sans)}
.dl dd .ped-pin{width:100%;max-width:100%;font-size:14px}
textarea.ped-pin{width:100%;min-height:90px;resize:vertical}
.pl-sub .tag .ped-pin{min-width:150px}

/* MÓDULO "IA DE TESTE" (01/10/2026): tela dividida, conversa de um lado e funil ao vivo do outro. Só variáveis do tema. */
.it-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.it-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.it-selo{background:#FBE9A6;color:#4A3600;font:600 11px/16px var(--font-sans);padding:2px 9px;border-radius:99px;letter-spacing:.04em}
.it-info-txt{font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.it-controles{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.it-grupo{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.it-rot{font:500 12.5px/18px var(--font-sans);color:var(--muted);margin-right:2px}
.it-chip{min-height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--muted);font:500 13px/18px var(--font-sans);cursor:pointer}
.it-chip.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}
.it-sel{width:180px;font-size:12.5px}
.it-orig{font:400 12px/18px var(--font-sans);color:var(--muted2)}
.it-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px;height:calc(100vh - 230px);min-height:480px}
.it-chat,.it-lado{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--radius-lg,10px);background:var(--card);overflow:hidden}
.it-chat-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text)}
.it-chat-sub{font:400 12px/16px var(--font-sans);color:var(--muted)}
.it-msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.it-msg{max-width:78%;padding:9px 13px;border-radius:14px;font:400 14px/20px var(--font-sans);white-space:pre-wrap;word-wrap:break-word}
.it-msg.is-ia{align-self:flex-start;background:var(--raised);color:var(--text);border-bottom-left-radius:4px}
.it-msg.is-lead{align-self:flex-end;background:var(--accent-soft);color:var(--text);border:1px solid var(--accent);border-bottom-right-radius:4px}
.it-msg.is-sistema{align-self:center;max-width:92%;background:transparent;color:var(--muted);font-size:12.5px;border:1px dashed var(--border);text-align:center}
.it-msg.is-pensa{color:var(--muted);font-style:italic}
.it-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--card)}
.it-in{flex:1;min-width:0}
.it-lado{padding:14px 16px;overflow:auto;gap:10px}
.it-lado-t{margin:0;font:500 18px/24px var(--font-serif,var(--font-sans));color:var(--text)}
.it-lado-s{margin:0;font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.it-col{border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--surface);padding:8px;display:flex;flex-direction:column;gap:8px}
.it-col-hd{display:flex;justify-content:space-between;padding:2px 4px;font:600 12px/18px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.it-vazio{padding:16px 8px;font:400 13px/19px var(--font-sans);color:var(--muted);text-align:center}
.it-card{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md,8px);background:var(--card);display:flex;flex-direction:column;gap:4px}
.it-card.is-novo{border-color:var(--accent);box-shadow:var(--shadow-glow,none);animation:itnasce .6s ease-out}
@keyframes itnasce{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.it-card.is-novo{animation:none}}
.it-card-l1{display:flex;justify-content:space-between;gap:8px;align-items:baseline;color:var(--text);font:600 14px/20px var(--font-sans)}
.it-casa{font:600 10.5px/17px var(--font-sans);padding:0 8px;border-radius:99px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}
.it-casa.is-solar{color:var(--chart-1);border-color:var(--chart-1)}
.it-casa.is-vale{color:var(--success);border-color:var(--success)}
.it-card-m,.it-card-n,.it-card-l3{font:400 12.5px/18px var(--font-sans);color:var(--muted)}
.it-card-l3{display:flex;justify-content:space-between;gap:8px;align-items:center}
.it-visita{padding:0 8px;border-radius:99px;background:var(--success-soft);color:var(--success);font:600 11px/18px var(--font-sans)}
.it-valor{display:flex;align-items:center;gap:8px;font:400 12px/18px var(--font-sans);color:var(--muted);margin-top:4px}
.it-valor .fi{flex:1;min-width:0;font-size:12.5px}
@media (max-width:900px){.it-wrap{grid-template-columns:1fr;height:auto}.it-chat{height:70vh}}
/* fluxo completo (01/10): arquivo da proposta, etiquetas do card */
.it-arq{display:flex;align-items:center;gap:10px;padding:10px 12px}
.it-arq-ic{flex-shrink:0;width:38px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--danger-soft);color:var(--danger);font:700 11px/1 var(--font-sans)}
.it-arq-t{display:flex;flex-direction:column;min-width:0}
.it-arq-t b{font:600 13px/18px var(--font-sans);overflow-wrap:anywhere}
.it-arq-t small{font:400 11.5px/16px var(--font-sans);color:var(--muted)}
.it-tags{display:flex;gap:4px;flex-wrap:wrap}
.it-tag{padding:0 8px;border-radius:99px;border:1px solid var(--border);color:var(--muted);font:600 10.5px/18px var(--font-sans);letter-spacing:.02em}
.it-tag.is-ok{color:var(--success);border-color:var(--success)}
.it-tag.is-warn{color:var(--warn);border-color:var(--warn)}
/* fotos, vídeo e proposta com link (01/10) */
.it-msg.it-galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;max-width:min(78%,520px);background:var(--raised)}
.it-galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;cursor:zoom-in;display:block}
.it-msg.it-video{padding:4px;max-width:min(78%,420px);background:var(--raised)}
.it-video video{width:100%;border-radius:10px;display:block;background:#000}
a.it-arq{text-decoration:none;color:var(--text);cursor:pointer}
a.it-arq:hover{border-color:var(--accent)}
@media(max-width:600px){.it-msg.it-galeria{grid-template-columns:repeat(2,1fr);max-width:92%}.it-msg.it-video{max-width:92%}}
/* botões de resposta rápida (01/10) */
.it-botoes{align-self:flex-start;display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 4px}
.it-botao{min-height:38px;padding:0 18px;border-radius:99px;border:1px solid var(--accent);background:var(--card);color:var(--text);font:600 13.5px/18px var(--font-sans);cursor:pointer}
.it-botao:first-child{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.it-botao:hover{filter:brightness(1.08)}

/* MÓDULO "AGENDA DO RODRIGO" (01/10/2026): cores por atividade, legenda que liga e desliga, visitas por vendedor, lista do dia. */
.ag-evento{--ag:#D39A5B}
.ag-degu{--ag:#B79CFF}
.ag-visita{--ag:#4ADE80}
.ag-cancel{--ag:#F87171}
.ag-neg{--ag:#94A3B8}
html:not([data-theme="escuro"]) .ag-evento{--ag:#8A5A22}
html:not([data-theme="escuro"]) .ag-degu{--ag:#6D28D9}
html:not([data-theme="escuro"]) .ag-visita{--ag:#15803D}
html:not([data-theme="escuro"]) .ag-cancel{--ag:#B91C1C}
html:not([data-theme="escuro"]) .ag-neg{--ag:#475569}

/* chips dentro do dia */
.cal-day .cal-ev.ag{background:color-mix(in srgb,var(--ag) 18%,transparent)!important;color:var(--ag)!important;border-left:3px solid var(--ag);padding-left:5px;font-weight:500}
.cal-day .cal-ev.ag-cancel{text-decoration:line-through}
.cal-day .cal-ev.ag-neg{background:transparent!important;border-left-style:dashed;opacity:.85}
.cal-day .cal-ev.ag-ocupada{cursor:default;font-style:italic}
.ag-h{margin-right:5px;font-variant-numeric:tabular-nums;opacity:.85}
.ag-mais{font:500 10.5px/16px var(--font-sans);color:var(--muted);padding:0 2px}
@media(max-width:768px){
  .cal-day .cal-ev.ag{background:var(--ag)!important;border-left:none!important;padding:0!important;text-decoration:none}
}

/* legenda com botões */
.ag-leg{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ag-leg-bt{display:inline-flex;align-items:center;gap:7px;padding:3px 11px 3px 9px;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--muted2);font:500 12px/18px var(--font-sans);cursor:pointer;opacity:.7}
.ag-leg-bt::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--ag)}
.ag-leg-bt.is-on{opacity:1;color:var(--text);border-color:var(--ag);background:color-mix(in srgb,var(--ag) 14%,transparent)}
.ag-leg-bt.ag-neg::before{background:transparent;border:1px dashed var(--ag)}
.ag-resp{margin-left:auto;width:200px;font-size:12.5px}
@media(max-width:768px){.ag-resp{margin-left:0;width:100%}}

/* quadro de visitas por vendedor */
.ag-visitas{padding:14px 16px;margin-bottom:14px}
.ag-vt{font:600 13px/18px var(--font-sans);margin-bottom:8px;color:var(--text)}
.ag-vtab{width:100%;border-collapse:collapse;font:400 13px/18px var(--font-sans)}
.ag-vtab th{padding:6px 8px;text-align:left;font-weight:600;font-size:11.5px;color:var(--muted);border-bottom:1px solid var(--border)}
.ag-vtab td{padding:7px 8px;border-bottom:1px solid var(--border);color:var(--text)}
.ag-vtab .num{text-align:right;font-variant-numeric:tabular-nums}
.ag-vazio{padding:18px 0;text-align:center;font-size:13px;color:var(--muted)}

/* lista do dia e visão Lista */
.ag-dia{padding:14px 16px;margin-top:12px}
.ag-dia-t{font:600 13px/18px var(--font-sans);margin-bottom:6px}
.ag-lin{display:flex;align-items:stretch;gap:12px;padding:9px 0;border-top:1px solid var(--border);cursor:pointer}
.ag-lin-bar{width:4px;border-radius:2px;background:var(--ag);flex-shrink:0}
.ag-lin-c{flex:1;min-width:0}
.ag-lin-n{font:600 14px/20px var(--font-sans);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-cancel .ag-lin-n{text-decoration:line-through;color:var(--muted)}
.ag-lin-s{font:400 12px/17px var(--font-sans);color:var(--muted)}
.ag-lin-obs{margin-top:3px;font:400 12px/17px var(--font-sans);color:var(--muted2);font-style:italic}
.ag-ocup-txt{padding-top:9px;border-top:1px solid var(--border);font-style:italic}
.ag-mes{padding:10px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);font:600 11.5px/16px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.ag-lista{padding:12px 20px;align-items:center}
.ag-dia-n{width:44px;text-align:center;flex-shrink:0;display:flex;flex-direction:column;line-height:1}
.ag-dia-n b{font:700 20px/22px var(--font-sans);color:var(--ag)}
.ag-dia-n span{font:500 10px/14px var(--font-sans);color:var(--muted)}
.ag-lista .ag-lin-bar{align-self:stretch}

/* visitas por vendedor: uma faixa compacta (substitui a tabela) */
.ag-visitas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;margin-bottom:12px}
.ag-visitas .ag-vt{margin:0;font:600 12px/18px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted2)}
.ag-vp{display:inline-flex;align-items:baseline;gap:8px;padding:4px 12px;border:1px solid var(--ag-v,#4ADE80);border-radius:99px;background:color-mix(in srgb,var(--ag-v,#4ADE80) 12%,transparent);font:400 12px/18px var(--font-sans);color:var(--muted)}
.ag-vp b{font-weight:600;color:var(--text)}
html:not([data-theme="escuro"]) .ag-vp{--ag-v:#15803D}
.ag-vsem{font:400 12px/18px var(--font-sans);color:var(--muted2)}
