:root {
  --bg: #f7f7f8;
  --surface: #ffffff;
  --surface-2: #fafafb;
  --ink: #16191f;
  --ink-2: #3b4250;
  --muted: #6e7685;
  --faint: #9aa1ad;
  --line: #e7e8eb;
  --line-2: #f0f1f3;
  --side: #0f1729;
  --side-ink: #c5cad6;
  --side-hover: #1b2440;
  --accent: #b8925a;
  --accent-ink: #8a6a3b;
  --accent-soft: #f6efe4;
  --brand: #2f5bea;
  --brand-soft: #eef2fe;
  --red: #d14b3f;
  --red-soft: #fdeeec;
  --amber: #c9831b;
  --amber-soft: #fdf3e2;
  --green: #2f8a5b;
  --green-soft: #e8f5ee;
  --violet: #6b4fd8;
  --violet-soft: #f0edfd;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
  --shadow-lg: 0 20px 40px -12px rgba(16, 24, 40, .25);
  font-family: Inter, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-feature-settings: "cv11", "ss01";
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; background: var(--bg); font-size: 13.5px; line-height: 1.45; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
svg.i { width: 16px; height: 16px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Layout */
.app { display: grid; grid-template-columns: 232px 1fr; min-height: 100vh; }
.sidebar {
  background: var(--side); color: var(--side-ink); display: flex; flex-direction: column;
  position: sticky; top: 0; height: 100vh; padding: 16px 12px;
}
.logo { display: flex; gap: 10px; align-items: center; padding: 4px 8px 20px; color: #fff; }
.logo .mark {
  width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center;
  background: linear-gradient(135deg, #d4b07a, var(--accent)); color: var(--side); font-weight: 800;
}
.logo b { display: block; font-size: 15px; letter-spacing: .01em; }
.logo small { display: block; font-size: 11px; color: var(--side-ink); opacity: .7; }
nav { display: grid; gap: 2px; }
nav a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 7px;
  cursor: pointer; font-weight: 500;
}
nav a:hover { background: var(--side-hover); color: #fff; }
nav a.on { background: var(--side-hover); color: #fff; box-shadow: inset 2px 0 0 var(--accent); }
nav a em {
  margin-left: auto; font-style: normal; font-size: 11px; font-weight: 600; min-width: 20px; text-align: center;
  background: var(--red); color: #fff; border-radius: 99px; padding: 1px 6px;
}
nav a em:empty { display: none; }
nav a em.soft { background: rgba(255,255,255,.12); color: var(--side-ink); }
.ball.them { color: var(--amber); }
.navsep { height: 1px; background: rgba(255,255,255,.07); margin: 10px 6px; }
.sidefoot { margin-top: auto; display: grid; gap: 10px; }
.sync { font-size: 11.5px; padding: 10px; border-radius: 8px; background: rgba(255,255,255,.04); }
.sync b { color: #fff; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.sync .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.sync .dot.live { background: #3ccf86; }
.sync p { margin: 4px 0 0; opacity: .75; }
.sync p.chk { opacity: 1; color: #7ddba8; }
.sync p.chk.warn { color: #f5c26b; }
.user { display: flex; gap: 10px; align-items: center; padding: 6px 8px; }
.user .who b { color: #fff; font-weight: 600; display: block; font-size: 12.5px; }
.user .who small { font-size: 11px; opacity: .7; }

.workspace { min-width: 0; display: flex; flex-direction: column; }
.topbar {
  position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 16px;
  padding: 12px 28px; background: rgba(247,247,248,.85); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.topbar .title { font-size: 15px; font-weight: 600; min-width: 160px; }
.search {
  flex: 1; max-width: 520px; display: flex; align-items: center; gap: 8px; color: var(--faint);
  background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 0 10px;
}
.search input { border: 0; outline: 0; padding: 8px 0; flex: 1; background: transparent; color: var(--ink); }
kbd {
  font-family: inherit; font-size: 11px; border: 1px solid var(--line); border-bottom-width: 2px;
  border-radius: 4px; padding: 0 5px; color: var(--muted);
}
.topactions { margin-left: auto; display: flex; gap: 8px; }
.banner { margin: 16px 28px 0; padding: 10px 14px; border-radius: 8px; background: var(--amber-soft); color: #7a5214; border: 1px solid #f3dfba; font-size: 12.5px; }
main { padding: 24px 28px 64px; max-width: 1480px; width: 100%; }

/* Page header */
.page-head { display: flex; align-items: flex-end; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.page-head h1 { font-size: 22px; letter-spacing: -.01em; margin: 0; }
.page-head p { margin: 4px 0 0; color: var(--muted); }
.page-head .actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 7px;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font-weight: 500;
  cursor: pointer; box-shadow: var(--shadow); white-space: nowrap;
}
.btn:hover { background: var(--surface-2); }
.btn.primary { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn.primary:hover { background: #2a303b; }
.btn.accent { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn.ghost { box-shadow: none; }
.btn.sm { padding: 4px 9px; font-size: 12px; }
.btn:disabled { opacity: .45; cursor: default; }
.icon-btn { border: 0; background: none; padding: 6px; border-radius: 6px; cursor: pointer; color: var(--muted); display: inline-grid; place-items: center; }
.icon-btn:hover { background: var(--line-2); color: var(--ink); }
.grow { flex: 1; }

/* KPI tiles */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 22px; }
.kpi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow); }
.kpi span { color: var(--muted); font-size: 12px; font-weight: 500; }
.kpi b { display: block; font-size: 24px; font-weight: 650; letter-spacing: -.02em; margin-top: 4px; }
.kpi small { color: var(--faint); font-size: 11.5px; }

/* Focus list (cobranca do dia) */
.focus { display: grid; gap: 10px; }
.fcard {
  display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: start;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px;
  box-shadow: var(--shadow); cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.fcard:hover { border-color: #d5d7dc; box-shadow: 0 4px 12px rgba(16,24,40,.06); }
.fcard .rank { font-size: 11px; color: var(--faint); font-weight: 600; text-align: center; margin-top: 4px; }
.fcard .line1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fcard .cname { font-weight: 600; font-size: 15px; }
.fcard .provoke { margin: 6px 0 0; font-size: 14px; color: var(--ink); }
.fcard .provoke b { font-weight: 650; }
.fcard .next {
  margin-top: 10px; display: flex; gap: 8px; align-items: flex-start; padding: 9px 11px; border-radius: 8px;
  background: var(--accent-soft); color: #5e4724; font-size: 13px;
}
.fcard .next svg { margin-top: 1px; color: var(--accent-ink); }
.fcard .meta { margin-top: 8px; color: var(--muted); font-size: 12px; display: flex; gap: 14px; flex-wrap: wrap; }
.fcard .side { display: grid; gap: 8px; justify-items: end; }
.age { font-weight: 650; font-size: 13px; white-space: nowrap; }
.age.hot { color: var(--red); }
.age.warm { color: var(--amber); }
.fcard .btns { display: flex; gap: 6px; }

/* Filtro por tipo de contato */
.fbar { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 16px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chip {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 99px; cursor: pointer;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font-weight: 500; font-size: 12.5px;
}
.chip span { font-size: 11px; color: var(--faint); font-weight: 600; font-variant-numeric: tabular-nums; }
.chip:hover { border-color: #d5d7dc; }
.chip.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip.on span { color: rgba(255,255,255,.65); }

/* Regua de periodo (duas pontas) */
.fwrap { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px 10px; margin-bottom: 16px; box-shadow: var(--shadow); }
.fwrap .fbar { margin-bottom: 12px; }
.range { padding-top: 12px; border-top: 1px solid var(--line-2); }
.range-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.range-label { font-size: 12.5px; color: var(--muted); display: flex; align-items: baseline; gap: 8px; }
.range-label b { color: var(--ink); font-size: 14px; font-weight: 600; }
.dual { position: relative; height: 46px; margin: 0 9px; }
.dual .track { position: absolute; left: 0; right: 0; top: 9px; height: 4px; border-radius: 2px;
  background: linear-gradient(to right, var(--line) var(--a), var(--ink) var(--a), var(--ink) var(--b), var(--line) var(--b)); }
.dual input[type=range] { position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 22px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.dual input[type=range]::-webkit-slider-runnable-track { height: 22px; background: none; }
.dual input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); box-shadow: var(--shadow); cursor: grab; }
.dual input[type=range]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); cursor: grab; }
.dual input[type=range]::-moz-range-track { background: none; }
.dual input[type=range]:focus { outline: none; }
.ticks { position: absolute; left: 0; right: 0; top: 28px; height: 14px; }
.ticks span { position: absolute; transform: translateX(-50%); font-size: 10.5px; color: var(--faint); white-space: nowrap; }
.ticks span:first-child { transform: none; }
.ticks span:last-child { transform: translateX(-100%); }
.presets { display: flex; gap: 4px; flex-wrap: wrap; }
.presets button { border: 1px solid var(--line); background: var(--surface); border-radius: 6px; padding: 4px 9px; font-size: 12px; color: var(--muted); cursor: pointer; }
.presets button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.listhead { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 10px; color: var(--muted); font-size: 12.5px; }
.listhead select { border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; background: var(--surface); margin-left: 6px; }
@media (max-width: 900px) { .ticks span:nth-child(even) { display: none; } }

/* Filtro de projeto ativo */
.projbar { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); padding: 0 0 12px; }
.projbar b { color: var(--ink); }
.proj { font-size: 11px; font-weight: 600; color: var(--brand); background: var(--brand-soft); padding: 1px 8px; border-radius: 99px; }

/* Briefing de reunioes */
.brief { background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--violet); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 16px; box-shadow: var(--shadow); }
.brief-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; color: var(--violet); }
.brief-head b { color: var(--ink); font-size: 14px; }
.brief-head span { color: var(--muted); font-size: 12px; margin-left: 4px; }
.brief-list { display: grid; gap: 10px; }
.bcard2 { display: grid; grid-template-columns: 130px 1fr; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line-2); cursor: pointer; }
.bcard2:first-child { border-top: 0; padding-top: 0; }
.b-when { font-weight: 650; font-size: 13px; color: var(--violet); }
.b-main { display: grid; gap: 5px; min-width: 0; }
.b-main p { margin: 0; font-size: 13px; }
.b-main p.muted { font-size: 12px; }
.b-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.b-title .muted { font-size: 12px; }
.note { display: flex; gap: 6px; align-items: flex-start; color: #5e4724; background: var(--accent-soft); padding: 6px 8px; border-radius: 6px; }

/* Registro de contato */
.kinds { display: flex; gap: 6px; flex-wrap: wrap; }
.kinds button { border: 1px solid var(--line); background: var(--surface); border-radius: 99px; padding: 6px 12px; cursor: pointer; color: var(--ink-2); font-weight: 500; }
.kinds button.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.infoline { display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: #2c5fc4; background: var(--brand-soft); padding: 8px 10px; border-radius: 8px; }
.ball.warnc { color: var(--violet); }
.contact.invalid b { text-decoration: line-through; color: var(--muted); }
.contact .bad { color: var(--red); }
.tl li.log::before { border-color: var(--accent); background: var(--accent-soft); }

/* Projetos no menu lateral e no detalhe */
.navlabel { display: flex; align-items: center; justify-content: space-between; padding: 4px 10px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: rgba(197, 202, 214, .6); }
.navlabel button { border: 0; background: rgba(255,255,255,.08); color: #fff; width: 20px; height: 20px; border-radius: 5px; cursor: pointer; font-size: 14px; line-height: 1; }
.navlabel button:hover { background: rgba(255,255,255,.16); }
#projNav { display: grid; gap: 2px; }
.navempty { font-size: 11.5px; opacity: .55; padding: 2px 10px; margin: 0; }
.projpick { display: flex; gap: 6px; flex-wrap: wrap; }
.projpick button { border: 1px solid var(--line); background: var(--surface); border-radius: 99px; padding: 5px 11px; cursor: pointer; font-size: 12.5px; color: var(--ink-2); }
.projpick button.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.projpick button.add { border-style: dashed; color: var(--muted); }

/* KPIs clicaveis (abas da cobranca) */
.kpis.tabs4 { grid-template-columns: repeat(4, 1fr); }
button.kpi { text-align: left; cursor: pointer; font: inherit; color: inherit; border: 1px solid var(--line); }
button.kpi:hover { border-color: #d5d7dc; }
button.kpi.on { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.more { color: var(--muted); font-size: 12.5px; text-align: center; margin-top: 14px; }
.more a { color: var(--brand); }

/* Card da cobranca */
.fcard { grid-template-columns: 44px 1fr 170px; gap: 16px; padding: 18px 20px; }
.fbody { min-width: 0; display: grid; gap: 8px; }
.fcard .line1 { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ctype { color: var(--muted); font-size: 12.5px; }
.status { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.todo { margin: 2px 0 0; font-size: 14.5px; font-weight: 500; color: var(--ink); }
.lastmail { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; background: var(--surface-2); display: grid; gap: 3px; }
.lm-head { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--muted); }
.lm-head svg { width: 13px; height: 13px; }
.lm-head .link { margin-left: auto; }
.lm-subj { font-weight: 600; font-size: 13px; }
.lm-meet { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--violet); font-weight: 500; padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.lm-meet.next { color: var(--green); }
.lm-meet svg { width: 13px; height: 13px; }
.lastmail > .lm-meet:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.tl li.meet::before { border-color: var(--violet); background: var(--violet-soft); }
.lm-prev { color: var(--ink-2); font-size: 12.5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.link { border: 0; background: none; color: var(--brand); cursor: pointer; font-weight: 500; font-size: 12px; padding: 0; }
.link:hover { text-decoration: underline; }
.fcard .side { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.agebox { text-align: right; margin-bottom: 4px; }
.agebox b { display: block; font-size: 17px; font-weight: 650; letter-spacing: -.01em; }
.agebox b.hot { color: var(--red); } .agebox b.warm { color: var(--amber); }
.agebox small { color: var(--muted); font-size: 11.5px; }
.fcard .side .btn { justify-content: center; }
.menu { position: relative; }
.menu > .btn { width: 100%; }
.menu-pop {
  display: none; position: absolute; right: 0; top: calc(100% + 4px); z-index: 10; min-width: 190px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow-lg); padding: 4px;
}
.menu.open .menu-pop { display: grid; }
.menu-pop button { display: flex; gap: 8px; align-items: center; border: 0; background: none; padding: 8px 10px; border-radius: 6px; cursor: pointer; text-align: left; color: var(--ink-2); }
.menu-pop button:hover { background: var(--line-2); }

.ball { font-size: 12px; font-weight: 600; color: var(--red); }

/* Relacao (texto com ponto colorido) */
.rel { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: var(--ink-2); white-space: nowrap; }
.rel .d { width: 8px; height: 8px; border-radius: 50%; background: #8a93a3; }
.rel.hot .d { background: #e0533f; } .rel.warm .d { background: #e09a2d; } .rel.cooling .d { background: #4a7ee6; }
.rel.cold .d { background: #a7aebb; } .rel.dificil .d { background: #7a5fd6; }

/* Avatars & pills */
.av {
  width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; flex: none;
  font-weight: 650; font-size: 12px; color: #fff; letter-spacing: .02em;
}
.av.lg { width: 44px; height: 44px; font-size: 15px; border-radius: 10px; }
.av.round { border-radius: 50%; width: 28px; height: 28px; font-size: 11px; }
.pill {
  display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border-radius: 99px; font-size: 11.5px;
  font-weight: 500; background: var(--line-2); color: var(--ink-2); white-space: nowrap; border: 1px solid transparent;
}
.pill .d { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.pill.group { background: var(--surface); border-color: var(--line); color: var(--muted); }
.pill.st-prospeccao { background: #f1f2f4; color: #5b6372; }
.pill.st-intro { background: var(--brand-soft); color: var(--brand); }
.pill.st-reuniao { background: var(--violet-soft); color: var(--violet); }
.pill.st-nda { background: var(--amber-soft); color: var(--amber); }
.pill.st-material { background: #e7f4f8; color: #1f7a99; }
.pill.st-proposta { background: var(--green-soft); color: var(--green); }
.pill.st-diligencia { background: #e6f2ea; color: #1f6b43; }
.pill.st-geral { background: #f1f2f4; color: #5b6372; }
.pill.them { background: var(--red-soft); color: var(--red); }
.pill.me { background: var(--line-2); color: var(--muted); }

/* Relationship tiers */
.tier { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; padding: 2px 8px 2px 3px; border-radius: 99px; white-space: nowrap; }
.tier .n { min-width: 22px; height: 18px; border-radius: 99px; display: grid; place-items: center; font-size: 10.5px; color: #fff; padding: 0 5px; }
.tier.hot { background: #fdecea; color: #c23a2c; } .tier.hot .n { background: #e0533f; }
.tier.warm { background: #fdf3e2; color: #a96b10; } .tier.warm .n { background: #e09a2d; }
.tier.cooling { background: #eaf1fd; color: #2c5fc4; } .tier.cooling .n { background: #4a7ee6; }
.tier.cold { background: #eef0f3; color: #5b6372; } .tier.cold .n { background: #8a93a3; }
.tier.dificil { background: #f2eefb; color: #5d43b8; } .tier.dificil .n { background: #7a5fd6; }
.gauge { display: flex; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); }
.ring { --p: 0; --c: #8a93a3; width: 72px; height: 72px; border-radius: 50%; flex: none; display: grid; place-items: center;
  background: conic-gradient(var(--c) calc(var(--p) * 1%), var(--line-2) 0); }
.ring div { width: 58px; height: 58px; border-radius: 50%; background: var(--surface); display: grid; place-items: center; font-weight: 700; font-size: 18px; }
.factors { flex: 1; display: grid; gap: 5px; }
.factor { display: grid; grid-template-columns: 1fr 64px 38px; gap: 8px; align-items: center; font-size: 12px; color: var(--ink-2); }
.factor .bar { height: 5px; background: var(--line-2); border-radius: 3px; overflow: hidden; }
.factor .bar div { height: 100%; background: var(--accent); }
.factor b { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Table */
.toolbar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; align-items: center; }
.toolbar select, .toolbar input, .field {
  border: 1px solid var(--line); background: var(--surface); border-radius: 7px; padding: 6px 9px; box-shadow: var(--shadow);
}
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; background: var(--surface); box-shadow: var(--shadow); }
.seg button { border: 0; background: none; padding: 6px 11px; cursor: pointer; color: var(--muted); font-weight: 500; }
.seg button.on { background: var(--line-2); color: var(--ink); }
.seg button + button { border-left: 1px solid var(--line); }
.count { color: var(--muted); font-size: 12px; margin-left: auto; }
.table { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); overflow: auto; }
table { width: 100%; border-collapse: separate; border-spacing: 0; }
th {
  position: sticky; top: 0; background: var(--surface-2); text-align: left; font-size: 11.5px; font-weight: 600;
  color: var(--muted); padding: 9px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; cursor: pointer; user-select: none;
}
th.sorted { color: var(--ink); }
td { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; white-space: nowrap; }
tbody tr { cursor: pointer; }
tbody tr:hover td { background: #fbfbfc; }
tbody tr.sel td { background: var(--accent-soft); }
.co { display: flex; gap: 10px; align-items: center; min-width: 200px; }
td.ct { max-width: 220px; }
td.ct b { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
td.ct small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.props input[type=checkbox] { width: auto; margin: 0 8px 0 0; vertical-align: middle; }
.props > div { display: flex; align-items: center; color: var(--ink-2); font-size: 12.5px; }
.co b { font-weight: 600; display: block; }
.co small { color: var(--muted); font-size: 12px; }
.num { font-variant-numeric: tabular-nums; }
.muted { color: var(--muted); }
.score { display: flex; align-items: center; gap: 8px; min-width: 90px; }
.score .bar { height: 5px; width: 54px; background: var(--line-2); border-radius: 3px; overflow: hidden; }
.score .bar div { height: 100%; background: var(--accent); }
.empty { text-align: center; color: var(--muted); padding: 56px 16px; }
.empty b { display: block; color: var(--ink); font-size: 15px; margin-bottom: 4px; }

/* Pipeline board */
.board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 8px; }
.col { background: #f0f1f3; border-radius: var(--radius); padding: 10px; display: flex; flex-direction: column; gap: 8px; min-height: 200px; }
.col-head { display: flex; align-items: center; gap: 8px; padding: 2px 4px 6px; font-weight: 600; font-size: 12.5px; }
.col-head span { color: var(--muted); font-weight: 500; margin-left: auto; }
.bcard { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 10px 11px; box-shadow: var(--shadow); cursor: pointer; display: grid; gap: 6px; }
.bcard:hover { border-color: #d5d7dc; }
.bcard .t { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.bcard .s { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bcard .f { display: flex; gap: 6px; align-items: center; font-size: 11.5px; color: var(--muted); }
.bcard .f .age { font-size: 11.5px; margin-left: auto; }

/* Drawer */
.drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(520px, 100vw); background: var(--surface);
  box-shadow: var(--shadow-lg); border-left: 1px solid var(--line); transform: translateX(100%);
  transition: transform .22s ease; z-index: 20; overflow-y: auto;
}
.drawer.open { transform: none; }
.drawer-inner { padding: 22px 24px 40px; display: grid; gap: 18px; }
.dhead { display: flex; gap: 12px; align-items: flex-start; }
.dhead h2 { margin: 0; font-size: 19px; }
.dhead p { margin: 2px 0 0; color: var(--muted); font-size: 12.5px; }
.dhead .icon-btn { margin-left: auto; }
.dstats { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius); }
.dstats div { padding: 10px 12px; }
.dstats div + div { border-left: 1px solid var(--line); }
.dstats span { font-size: 11.5px; color: var(--muted); }
.dstats b { display: block; font-size: 15px; font-weight: 600; }
.section h4 { margin: 0 0 8px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 600; }
.props { display: grid; grid-template-columns: 110px 1fr; gap: 8px 12px; align-items: center; }
.props label { color: var(--muted); font-size: 12.5px; }
.props select, .props input, .props textarea { width: 100%; border: 1px solid var(--line); border-radius: 7px; padding: 6px 8px; background: var(--surface); }
.contacts { display: grid; gap: 2px; }
.contact { display: flex; gap: 10px; align-items: center; padding: 7px 6px; border-radius: 7px; }
.contact:hover { background: var(--surface-2); }
.contact b { font-weight: 600; display: block; font-size: 13px; }
.contact small { color: var(--muted); font-size: 12px; }
.contact .r { margin-left: auto; text-align: right; font-size: 11.5px; color: var(--muted); }
.tl { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--line-2); display: grid; gap: 10px; }
.tl li { position: relative; font-size: 12.5px; }
.tl li::before { content: ""; position: absolute; left: -19px; top: 5px; width: 8px; height: 8px; border-radius: 50%; background: var(--surface); border: 2px solid var(--faint); }
.tl li.in::before { border-color: var(--red); }
.tl li.out::before { border-color: var(--green); }
.tl li.hit::before { background: var(--accent); border-color: var(--accent); }
.tl small { color: var(--muted); display: block; font-size: 11.5px; }
.callout { display: flex; gap: 10px; padding: 12px 14px; border-radius: 10px; background: var(--accent-soft); color: #5e4724; }
.callout svg { color: var(--accent-ink); margin-top: 2px; }
.callout b { display: block; color: #3f2f17; margin-bottom: 2px; }

/* Panels / settings */
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 14px; box-shadow: var(--shadow); }
.panel h3 { margin: 0 0 4px; font-size: 14.5px; }
.panel > p { margin: 0 0 14px; color: var(--muted); }
.panel textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }
.panel .props { grid-template-columns: 180px 1fr; max-width: 640px; }
.progress { height: 4px; background: rgba(255,255,255,.12); border-radius: 2px; overflow: hidden; margin-top: 6px; }
.progress div { height: 100%; background: var(--accent); width: 0; transition: width .2s; }

/* Composer */
dialog { border: 0; border-radius: 14px; padding: 0; box-shadow: var(--shadow-lg); }
dialog::backdrop { background: rgba(15, 23, 41, .45); backdrop-filter: blur(2px); }
.composer { display: grid; gap: 12px; width: min(680px, 94vw); padding: 20px 22px; }
.composer-head { display: flex; align-items: flex-start; }
.composer-head h3 { margin: 2px 0 0; font-size: 17px; }
.composer-head .icon-btn { margin-left: auto; }
.eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--accent-ink); font-weight: 600; }
.composer label { display: grid; gap: 5px; font-size: 12px; font-weight: 500; color: var(--muted); }
.composer input, .composer select, .composer textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; background: var(--surface); color: var(--ink); }
.composer textarea { resize: vertical; line-height: 1.5; }
.grid2 { display: grid; grid-template-columns: 2fr 1fr; gap: 10px; }
.insight { padding: 10px 12px; border-radius: 8px; background: var(--accent-soft); color: #5e4724; font-size: 13px; }
.insight:empty { display: none; }
.hint { color: var(--muted); font-size: 12px; margin: 0; }
.composer-foot { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding-top: 4px; }

.toast {
  position: fixed; bottom: 22px; left: 50%; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 8px; font-size: 13px; transition: all .2s; z-index: 50;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 860px) {
  .app { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
  .sidebar nav { grid-auto-flow: column; overflow-x: auto; }
  .sidefoot, .navsep, .logo small { display: none; }
  .logo { padding: 0 8px 0 0; }
  .topbar { padding: 10px 16px; flex-wrap: wrap; }
  main { padding: 16px; }
  .fcard { grid-template-columns: 1fr; }
  .fcard .rank { display: none; }
  .fcard .side { justify-items: start; }
}

/* ---------- Tarefas (quadro estilo Trello) ---------- */
.qadd { display: flex; align-items: center; gap: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 12px; box-shadow: var(--shadow); margin-bottom: 8px; flex-wrap: wrap; color: var(--accent-ink); }
.qadd input { flex: 1; min-width: 260px; border: 0; outline: 0; font-size: 14px; padding: 6px 0; background: transparent; color: var(--ink); }
.qprev { display: flex; gap: 10px; font-size: 12px; color: var(--muted); }
.qprev:empty { display: none; }
.qprev b { color: var(--ink); font-weight: 600; }
.tfilters { justify-content: space-between; margin: 12px 0; }
.tboard { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 14px; padding-bottom: 12px; align-items: start; }
.tcol { background: #eef0f3; border-radius: var(--radius); padding: 10px; display: flex; flex-direction: column; gap: 8px; max-height: 560px; transition: background .15s; }
.tcol.drop { outline: 2px dashed var(--brand); outline-offset: -2px; }
.tcol-head { display: flex; align-items: center; gap: 8px; padding: 2px 4px; }
.tcol-head b { font-size: 13px; cursor: text; }
.tcol-head span { color: var(--muted); font-size: 12px; margin-left: auto; }
.tcol-head .icon-btn { font-size: 16px; line-height: 1; padding: 2px 7px; }
.tcol-body { display: flex; flex-direction: column; gap: 8px; overflow-y: auto; min-height: 40px; }
.tnew { border: 1px dashed #cfd3da; background: transparent; color: var(--muted); cursor: pointer; font-weight: 500; min-height: 44px; justify-content: center; }
.tcard { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 9px 10px; box-shadow: var(--shadow); cursor: pointer; display: grid; gap: 6px; }
.tcard:hover { border-color: #cfd3da; }
.tcard.dragging { opacity: .45; }
.tlab { height: 6px; width: 40px; border-radius: 3px; }
.tlab.red, .tdot.red { background: #e0533f; } .tlab.yellow, .tdot.yellow { background: #e0a52d; } .tlab.green, .tdot.green { background: #3fa86b; }
.t-title { font-weight: 500; font-size: 13px; line-height: 1.35; }
.t-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.t-badges:empty { display: none; }
.tb { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: var(--muted); background: var(--line-2); border-radius: 4px; padding: 1px 6px; }
.tb svg { width: 11px; height: 11px; }
.tb.due.late { background: var(--red-soft); color: var(--red); font-weight: 600; }
.tb.due.soon { background: var(--amber-soft); color: var(--amber); font-weight: 600; }
.tb.okc { background: var(--green-soft); color: var(--green); }
.tb.stale { background: #f0edfd; color: var(--violet); }
.t-co { display: flex; gap: 8px; align-items: center; border-top: 1px solid var(--line-2); padding-top: 6px; font-size: 11.5px; }
.t-co .av.round { width: 22px; height: 22px; font-size: 9px; }
.t-co span { display: flex; flex-wrap: wrap; gap: 0 6px; align-items: baseline; min-width: 0; }
.t-co b { font-weight: 600; }
.t-co small { color: var(--muted); width: 100%; }
.t-co .ball { font-size: 11px; }
/* Detalhe da tarefa */
.tdlg { width: min(720px, 94vw); }
.tdtitle { width: 100%; border: 0 !important; font-size: 18px; font-weight: 650; padding: 4px 0 !important; outline: 0; }
.tdgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.tdco { display: flex; gap: 10px; align-items: center; background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 12.5px; }
.tdco:empty { display: none; }
.tdco > div:not(.av) { flex: 1; display: grid; gap: 2px; }
.tdco > .av, .tdco > :first-child { flex: none; width: 34px; height: 34px; font-size: 13px; }
.tdco small { color: var(--muted); }
.tdsec { display: grid; gap: 6px; }
.tdsec > b { font-size: 12px; color: var(--muted); font-weight: 600; }
.row2 { display: flex; gap: 8px; }
.row2 input { flex: 1; }
.chk { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.chk input { width: auto !important; }
.chk span { flex: 1; }
.chk span.done { text-decoration: line-through; color: var(--muted); }
.chk .rm, .cmt .rm { border: 0; background: none; color: var(--faint); cursor: pointer; }
.cmt { font-size: 13px; background: var(--surface-2); border-radius: 6px; padding: 6px 8px; display: grid; gap: 2px; }
.cmt small { color: var(--muted); font-size: 11px; }
.tlist { display: grid; gap: 4px; margin-bottom: 8px; }
.titem { display: flex; align-items: center; gap: 8px; text-align: left; border: 1px solid var(--line); background: var(--surface); border-radius: 7px; padding: 7px 9px; cursor: pointer; font-size: 13px; }
.titem span:nth-child(2), .titem span:first-child:not(.tdot) { flex: 1; }
.titem small { color: var(--muted); font-size: 11.5px; white-space: nowrap; }
.tdot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
@media (max-width: 760px) { .tdgrid { grid-template-columns: 1fr 1fr; } }

/* Quadro em grade: sem rolagem lateral; cartao com acoes rapidas e linha de destino ao arrastar */
.tcol.drop { outline: none; background: #e4e9f5; }
.tph { height: 4px; border-radius: 2px; background: var(--brand); margin: 2px 0; box-shadow: 0 0 0 3px var(--brand-soft); flex: none; }
.tcard { position: relative; }
.tcard.dragging { opacity: .35; transform: scale(.98); }
.tcard[draggable="true"] { cursor: grab; }
.tcard.isdone .t-title { text-decoration: line-through; color: var(--muted); }
.t-act { position: absolute; top: 6px; right: 6px; display: none; gap: 4px; }
.tcard:hover .t-act { display: flex; }
.t-act button { border: 1px solid var(--line); background: var(--surface); border-radius: 6px; padding: 2px 7px; font-size: 11px; font-weight: 600; color: var(--ink-2); cursor: pointer; box-shadow: var(--shadow); }
.t-act button[data-qa="done"]:hover { background: var(--green-soft); color: var(--green); border-color: #bfe3cd; }
.t-act button[data-qa="archive"]:hover, .t-act button[data-qa="reopen"]:hover { background: var(--line-2); }
.tcol-body { scrollbar-width: thin; }

/* ---------- Camada de IA ---------- */
.spark { color: #8b5cf6; font-weight: 700; }
.askai { gap: 8px; border-color: #ddd6fe; background: linear-gradient(180deg, #faf8ff, #f3efff); color: #4c1d95; }
.askai:hover { background: #ede7ff; }
.askai kbd { background: #fff; border-color: #ddd6fe; color: #6d5aa8; }
.aiwrap { display: grid; grid-template-columns: minmax(280px, 1fr) 2fr; gap: 12px; margin: 10px 0 4px; }
.aiwrap:has(.sugg) { }
.focus-card, .sugg { background: linear-gradient(180deg, #fbfaff, #ffffff 60%); border: 1px solid #e6e0fb; border-radius: var(--radius); padding: 12px 14px; box-shadow: var(--shadow); }
.ai-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ai-head b { font-size: 13.5px; }
.ai-head .muted { font-size: 11.5px; }
.ai-head .link { margin-left: auto; }
.headline { margin: 0 0 6px; font-weight: 600; font-size: 13.5px; }
.focus-list { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; }
.focus-list li.clickable { cursor: pointer; }
.focus-list li.clickable:hover { color: var(--brand); text-decoration: underline; }
.sugg-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.scard { border: 1.5px dashed #c4b5fd; border-radius: 8px; padding: 9px 10px; background: #fff; display: grid; gap: 4px; }
.s-title { font-weight: 600; font-size: 13px; display: flex; gap: 6px; align-items: center; }
.s-why { font-size: 12px; color: var(--ink-2); }
.s-meta { font-size: 11px; color: var(--muted); }
.s-btns { display: flex; gap: 6px; margin-top: 2px; }
.thinking { color: #6d28d9; font-size: 13px; margin: 4px 0; animation: pulse 1.4s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .45; } }
.err { color: var(--red); font-size: 12.5px; margin: 4px 0; }
.okmsg { color: var(--green); font-weight: 600; margin: 4px 0; }
.answer { background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-size: 13px; line-height: 1.5; }
.tdai { display: flex; gap: 6px; flex-wrap: wrap; }
.tdai .btn { border-color: #ddd6fe; color: #4c1d95; background: #faf8ff; }
.tdai-out:empty { display: none; }
.tdai-out textarea { width: 100%; font-family: inherit; font-size: 13px; }
/* Barra de comando */
#cmdk { padding: 0; width: min(680px, 94vw); border-radius: 14px; top: 12vh; margin-top: 0; }
.cmdk { display: grid; }
.cmdk-in { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.cmdk-in input { flex: 1; border: 0; outline: 0; font-size: 15px; background: transparent; }
.cmdk-hints { display: grid; padding: 8px; gap: 2px; }
.cmdk-hints button { text-align: left; border: 0; background: none; padding: 8px 10px; border-radius: 7px; color: var(--muted); cursor: pointer; font-size: 13px; }
.cmdk-hints button:hover { background: var(--line-2); color: var(--ink); }
.cmdk-out { padding: 0 16px 14px; }
.cmdk-out:empty { display: none; }
.cmdk-out ul { margin: 4px 0; padding-left: 18px; font-size: 13px; }
@media (max-width: 900px) { .aiwrap { grid-template-columns: 1fr; } .askai kbd { display: none; } }

.qout { margin: 0 0 8px; }
.qout:empty { display: none; }
.qout .answer, .qout .okmsg, .qout .err, .qout ul { max-width: 900px; }
.qout ul { margin: 4px 0 8px; padding-left: 18px; font-size: 13px; }

/* IA compacta: foco do dia + ate 4 sugestoes em uma faixa, ou recolhida em uma linha */
.aiwrap { grid-template-columns: minmax(260px, 1fr) 3fr; gap: 10px; margin: 8px 0 2px; }
.aiwrap.solo { grid-template-columns: 1fr; }
.focus-card, .sugg { padding: 9px 12px; }
.ai-head { margin-bottom: 4px; gap: 6px; }
.ai-head b { font-size: 12.5px; }
.ai-head .link + .link { margin-left: 8px; }
.headline { font-size: 12.5px; margin-bottom: 3px; }
.focus-list { font-size: 12px; gap: 1px; }
.sugg-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.scard { padding: 7px 8px; gap: 3px; }
.s-title { font-size: 12px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.s-why { font-size: 11px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.s-foot { display: flex; align-items: center; gap: 4px; margin-top: 2px; }
.s-meta { font-size: 10.5px; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.s-foot .btn.sm { padding: 2px 7px; font-size: 11px; }
.aibar { display: flex; align-items: center; gap: 8px; padding: 7px 12px; margin: 8px 0 2px; border: 1px solid #e6e0fb; background: #fbfaff; border-radius: 8px; font-size: 12.5px; cursor: pointer; }
.aibar-txt { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); }
.aibar-n { background: #ede9fe; color: #5b21b6; border-radius: 99px; padding: 1px 8px; font-size: 11px; font-weight: 600; }
@media (max-width: 1100px) { .sugg-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.scard { min-width: 0; overflow: hidden; }
.s-foot .btn.sm { flex: none; }
.aiwrap > * { min-width: 0; }
.s-title, .s-why { overflow-wrap: anywhere; }
.scard { grid-template-columns: minmax(0, 1fr); }

/* Caixa de IA nas telas de Follow-ups e Campanhas */
.aibox { display: flex; align-items: center; gap: 10px; background: linear-gradient(180deg, #fbfaff, #fff); border: 1px solid #e6e0fb; border-radius: var(--radius); padding: 8px 10px 8px 14px; box-shadow: var(--shadow); margin-bottom: 10px; }
.aibox input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 13.5px; }
.aiask-out:empty { display: none; }
.aiask-out { margin-bottom: 14px; }
.aiask { background: var(--surface); border: 1px solid #e6e0fb; border-radius: var(--radius); padding: 12px 14px; box-shadow: var(--shadow); display: grid; gap: 8px; }
.aiask-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 6px; max-height: 360px; overflow-y: auto; }
.aiask-row { display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--line); border-radius: 8px; padding: 7px 9px; font-size: 12.5px; cursor: pointer; }
.aiask-row input { margin-top: 6px; }
.aiask-row .av.round { width: 24px; height: 24px; font-size: 10px; margin-top: 2px; }
.aiask-row small { color: var(--muted); font-size: 11px; }
.aiask-row .muted { font-size: 12px; }
.aiask-mail { border: 1px dashed #c4b5fd; border-radius: 8px; padding: 8px 10px; font-size: 12.5px; }
.aiask-mail pre { white-space: pre-wrap; font-family: inherit; margin: 6px 0 0; }

/* Reordenar listas e menu */
.tcol-head[draggable="true"] { cursor: grab; }
.tcol-head .grip { color: var(--faint); font-size: 11px; letter-spacing: -2px; opacity: 0; transition: opacity .15s; }
.tcol:hover .tcol-head .grip { opacity: 1; }
.tcol.dragging-col { opacity: .45; }
.tcol.col-before { box-shadow: inset 4px 0 0 var(--brand); }
.tcol.col-after { box-shadow: inset -4px 0 0 var(--brand); }
nav a[draggable="true"] { cursor: grab; }
nav a.nav-drag { opacity: .4; }



/* ---------- Menu lateral no padrao Linear / Attio: claro, discreto, seletor de workspace ---------- */
:root { --mono: "IBM Plex Mono", ui-monospace, Consolas, monospace; --side-bg: #f7f7f8; --side-line: #e8e8eb; }
.app { grid-template-columns: 232px 1fr; }
.sidebar { background: var(--side-bg); color: var(--ink-2); border-right: 1px solid var(--side-line); padding: 12px 10px; width: 232px; }
.ws { display: flex; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 7px; cursor: default; margin-bottom: 8px; }
.ws:hover { background: #ececef; }
.ws-mark { width: 22px; height: 22px; border-radius: 6px; background: #16191f; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 12px; letter-spacing: -.02em; }
.ws-name { font-weight: 600; font-size: 13.5px; color: var(--ink); }
.ws-chev { margin-left: auto; color: var(--faint); font-size: 11px; }
.side-search { display: flex; align-items: center; gap: 8px; width: 100%; border: 1px solid var(--side-line); background: #fff; border-radius: 7px; padding: 6px 8px; color: var(--muted); font-size: 12.5px; cursor: pointer; margin-bottom: 14px; box-shadow: 0 1px 1px rgba(16,24,40,.03); }
.side-search:hover { border-color: #d6d7dc; color: var(--ink-2); }
.side-search svg.i { width: 14px; height: 14px; }
.side-search kbd { margin-left: auto; font-size: 10.5px; }
nav { gap: 1px; }
.navlabel { font-size: 11.5px; font-weight: 500; color: var(--faint); padding: 12px 8px 4px; letter-spacing: 0; text-transform: none; font-family: inherit; display: flex; align-items: center; justify-content: space-between; }
.navlabel:first-child { padding-top: 2px; }
.navlabel button { width: 18px; height: 18px; border-radius: 5px; background: transparent; border: 0; color: var(--faint); font-size: 14px; cursor: pointer; }
.navlabel button:hover { background: #e9e9ec; color: var(--ink); }
nav a { color: var(--ink-2); padding: 6px 8px; border-radius: 6px; font-size: 13px; font-weight: 500; gap: 9px; }
nav a svg.i { width: 15px; height: 15px; color: var(--muted); }
nav a:hover { background: #ececef; color: var(--ink); }
nav a.on { background: #fff; color: var(--ink); box-shadow: 0 0 0 1px var(--side-line), 0 1px 2px rgba(16,24,40,.06); }
nav a.on svg.i { color: var(--ink); }
nav a em, nav a em.soft { background: none; color: var(--faint); font-size: 11.5px; font-weight: 500; padding: 0; min-width: 0; font-variant-numeric: tabular-nums; }
nav a em#navCount { color: var(--ink-2); font-weight: 600; }
.navsep { background: var(--side-line); margin: 8px 6px; height: 1px; }
.navempty { color: var(--faint); font-size: 11.5px; line-height: 1.45; padding: 2px 8px; opacity: 1; }
#projNav a { font-size: 12.5px; }
.sidefoot { border-top: 1px solid var(--side-line); padding-top: 8px; gap: 4px; }
.sync { padding: 0 8px; background: none; }
.statusline { font-size: 11px; color: var(--faint); display: flex; align-items: center; gap: 6px; white-space: nowrap; cursor: default; }
.statusline .dot { width: 6px; height: 6px; background: #d9a23a; }
.statusline .dot.live { background: #22c55e; }
.statusline .ok { color: #16a34a; }
.statusline .warn { color: #d97706; }
.user { padding: 4px 8px; gap: 8px; }
.user .av.round { width: 22px; height: 22px; font-size: 10px; background: #e4e4e8; color: var(--ink-2); }
.user .who b { font-size: 12.5px; color: var(--ink); }
.user .who small { font-size: 11px; color: var(--faint); }
.topbar { background: rgba(255,255,255,.85); }
.topbar .title { font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); font-family: inherit; }
main { background: #fff; }
body { background: #fff; }
.banner { margin: 12px 28px 0; padding: 6px 12px; font-size: 12px; background: #fafafa; border: 1px solid var(--line); color: var(--muted); }
@media (max-width: 860px) { .sidebar { width: auto; } .side-search { display: none; } }

/* ---------- Visao geral ---------- */
.ov-kpis { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.ov-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.ov-chart > p, .ov-lists p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.ov-chart h3, .ov-lists h3 { margin: 0 0 2px; font-size: 13.5px; }
.lc { width: 100%; height: auto; color: var(--ink-2); }
.lc .gl { stroke: var(--line-2); stroke-width: 1; }
.lc .ax { font-size: 10px; fill: var(--faint); font-family: var(--mono); }
.lc .dl { font-size: 10.5px; font-weight: 600; }
.lc .xh { stroke: #c9ccd3; stroke-width: 1; stroke-dasharray: 3 3; }
.legend { display: flex; gap: 14px; font-size: 12px; color: var(--ink-2); margin-top: 6px; }
.legend i, .ov-tip i { display: inline-block; width: 10px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
.hbars { display: grid; gap: 7px; }
.hb { display: grid; grid-template-columns: 150px 1fr 34px; align-items: center; gap: 10px; font-size: 12.5px; cursor: default; }
.hb-l { color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hb-track { height: 10px; background: var(--line-2); border-radius: 0 4px 4px 0; overflow: hidden; }
.hb-bar { display: block; height: 100%; border-radius: 0 4px 4px 0; }
.hb-v { text-align: right; font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 600; }
.hb:hover .hb-track { background: #e6e7ea; }
.ov-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ov-list { display: grid; gap: 2px; }
.ov-row { display: flex; align-items: center; gap: 8px; border: 0; background: none; padding: 5px 4px; border-radius: 6px; cursor: pointer; text-align: left; font-size: 12.5px; }
.ov-row:hover { background: var(--line-2); }
.ov-row .av.round { width: 22px; height: 22px; font-size: 9px; }
.ov-row .n { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.ov-row .m { color: var(--muted); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.ov-tip { position: fixed; display: none; z-index: 60; background: var(--ink); color: #fff; font-size: 12px; padding: 7px 9px; border-radius: 6px; pointer-events: none; line-height: 1.55; box-shadow: var(--shadow-lg); }
.report { border-color: #e6e0fb; background: linear-gradient(180deg, #fbfaff, #fff 40%); }
.report-head { display: flex; align-items: center; gap: 8px; }
.report-head h3 { margin: 0; flex: 1; font-size: 15px; }
.report-sum { font-size: 13.5px; margin: 8px 0 12px; color: var(--ink); }
.report-sec { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.report-sec h4 { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.report-sec ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; }
@media (max-width: 1100px) { .ov-grid, .ov-lists { grid-template-columns: 1fr; } }

/* Filtros compactos: uma linha de pilulas com menus */
.frow { position: relative; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 4px 0 14px; }
.fpill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 7px; padding: 4px 9px; font-size: 12.5px; color: var(--ink); cursor: pointer; box-shadow: 0 1px 1px rgba(16,24,40,.03); }
.fpill:hover { border-color: #d6d7dc; }
.fpill .fp-l { color: var(--muted); }
.fpill .fp-c { color: var(--faint); font-size: 10px; }
.fpill.act { background: var(--ink); border-color: var(--ink); color: #fff; }
.fpill.act .fp-l, .fpill.act .fp-c { color: rgba(255,255,255,.65); }
.fpill.open { box-shadow: 0 0 0 3px var(--brand-soft); }
.fclear { font-size: 12px; margin-left: 4px; }
.fpop { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow-lg); padding: 6px; display: grid; min-width: 240px; }
.fpop.wide { width: min(720px, 92vw); padding: 14px 16px 6px; }
.fopt { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 0; background: none; padding: 7px 10px; border-radius: 6px; font-size: 13px; color: var(--ink-2); cursor: pointer; text-align: left; }
.fopt:hover { background: var(--line-2); }
.fopt.on { background: var(--line-2); color: var(--ink); font-weight: 600; }
.fopt span { color: var(--faint); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.fpop .range-top { margin-bottom: 8px; }

/* Mapa de atividade do ano */
.ov-heat { margin-bottom: 14px; }
.ov-heat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ov-heat h3 { margin: 0 0 2px; font-size: 13.5px; }
.ov-heat p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.heat-legend { display: flex; align-items: center; gap: 3px; font-size: 11px; color: var(--muted); white-space: nowrap; }
.heat-legend i { width: 11px; height: 11px; border-radius: 2.5px; display: inline-block; }
.heat-scroll { overflow-x: auto; }
.heat { width: 100%; min-width: 720px; height: auto; }
.heat .ax { font-size: 9px; fill: var(--faint); }
.heat .hc:hover { stroke: var(--ink); stroke-width: 1; }
.heat-foot { display: flex; gap: 22px; font-size: 12px; color: var(--muted); margin-top: 8px; }
.heat-foot b { color: var(--ink); font-variant-numeric: tabular-nums; }

/* Linha do dia e tela de "zerou" */
.today-strip { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); margin: -2px 0 10px; }
.today-strip b { color: var(--ink); font-variant-numeric: tabular-nums; }
.ts-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 3px #dcfce7; }
.zeroed { text-align: center; padding: 56px 20px 60px; border: 1px solid var(--line); border-radius: 14px; background: radial-gradient(ellipse at top, #eefcf3, #fff 60%); }
.z-badge { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: #22c55e; color: #fff; box-shadow: 0 10px 30px -8px rgba(34,197,94,.55); animation: zpop .5s cubic-bezier(.2,1.4,.4,1); }
.z-badge svg.i { width: 30px; height: 30px; stroke-width: 2.6; }
.zeroed h2 { font-size: 26px; margin: 0 0 6px; letter-spacing: -.02em; }
.zeroed p { color: var(--muted); margin: 0 0 14px; }
.z-stats { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.z-stats b { color: var(--ink); }
@keyframes zpop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }

/* "Me atualize" */
.catchup { border: 1px solid #e6e0fb; background: linear-gradient(180deg, #fbfaff, #fff); border-radius: var(--radius); padding: 10px 14px; margin-bottom: 10px; box-shadow: var(--shadow); }
.cu-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cu-head b { font-size: 13.5px; }
.cu-head .muted { font-size: 12px; }
.cu-head .link { margin-left: auto; }
.cu-sum { font-size: 13px; margin-top: 6px; line-height: 1.5; }
.cu-list { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; display: grid; gap: 2px; }
.cu-list li { cursor: pointer; }
.cu-list li:hover { color: var(--brand); }
#composer .askai { margin-left: auto; }

/* Quadro mais arejado (padrao Linear/Trello): 3 colunas largas, cor na lateral, empresa em uma linha */
.tboard { grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 18px; }
.tcol { background: #f4f5f7; padding: 10px 10px 12px; gap: 10px; max-height: 640px; border-radius: 12px; }
.tcol-head { padding: 2px 4px 2px 2px; justify-content: flex-start; }
.tcol-head b { font-size: 13px; font-weight: 600; text-align: left; }
.tcol-body { gap: 8px; }
.tcard { padding: 11px 12px 11px 14px; gap: 7px; border-radius: 9px; border-color: #e6e7ea; }
.tcard.lab-red { box-shadow: inset 3px 0 0 #e0533f, var(--shadow); }
.tcard.lab-yellow { box-shadow: inset 3px 0 0 #e0a52d, var(--shadow); }
.tcard.lab-green { box-shadow: inset 3px 0 0 #3fa86b, var(--shadow); }
.t-title { font-size: 13.5px; line-height: 1.4; font-weight: 500; }
.t-co { display: flex; align-items: center; gap: 6px; border-top: 0; padding-top: 0; font-size: 12px; min-width: 0; }
.t-co .av.round { width: 18px; height: 18px; font-size: 8px; flex: none; }
.t-co b { font-weight: 500; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.t-co .ball { font-size: 11px; white-space: nowrap; }
.t-co small { margin-left: auto; color: var(--faint); font-size: 11px; white-space: nowrap; width: auto; }
.dens { margin-left: auto; margin-right: 12px; }
.dens button { font-size: 12px; padding: 4px 10px; }
/* Compacto: mais cartoes por tela */
.tboard.dense { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.tboard.dense .tcard { padding: 7px 9px 7px 11px; gap: 4px; }
.tboard.dense .t-title { font-size: 12.5px; }
.tboard.dense .t-co small, .tboard.dense .t-co .ball { display: none; }
.tcol-head b { flex: 1; text-align: left; margin-left: 2px; }
.tcol-head .grip { margin-right: -2px; }

/* Visao geral do quadro (estilo Trello): compacto como padrao, 4 colunas, listas recolhiveis */
.tboard.dense { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.tboard.dense .tcol { padding: 8px 8px 10px; gap: 6px; max-height: 520px; border-radius: 10px; }
.tboard.dense .tcol-body { gap: 6px; }
.tboard.dense .tcard { padding: 7px 9px 7px 11px; gap: 3px; border-radius: 7px; }
.tboard.dense .t-title { font-size: 12.5px; line-height: 1.35; }
.tboard.dense .t-badges .tb { font-size: 10.5px; padding: 0 5px; }
.tboard.dense .t-co { font-size: 11px; gap: 5px; }
.tboard.dense .t-co .av.round { width: 15px; height: 15px; font-size: 7px; }
.tboard.dense .t-co b { color: var(--muted); font-weight: 500; }
.tboard.dense .tcol-head b { font-size: 12.5px; }
.tcol-head .fold { border: 0; background: none; color: var(--faint); cursor: pointer; font-size: 11px; width: 16px; padding: 0; }
.tcol-head .fold:hover { color: var(--ink); }
.tcol.folded { max-height: none; padding-bottom: 8px; opacity: .85; }
.tcol-head .grip { display: none; }

/* Mapa de relacionamento */
.mlegend { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 4px 0 12px; }
.mtier { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 3px 10px; font-size: 12px; cursor: pointer; color: var(--ink-2); }
.mtier span { width: 8px; height: 8px; border-radius: 50%; }
.mtier em { font-style: normal; color: var(--faint); font-size: 11px; }
.mtier.off { opacity: .45; text-decoration: line-through; }
.mnote { font-size: 12px; margin-left: 8px; }
.mgrid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 300px; gap: 12px; align-items: start; }
.mgrid > * { min-width: 0; }
.mpanel { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; position: relative; }
.mpanel-t { position: absolute; top: 10px; left: 12px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--faint); }
.msvg { display: block; width: 100%; height: auto; background: #fbfbfc; }
.msvg .land { fill: #eceef1; }
.msvg .bord { fill: none; stroke: #fff; stroke-width: .8; }
.msvg .mdot { stroke: #fff; stroke-width: 1.2; cursor: pointer; transition: opacity .15s; }
.msvg .mdot:hover { stroke: var(--ink); stroke-width: 1.5; }
.msvg .mdot.dim { opacity: .25; }
.msvg .mlab { cursor: pointer; }
.msvg .mlab .halo { fill: rgba(42, 120, 214, .05); stroke: rgba(42, 120, 214, .18); stroke-dasharray: 2 3; }
.msvg .mlab.on .halo { fill: rgba(42, 120, 214, .1); stroke: #2a78d6; stroke-dasharray: none; }
.msvg .mlab text { font-size: 10.5px; font-weight: 600; fill: var(--ink-2); text-anchor: middle; paint-order: stroke; stroke: #fbfbfc; stroke-width: 3px; }
.msvg .mlab text tspan { fill: var(--faint); font-weight: 500; }
.mside { padding: 0; max-height: 640px; display: flex; flex-direction: column; }
.mside-h { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--line); font-size: 13px; flex-wrap: wrap; }
.mside-h .muted { margin-left: auto; font-size: 12px; }
.mside-h .link { width: 100%; text-align: left; font-size: 12px; }
.mlist { overflow: auto; }
.mrow { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid #f1f2f4; cursor: pointer; }
.mrow:hover { background: #f7f8fa; }
.mrow > div { flex: 1; min-width: 0; }
.mrow b { display: block; font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mrow small { display: block; font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mscore { font: 600 11px 'IBM Plex Mono', monospace; color: var(--c); border: 1px solid var(--c); border-radius: 999px; padding: 0 7px; }
.mstack { display: flex; height: 6px; border-radius: 3px; overflow: hidden; margin-top: 5px; gap: 2px; background: #f1f2f4; }
.mstack i { display: block; height: 100%; }
.mtip { position: fixed; pointer-events: none; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 6px 24px rgba(16, 24, 40, .12); padding: 8px 10px; font-size: 12px; display: none; z-index: 50; max-width: 260px; }
.mtip.show { display: grid; gap: 2px; }
.mtip span { display: flex; align-items: center; gap: 6px; color: var(--ink-2); }
.mtip span i { width: 8px; height: 8px; border-radius: 50%; }
.mtip small { color: var(--muted); }
@media (max-width: 1200px) { .mgrid { grid-template-columns: 1fr 1fr; } .mside { grid-column: 1 / -1; } }

/* Pagina da empresa */
.cp { max-width: 1240px; }
.cp-crumb { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); margin-bottom: 14px; }
.cp-crumb a { color: var(--muted); text-decoration: none; }
.cp-crumb a:hover { color: var(--ink); }
.cp-tools { margin-left: auto; display: flex; gap: 6px; }
.cp-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.cp-head .av.xl { width: 56px; height: 56px; font-size: 20px; border-radius: 12px; flex: none; }
.cp-id { flex: 1; min-width: 0; }
.cp-id h1 { margin: 0 0 4px; font-size: 24px; letter-spacing: -.01em; }
.cp-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.cp-meta a { color: var(--brand); text-decoration: none; }
.cp-proj { background: #f1f2f4; border-radius: 5px; padding: 0 7px; color: var(--ink-2); }
.cp-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.cp-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; background: #fff; margin-bottom: 16px; box-shadow: var(--shadow); }
.cp-kpis > div { padding: 12px 16px; border-left: 1px solid var(--line); min-width: 0; }
.cp-kpis > div:first-child { border-left: 0; }
.cp-kpis span { display: block; font-size: 11.5px; color: var(--muted); margin-bottom: 4px; }
.cp-kpis b { font-size: 20px; font-weight: 600; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-kpis b small { display: block; font-size: 11.5px; font-weight: 400; color: var(--faint); }
.cp-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.cp-main, .cp-side { display: grid; gap: 14px; min-width: 0; }
.cp-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--shadow); min-width: 0; }
.cp-card.ai { border-color: #e6e0fb; background: linear-gradient(180deg, #fbfaff, #fff); }
.cp-card-h { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 13.5px; flex-wrap: wrap; }
.cp-card-h .i { width: 15px; height: 15px; color: var(--muted); }
.cp-card-h .muted { font-size: 12px; }
.cp-card-h .link, .cp-card-h .btn { margin-left: auto; }
.cp-sum { font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }
.cp-next { display: flex; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #e6e0fb; font-size: 13px; }
.cp-next .i { width: 15px; height: 15px; color: #7a5fd6; flex: none; margin-top: 2px; }
.cp-next b { display: block; font-size: 12px; color: var(--muted); font-weight: 600; }
.cp-src { display: grid; gap: 3px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 12px; }
.cp-src span { color: var(--faint); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.cp-src a { color: var(--brand); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-month h5 { margin: 12px 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--faint); font-weight: 600; }
.cp-month:first-of-type h5 { margin-top: 0; }
.cp-tl { list-style: none; margin: 0 0 0 4px; padding: 0; border-left: 1px solid var(--line); }
.cp-tl li { display: flex; gap: 10px; padding: 5px 0 5px 14px; position: relative; }
.cp-tl li .dot { position: absolute; left: -5px; top: 10px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid #fff; background: #8a93a3; box-sizing: border-box; }
.cp-tl li.in .dot { background: #2a78d6; }
.cp-tl li.out .dot { background: #1baf7a; }
.cp-tl li.meet .dot { background: #eb6834; }
.cp-tl li.log .dot { background: #7a5fd6; }
.cp-tl b { display: block; font-size: 13px; font-weight: 500; }
.cp-tl small { font-size: 11.5px; color: var(--muted); }
.cp-tasks .section { margin: 0; padding: 0; border: 0; }
.cp-tasks .section h4 { margin-top: 0; }
.cp-side textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font: inherit; font-size: 13px; resize: vertical; }
.dhead .dpage { margin-left: auto; white-space: nowrap; text-decoration: none; align-self: flex-start; }
@media (max-width: 1100px) { .cp-grid { grid-template-columns: 1fr; } .cp-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media print {
  aside, header, .topbar, .banner, .cp-tools, .cp-acts, #cpWeb, #cpSum, .cp-tasks .btn, #toast, #drawer { display: none !important; }
  body, .app, main, #main { display: block !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; height: auto !important; }
  .cp-card, .cp-kpis { box-shadow: none; break-inside: avoid; }
  .cp-grid { grid-template-columns: minmax(0, 1fr) 280px; }
}

/* Tela de entrada em tela cheia */
#splash { position: fixed; inset: 0; z-index: 200; overflow: hidden; color: #e8edf5; transition: opacity .45s, transform .45s;
  background: radial-gradient(1400px 700px at 75% 30%, #18284a 0%, #0d1424 50%, #080c16 100%); font-family: Inter, system-ui, sans-serif; }
@keyframes sfade { from { opacity: 0; } }
#splash { animation: sfade .5s ease-out; }
#splash.out { opacity: 0; transform: scale(1.02); }
#splash::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 24px 24px;
  mask-image: radial-gradient(ellipse at 30% 40%, #000 20%, transparent 75%); pointer-events: none; }
.s-spot { position: absolute; inset: 0; pointer-events: none; }
.s-mapwrap { position: absolute; right: -4%; top: 50%; width: 72%; margin-top: -21%; transition: transform .25s ease-out;

  -webkit-mask-image: radial-gradient(ellipse 62% 60% at 55% 50%, #000 55%, transparent 100%); mask-image: radial-gradient(ellipse 62% 60% at 55% 50%, #000 55%, transparent 100%); }
.sarc0 { fill: none; stroke: #6aa1ff; stroke-opacity: .16; stroke-width: 1; stroke-dasharray: 3 5; transition: stroke-opacity .4s; }
.sarc0.off { stroke-opacity: 0; }
.smap { display: block; width: 100%; height: auto; }
.smap .land { fill: #172036; }
.smap .bord { fill: none; stroke: #0d1424; stroke-width: .7; }
.sarc { fill: none; stroke: url(#sglow); stroke: #6aa1ff; stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .8;
  animation: sdraw 4.8s cubic-bezier(.5, 0, .3, 1) infinite; animation-delay: var(--d); transition: opacity .4s; }
@keyframes sdraw { 0% { stroke-dashoffset: 1; opacity: .9; } 35% { stroke-dashoffset: 0; opacity: .9; } 75% { stroke-dashoffset: 0; opacity: .25; } 100% { stroke-dashoffset: -1; opacity: 0; } }
.sarc.off { opacity: 0 !important; animation-play-state: paused; }
.sc .core { fill: #3987e5; stroke: #cde2fb; stroke-width: 1; transition: opacity .4s, fill .4s; }
.sc.hq .core { fill: #1baf7a; stroke: #b6f0d6; }
.sc .ping { fill: none; stroke: #8fb7f0; stroke-width: 1.3; transform-box: fill-box; transform-origin: center; opacity: 0; animation: sping 4.8s ease-out infinite; animation-delay: var(--d); }
.sc.hq .ping { stroke: #1baf7a; animation-duration: 2.4s; animation-delay: 0s; }
@keyframes sping { 0%, 22% { transform: scale(1); opacity: 0; } 24% { opacity: 1; } 50% { transform: scale(3); opacity: 0; } 100% { opacity: 0; } }
.sc text { font-size: 11px; font-weight: 600; fill: #c9d4ea; text-anchor: middle; opacity: 0; transition: opacity .4s; paint-order: stroke; stroke: #0d1424; stroke-width: 3px; }
.sc text tspan { fill: #8fb7f0; }
#splash[data-mode="due"] .sc:not(.off):not(.hq) .core, #splash[data-mode="meet"] .sc:not(.off):not(.hq) .core { fill: #8f7bff; }
.sc.crowd text { display: none; }
.sc:hover text { display: block; opacity: 1; }
#splash[data-mode="due"] .sc:not(.off):not(.hq) text, #splash[data-mode="meet"] .sc:not(.off):not(.hq) text, #splash[data-mode="net"] .sc text { opacity: 1; }
#splash[data-mode="due"] .sarc:not(.off), #splash[data-mode="meet"] .sarc:not(.off) { stroke: #b9a4ff; }
.sc.off .core { opacity: .18; }
.sc.off .ping { display: none; }
.s-left { position: relative; z-index: 2; max-width: 680px; padding: 14vh 0 0 6vw; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
.s-brand { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; color: #fff; margin-bottom: 7vh; }
.s-logo { width: 28px; height: 28px; border-radius: 8px; background: #fff; color: #0d1424; display: grid; place-items: center; font-weight: 700; }
.s-eyebrow { align-self: flex-start; display: inline-flex; gap: 6px; font-size: 12.5px; color: #a9b8d6; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 4px 12px; background: rgba(255,255,255,.04); }
.s-eyebrow .spark { color: #b9a4ff; }
#splash h1 { font-size: clamp(34px, 3.7vw, 56px); white-space: nowrap; line-height: 1.03; letter-spacing: -.035em; margin: 18px 0 14px; font-weight: 650;
  background: linear-gradient(180deg, #fff 40%, #9fb2d6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.s-sub { color: #9fadc8; font-size: 15.5px; line-height: 1.55; margin: 0 0 26px; max-width: 560px; }
.s-feats { display: grid; gap: 2px; margin-bottom: 26px; }
.s-feat { position: relative; text-align: left; background: none; border: 0; border-left: 2px solid rgba(255,255,255,.1); padding: 8px 0 8px 16px; color: #7f8daa; cursor: pointer; font: inherit; overflow: hidden; }
.s-feat b { display: block; font-size: 15px; font-weight: 600; transition: color .3s; }
.s-feat span { display: block; font-size: 13px; color: #8fa0bf; max-height: 0; opacity: 0; transition: max-height .4s, opacity .4s, margin .4s; }
.s-feat.on b { color: #fff; }
.s-feat.on span { max-height: 40px; opacity: 1; margin-top: 3px; }
.s-feat .s-bar { position: absolute; left: -2px; top: 0; width: 2px; height: 0; background: linear-gradient(#b9a4ff, #6aa1ff); }
.s-feat.on .s-bar { animation: sbar 4.2s linear forwards; }
@keyframes sbar { to { height: 100%; } }
.s-cta { display: flex; align-items: center; gap: 10px; }
.s-btn { background: #fff; color: #0d1424; border: 0; border-radius: 10px; padding: 11px 18px; font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; transition: transform .15s, box-shadow .2s; }
.s-btn span { display: inline-block; transition: transform .2s; }
.s-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 30px rgba(143, 123, 255, .35); }
.s-btn:hover span { transform: translateX(4px); }
.s-btn.ghost { background: rgba(255,255,255,.06); color: #fff; border: 1px solid rgba(255,255,255,.16); }
.s-cta kbd { font: 11px 'IBM Plex Mono', monospace; color: #7f8daa; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; padding: 2px 6px; }
.s-stats { margin-top: auto; display: flex; gap: 34px; padding: 0 0 5vh; }
.s-stats b { display: block; font-size: 28px; font-weight: 600; color: #fff; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.s-stats span { white-space: nowrap; font-size: 11px; color: #7f8daa; text-transform: uppercase; letter-spacing: .08em; }
.s-cmd { position: absolute; z-index: 2; right: 7vw; bottom: 7vh; width: 380px; display: flex; align-items: center; gap: 10px; padding: 13px 16px; border-radius: 14px;
  background: rgba(20, 28, 48, .72); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 60px rgba(0,0,0,.4);
  font-size: 14.5px; color: #fff; opacity: .55; transform: translateY(8px) scale(.98); transition: opacity .4s, transform .4s, border-color .4s; }
.s-cmd .spark { color: #b9a4ff; }
#splash[data-mode="ai"] .s-cmd { opacity: 1; transform: none; border-color: rgba(185, 164, 255, .6); box-shadow: 0 0 0 4px rgba(143, 123, 255, .15), 0 20px 60px rgba(0,0,0,.4); }
#splash[data-mode="ai"] .smap { opacity: .5; }
.smap { transition: opacity .4s; }
.s-caret { width: 2px; height: 17px; background: #b9a4ff; animation: scaret 1s steps(1) infinite; }
@keyframes scaret { 50% { opacity: 0; } }
@media (max-width: 900px) { .s-mapwrap { width: 120%; right: -40%; opacity: .5; } .s-cmd { display: none; } }
@media (prefers-reduced-motion: reduce) { .sarc, .sc .ping, .s-caret { animation: none; } .sarc { stroke-dashoffset: 0; } }

/* Destaques no topo da Visao geral */
.ovhl { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; margin-bottom: 14px; }
.ovhl button { display: flex; align-items: center; gap: 10px; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; cursor: pointer; font: inherit; min-width: 0; box-shadow: var(--shadow); transition: transform .15s, border-color .15s; }
.ovhl button:hover { transform: translateY(-1px); border-color: #d9d2fb; }
.ovhl button > div { min-width: 0; }
.ovhl b { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ovhl small { display: block; font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ovhl .k { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.ovhl .k.meet { background: #eb6834; } .ovhl .k.in { background: #2a78d6; } .ovhl .k.due { background: #e09a2d; }

/* Deals */
.dl-grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; align-items: start; }
.dl-side { display: grid; gap: 10px; }
.dl-new { border: 1.5px dashed #cfd3da; border-radius: 12px; background: #fff; padding: 18px 14px; display: grid; justify-items: center; gap: 4px; text-align: center; transition: border-color .15s, background .15s; }
.dl-new.over, .dl-new:hover { border-color: #8f7bff; background: #fbfaff; }
.dl-new.has { border-style: solid; border-color: #1baf7a; background: #f3fbf7; }
.dl-new b { font-size: 13px; word-break: break-word; }
.dl-new span { font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.dl-ic { width: 36px; height: 36px; border-radius: 10px; background: #f2efff; color: #6b54e0; display: grid; place-items: center; margin-bottom: 4px; }
.dl-side textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; font: inherit; font-size: 12.5px; resize: vertical; }
.dl-go { justify-content: center; }
.dl-list { display: grid; gap: 4px; margin-top: 6px; }
.dl-item { text-align: left; background: none; border: 1px solid transparent; border-radius: 8px; padding: 7px 10px; cursor: pointer; font: inherit; }
.dl-item:hover { background: #f4f5f7; }
.dl-item.on { background: #fff; border-color: var(--line); box-shadow: var(--shadow); }
.dl-item b { display: block; font-size: 13px; }
.dl-item small { font-size: 11.5px; color: var(--muted); }
.dl-main { display: grid; gap: 14px; min-width: 0; }
.dl-deal-h { display: flex; justify-content: space-between; align-items: flex-start; }
.dl-deal-h h2 { margin: 2px 0 10px; font-size: 20px; }
.dl-deal-h .muted { font-size: 12px; }
.dl-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dl-facts span { display: block; font-size: 11.5px; color: var(--muted); }
.dl-facts b { font-size: 14px; }
.dl-sum { margin: 10px 0 0; font-size: 13px; color: var(--ink-2); }
.dl-matches { display: grid; }
.dl-m { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-top: 1px solid #f1f2f4; }
.dl-m:first-child { border-top: 0; }
.dl-m input { margin-top: 6px; }
.dl-m .av { flex: none; }
.dl-m-b { flex: 1; min-width: 0; }
.dl-m-t { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.dl-m-t b { font-size: 13.5px; cursor: pointer; }
.dl-m-t b:hover { color: var(--brand); }
.dl-m-t .muted { font-size: 11.5px; }
.dl-m p { margin: 3px 0 2px; font-size: 12.5px; color: var(--ink-2); }
.dl-m small { font-size: 12px; color: #6b54e0; }
.fit { display: inline-flex; gap: 2px; margin-top: 5px; flex: none; }
.fit i { width: 6px; height: 14px; border-radius: 2px; background: #e6e7ea; }
.fit i.on { background: #6b54e0; }
.dl-mail b { display: block; font-size: 13px; margin-bottom: 6px; }
.dl-mail pre { white-space: pre-wrap; font: inherit; font-size: 13px; color: var(--ink-2); margin: 0; background: #f8f9fa; border-radius: 8px; padding: 10px 12px; }
.dl-empty { padding: 60px 20px; }
@media (max-width: 1000px) { .dl-grid { grid-template-columns: 1fr; } }

/* Sinais */
.sg-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; font-size: 12px; }
.sg-kinds { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.sg-kinds button { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 3px 10px; font: inherit; font-size: 12px; cursor: pointer; color: var(--ink-2); }
.sg-kinds button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.sg-feed { display: grid; gap: 10px; max-width: 900px; }
.sg-card { display: flex; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--shadow); transition: border-color .15s, transform .15s; }
.sg-card:hover { border-color: #d9d2fb; transform: translateY(-1px); }
.sg-card .av { flex: none; }
.sg-b { flex: 1; min-width: 0; }
.sg-t { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.sg-t b { font-size: 13.5px; cursor: pointer; }
.sg-t .muted { margin-left: auto; }
.sg-k { border-radius: 5px; padding: 0 7px; font-size: 11px; font-weight: 600; background: #f1f2f4; color: var(--ink-2); }
.sg-k.transacao { background: #e8f1fc; color: #1c5cab; }
.sg-k.captacao { background: #e7f7ef; color: #13784f; }
.sg-k.pessoas { background: #fdeee6; color: #a8461b; }
.sg-k.estrategia { background: #f2efff; color: #5a43c7; }
.sg-new { font-size: 10.5px; font-weight: 700; color: #fff; background: #eb6834; border-radius: 4px; padding: 0 5px; text-transform: uppercase; letter-spacing: .04em; }
.sg-h { margin: 6px 0 4px; font-size: 14px; font-weight: 500; }
.sg-why { margin: 0; font-size: 12.5px; color: var(--muted); display: flex; gap: 6px; }
.sg-why .spark { color: #8f7bff; }
.sg-act { display: flex; gap: 14px; margin-top: 8px; font-size: 12px; }
.sg-act a { color: var(--brand); text-decoration: none; }

/* Rascunhos da IA */
.rd-rules { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: -4px 0 14px; font-size: 12px; color: var(--muted); }
.rd-rules span { display: inline-flex; align-items: center; gap: 5px; }
.rd-rules .i { width: 13px; height: 13px; color: #1baf7a; }
.rd-list { display: grid; gap: 12px; max-width: 920px; }
.rd-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; box-shadow: var(--shadow); display: grid; gap: 10px; }
.rd-card.created { border-color: #bfe8d4; background: #fbfefc; }
.rd-card.conflict { border-color: #f3c9a8; }
.rd-head { display: flex; align-items: center; gap: 8px; }
.rd-head b { font-size: 14px; cursor: pointer; }
.rd-head .muted { font-size: 12px; }
.rd-st { margin-left: auto; font-size: 11.5px; font-weight: 600; border-radius: 6px; padding: 2px 8px; background: #f1f2f4; color: var(--ink-2); }
.rd-st.ok { background: #e7f7ef; color: #13784f; }
.rd-st.warn { background: #fdeee6; color: #a8461b; }
.rd-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; background: #f8f9fa; border-radius: 8px; padding: 8px 12px; }
.rd-facts > div { min-width: 0; }
.rd-facts span { display: block; font-size: 11px; color: var(--muted); }
.rd-facts b { font-size: 12.5px; font-weight: 500; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-card textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 13px; line-height: 1.55; resize: vertical; }
.rd-card textarea:focus { outline: 0; border-color: #8f7bff; box-shadow: 0 0 0 3px rgba(143, 123, 255, .15); }
.rd-act { display: flex; gap: 8px; align-items: center; }
.rd-act .link { margin-left: auto; }
.rd-warn { font-size: 12.5px; background: #fff6ef; border: 1px solid #f3c9a8; border-radius: 8px; padding: 8px 10px; color: #8a3a12; }
.rd-skip { margin: 0; font-size: 12.5px; }
.rd-h3 { font-size: 13px; color: var(--muted); margin: 22px 0 10px; font-weight: 600; }

/* Abas de visao dentro da tela (Attio/Linear views) */
.vtabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin: -4px 0 16px; }
.vtabs a { position: relative; padding: 8px 12px 10px; font-size: 13px; font-weight: 500; color: var(--muted); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; border-radius: 6px 6px 0 0; }
.vtabs a:hover { color: var(--ink); background: #f6f7f9; }
.vtabs a.on { color: var(--ink); }
.vtabs a.on::after { content: ''; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--ink); }
.vtabs em { font-style: normal; font-size: 11px; font-weight: 600; background: #f1f2f4; color: var(--ink-2); border-radius: 999px; padding: 0 7px; }
.vtabs a[href="#rascunhos"] em { background: #f2efff; color: #5a43c7; }
#nav .navtop { margin-bottom: 4px; }

/* Notas de reuniao */
.cp-notes textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font: inherit; font-size: 13px; line-height: 1.5; resize: vertical; }
.cp-notes textarea:focus { outline: 0; border-color: #8f7bff; box-shadow: 0 0 0 3px rgba(143, 123, 255, .15); }
.n-act { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.n-act .link { margin-left: auto; }
.n-res { display: grid; gap: 10px; }
.n-sum { font-size: 13px; color: var(--ink-2); line-height: 1.5; }
.n-sum > span { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--faint); margin-bottom: 3px; }
.n-task { display: flex; gap: 8px; align-items: baseline; font-size: 13px; padding: 2px 0; }
.n-task em { font-style: normal; color: var(--muted); font-size: 12px; }
.b-notes { display: inline-block; margin-top: 6px; font-size: 12.5px; }

/* Placar do deal */
.dl-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.dl-kpis > div { background: #f8f9fa; border-radius: 8px; padding: 8px 10px; }
.dl-kpis b { display: block; font-size: 20px; font-weight: 600; }
.dl-kpis span { font-size: 11.5px; color: var(--muted); }
.dl-kpis .ok b { color: #13784f; }
.dl-kpis .no b { color: #b8452c; }
.dl-funnel { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px; }
.dl-f { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 4px 8px; border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; cursor: pointer; }
.dl-f:hover { border-color: #d9d2fb; }
.dl-f b { font-size: 12.5px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dl-f small { grid-column: 2 / -1; font-size: 11.5px; color: var(--muted); }
.dl-st { font-size: 11px; font-weight: 600; border-radius: 5px; padding: 1px 7px; background: #f1f2f4; color: var(--muted); white-space: nowrap; }
.dl-st.ok { background: #e7f7ef; color: #13784f; }
.dl-st.mid { background: #e8f1fc; color: #1c5cab; }
.dl-st.no { background: #fdeee6; color: #a8461b; }

/* Compositor: campo de instrucao para a IA, separado do e-mail */
.c-ai { display: flex; align-items: center; gap: 8px; border: 1px solid #e6e0fb; background: linear-gradient(180deg, #fbfaff, #fff); border-radius: 10px; padding: 6px 6px 6px 12px; margin: 2px 0 4px; }
.c-ai:focus-within { border-color: #8f7bff; box-shadow: 0 0 0 3px rgba(143, 123, 255, .15); }
.c-ai .spark { color: #7a5fd6; }
.c-ai input { flex: 1; border: 0 !important; outline: 0; background: none; font: inherit; font-size: 13px; padding: 4px 0 !important; box-shadow: none !important; }
.c-ai .link { font-size: 12px; padding: 0 6px; }

/* Assistente (chat) - referencia: Claude.ai, ChatGPT, Linear Ask, Intercom */
.ch-orb { width: 28px; height: 28px; border-radius: 50%; flex: none; position: relative;
  background: radial-gradient(circle at 32% 30%, #fff 0 8%, transparent 9%), conic-gradient(from 210deg, #8f7bff, #6aa1ff, #1baf7a, #f2b43c, #8f7bff);
  box-shadow: 0 0 0 2px rgba(143, 123, 255, .15), 0 4px 14px rgba(107, 84, 224, .35); }
.ch-orb.sm { width: 22px; height: 22px; margin-top: 2px; }
.ch-orb.lg { width: 56px; height: 56px; margin: 0 auto 14px; animation: chfloat 4s ease-in-out infinite; }
.ch-orb.spin { animation: chspin 1.4s linear infinite; }
@keyframes chspin { to { transform: rotate(360deg); } }
@keyframes chfloat { 50% { transform: translateY(-4px); } }
.ch-fab { position: fixed; right: 22px; bottom: 22px; z-index: 60; display: inline-flex; align-items: center; gap: 10px; padding: 8px 10px 8px 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; cursor: pointer;
  background: #14182b; color: #fff; font: 600 13.5px Inter, system-ui, sans-serif; box-shadow: 0 10px 30px rgba(20, 24, 43, .3); transition: transform .15s, box-shadow .2s; }
.ch-fab .ch-orb { width: 26px; height: 26px; }
.ch-fab kbd { font: 500 10.5px 'IBM Plex Mono', monospace; color: #8090ad; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; padding: 1px 5px; }
.ch-fab:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(107, 84, 224, .4); }
.ch-fab.hide { display: none; }
.ch-panel { position: fixed; top: 10px; right: 10px; bottom: 10px; width: min(460px, calc(100vw - 20px)); z-index: 70; background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 24px 70px rgba(16, 24, 40, .18); display: flex; flex-direction: column; overflow: hidden; transform: translateX(calc(100% + 30px)); transition: transform .28s cubic-bezier(.2, .8, .2, 1), width .25s; }
.ch-panel.open { transform: none; }
.ch-panel.wide { width: min(780px, calc(100vw - 20px)); }
.ch-head { display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--line); }
.ch-title { flex: 1; min-width: 0; display: grid; }
.ch-title b { font-size: 14px; }
.ch-title span { font-size: 11.5px; color: var(--muted); display: flex; align-items: center; gap: 5px; }
.ch-live { width: 6px; height: 6px; border-radius: 50%; background: #1baf7a; box-shadow: 0 0 0 3px rgba(27, 175, 122, .15); }
.ch-hb { width: 30px; height: 30px; border-radius: 8px; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: 16px; }
.ch-hb:hover { background: #f1f2f4; color: var(--ink); }
.ch-body { flex: 1; overflow: auto; padding: 18px 18px 8px; display: flex; flex-direction: column; gap: 14px; scroll-behavior: smooth; }
.ch-panel.wide .ch-body { padding: 22px 48px 8px; }
.ch-hello { text-align: center; margin: auto 0; padding: 10px 0 20px; }
.ch-hello h3 { font-size: 22px; letter-spacing: -.01em; margin: 0 0 6px; }
.ch-hello p { color: var(--muted); margin: 0 auto 20px; font-size: 13.5px; max-width: 320px; line-height: 1.5; }
.ch-sugg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; text-align: left; }
.ch-sugg button { display: grid; gap: 3px; text-align: left; justify-items: start; align-content: start; border: 1px solid var(--line); background: #fff; border-radius: 12px; padding: 12px; font: inherit; cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; }
.ch-sugg button:hover { border-color: #c9bdfb; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(107, 84, 224, .1); }
.ch-sugg .ic { width: 26px; height: 26px; border-radius: 8px; background: #f2efff; color: #6b54e0; display: grid; place-items: center; font-size: 13px; margin-bottom: 4px; }
.ch-sugg b { font-size: 13px; }
.ch-sugg small { font-size: 11.5px; color: var(--muted); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ch-row { display: flex; gap: 10px; align-items: flex-start; }
.ch-row.me { justify-content: flex-end; }
.ch-m { font-size: 13.5px; line-height: 1.6; word-wrap: break-word; min-width: 0; }
.ch-m.me { max-width: 85%; background: #f1f2f4; color: var(--ink); padding: 9px 14px; border-radius: 16px 16px 4px 16px; }
.ch-m.ai { flex: 1; color: var(--ink-2); }
.ch-m.ai.err { color: #a8461b; }
.ch-m.ai p { margin: 0 0 8px; }
.ch-m.ai h4 { margin: 12px 0 6px; font-size: 13.5px; color: var(--ink); }
.ch-m.ai ul, .ch-m.ai ol { margin: 0 0 8px; padding-left: 20px; }
.ch-m.ai li { margin: 0 0 4px; }
.ch-m.ai li::marker { color: #7a5fd6; }
.ch-m.ai b { color: var(--ink); }
.ch-m.ai code { font: 12px 'IBM Plex Mono', monospace; background: #f4f5f7; padding: 1px 5px; border-radius: 4px; }
.typein { animation: chtype .35s ease both; }
@keyframes chtype { from { opacity: 0; transform: translateY(4px); } }
.ch-cos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ch-cos button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 3px 10px 3px 3px; font: inherit; font-size: 12px; cursor: pointer; }
.ch-cos button:hover { border-color: #c9bdfb; background: #fbfaff; }
.ch-cos .av { width: 20px; height: 20px; font-size: 8px; }
.ch-acts { margin-top: 4px; opacity: 0; transition: opacity .15s; }
.ch-row.ai:hover .ch-acts { opacity: 1; }
.ch-acts button { border: 0; background: none; color: var(--faint); font: inherit; font-size: 11.5px; cursor: pointer; padding: 2px 4px; border-radius: 5px; }
.ch-acts button:hover { background: #f1f2f4; color: var(--ink); }
.ch-step { font-size: 13px; padding-top: 3px; }
.shimmer { background: linear-gradient(90deg, #8a93a3 0%, #8a93a3 40%, #6b54e0 50%, #8a93a3 60%, #8a93a3 100%); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: chshim 1.6s linear infinite; }
@keyframes chshim { from { background-position: 100% 0; } to { background-position: -100% 0; } }
.ch-in { padding: 10px 14px 14px; }
.ch-box { border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 2px 10px rgba(16, 24, 40, .05); transition: border-color .15s, box-shadow .15s; }
.ch-box:focus-within { border-color: #a99af5; box-shadow: 0 0 0 4px rgba(143, 123, 255, .12); }
.ch-box textarea { width: 100%; box-sizing: border-box; resize: none; border: 0; outline: 0; background: none; padding: 12px 14px 4px; font: inherit; font-size: 14px; max-height: 160px; }
.ch-tools { display: flex; align-items: center; gap: 8px; padding: 4px 6px 6px 8px; }
.ch-mic { border: 0; background: none; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; padding: 4px 8px; border-radius: 8px; }
.ch-mic:hover { background: #f1f2f4; color: var(--ink); }
.ch-mic.on { background: #fdeee6; color: #a8461b; animation: chpulse 1.2s infinite; }
@keyframes chpulse { 50% { box-shadow: 0 0 0 4px rgba(235, 104, 52, .18); } }
.ch-hint { font-size: 11px; color: var(--faint); margin-left: auto; }
.ch-send { width: 32px; height: 32px; border-radius: 10px; border: 0; background: #14182b; color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; flex: none; }
.ch-send:disabled { opacity: .35; cursor: default; }
@media (max-width: 600px) { .ch-sugg { grid-template-columns: 1fr; } .ch-hint, .ch-fab-t, .ch-fab kbd { display: none; } }
@media print { .ch-fab, .ch-panel { display: none !important; } }

/* Tela de login (site publico) */
.s-note { margin: 14px 0 0; font-size: 12.5px; color: #7f8daa; max-width: 460px; line-height: 1.5; }
.s-btn .ms-logo { display: inline-grid; transition: none; transform: none !important; grid-template-columns: 7px 7px; gap: 1.5px; margin-right: 10px; vertical-align: -1px; }
.s-btn .ms-logo i { width: 7px; height: 7px; display: block; }
.ms-logo i:nth-child(1) { background: #f25022; } .ms-logo i:nth-child(2) { background: #7fba00; }
.ms-logo i:nth-child(3) { background: #00a4ef; } .ms-logo i:nth-child(4) { background: #ffb900; }
#splash.login .s-btn { padding: 13px 22px; font-size: 15px; }
.s-err { margin: 14px 0 0; max-width: 520px; font-size: 12.5px; line-height: 1.5; color: #ffb4a3; background: rgba(224, 83, 63, .12); border: 1px solid rgba(224, 83, 63, .35); border-radius: 10px; padding: 10px 12px; word-break: break-word; }

/* Primeira carga no modo ao vivo */
.loadin { max-width: 520px; margin: 9vh auto 0; text-align: center; padding: 0 16px; }
.ld-ring { width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; color: #7a5fd6;
  background: conic-gradient(from 0deg, #8f7bff, #6aa1ff, #1baf7a, #8f7bff); animation: ldspin 2.2s linear infinite; position: relative; }
.ld-ring::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--bg, #fff); }
.ld-ring .spark { position: relative; z-index: 1; animation: ldspin 2.2s linear infinite reverse; }
@keyframes ldspin { to { transform: rotate(360deg); } }
.loadin h2 { font-size: 22px; margin: 0 0 6px; letter-spacing: -.01em; }
.loadin > p { color: var(--muted); font-size: 13.5px; margin: 0 0 18px; line-height: 1.5; }
.ld-bar { height: 6px; background: #eceef1; border-radius: 99px; overflow: hidden; }
.ld-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #8f7bff, #6aa1ff); transition: width .6s ease; }
.ld-n { font: 500 12px 'IBM Plex Mono', monospace; color: var(--muted); margin: 8px 0 18px; }
.ld-steps { list-style: none; padding: 0; margin: 0 auto; display: inline-grid; gap: 6px; text-align: left; font-size: 13px; color: var(--faint); }
.ld-steps li::before { content: '○'; margin-right: 8px; }
.ld-steps li.on { color: var(--ink); } .ld-steps li.on::before { content: '◐'; color: #7a5fd6; }
.ld-steps li.ok { color: var(--muted); } .ld-steps li.ok::before { content: '✓'; color: #1baf7a; }
.ld-hint { font-size: 12px !important; color: var(--faint) !important; margin-top: 18px !important; }
.cu-bul { margin: 8px 0 2px; padding: 0; list-style: none; display: grid; gap: 5px; font-size: 13px; line-height: 1.5; }
.cu-bul li { position: relative; padding-left: 16px; }
.cu-bul li::before { content: ''; position: absolute; left: 3px; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: #8f7bff; }
.cu-bul b { color: var(--ink); }

/* Logo da Tikva */
.tk-logo { display: inline-block; width: 28px; height: 28px; flex: none; border-radius: 9px; box-shadow: 0 4px 14px rgba(107, 84, 224, .3); }
.tk-logo svg { display: block; width: 100%; height: 100%; }
.tk-logo.sm { width: 22px; height: 22px; border-radius: 7px; margin-top: 2px; box-shadow: none; }
.tk-logo.lg { width: 60px; height: 60px; border-radius: 18px; margin: 0 auto 14px; display: block; animation: chfloat 4s ease-in-out infinite; box-shadow: 0 12px 30px rgba(107, 84, 224, .35); }
.tk-logo.think { animation: tkthink 1.2s ease-in-out infinite; }
@keyframes tkthink { 50% { transform: scale(.88); opacity: .7; } }
.ch-fab .tk-logo { width: 26px; height: 26px; box-shadow: none; }

/* Selo de anuncio da tela de entrada (estilo Linear/Vercel) */
.s-eyebrow { align-items: center; gap: 8px; padding: 4px 12px 4px 4px; cursor: default; transition: border-color .2s, background .2s; }
.s-eyebrow:hover { border-color: rgba(185, 164, 255, .45); background: rgba(185, 164, 255, .08); }
.s-new { font-size: 11px; font-weight: 600; color: #fff; background: linear-gradient(90deg, #6b54e0, #3987e5); border-radius: 999px; padding: 2px 9px; }
.s-arr { color: #8090ad; transition: transform .2s; }
.s-eyebrow:hover .s-arr { transform: translateX(3px); color: #fff; }

/* Notas do Granola na pagina da empresa */
.gn-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.gn { border: 1px solid var(--line, #e6e8ee); border-radius: 10px; padding: 8px 12px; background: var(--panel, #fff); }
.gn summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; font-size: 13px; }
.gn summary::-webkit-details-marker { display: none; }
.gn summary .muted { margin-left: auto; font-size: 12px; }
.gn-dot { width: 20px; height: 20px; border-radius: 6px; background: #1f2a24; color: #c8f2a8; font: 700 11px/20px system-ui; text-align: center; flex: none; }
.gn .cp-sum { margin: 10px 0 6px; font-size: 13px; }

/* Tikva em tela cheia: conversas salvas a esquerda, conversa centralizada (estilo Claude/ChatGPT) */
.ch-body > .ch-col { flex: 1 0 auto; display: flex; flex-direction: column; gap: 14px; }
.tk-page { display: grid; grid-template-columns: 264px 1fr; height: calc(100vh - 56px); margin: -24px -28px -64px; background: #fff; }
.tk-side { border-right: 1px solid var(--line); background: var(--surface-2); padding: 14px 10px; display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.tk-new { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--ink); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.tk-new:hover { border-color: #a99af5; box-shadow: 0 0 0 3px rgba(143, 123, 255, .1); }
.tk-list { overflow: auto; display: flex; flex-direction: column; gap: 2px; margin: 0 -2px; }
.tk-item { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 8px; cursor: pointer; font-size: 13px; color: var(--ink-2); }
.tk-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-item small { color: var(--faint); font-size: 11.5px; }
.tk-item:hover { background: #ececef; }
.tk-item.on { background: #e8e6f8; color: var(--ink); font-weight: 500; }
.tk-del { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: none; border: 0; background: #fff; color: var(--muted); width: 22px; height: 22px; border-radius: 6px; cursor: pointer; font-size: 15px; line-height: 1; }
.tk-item:hover .tk-del { display: block; }
.tk-item:hover small { visibility: hidden; }
.tk-del:hover { color: var(--red); }
.tk-none { color: var(--faint); font-size: 12.5px; padding: 8px 10px; margin: 0; }
.tk-main { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.tk-main .ch-body { padding: 32px 24px 8px; }
.tk-main .ch-col, .tk-main .ch-in { width: 100%; max-width: 780px; margin: 0 auto; box-sizing: border-box; }
.tk-main .ch-in { padding: 10px 24px 20px; max-width: 828px; }
.tk-main .ch-m.ai { font-size: 14.5px; line-height: 1.6; }
.tk-main .ch-box textarea { max-height: 220px; font-size: 15px; }
.ch-m hr { border: 0; border-top: 1px solid var(--line); margin: 12px 0; }
.ch-m a { color: var(--brand); }
/* Fontes da pesquisa na web e atalho para os rascunhos criados */
.ch-src { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.ch-src span { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--faint); margin-right: 2px; }
.ch-src a { font-size: 12px; color: var(--ink-2); background: var(--surface-2); border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; text-decoration: none; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ch-src a:hover { border-color: #a99af5; color: var(--ink); }
.ch-outlook { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: #0f6cbd; background: #eef5fc; border: 1px solid #cfe2f6; border-radius: 8px; padding: 5px 10px; text-decoration: none; }
.ch-outlook:hover { background: #e2eefa; }
@media (max-width: 760px) { .tk-page { grid-template-columns: 1fr; margin: -16px; height: calc(100vh - 100px); } .tk-side { display: none; } }

/* Cartoes de e-mail do redator e proximos passos na conversa da Tikva */
.tk-sp { width: 22px; flex: none; }
.em-cards { flex: 1; min-width: 0; display: grid; gap: 10px; }
.em-card { border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 1px 3px rgba(16, 24, 40, .05); overflow: hidden; }
.em-h { display: flex; align-items: center; gap: 8px; padding: 10px 14px 0; font-size: 13px; }
.em-n { font-size: 11px; font-weight: 600; color: #5b47c9; background: var(--violet-soft); border-radius: 999px; padding: 2px 8px; }
.em-s { padding: 8px 14px 0; font-size: 13px; color: var(--ink); }
.em-s span { color: var(--faint); margin-right: 8px; font-size: 12px; }
.em-b { padding: 10px 14px 12px; font-size: 13.5px; line-height: 1.55; white-space: pre-wrap; color: var(--ink-2); border-bottom: 1px solid var(--line-2); }
.em-a { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px; background: var(--surface-2); }
.em-a button, .ch-next button { font: inherit; font-size: 12.5px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); border-radius: 8px; padding: 5px 10px; cursor: pointer; }
.em-a button:hover, .ch-next button:hover { border-color: #a99af5; color: var(--ink); }
.em-a button.pri { background: #16191f; color: #fff; border-color: #16191f; }
.em-a button.pri:hover { background: #2b303a; color: #fff; }
.ch-next { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 32px; }
.ch-next button { border-radius: 999px; }
.kpis.tabs5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 900px) { .kpis.tabs5 { grid-template-columns: repeat(2, 1fr); } }

/* Planilha gerada pela Tikva */
.sh-card { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 10px 12px; box-shadow: 0 1px 3px rgba(16, 24, 40, .05); }
.sh-ic { width: 34px; height: 34px; border-radius: 8px; background: #e7f4ec; color: #1d7a45; display: grid; place-items: center; font-size: 18px; flex: none; }
.sh-card div { display: grid; flex: 1; min-width: 0; }
.sh-card small { color: var(--muted); font-size: 12px; }
.sh-card button { font: inherit; font-size: 12.5px; font-weight: 600; border: 1px solid #1d7a45; background: #1d7a45; color: #fff; border-radius: 8px; padding: 6px 12px; cursor: pointer; }
.sh-card button:hover { background: #17663a; }

/* Agenda em semana (estilo Outlook) */
.wk { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 16px; overflow: hidden; }
.wk-bar { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.wk-bar .btn.icon { width: 30px; padding: 0; justify-content: center; font-size: 16px; }
.wk-bar b { font-size: 14px; margin-left: 4px; }
.wk-key { margin-left: auto; display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.wk-key i { width: 10px; height: 10px; border-radius: 3px; margin-left: 8px; border: 1px solid; }
.wk-key i.co, .wk-ev.co { background: var(--accent-soft); border-color: var(--accent); }
.wk-key i.ext, .wk-ev.ext { background: var(--brand-soft); border-color: var(--brand); }
.wk-key i.int, .wk-ev.int { background: var(--line-2); border-color: var(--faint); }
.wk-scroll { overflow-x: auto; }
.wk-in { min-width: 620px; }
.wk-head, .wk-allrow, .wk-grid { display: grid; grid-template-columns: var(--cols); }
.wk-head, .wk-allrow { border-bottom: 1px solid var(--line); }
.wk-head > div { padding: 8px 8px 6px; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; text-transform: capitalize; }
.wk-head b { font-size: 18px; color: var(--ink); font-weight: 600; }
.wk-head .today b { background: var(--accent); color: #fff; border-radius: 999px; min-width: 28px; height: 28px; display: inline-grid; place-items: center; font-size: 14px; }
.wk-head .today span { color: var(--accent-ink); font-weight: 600; }
.wk-allrow > div { border-left: 1px solid var(--line-2); padding: 3px; display: grid; gap: 2px; align-content: start; }
.wk-allrow .wk-ev { position: static; }
.wk-allrow > .wk-t { font-size: 11px; color: var(--faint); text-align: right; padding: 6px 6px 0 0; border-left: 0; }
.wk-body { overflow-y: auto; max-height: 620px; }
.wk-grid { position: relative; background-image: repeating-linear-gradient(to bottom, var(--line-2) 0 1px, transparent 1px 48px); }
.wk-hours { position: relative; }
.wk-hours div { position: absolute; right: 6px; transform: translateY(-6px); font-size: 11px; color: var(--faint); }
.wk-hours div:first-child { transform: none; }
.wk-col { position: relative; border-left: 1px solid var(--line); }
.wk-col.today { background: color-mix(in srgb, var(--accent-soft) 45%, transparent); }
.wk-ev { position: absolute; display: flex; flex-direction: column; gap: 1px; padding: 3px 6px; border-radius: 6px; border: 0; border-left: 3px solid; overflow: hidden;
  font-size: 12px; line-height: 1.25; color: var(--ink); text-decoration: none; cursor: default; box-sizing: border-box; }
a.wk-ev { cursor: pointer; }
a.wk-ev:hover { filter: brightness(.97); box-shadow: var(--shadow); z-index: 2; }
.wk-ev b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wk-ev span { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.wk-now { position: absolute; left: 0; right: 0; border-top: 2px solid var(--red); z-index: 3; pointer-events: none; }
.wk-now::before { content: ''; position: absolute; left: -5px; top: -6px; width: 10px; height: 10px; border-radius: 50%; background: var(--red); }

/* Tikva: cartoes de trabalho (filas, rascunhos, to-dos, planos, listas) */
.wc { width: 100%; max-width: 720px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); overflow: hidden; }
.wc-h { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line-2); }
.wc-h > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wc-h b { font-size: 14px; color: var(--ink); }
.wc-h small { color: var(--muted); font-size: 12px; }
.wc-ic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent-ink); font-size: 15px; flex: none; }
.wc-dr .wc-ic { background: var(--brand-soft); color: var(--brand); }
.wc-td .wc-ic { background: var(--green-soft); color: var(--green); }
.wc-plan .wc-ic { background: var(--violet-soft); color: var(--violet); }
.wc button, .wc a.wc-pri { font: inherit; font-size: 12px; padding: 5px 10px; border-radius: 7px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); cursor: pointer; white-space: nowrap; text-decoration: none; }
.wc button:hover { background: var(--surface-2); border-color: var(--faint); }
.wc .wc-pri { background: var(--ink); border-color: var(--ink); color: #fff; }
.wc .wc-pri:hover { background: var(--ink-2); }
.wc-list { max-height: 420px; overflow-y: auto; }
.wc-it { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid var(--line-2); }
.wc-it:last-child { border-bottom: 0; }
.wc-it.done { opacity: .6; }
.wc-it.bad .wc-st { color: var(--red); background: var(--red-soft); }
.wc-co { border: 0 !important; padding: 0 !important; background: none !important; }
.wc-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wc-tx b { font-size: 13px; font-weight: 600; }
.wc-tx small { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-b { display: flex; gap: 6px; flex: none; }
.wc-st { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 700; flex: none; }
.wc-ok { color: var(--green); font-size: 12px; font-weight: 600; white-space: nowrap; }
.wc-f { display: flex; gap: 8px; align-items: center; padding: 10px 14px; background: var(--surface-2); border-top: 1px solid var(--line-2); flex-wrap: wrap; }
.wc-steps { list-style: none; margin: 0; padding: 4px 0; counter-reset: st; }
.wc-steps li { display: flex; align-items: center; gap: 10px; padding: 8px 14px; counter-increment: st; }
.wc-steps li::before { content: counter(st); width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--violet); color: var(--violet); display: grid; place-items: center; font-size: 11px; font-weight: 700; flex: none; }
.wc-steps li > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wc-steps b { font-size: 13px; font-weight: 600; }
.wc-steps small { color: var(--muted); font-size: 12px; }
.wc-steps li button { opacity: 0; transition: opacity .15s; }
.wc-steps li:hover button { opacity: 1; }
.wc-due { font-size: 11px; color: var(--violet); background: var(--violet-soft); padding: 2px 7px; border-radius: 999px; white-space: nowrap; }
.wc-table { overflow-x: auto; max-height: 460px; overflow-y: auto; }
.wc-table table { border-collapse: collapse; font-size: 12px; width: 100%; }
.wc-table th { position: sticky; top: 0; background: var(--surface-2); text-align: left; font-weight: 600; color: var(--muted); padding: 7px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.wc-table td { padding: 6px 10px; border-bottom: 1px solid var(--line-2); max-width: 240px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); }
.wc-mail { color: var(--brand); }
@media (max-width: 640px) { .wc-it { flex-wrap: wrap; } .wc-b { width: 100%; padding-left: 40px; } .wc-steps li button { opacity: 1; } }

/* Agenda: filtros, itens curtos e detalhes */
.wk-key { display: none; }
.wk-fs { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 12px; border-bottom: 1px solid var(--line); }
.wk-f { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 12px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); cursor: pointer; }
.wk-f i { width: 12px; height: 12px; border-radius: 3px; border: 1.5px solid var(--faint); }
.wk-f em { font-style: normal; color: var(--faint); }
.wk-f.on { color: var(--ink); border-color: var(--faint); }
.wk-f.co.on i { background: var(--accent); border-color: var(--accent); }
.wk-f.ext.on i { background: var(--brand); border-color: var(--brand); }
.wk-f.int.on i { background: var(--faint); border-color: var(--faint); }
.wk-f.outro.on i { background: var(--violet); border-color: var(--violet); }
.wk-f.rec.on i { background: var(--red); border-color: var(--red); }
.wk-grid { background-image: repeating-linear-gradient(to bottom, var(--line-2) 0 1px, transparent 1px 56px); }
.wk-ev { cursor: pointer; font-size: 12.5px; }
.wk-ev:hover, .wk-ev:focus-visible { box-shadow: var(--shadow-lg); z-index: 4; outline: none; min-width: 180px; height: auto !important; }
.wk-ev.short { justify-content: center; padding: 1px 6px; }
.wk-ev.short b { font-size: 11.5px; font-weight: 500; }
.wk-ev.outro { background: var(--violet-soft); border-color: var(--violet); }
.wk-ev.rec { opacity: .55; text-decoration: line-through; }
.wk-pop { position: fixed; z-index: 60; width: 320px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-lg); padding: 14px 16px; }
.wk-pop b { display: block; font-size: 15px; padding-right: 20px; margin-bottom: 4px; }
.wk-pop p { margin: 2px 0; font-size: 13px; }
.wk-pa { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.wk-x { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 18px; color: var(--muted); cursor: pointer; }

/* Empresa: quem do time fala com eles */
.cp-team { display: flex; gap: 10px; align-items: flex-start; background: var(--brand-soft); border: 1px solid color-mix(in srgb, var(--brand) 25%, transparent); border-radius: var(--radius); padding: 10px 14px; margin: 0 0 16px; font-size: 13px; }
.cp-team svg { color: var(--brand); margin-top: 2px; flex: none; }
.cp-team div { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; }
.cp-team b { color: var(--ink); margin-right: 4px; }
.cp-team span { color: var(--ink-2); }

/* Campanhas: mural */
.cm-actions { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.cm-back { font-size: 12px; color: var(--muted); text-decoration: none; display: inline-block; margin-bottom: 4px; }
.cm-back:hover { color: var(--ink); }
.cm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.cm-card { display: flex; flex-direction: column; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
.cm-card:hover { border-color: var(--brand); transform: translateY(-1px); }
.cm-card.arq { opacity: .65; }
.cm-top { display: flex; align-items: flex-start; gap: 8px; justify-content: space-between; }
.cm-top b { font-size: 14px; color: var(--ink); line-height: 1.3; }
.cm-meta { font-size: 12px; color: var(--muted); }
.cm-rev { display: inline-flex; align-items: center; gap: 4px; flex: none; font-size: 11px; color: var(--muted); background: var(--line-2); border-radius: 99px; padding: 2px 8px; white-space: nowrap; }
.cm-rev .i { width: 12px; height: 12px; }
.cm-rev.due { background: var(--amber-soft); color: var(--amber); font-weight: 600; }
.cm-bar { display: flex; gap: 2px; height: 8px; border-radius: 99px; overflow: hidden; background: var(--line-2); margin: 2px 0 6px; }
.cm-bar i { display: block; min-width: 4px; }
.cm-b-ok { background: var(--green); } .cm-b-cob { background: var(--amber); } .cm-b-esp { background: #c9ced6; } .cm-b-erro { background: var(--red); } .cm-b-fim { background: #9aa1ad; }
.cm-nums { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--ink-2); }
.cm-nums b { color: var(--ink); } .cm-nums .g b { color: var(--green); } .cm-nums .r b { color: var(--red); }
.cm-novo h3 { margin-bottom: 10px; }
.cm-levas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; font-size: 12px; }
.cm-levas small { color: var(--muted); margin-left: 4px; }
.cm-novo tr[data-nk] { cursor: pointer; }
.cm-create { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-top: 12px; }
.cm-create label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); }
.cm-create input#cmNome { min-width: 280px; }
.cm-create .cm-ck { flex-direction: row; align-items: center; gap: 6px; padding-bottom: 8px; }
.cm-sub { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 12px; }
.cm-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.cm-tabs small, .cm-levas small { color: var(--muted); margin-left: 3px; }
.chip.on small { color: rgba(255,255,255,.65); }
.cm-revin { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.cm-revin .i { width: 14px; height: 14px; }
.cm-table td { vertical-align: top; }
.cm-table .co small { display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-st { display: inline-block; font-size: 11px; font-weight: 600; border-radius: 99px; padding: 2px 8px; white-space: nowrap; }
.cm-st.g { background: var(--green-soft); color: var(--green); } .cm-st.v { background: var(--violet-soft); color: var(--violet); }
.cm-st.a { background: var(--amber-soft); color: var(--amber); } .cm-st.n { background: var(--line-2); color: var(--ink-2); }
.cm-st.r { background: var(--red-soft); color: var(--red); } .cm-st.x { background: var(--line-2); color: var(--muted); text-decoration: line-through; }
.cm-when { display: block; margin-top: 3px; font-size: 11px; }
.cm-last { max-width: 380px; font-size: 12px; }
.cm-last small { display: block; }
.cm-last span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink-2); }
.cm-do { white-space: nowrap; text-align: right; }
.cm-do .btn { margin-left: 4px; }
.cm-due { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.cm-due a { display: flex; align-items: center; gap: 8px; background: var(--amber-soft); border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent); border-radius: var(--radius); padding: 9px 14px; font-size: 13px; color: var(--ink); text-decoration: none; }
.cm-due a .i { color: var(--amber); width: 15px; height: 15px; }
.cm-due a span { color: var(--ink-2); }
@media (max-width: 700px) { .cm-last { display: none; } .cm-create input#cmNome { min-width: 0; width: 100%; } }

/* Visao geral: quadro de tempo desde o ultimo contato */
.ag-f { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; align-items: center; }
.ag-sep { width: 1px; height: 18px; background: var(--line); margin: 0 4px; }
.agb { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.agc { background: var(--line-2); border-radius: 10px; padding: 10px 8px 8px; min-width: 0; }
.agc-h { display: flex; align-items: center; gap: 7px; font-size: 12.5px; padding: 0 4px 8px; }
.agc-h i { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.agc-h span { margin-left: auto; color: var(--muted); font-variant-numeric: tabular-nums; }
.agc-l { display: grid; gap: 3px; }
.agi { display: flex; align-items: center; gap: 8px; width: 100%; padding: 5px 6px; border: 0; border-radius: 7px; background: var(--surface); cursor: pointer; text-align: left; font: inherit; font-size: 12.5px; color: var(--ink); }
.agi:hover { box-shadow: 0 0 0 1px var(--line); }
.agi .av { width: 20px; height: 20px; font-size: 10px; flex: none; }
.agi .n { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.agi .m { color: var(--muted); font-variant-numeric: tabular-nums; font-size: 11.5px; }
.agm { font-size: 12px; margin: 6px 4px 0; }
@media (max-width: 900px) { .agb { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .agb { grid-template-columns: 1fr; } }

/* Tela do dia: placar (sequencia, meta da semana) */
.s-stats .s-goal { display: block; width: 120px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.12); margin: 6px 0 4px; overflow: hidden; }
.s-stats .s-goal i { display: block; height: 100%; background: #e2b36b; border-radius: 2px; }
.s-stats small { font-size: 15px; color: #7f8daa; font-weight: 500; }
.s-stats .s-fire { font-size: 20px; margin-right: 2px; }

/* Visao geral mais compacta no topo; colunas do quadro nunca passam da tela */
.ov-grid > * { min-width: 0; }
.agb, .agc, .agc-l { min-width: 0; }
.ov-head { margin-bottom: 12px; }
.ov-head h1 { font-size: 19px; }
.ov-head p { font-size: 12.5px; margin-top: 2px; }
.ov-kpis { gap: 8px; margin-bottom: 14px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.ov-kpis .kpi { padding: 8px 12px; box-shadow: none; }
.ov-kpis .kpi span { font-size: 11px; }
.ov-kpis .kpi b { font-size: 18px; margin-top: 1px; }
.ov-kpis .kpi small { font-size: 10.5px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ovhl { margin-bottom: 10px; }
.ovhl button { padding: 6px 10px; }

/* Tela de entrada em telas baixas (notebook, barra do Windows): tudo cabe na altura; se faltar, rola em vez de cortar */
.s-left { overflow-y: auto; scrollbar-width: none; padding-top: clamp(28px, 11vh, 14vh); padding-bottom: 24px; }
.s-left::-webkit-scrollbar { display: none; }
@media (max-height: 860px) {
  #splash h1 { font-size: clamp(30px, 3.2vw, 46px); margin: 12px 0 10px; }
  .s-sub { font-size: 14.5px; margin-bottom: 16px; }
  .s-feats { margin-bottom: 16px; }
  .s-feat { padding: 5px 0 5px 14px; }
  .s-note { margin-top: 10px; }
  .s-stats { padding-bottom: 2vh; }
}
@media (max-height: 700px) {
  .s-left { padding-top: 24px; }
  #splash h1 { font-size: clamp(26px, 2.8vw, 38px); }
  .s-sub { font-size: 13.5px; line-height: 1.45; }
  .s-feat b { font-size: 14px; }
  .s-feat span { font-size: 12px; }
}

/* ---------- Time: painel aberto para todos ---------- */
.tm-wk { display: flex; align-items: center; gap: 8px; }
.tm-wk b { font-size: 13px; min-width: 120px; text-align: center; }
.tm-sum { display: flex; gap: 10px; align-items: flex-start; background: var(--accent-soft); color: #5e4724; border-radius: var(--radius); padding: 10px 14px; margin-bottom: 12px; font-size: 13.5px; }
.tm-sum p { margin: 0; line-height: 1.5; }
.tm-sum svg { flex: none; margin-top: 2px; color: var(--accent-ink); }
.tm-up { color: var(--green); font-size: 11px; }
.tm-down { color: var(--red); font-size: 11px; }
.tm-board { display: grid; gap: 4px; }
.tm-row { display: grid; grid-template-columns: 22px 34px minmax(140px, 1.4fr) minmax(150px, 1.2fr) repeat(4, 74px) 100px; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px; }
.tm-row:nth-child(odd) { background: var(--surface-2); }
.tm-row.me { box-shadow: inset 0 0 0 1px var(--accent); background: var(--accent-soft); }
.tm-pos { color: var(--faint); font-variant-numeric: tabular-nums; font-weight: 600; text-align: center; }
.tm-av { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--side); color: #fff; font-size: 12px; font-weight: 650; }
.tm-who { min-width: 0; display: grid; }
.tm-who b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.tm-who small { font-size: 11.5px; }
.tm-goal b { font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; }
.tm-goal small { color: var(--muted); font-size: 11.5px; margin-left: 2px; }
.tm-bar { display: block; height: 5px; border-radius: 3px; background: var(--line); margin-top: 4px; overflow: hidden; }
.tm-bar i { display: block; height: 100%; border-radius: 3px; background: var(--accent); }
.tm-n { display: grid; text-align: right; }
.tm-n b { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.tm-n small { color: var(--muted); font-size: 11px; white-space: nowrap; }
.tm-trend { color: var(--brand); display: flex; justify-content: flex-end; }
.tm-deals { display: grid; gap: 8px; }
.tm-deal { display: block; border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; color: inherit; text-decoration: none; }
.tm-deal:hover { border-color: var(--accent); }
.tm-deal-h { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.tm-deal-h b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tm-funnel { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.tm-funnel span { font-size: 11px; color: var(--ink-2); background: var(--line-2); border-radius: 6px; padding: 2px 7px; }
.tm-funnel span b { margin-right: 4px; font-variant-numeric: tabular-nums; }
.tm-funnel .st-interessado, .tm-funnel .st-nda, .tm-funnel .st-analise, .tm-funnel .st-proposta { background: var(--green-soft); color: var(--green); }
.tm-funnel .st-fechado { background: var(--green); color: #fff; }
.tm-funnel .st-recusou { background: var(--red-soft); color: var(--red); }
.tm-funnel span.z { background: var(--line-2); color: var(--muted); opacity: .6; }
.tm-feed { display: grid; gap: 10px; }
.tm-ev { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; }
.tm-ev small { display: block; font-size: 11.5px; }
.tm-ev .link { font-size: inherit; padding: 0; }
.tm-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; margin-top: 6px; background: var(--faint); }
.tm-dot.meet { background: var(--violet); }
.tm-dot.deal { background: var(--accent); }
.tm-dot.send { background: var(--brand); }
.tm-dot.tpl { background: var(--green); }
@media (max-width: 1100px) {
  .tm-row { grid-template-columns: 22px 34px 1fr 1fr repeat(2, 64px); }
  .tm-row .tm-n:nth-of-type(n+3), .tm-trend { display: none; }
}
@media (max-width: 640px) { .tm-row { grid-template-columns: 34px 1fr 1fr; } .tm-pos, .tm-row .tm-n { display: none; } }

/* ---------- Pessoas ---------- */
.pp-bar { display: flex; gap: 8px; margin-bottom: 10px; }
.pp-bar input { flex: 1; max-width: 420px; }
.pp-who { display: inline-block; font-size: 11.5px; background: var(--brand-soft); color: var(--brand); border-radius: 999px; padding: 1px 8px; margin: 1px 4px 1px 0; white-space: nowrap; }
tr[data-open] { cursor: pointer; }

/* ---------- Modelos do time ---------- */
.md-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.md-row select { max-width: 360px; }
.md-item { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; margin-bottom: 6px; }
.md-item summary { cursor: pointer; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.md-item pre { white-space: pre-wrap; font: inherit; font-size: 12.5px; background: var(--surface-2); border-radius: 6px; padding: 8px 10px; }

/* ---------- Deals: status e etapas ---------- */
.dl-status { display: inline-block; font-size: 11px; border-radius: 999px; padding: 1px 8px; background: var(--brand-soft); color: var(--brand); white-space: nowrap; }
.dl-status.negociando { background: var(--amber-soft); color: var(--amber); }
.dl-status.fechado { background: var(--green-soft); color: var(--green); }
.dl-status.perdido { background: var(--line-2); color: var(--muted); }
.dl-status-sel { margin-left: auto; margin-right: 10px; font-size: 12.5px; padding: 4px 8px; border-radius: 8px; }
.dl-pend { display: block; color: var(--accent-ink); font-size: 11.5px; margin-top: 2px; }
.dl-nudge { display: flex; align-items: center; gap: 10px; background: var(--accent-soft); color: #5e4724; border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; font-size: 13px; }
.dl-nudge span { flex: 1; }
.dl-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: 8px; overflow-x: auto; padding-bottom: 6px; }
.dl-col { background: var(--line-2); border-radius: 9px; padding: 8px; min-width: 0; }
.dl-col-h { display: flex; justify-content: space-between; font-size: 12px; padding: 0 2px 6px; }
.dl-col-h span { color: var(--muted); font-variant-numeric: tabular-nums; }
.dl-col.st-interessado .dl-col-h b, .dl-col.st-nda .dl-col-h b, .dl-col.st-analise .dl-col-h b, .dl-col.st-proposta .dl-col-h b, .dl-col.st-fechado .dl-col-h b { color: var(--green); }
.dl-col.st-recusou .dl-col-h b { color: var(--red); }
.dl-card { background: var(--surface); border-radius: 7px; padding: 7px 8px; margin-bottom: 5px; display: grid; gap: 4px; cursor: pointer; box-shadow: var(--shadow); }
.dl-card:hover { box-shadow: 0 0 0 1px var(--accent); }
.dl-card-t { display: flex; align-items: center; gap: 6px; min-width: 0; }
.dl-card-t b { font-size: 12.5px; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dl-card-t .av { width: 20px; height: 20px; font-size: 10px; flex: none; }
.dl-card small { font-size: 11px; color: var(--ink-2); line-height: 1.35; }
.dl-card select { font-size: 11.5px; padding: 2px 4px; border-radius: 6px; width: 100%; }

/* ---------- Tour da primeira entrada ---------- */
.tour { position: fixed; inset: 0; z-index: 150; pointer-events: none; }
.tour-card { pointer-events: auto; }
.tour-card { position: absolute; width: 300px; background: var(--surface); border-radius: 12px; padding: 14px 16px; box-shadow: var(--shadow-lg); }
.tour-card::before { content: ""; position: absolute; left: -7px; top: 54px; width: 14px; height: 14px; background: var(--surface); transform: rotate(45deg); }
.tour-step { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.tour-card b { display: block; font-size: 16px; margin: 4px 0 6px; }
.tour-card p { margin: 0 0 12px; color: var(--ink-2); line-height: 1.5; }
.tour-act { display: flex; align-items: center; gap: 6px; }
#nav a.tour-on { position: relative; z-index: 151; background: var(--side-hover); color: #fff; box-shadow: 0 0 0 2px var(--accent); border-radius: 8px; }
@media (max-width: 760px) { .tour-card { left: 16px !important; right: 16px; width: auto; top: auto !important; bottom: 16px; } .tour-card::before { display: none; } }
.pp-bar input, .pp-bar select { border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; background: var(--surface); font: inherit; color: var(--ink); }
.tm-panel { margin-bottom: 14px; }
.tm-head { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.tm-head p { margin: 2px 0 0; }
.tm-tot { display: flex; gap: 18px; flex-wrap: wrap; font-size: 12.5px; margin-top: 10px; padding: 0 10px; }
.cm-tag { display: inline-block; font-size: 11px; border-radius: 999px; padding: 0 7px; margin-left: 4px; background: var(--line-2); color: var(--muted); vertical-align: 1px; }
.cm-tag.g { background: var(--green-soft); color: var(--green); }

/* Campanha: o que esta andando sai da cobranca e fica resumido */
.cm-moving { margin: 0 0 14px; }
.cm-moving h3 small { font-weight: 500; margin-left: 4px; }
.cm-mv { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 6px; }
.cm-mvi { display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; color: inherit; text-decoration: none; min-width: 0; }
a.cm-mvi:hover { border-color: var(--accent); }
.cm-mvi > div { min-width: 0; flex: 1; }
.cm-mvi > div > div { display: flex; gap: 6px; align-items: center; }
.cm-mvi b { font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cm-mvi small { display: block; font-size: 11.5px; color: var(--muted); line-height: 1.35; margin-top: 2px; }
.cm-mvi .av { width: 22px; height: 22px; font-size: 10px; flex: none; }
.cm-closed { margin-top: 12px; }
.cm-closed summary { cursor: pointer; color: var(--muted); font-size: 12.5px; margin-bottom: 8px; }
.cm-tabs b { font-size: 14px; }

.tm-feed.two { grid-template-columns: 1fr 1fr; column-gap: 24px; }
.tm-dot.in { background: var(--green); }
@media (max-width: 900px) { .tm-feed.two { grid-template-columns: 1fr; } }

/* Ultimos movimentos: um bloco por dia */
.fd-days { display: grid; gap: 12px; }
.fd-days.wide { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); }
.fd-day { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; display: grid; gap: 9px; align-content: start; }
.fd-dh { font-size: 11.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.fd-row { display: flex; gap: 9px; align-items: flex-start; }
.fd-row > div { min-width: 0; flex: 1; }
.fd-av, .fd-ic { width: 24px; height: 24px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 10.5px; font-weight: 650; }
.fd-av { background: var(--side); color: #fff; }
.fd-ic { background: var(--line-2); color: var(--muted); font-size: 12px; }
.fd-ic.in { background: var(--green-soft); color: var(--green); }
.fd-ic.meet { background: var(--violet-soft); color: var(--violet); font-size: 9px; }
.fd-ic.deal, .fd-ic.log { background: var(--accent-soft); color: var(--accent-ink); }
.fd-t { font-size: 12.5px; color: var(--ink-2); line-height: 24px; }
.fd-t b { color: var(--ink); }
.fd-cos { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 1px; }
.fd-co { border: 0; background: var(--line-2); color: var(--ink); border-radius: 6px; padding: 2px 8px; font: inherit; font-size: 12px; cursor: pointer; max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fd-co:hover { background: var(--brand-soft); color: var(--brand); }
.fd-more { font-size: 12px; color: var(--muted); padding: 2px 4px; }

/* ---------- Reuniao por voz ---------- */
.vc-fab { position: fixed; right: 26px; bottom: 80px; z-index: 60; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-lg); font-size: 20px; cursor: pointer; display: grid; place-items: center; }
.vc-fab:hover { box-shadow: 0 0 0 2px var(--accent), var(--shadow-lg); }
.vc-dlg { border: 0; border-radius: 16px; padding: 0; width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); box-shadow: var(--shadow-lg); }
.vc-dlg::backdrop { background: rgba(10, 14, 24, .45); }
.vc-in { padding: 18px 20px 20px; display: grid; gap: 12px; }
.vc-h { display: flex; justify-content: space-between; align-items: center; font-size: 16px; }
.vc-co { display: grid; gap: 4px; font-size: 12px; color: var(--muted); }
.vc-dlg input, .vc-dlg textarea { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font: inherit; font-size: 14px; color: var(--ink); background: var(--surface); width: 100%; box-sizing: border-box; }
.vc-rec { display: grid; justify-items: center; gap: 8px; padding: 10px 0 4px; text-align: center; }
.vc-rec p { margin: 0; font-size: 13px; max-width: 420px; }
.vc-mic { width: 96px; height: 96px; border-radius: 50%; border: 0; font-size: 38px; cursor: pointer; background: var(--side); color: #fff; box-shadow: 0 10px 30px rgba(15, 23, 41, .25); }
.vc-mic.on { background: var(--red); font-size: 30px; animation: vcpulse 1.4s ease-in-out infinite; }
@keyframes vcpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(209, 75, 63, .45); } 50% { box-shadow: 0 0 0 16px rgba(209, 75, 63, 0); } }
.vc-time { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.vc-busy { display: flex; align-items: center; gap: 10px; justify-content: center; padding: 30px 0; color: var(--ink-2); }
.vc-spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line); border-top-color: var(--accent); animation: ldspin 1s linear infinite; }
.vc-alt summary { cursor: pointer; font-size: 12.5px; color: var(--muted); }
.vc-alt[open] { display: grid; gap: 8px; }
.vc-alt .btn { justify-self: start; }
.vc-title { font-weight: 600; font-size: 15px !important; }
.vc-l { font-size: 12px; color: var(--muted); margin-bottom: -6px; }
.vc-next { margin: 0; font-size: 13px; background: var(--accent-soft); color: #5e4724; border-radius: 8px; padding: 8px 10px; }
.vc-task { display: flex; gap: 8px; align-items: baseline; font-size: 13px; }
.vc-task input { width: auto !important; }
.vc-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.vc-teams { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 12px; }
.vc-ppl { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.vc-tm { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 4px; background: #5b5fc7; color: #fff; font-size: 11px; font-weight: 700; margin-right: 6px; }
.vc-teams .btn { justify-self: start; }
.vc-tr { font-size: 12.5px; color: var(--ink-2); white-space: pre-wrap; max-height: 200px; overflow: auto; margin: 0; }
@media (max-width: 600px) { .vc-fab { right: 16px; bottom: 76px; } .vc-dlg { width: 100vw; max-width: 100vw; margin: auto 0 0; border-radius: 16px 16px 0 0; } }

.brief-ask { display: flex; align-items: center; gap: 12px; background: var(--brand-soft); border-radius: var(--radius); padding: 10px 14px; margin-bottom: 12px; font-size: 13px; }
.brief-ask > div { flex: 1; display: grid; gap: 2px; }
.brief-ask span { color: var(--ink-2); }
.brief-ask svg { color: var(--brand); flex: none; }

.vc-fu { display: flex; gap: 6px; flex-wrap: wrap; }
.vc-fuwhat { width: 100%; margin-top: 8px; }
.vc-fuhint { font-size: 12.5px; margin: 6px 0 0; }

/* ===== Quadro de to-dos v2 (04/11/2026): mais respiro, etiqueta de cor com nome, bola, contadores discretos ===== */
.tboard, .tboard.dense { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.tcol, .tboard.dense .tcol { background: #f3f4f6; border: 1px solid #ebecef; border-radius: 12px; padding: 10px 10px 12px; gap: 8px; max-height: calc(100vh - 250px); min-height: 0; }
.tcol-head { padding: 4px 4px 6px; }
.tcol-head b { font-size: 13.5px; font-weight: 650; color: var(--ink); letter-spacing: -.005em; }
.tcol-head span { margin-left: 0; background: #e4e6ea; color: var(--ink-2); font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 8px; }
.tcol-head .tsort { opacity: 0; font-size: 13px; color: var(--muted); transition: opacity .15s; }
.tcol:hover .tcol-head .tsort { opacity: 1; }
.tcol-body, .tboard.dense .tcol-body { gap: 8px; padding: 1px 2px 2px; }
.tcard, .tboard.dense .tcard { padding: 10px 12px; gap: 6px; border-radius: 10px; border: 1px solid #e6e7ea; background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); transition: box-shadow .15s, border-color .15s, transform .15s; }
.tcard:hover { border-color: #d5d8de; box-shadow: 0 4px 12px -4px rgba(16, 24, 40, .14); }
.tcard.lab-red, .tcard.lab-yellow, .tcard.lab-green { box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.tcard.lab-red:hover, .tcard.lab-yellow:hover, .tcard.lab-green:hover { box-shadow: 0 4px 12px -4px rgba(16, 24, 40, .14); }
.t-top { display: flex; gap: 4px; margin-bottom: -1px; }
.tcolor { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 650; border-radius: 999px; padding: 1px 8px 1px 7px; letter-spacing: .01em; }
.tcolor::before { content: ''; width: 6px; height: 6px; border-radius: 3px; background: currentColor; }
.tcolor.lab-green { background: #e6f5ec; color: #23794a; }
.tcolor.lab-yellow { background: #fcf1d9; color: #946210; }
.tcolor.lab-red { background: #fde6e3; color: #bb3a2c; }
.t-title, .tboard.dense .t-title { font-size: 13.5px; font-weight: 500; line-height: 1.42; color: var(--ink); padding-right: 4px; }
.t-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-height: 18px; }
.t-meta .tb, .tboard.dense .t-badges .tb { border-radius: 999px; background: #f2f3f5; font-size: 11px; padding: 1px 8px; }
.t-icons { margin-left: auto; display: inline-flex; gap: 9px; color: var(--faint); font-size: 11px; align-items: center; }
.t-icons span { display: inline-flex; align-items: center; gap: 3px; }
.t-icons svg { width: 11px; height: 11px; }
.t-icons .okc { color: var(--green); }
.tball { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 8px; cursor: pointer; white-space: nowrap; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.tball.me { background: #0f1729; color: #fff; }
.tball.me::before { content: ''; width: 6px; height: 6px; border-radius: 3px; background: #d4b07a; }
.tball.other { background: var(--brand-soft); color: #3a4fc0; }
.tball:hover { filter: brightness(1.08); }
.t-co, .tboard.dense .t-co { border-top: 1px solid #f0f1f3; padding-top: 7px; margin-top: 1px; font-size: 11.5px; }
.t-act { top: 8px; right: 8px; }
.tsort-menu { position: absolute; z-index: 60; width: 240px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow-lg); padding: 6px; display: grid; }
.tsort-menu small { color: var(--muted); font-size: 11px; padding: 4px 8px 6px; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.tsort-menu button { text-align: left; border: 0; background: none; padding: 7px 8px; border-radius: 6px; font-size: 13px; color: var(--ink); cursor: pointer; }
.tsort-menu button:hover { background: var(--line-2); }
/* Compacto continua mais junto, mas com o mesmo visual */
.tboard.dense .tcard { padding: 8px 10px; gap: 5px; }
.tboard.dense .t-title { font-size: 13px; }
.tlinks { display: inline-flex; gap: 14px; white-space: nowrap; }

/* ===== To-dos em lista (04/11/2026): tabela agrupada, campos editaveis na linha ===== */
.tright { display: inline-flex; gap: 10px; align-items: center; margin-left: auto; }
.tright .dens { margin: 0; }
.tfilters { flex-wrap: wrap; row-gap: 8px; }
.tlist { display: grid; gap: 14px; padding-bottom: 24px; }
.tl-group { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.tl-head { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: #fafafb; border-bottom: 1px solid var(--line-2); }
.tl-group.folded .tl-head { border-bottom: 0; }
.tl-head b { font-size: 14px; font-weight: 650; }
.tl-head .fold { border: 0; background: none; color: var(--muted); cursor: pointer; width: 18px; }
.tl-n { background: #e9ebef; color: var(--ink-2); font-size: 11px; font-weight: 600; border-radius: 999px; padding: 1px 8px; }
.tl-head .tsort { opacity: .55; }
.tl-head:hover .tsort { opacity: 1; }
.tl-add { margin-left: auto; font-size: 12px !important; color: var(--muted); }
.tl-add:hover { color: var(--brand); }
.tl-empty { margin: 0; padding: 12px 16px; color: var(--faint); font-size: 13px; }
table.tltab { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.tltab th { text-align: left; font-size: 11px; font-weight: 600; color: var(--faint); text-transform: uppercase; letter-spacing: .05em; padding: 7px 10px; border-bottom: 1px solid var(--line-2); }
table.tltab th:nth-child(1) { width: 40px; }
table.tltab th:nth-child(3) { width: 15%; }
table.tltab th:nth-child(4), table.tltab th:nth-child(5) { width: 17%; }
table.tltab th:nth-child(6) { width: 130px; }
table.tltab th:nth-child(7) { width: 128px; }
table.tltab td { padding: 0 10px; height: 40px; border-bottom: 1px solid var(--line-2); font-size: 13.5px; vertical-align: middle; overflow: hidden; }
table.tltab tr:last-child td { border-bottom: 0; }
table.tltab tbody tr { cursor: pointer; transition: background .1s; }
table.tltab tbody tr:hover { background: #f8f9fb; }
.tl-c0 { text-align: center; padding: 0 0 0 12px !important; }
.tl-check { width: 17px; height: 17px; border-radius: 50%; border: 1.5px solid #c3c8d0; background: #fff; cursor: pointer; padding: 0; vertical-align: middle; transition: all .12s; }
.tl-check:hover { border-color: var(--green); background: var(--green-soft); box-shadow: inset 0 0 0 3px #fff; }
.tl-title { white-space: nowrap; }
.tl-title > * { vertical-align: middle; }
.tl-dot { display: inline-block; width: 8px; height: 8px; border-radius: 4px; background: #d9dce1; margin-right: 9px; }
.tl-dot.lab-green { background: #3fa86b; } .tl-dot.lab-yellow { background: #e0a52d; } .tl-dot.lab-red { background: #e0533f; }
.tl-t { font-weight: 500; color: var(--ink); overflow: hidden; text-overflow: ellipsis; display: inline-block; max-width: calc(100% - 90px); }
.tl-title .t-icons { margin-left: 10px; display: inline-flex; }
.tl-list { margin-left: 8px; color: var(--faint); font-size: 11.5px; }
.tl-co { white-space: nowrap; color: var(--ink-2); font-size: 12.5px !important; }
.tl-co .av.round { width: 18px; height: 18px; font-size: 8px; vertical-align: middle; margin-right: 6px; }
.tl-co span { vertical-align: middle; }
.tl-in { width: 100%; border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 5px 7px; font: inherit; font-size: 13px; color: var(--ink-2); text-overflow: ellipsis; }
.tl-in::placeholder { color: #c9cdd4; }
.tl-in:hover { border-color: var(--line); background: #fff; }
.tl-in:focus { outline: none; border-color: var(--brand); background: #fff; box-shadow: 0 0 0 3px var(--brand-soft); }
.tl-date { font-size: 12.5px; color: var(--muted); }
.tl-date:not(:focus):invalid, .tl-date[value=""]:not(:focus) { color: #c9cdd4; }
.tl-date.late { color: var(--red); font-weight: 600; }
.tl-date.soon { color: var(--amber); font-weight: 600; }
.tball.none { background: none; color: #b8bdc6; border: 1px dashed #d5d8de; font-weight: 500; opacity: 0; }
table.tltab tr:hover .tball.none { opacity: 1; }
table.tltab tr.isdone .tl-t { text-decoration: line-through; color: var(--muted); }
.tl-newlist { justify-self: start; border: 1px dashed #cfd3da; background: none; border-radius: 10px; padding: 8px 14px; color: var(--muted); cursor: pointer; font-weight: 500; }
@media (max-width: 1100px) { table.tltab th:nth-child(5), table.tltab td:nth-child(5) { display: none; } }
@media (max-width: 860px) { table.tltab th:nth-child(3), table.tltab td:nth-child(3), table.tltab th:nth-child(4), table.tltab td:nth-child(4) { display: none; } }

/* Quadro compacto de verdade: so titulo + selos */
.tboard.dense .t-co, .tboard.dense .t-icons, .tboard.dense .t-top { display: none; }
.tboard.dense .tcard.lab-red { box-shadow: inset 3px 0 0 #e0533f; } .tboard.dense .tcard.lab-yellow { box-shadow: inset 3px 0 0 #e0a52d; } .tboard.dense .tcard.lab-green { box-shadow: inset 3px 0 0 #3fa86b; }
.tboard.dense .tcard { padding: 7px 10px 7px 12px; gap: 4px; }
.tboard.dense .tcol-body { gap: 6px; }
table.tltab { display: table; border-left: 0; padding: 0; gap: 0; list-style: none; }
table.tltab td.tl-co span { display: inline; }
.tl-tw { display: flex; align-items: center; min-width: 0; }
.tl-tw .tl-dot { flex: none; }
.tl-tw .tl-t { flex: 0 1 auto; min-width: 0; max-width: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-tw .t-icons, .tl-tw .tl-list { flex: none; white-space: nowrap; }
.tl-cw { display: flex; align-items: center; gap: 6px; min-width: 0; }
.tl-cw .av.round { margin: 0 !important; flex: none; }
.tl-cw span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-date.empty:not(:focus) { color: transparent; }
table.tltab tr:hover .tl-date.empty:not(:focus) { color: #c9cdd4; }
.tl-in::placeholder { color: #dfe2e6; }
/* Ultima interacao (coluna 7) e prazo (8) */
table.tltab th:nth-child(4), table.tltab th:nth-child(5) { width: 15%; }
table.tltab th:nth-child(6) { width: 120px; }
table.tltab th:nth-child(7), table.tltab th:nth-child(8) { width: 122px; }
.tl-date.old { color: var(--amber); }
@media (max-width: 1250px) { table.tltab th:nth-child(5), table.tltab td:nth-child(5) { display: none; } }
/* Datas dd/mm/aa na lista + cabecalhos que ordenam */
.tl-dwrap { position: relative; display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 6px; border: 1px solid transparent; font-size: 12.5px; color: var(--ink-2); cursor: pointer; white-space: nowrap; }
.tl-dwrap:hover { border-color: var(--line); background: #fff; }
.tl-dwrap input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; }
.tl-dwrap input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.tl-dwrap.empty span { color: transparent; }
table.tltab tr:hover .tl-dwrap.empty span { color: #c3c8d0; }
.tl-dwrap.old { color: var(--amber); }
.tl-dwrap.late { color: var(--red); font-weight: 600; }
.tl-dwrap.soon { color: var(--amber); font-weight: 600; }
table.tltab th:nth-child(7), table.tltab th:nth-child(8) { width: 104px; }
table.tltab th.tl-sortable { cursor: pointer; user-select: none; white-space: nowrap; }
table.tltab th.tl-sortable:hover { color: var(--ink-2); }
table.tltab th.tl-sortable.on { color: var(--brand); }

/* Lista: arrastar para reordenar */
.tl-c0 { white-space: nowrap; }
.tl-grip { display: inline-block; width: 14px; margin-right: 4px; color: var(--faint); cursor: grab; opacity: 0; font-size: 13px; line-height: 1; vertical-align: middle; user-select: none; transition: opacity .12s; }
table.tltab tr:hover .tl-grip { opacity: 1; }
.tl-grip:active { cursor: grabbing; }
table.tltab tr.dragging { opacity: .4; }
table.tltab tr.tl-before td { box-shadow: inset 0 2px 0 var(--brand); }
table.tltab tr.tl-after td { box-shadow: inset 0 -2px 0 var(--brand); }
.tl-head.tl-drophead { box-shadow: inset 0 -2px 0 var(--brand); }
@media (hover: none) { .tl-grip { opacity: .6; } }

/* Visao geral: Deals e Movimentos em faixas inteiras (antes lado a lado, os movimentos esticavam o painel de deals) */
.tm-dh { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ov-grid .tm-deals { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.ov-grid .fd-days.wide { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.ov-grid .fd-day { max-height: 560px; overflow-y: auto; scrollbar-width: thin; }

/* Desafio do time */
.fx-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.fx-goal { text-align: right; white-space: nowrap; }
.fx-goal b { font-size: 26px; font-weight: 750; letter-spacing: -.02em; }
.fx-goal span { color: var(--muted); font-size: 13px; margin-left: 4px; }
.fx-bar { position: relative; height: 10px; border-radius: 6px; background: var(--line-2); margin-top: 10px; }
.fx-bar > i { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 6px; background: linear-gradient(90deg, var(--accent), #d4a86a); }
.fx-bar em { position: absolute; top: 2px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: #fff; border: 1px solid var(--line); }
.fx-bar em.on { border-color: transparent; background: rgba(255, 255, 255, .85); }
.fx-bar u { position: absolute; top: -4px; width: 2px; height: 18px; margin-left: -1px; background: var(--ink); opacity: .35; border-radius: 1px; }
.fx-foot { font-size: 12.5px; margin-top: 8px; }
.fx-aws { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.fx-aw { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; display: grid; gap: 2px; background: var(--surface-2); }
.fx-aw .fx-ic { font-size: 18px; line-height: 1; margin-bottom: 4px; }
.fx-aw small { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.fx-aw b { font-size: 16px; }
.fx-aw span.muted { font-size: 12px; }
.fx-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 8px; margin-top: 14px; }
.fx-p { display: grid; grid-template-columns: 32px minmax(50px, auto) 1fr auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--line); }
.fx-p.me { border-color: var(--accent); background: var(--accent-soft); }
.fx-bdg { display: flex; gap: 3px; flex-wrap: nowrap; justify-content: flex-end; }
.fx-bdg span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; font-size: 13px; background: var(--line-2); filter: grayscale(1); opacity: .35; cursor: help; }
.fx-bdg span.on { filter: none; opacity: 1; background: #fff4e0; box-shadow: 0 0 0 1px #f1d9ac; }
@media (max-width: 900px) { .fx-aws { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.ov-team { margin-bottom: 14px; }

/* Campanhas: incluir/tirar e-mails na mao */
.cm-rm { margin-left: auto; align-self: center; border: 0; background: none; color: var(--muted); font-size: 16px; line-height: 1; cursor: pointer; padding: 2px 4px; border-radius: 4px; opacity: 0; }
.cm-mvi:hover .cm-rm { opacity: 1; }
.cm-rm:hover { color: var(--ink); background: var(--line-2); }
.cm-undo { margin: 10px 0; padding: 8px 12px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--line); font-size: 13px; }

.cm-selbar { display: flex; align-items: center; gap: 10px; margin: 10px 0; padding: 8px 12px; border-radius: 8px; background: var(--accent-soft, #fff4e0); border: 1px solid var(--line); font-size: 13px; }
.btn.danger { color: #c2272d; border-color: #f1c4c6; }
.btn.danger:hover { background: #fdecec; }
.cm-card.on { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand); }
.cm-card[data-cs] { cursor: pointer; }
.cm-top input[type=checkbox] { margin: 0 8px 0 0; }
.cm-cdel { margin-left: 6px; border: 0; background: none; color: var(--muted); font-size: 17px; line-height: 1; cursor: pointer; padding: 0 4px; border-radius: 4px; opacity: 0; }
.cm-card:hover .cm-cdel { opacity: 1; }
.cm-cdel:hover { color: #c2272d; background: #fdecec; }
.cm-table tr.on td { background: var(--accent-soft, #fff8ec); }
.cm-top > b { flex: 1; min-width: 0; text-align: left; }
.tl-dup { margin-left: 8px; border: 1px solid var(--line); background: var(--surface); color: var(--muted); font-size: 11.5px; border-radius: 6px; padding: 1px 7px; cursor: pointer; opacity: 0; white-space: nowrap; }
tr:hover .tl-dup { opacity: 1; }
.tl-dup:hover { color: var(--ink); border-color: var(--brand); }

/* Listas: ordem e icone */
.tl-lgrip { cursor: grab; color: var(--muted); opacity: 0; font-size: 14px; padding: 0 2px; user-select: none; }
.tl-head:hover .tl-lgrip { opacity: 1; }
.tl-lmove { display: inline-flex; gap: 2px; opacity: 0; }
.tl-head:hover .tl-lmove { opacity: 1; }
.tl-lmove .icon-btn { font-size: 13px; }
.tl-group.dragging-col { opacity: .45; }
.tl-group.lg-before { box-shadow: 0 -3px 0 0 var(--brand); }
.tl-group.lg-after { box-shadow: 0 3px 0 0 var(--brand); }
.tl-ico { border: 0; background: none; font-size: 16px; line-height: 1; padding: 2px 3px; border-radius: 6px; cursor: pointer; }
.tl-ico:hover { background: var(--line-2); }
.tl-ico.empty { opacity: 0; filter: grayscale(.6); font-size: 13px; color: var(--muted); }
.tl-head:hover .tl-ico.empty, .tcol-head:hover .tl-ico.empty { opacity: .45; }
.tl-icopop { position: absolute; z-index: 1000; width: 288px; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.14); padding: 10px; }
.tl-icosug { font-size: 12px; color: var(--muted); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tl-icosug button { border: 1px solid var(--line); background: var(--surface-2, #f7f7f8); border-radius: 6px; padding: 2px 8px; cursor: pointer; font-size: 12px; }
.tl-icogrid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; }
.tl-icogrid button { border: 0; background: none; font-size: 18px; padding: 4px 0; border-radius: 6px; cursor: pointer; }
.tl-icogrid button:hover, .tl-icogrid button.on { background: var(--line-2); }
.tl-icofoot { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.tl-icofoot input { flex: 1; min-width: 0; font-size: 12.5px; padding: 5px 8px; }
.tl-ico, .tl-icogrid button, .tl-icosug button { font-family: "Noto Color Emoji", "Segoe UI Emoji", sans-serif; }
