:root {
  --bg:#f9f8f6; --ivory:#f0ece6; --cream:#f4f1eb; --ink:#1a1a1a; --ink-soft:#7e7367;
  --charcoal:#141414; --gold:#8f734d; --gold-2:#b49764; --gold-soft:#caaa72; --green:#1d7a4f;
  --line:#e0dad1; --line-dark:rgba(249,248,246,.14);
  --st-rascunho:#cfc8bd; --st-enviada:#86c79a; --st-visualizada:#e3c34a; --st-negociando:#9a7b32; --st-reservada:#e0883a; --st-fechada:#145e3c; --st-perdida:#a85454;
  --gold-grad:linear-gradient(135deg,var(--gold),var(--gold-2));
  --ease:cubic-bezier(.22,.61,.36,1);
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Montserrat",system-ui,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.page-head-acts{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.lead-filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem;}
.lead-filtro{border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:999px;padding:.4rem .9rem;font-size:.82rem;cursor:pointer;font-family:inherit;transition:all .15s var(--ease);}
.lead-filtro:hover{border-color:var(--gold);color:var(--ink);}
.lead-filtro.on{background:var(--ink);color:#fff;border-color:var(--ink);}
.serif { font-family:var(--serif); font-weight:300; letter-spacing:-.01em; }

/* ---------- LOGIN (escuro) ---------- */
.login { min-height:100vh; display:grid; place-items:center; padding:1.5rem; background:var(--charcoal); color:var(--cream); }
.login .card { width:100%; max-width:25rem; background:rgba(255,255,255,.04); border:1px solid var(--line-dark); border-radius:18px; padding:2.25rem 2rem; box-shadow:0 30px 80px -40px rgba(0,0,0,.7); }
.login .brand { text-align:center; margin-bottom:1.75rem; }
.login .brand img { height:3.25rem; margin:0 auto .9rem; display:block; }
.login .eyebrow { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-soft); font-weight:600; margin:0; }
.login h1 { font-family:var(--serif); font-weight:300; font-size:1.9rem; margin:.35rem 0 0; }
.login label { display:block; margin-top:1.1rem; }
.login label span { display:block; font-size:.8rem; color:rgba(244,241,235,.8); margin-bottom:.35rem; }
.login input { width:100%; font-family:inherit; font-size:.98rem; color:var(--cream); background:rgba(255,255,255,.05); border:1px solid var(--line-dark); border-radius:9px; padding:.72rem .85rem; }
.login input:focus { outline:none; border-color:var(--gold-soft); background:rgba(255,255,255,.08); }
.login .foot { margin-top:1.75rem; text-align:center; font-size:.72rem; color:rgba(244,241,235,.4); }

/* ---------- APP (claro) ---------- */
.topbar { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1.1rem; background:var(--charcoal); color:var(--cream); }
.topbar .left { display:flex; align-items:center; gap:.7rem; }
.topbar img { height:1.9rem; }
.topbar .who { font-size:.78rem; color:rgba(244,241,235,.7); }
.topbar .who b { color:var(--cream); font-weight:500; }
.topbar nav { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
@media (max-width: 720px) {
  .topbar { flex-wrap:wrap; gap:.5rem .6rem; }
  .topbar .left { min-width:0; flex:1 1 auto; }
  .topbar .who { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar nav { width:100%; flex-wrap:wrap; gap:.4rem; }
  .topbar nav .btn { flex:0 1 auto; }
}
.container { max-width:60rem; margin:0 auto; padding:1.5rem 1.1rem 4rem; }
.page-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }
.page-head h2 { font-family:var(--serif); font-weight:300; font-size:2rem; margin:0; }

/* botões */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.7rem; padding:.6rem 1.2rem; border-radius:6px; font-family:var(--sans); font-weight:500; font-size:.9rem; cursor:pointer; border:1px solid transparent; transition:all .2s var(--ease); white-space:nowrap; }
.btn-primary { background:var(--gold-grad); color:#fff; }
.btn-primary:hover { filter:brightness(.96); }
.btn-primary:disabled { opacity:.6; cursor:not-allowed; }
.btn-ghost { background:transparent; border-color:var(--line); color:var(--ink); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-light { background:transparent; border-color:var(--line-dark); color:var(--cream); min-height:2.3rem; padding:.4rem .9rem; font-size:.82rem; }
.btn-light:hover { border-color:var(--gold-soft); color:var(--gold-soft); }

/* lista */
.plist { display:grid; gap:.7rem; }
.lista-busca { width:100%; font-family:var(--sans); font-size:.95rem; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:9px; padding:.7rem .85rem; margin-bottom:1.4rem; }
.lista-busca:focus { outline:none; border-color:var(--gold); }
.month-group { margin-bottom:1.6rem; }
.month-head { font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold); font-weight:600; margin:0 0 .7rem; }

/* graficos do dashboard */
.dcharts { display:grid; gap:.9rem; }
@media (min-width:760px){ .dcharts { grid-template-columns:1fr 1fr; } }
.chart-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; }
.chart-card.chart-wide { grid-column:1/-1; }
.chart-title { font-size:.82rem; font-weight:600; color:var(--ink); margin-bottom:.7rem; }
.chart-box { position:relative; height:230px; }
.conv-metrics { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.conv-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; text-align:center; }
.conv-num { font-family:var(--serif); font-size:2rem; line-height:1; color:var(--gold); }
.conv-lab { font-size:.82rem; color:var(--ink); margin-top:.4rem; font-weight:500; }
.conv-sub { font-size:.72rem; color:var(--ink-soft); margin-top:.2rem; }
.mov-list { display:grid; gap:.5rem; }
.mov-row { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.65rem .9rem; background:#fff; border:1px solid var(--line); border-radius:9px; font-size:.88rem; flex-wrap:wrap; }
.mov-nome { font-weight:500; color:var(--ink); }
.mov-trans { color:var(--ink-soft); }
.mov-data { color:var(--ink-soft); font-size:.78rem; }
.pitem { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.pitem .nome { font-weight:500; }
.pitem .meta { font-size:.82rem; color:var(--ink-soft); margin-top:.15rem; }
.badge { font-size:.7rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:.3rem .65rem; border-radius:999px; white-space:nowrap; }
.badge.rascunho { background:var(--st-rascunho); color:#4a4438; }
.badge.enviada { background:var(--st-enviada); color:#0f4d2c; }
.badge.visualizada { background:var(--st-visualizada); color:#5c4708; }
.badge.negociando { background:var(--st-negociando); color:#fff; }
.badge.reservada { background:var(--st-reservada); color:#fff; }
.badge.fechada { background:var(--st-fechada); color:#fff; }
.badge.perdida { background:var(--st-perdida); color:#fff; }
.empty { text-align:center; padding:3.5rem 1rem; color:var(--ink-soft); background:#fff; border:1px dashed var(--line); border-radius:14px; }
.empty p { margin:0 0 1.2rem; }

/* form */
.card-form { background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.5rem; }
.section-label { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:600; margin:1.6rem 0 .8rem; }
.section-label:first-child { margin-top:0; }
.grid { display:grid; gap:1rem; }
@media (min-width:620px){ .grid.cols-2 { grid-template-columns:1fr 1fr; } }
.field { display:grid; gap:.35rem; }
.field span { font-size:.8rem; color:var(--ink-soft); }
.field span i { color:var(--gold); font-style:normal; }
.field input,.field select,.field textarea { width:100%; font-family:var(--sans); font-size:.95rem; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:.65rem .75rem; }
.field input:focus,.field select:focus,.field textarea:focus { outline:none; border-color:var(--gold); }
.field textarea { resize:vertical; min-height:3rem; }
.form-actions { display:flex; gap:.7rem; margin-top:1.8rem; flex-wrap:wrap; }
.msg { font-size:.9rem; margin-top:1rem; min-height:1.2rem; }
.msg.err { color:#a85454; } .msg.ok { color:#1d7a4f; }
.max-sm { max-width:30rem; }
.muted { color:var(--ink-soft); font-size:.9rem; }
.spin { opacity:.55; }

/* detalhe */
.detalhe { background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.5rem; }
.detalhe-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.5rem; flex-wrap:wrap; }
.detalhe-head h3 { font-family:var(--serif); font-weight:300; font-size:1.7rem; margin:0; }
.detbox { border:1px solid var(--line); border-radius:10px; padding:.2rem .9rem; background:var(--bg); }
.drow { display:flex; justify-content:space-between; gap:1.2rem; padding:.6rem 0; border-bottom:1px solid var(--line); font-size:.92rem; }
.drow:last-child { border-bottom:0; }
.pgbar { height:8px; border-radius:6px; background:var(--line); overflow:hidden; margin:.9rem 0 .35rem; }
.pgbar-fill { height:100%; background:#2e7d52; border-radius:6px; transition:width .4s; }
.pgbar-lab { font-size:.82rem; color:var(--ink-soft,#777); margin-bottom:.5rem; }
.pghist { list-style:none; margin:.5rem 0 .2rem; padding:.6rem 0 0; border-top:1px solid var(--line); display:grid; gap:.45rem; }
.pghist li { font-size:.82rem; color:var(--ink-soft,#777); display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.pghist .pgh-t { font-weight:500; color:var(--ink); }
.pghist .pgh-m, .pghist .pgh-d { color:var(--ink-soft); font-size:.78rem; }
.pghist-h { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin:.9rem 0 .2rem; }
.pgtag { font-size:.7rem; padding:.05rem .42rem; border-radius:5px; background:var(--line); }
.pgtag.pago { background:#dcefe2; color:#1f7a45; }
.pgtag.pendente { background:#fbe8d6; color:#8a4a12; }
.pgtag.reembolsado_conflito, .pgtag.falhou { background:#f6d9d9; color:#9a2b2b; }
.pg-momento { display:inline-flex; align-items:center; gap:.5rem; font-size:.84rem; font-weight:600; padding:.4rem .85rem; border-radius:999px; margin:0 0 .7rem; }
.pg-momento .pg-dot { width:.55rem; height:.55rem; border-radius:50%; background:currentColor; flex:none; }
.pg-momento.pago { background:#dcefe2; color:#145e3c; }
.pg-momento.parcial { background:#fbe8d6; color:#b56a1e; }
.pg-momento.pendente { background:#ece8e2; color:#7e7367; }
.drow span { color:var(--ink-soft); white-space:nowrap; }
.drow b { font-weight:500; text-align:right; }
.btn-danger { background:transparent; border-color:#e3b9b9; color:#a85454; }
.btn-danger:hover { background:#fbf3f3; border-color:#d99; color:#8f3f3f; }

/* agenda */
.agenda-item { display:flex; align-items:center; gap:1.1rem; padding:.9rem 1.15rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.agenda-item .data { font-weight:600; min-width:6.5rem; }
.agenda-item .data small { display:block; font-weight:400; color:var(--green); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }

/* link da proposta (detalhe) */
.linkbox { margin-top:1.4rem; padding:1.1rem 1.2rem; background:var(--ivory); border:1px solid var(--line); border-radius:12px; }
.linkbox > span { display:block; font-size:.78rem; color:var(--ink-soft); margin-bottom:.5rem; }
.linkbox code { display:block; word-break:break-all; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.86rem; color:var(--gold); background:#fff; border:1px solid var(--line); border-radius:8px; padding:.55rem .7rem; }
.linkactions { display:flex; gap:.6rem; margin-top:.7rem; flex-wrap:wrap; }
.linkactions .btn { min-height:2.4rem; padding:.45rem 1rem; font-size:.85rem; }

/* picker de lead (pre-preencher proposta) */
.lead-pick { margin-bottom:1.4rem; padding:1.1rem 1.2rem; background:var(--ivory); border:1px solid var(--line); border-radius:12px; }
.lead-pick .section-label { margin-top:0; }
.lead-search { width:100%; font-family:var(--sans); font-size:.92rem; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:8px; padding:.6rem .75rem; margin-bottom:.7rem; }
.lead-search:focus { outline:none; border-color:var(--gold); }
.lead-list { display:grid; gap:.5rem; max-height:15rem; overflow-y:auto; }
.lead-row { display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; text-align:left; width:100%; padding:.6rem .8rem; background:#fff; border:1px solid var(--line); border-radius:9px; cursor:pointer; font-family:inherit; transition:border-color .15s, box-shadow .15s; }
.lead-row:hover { border-color:var(--gold-soft); }
.lead-row.sel { border-color:var(--gold); box-shadow:inset 0 0 0 1px var(--gold); }
.lr-nome { font-size:.95rem; color:var(--ink); font-weight:500; }
.lr-meta { font-size:.78rem; color:var(--ink-soft); }
.lead-hint { font-size:.78rem; color:var(--ink-soft); margin:.7rem 0 0; }
.lead-empty,.lead-none { font-size:.86rem; color:var(--ink-soft); }
.lead-none { padding:.55rem .2rem; }

/* dashboard */
.dcards { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }
@media (min-width:620px){ .dcards { grid-template-columns:repeat(3,1fr); } }
@media (min-width:920px){ .dcards { grid-template-columns:repeat(6,1fr); } }
.dcard { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem .9rem; text-align:center; border-top:3px solid var(--line); }
.dcard .dnum { font-family:var(--serif); font-size:2rem; line-height:1; color:var(--ink); }
.dcard .dlab { font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); margin-top:.45rem; }
.dcard.tot { border-top-color:var(--gold); }
.dcard.enviada { border-top-color:var(--st-enviada); }
.dcard.visualizada { border-top-color:var(--st-visualizada); }
.dcard.negociando { border-top-color:var(--st-negociando); }
.dcard.reservada { border-top-color:var(--st-reservada); }
.dcard.fechada { border-top-color:var(--st-fechada); }
.furows { display:grid; gap:.6rem; }
.furow { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:.85rem 1.1rem; background:#fff; border:1px solid var(--line); border-radius:12px; }
.fu-main { cursor:pointer; flex:1 1 16rem; min-width:0; }
.fu-nome { font-weight:500; color:var(--ink); }
.fu-meta { font-size:.8rem; color:var(--ink-soft); margin-top:.35rem; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.fu-meta .ok { color:var(--green); }
.fu-meta .wait { color:#a06a2c; font-weight:500; }
.fu-acoes { display:flex; gap:.5rem; flex-wrap:wrap; }

/* botoes de contato (whatsapp / email) */
.cbtn { display:inline-block; font-size:.8rem; font-weight:600; padding:.45rem .8rem; border-radius:8px; text-decoration:none; border:1px solid var(--line); color:var(--ink); transition:filter .15s,border-color .15s; }
.cbtn.wa { background:#e6f3ec; border-color:#bfe3cd; color:#1d7a4f; }
.cbtn.em { background:#eef2f7; border-color:#d4e0ee; color:#3f6896; }
.cbtn:hover { filter:brightness(.97); }
.contato-acoes { display:flex; gap:.6rem; margin:.85rem 0 0; flex-wrap:wrap; }
.detbox a { color:var(--gold); text-decoration:none; }
.detbox a:hover { text-decoration:underline; }

/* link esqueci a senha */
.forgot-row { text-align:center; margin:1rem 0 0; }
.forgot-row a { color:var(--gold-soft); font-size:.85rem; text-decoration:none; }
.forgot-row a:hover { color:var(--gold); text-decoration:underline; }

/* ---------- Leads (inbox de contatos) ---------- */
.leads-banner { display:flex; align-items:center; gap:.7rem; width:100%; text-align:left; margin:0 0 1.4rem; padding:.85rem 1.05rem; border:1px solid var(--gold-soft); background:rgba(143,115,77,.07); border-radius:10px; cursor:pointer; font-family:inherit; transition:background .15s, border-color .15s; }
.leads-banner:hover { background:rgba(143,115,77,.13); border-color:var(--gold); }
.leads-banner .lb-dot { width:.6rem; height:.6rem; border-radius:50%; background:var(--gold); flex:none; box-shadow:0 0 0 3px rgba(143,115,77,.18); }
.leads-banner .lb-txt { color:var(--ink); font-size:.92rem; }
.leads-banner .lb-txt b { color:var(--gold); }
.leads-banner .lb-go { margin-left:auto; color:var(--gold); font-weight:600; font-size:.85rem; white-space:nowrap; }
.lead-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:1rem; }
.lead-card { border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; background:#fff; display:flex; flex-direction:column; gap:.55rem; }
.lead-card.is-done { opacity:.7; background:var(--cream); }
/* destaque do deep-link vindo do e-mail de lead novo (#lead=<id>) */
.lead-card.is-flash { animation:leadFlash 1.2s ease-in-out 2; }
@keyframes leadFlash { 0%,100%{ box-shadow:none; } 50%{ box-shadow:0 0 0 3px var(--gold); } }
.lead-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; }
.lead-card-nome { display:block; font-family:var(--serif); font-size:1.32rem; line-height:1.15; color:var(--ink); }
.lead-card-origem { display:inline-block; margin-top:.15rem; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.lead-when { font-size:.78rem; color:var(--ink-soft); white-space:nowrap; flex:none; }
.lead-card-meta { font-size:.85rem; color:var(--ink-soft); }
.lead-msg { margin:.1rem 0 0; font-size:.86rem; color:var(--ink); font-style:italic; background:var(--cream); border-left:2px solid var(--gold-soft); padding:.45rem .6rem; border-radius:0 6px 6px 0; }
.lead-card-foot { display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:auto; padding-top:.5rem; flex-wrap:wrap; }
.lead-contato { display:flex; gap:.4rem; flex-wrap:wrap; }
.lead-actions { display:flex; gap:.5rem; align-items:stretch; flex:none; margin-left:auto; }
.lead-card-foot .cbtn, .lead-card-foot .lead-cta, .lead-card-foot .lead-tag { display:inline-flex; align-items:center; justify-content:center; min-height:2.3rem; box-sizing:border-box; }
.cbtn.del { background:#f8eeec; border-color:#e9d3cf; color:#a2453a; cursor:pointer; font-family:inherit; line-height:1; }
.lead-cta { min-height:2.3rem; padding:.45rem .9rem; font-size:.82rem; }
.lead-tag { font-size:.76rem; font-weight:600; color:var(--green); background:#dcefe2; border-radius:999px; padding:.3rem .7rem; white-space:nowrap; }
@media (max-width:600px){ .lead-cards { grid-template-columns:1fr; } .leads-banner { flex-wrap:wrap; } }
.nav-badge { display:inline-flex; align-items:center; justify-content:center; min-width:1.15rem; height:1.15rem; padding:0 .35rem; border-radius:999px; background:var(--gold); color:#fff; font-size:.7rem; font-weight:700; line-height:1; }
.periodo { display:inline-flex; gap:.2rem; background:var(--ivory); border:1px solid var(--line); border-radius:999px; padding:.2rem; margin:0 0 1.2rem; flex-wrap:wrap; }
.per-btn { border:0; background:transparent; color:var(--ink-soft); font-family:var(--sans); font-size:.8rem; font-weight:500; padding:.35rem .9rem; border-radius:999px; cursor:pointer; transition:background .15s, color .15s; }
.per-btn:hover { color:var(--ink); }
.per-btn.sel { background:#fff; color:var(--gold); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.per-pick { margin-left:.3rem; font-family:var(--sans); font-size:.78rem; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:999px; padding:.32rem .7rem; cursor:pointer; }
.per-pick:focus { outline:none; border-color:var(--gold); }
.btn-mini { min-height:2.1rem; padding:.3rem .8rem; font-size:.78rem; margin:-.3rem 0 .2rem; }
.data-aviso { display:none; }
.data-aviso.show { display:block; margin:-.2rem 0 1.2rem; padding:.7rem .9rem; background:#fbe8d6; border:1px solid #e0883a; border-radius:8px; color:#8a4a12; font-size:.85rem; }
.lead-flag { margin:.1rem 0 0; font-size:.78rem; color:#b56a1e; background:#fbe8d6; border:1px solid #f0c89a; border-radius:6px; padding:.3rem .55rem; display:inline-block; }

/* ---------- aviso de proximo casamento (seguranca) ---------- */
.cas-alert { display:flex; align-items:center; gap:.7rem; width:100%; text-align:left; margin:0 0 1.4rem; padding:.85rem 1.05rem; border:1px solid var(--gold-soft); background:rgba(143,115,77,.07); border-radius:10px; cursor:pointer; font-family:inherit; transition:background .15s, border-color .15s; }
.cas-alert:hover { background:rgba(143,115,77,.13); border-color:var(--gold); }
.cas-alert .ca-dot { width:.6rem; height:.6rem; border-radius:50%; background:var(--gold); flex:none; box-shadow:0 0 0 3px rgba(143,115,77,.18); }
.cas-alert .ca-txt { color:var(--ink); font-size:.92rem; flex:1; min-width:0; }
.cas-alert .ca-txt b { color:var(--gold); }
.cas-alert .ca-go { margin-left:auto; color:var(--gold); font-weight:600; font-size:.85rem; white-space:nowrap; }
.cas-alert.urg { border-color:var(--st-reservada); background:#fbe8d6; }
.cas-alert.urg .ca-dot { background:var(--st-reservada); box-shadow:0 0 0 3px rgba(224,136,58,.22); animation:capulse 1.7s ease-in-out infinite; }
.cas-alert.urg .ca-txt b, .cas-alert.urg .ca-go { color:#b56a1e; }
@keyframes capulse { 0%,100%{ box-shadow:0 0 0 3px rgba(224,136,58,.22);} 50%{ box-shadow:0 0 0 6px rgba(224,136,58,.06);} }

/* ---------- calendario ---------- */
.cal { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem 1.1rem; margin-bottom:1.4rem; }
.cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; }
.cal-title { font-family:var(--serif); font-size:1.35rem; color:var(--ink); }
.cal-nav { width:2.1rem; height:2.1rem; border:1px solid var(--line); background:#fff; border-radius:8px; cursor:pointer; font-size:1.2rem; line-height:1; color:var(--ink-soft); display:flex; align-items:center; justify-content:center; }
.cal-nav:hover { border-color:var(--gold); color:var(--gold); }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:.3rem; }
.cal-dows { margin-bottom:.3rem; }
.cal-dow { text-align:center; font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); padding:.15rem 0; }
.cal-cell { position:relative; min-height:3.1rem; border:1px solid var(--line); border-radius:8px; padding:.25rem .3rem; background:var(--bg); display:flex; flex-direction:column; overflow:hidden; }
.cal-cell.empty { border:0; background:transparent; }
.cal-d { font-size:.8rem; color:var(--ink-soft); }
.cal-cell.has-ev { cursor:pointer; border-color:transparent; }
.cal-cell.has-ev .cal-d { color:#fff; font-weight:700; }
.cal-cell.has-ev.reservada { background:var(--st-reservada); }
.cal-cell.has-ev.fechada { background:var(--st-fechada); }
.cal-cell.has-ev.bloqueio { background:#6b6258; }
.cal-cell.has-ev:hover { filter:brightness(1.06); }
.cal-ev { font-size:.62rem; line-height:1.15; color:#fff; margin-top:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.cal-cell.hoje { box-shadow:inset 0 0 0 2px var(--gold); }
.cal-cell.has-ev.hoje { box-shadow:inset 0 0 0 2px #fff; }
.cal-legend { display:flex; gap:1.1rem; margin-top:.85rem; flex-wrap:wrap; }
.cl-item { display:flex; align-items:center; gap:.35rem; font-size:.75rem; color:var(--ink-soft); }
.cl-dot { width:.75rem; height:.75rem; border-radius:3px; }
.cl-dot.reservada { background:var(--st-reservada); }
.cl-dot.fechada { background:var(--st-fechada); }
.cl-dot.bloqueio { background:#6b6258; }
.cl-dot.hoje-mk { background:#fff; box-shadow:inset 0 0 0 2px var(--gold); }
/* check de follow-up enviado (ao lado dos botoes WhatsApp/E-mail) */
.fu-check { display:inline-flex; align-items:center; justify-content:center; width:1.55rem; height:1.55rem; margin-left:.25rem; border:1.5px solid var(--line); border-radius:50%; background:#fff; color:#cabfae; font-size:.78rem; line-height:1; cursor:pointer; vertical-align:middle; padding:0; transition:background .15s, border-color .15s, color .15s; }
.fu-check:hover { border-color:var(--st-fechada); color:var(--st-fechada); }
.fu-check.on { background:var(--st-fechada); border-color:var(--st-fechada); color:#fff; }

/* ---------- proximos casamentos ---------- */
.prox-list { display:grid; gap:.5rem; margin-bottom:1.4rem; }
.prox-item { display:flex; align-items:center; gap:.9rem; padding:.7rem .95rem; background:#fff; border:1px solid var(--line); border-radius:10px; cursor:pointer; flex-wrap:wrap; }
.prox-item:hover { border-color:var(--gold-soft); }
.prox-item.urg { border-left:3px solid var(--st-reservada); }
.px-data { min-width:6rem; }
.px-data b { font-size:.92rem; }
.px-data small { display:block; font-size:.72rem; color:var(--ink-soft); }
.prox-item.urg .px-data small { color:#b56a1e; font-weight:600; }
.px-nome { flex:1; min-width:0; font-weight:500; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.px-go { color:var(--gold); font-weight:600; font-size:.82rem; white-space:nowrap; }

/* ---------- agenda item com link ---------- */
.agenda-item { flex-wrap:wrap; }
.ag-main { flex:1; min-width:12rem; }
.ag-main .nome { font-weight:500; display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.ag-quando { font-size:.74rem; color:var(--ink-soft); font-weight:400; }
.ag-quando.urg { color:#b56a1e; font-weight:600; }
.ag-link { display:block; font-size:.78rem; color:var(--gold); text-decoration:none; word-break:break-all; margin-top:.15rem; }
.ag-link:hover { text-decoration:underline; }
.cbtn.det { background:#eef2f7; border-color:#d4e0ee; color:#3f6896; cursor:pointer; font-family:inherit; }

/* Follow-up do lead Noiva dos Sonhos: chamar de volta pro cenario (1h/48h) */
.lead-fu { margin:.55rem 0 .1rem; padding:.55rem .7rem; border:1px solid rgba(143,115,77,.28); border-radius:8px; background:rgba(143,115,77,.06); }
.lfu-title { display:block; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:.3rem; }
.lfu-row { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; font-size:.8rem; margin-top:.25rem; }
.lfu-row .lfu-label { min-width:7.2rem; color:#6b6258; }
.lfu-row.pend .lfu-label { color:#a4541f; font-weight:600; }
.lfu-row.pend .lfu-label::after { content:" pendente"; font-weight:400; font-size:.72rem; }
.lfu-ch { display:inline-flex; align-items:center; gap:.3rem; color:#777; font-size:.76rem; }
.lfu-ch .fu-check { margin-left:0; }
