/* ui.css — tokens e componentes do painel (frontend-padrao + ui-rudi).
   Base NEUTRA (cinza/branco), acento azul-saúde só em ação/estado; cantos 8px;
   uma família tipográfica; escala de espaço de 4px; motion 150ms com
   prefers-reduced-motion. Nenhuma cor fora dos tokens. Sem JS. */
:root{
  --bg:#f6f7f9;--surface:#ffffff;--surface-2:#f0f2f5;--border:#e3e6ea;--border-strong:#cfd4da;
  --ink:#151a21;--ink-2:#454c56;--muted:#5c6672;
  --accent:#1670c4;--accent-ink:#ffffff;--accent-weak:#e8f1fb;--accent-strong:#0f5aa0;
  --ok:#0a6e49;--ok-bg:#e3f6ee;--warn:#9a6207;--warn-bg:#fbf0dd;--danger:#c62f2f;--danger-bg:#fbe9e9;
  --info:#2a5fbf;--info-bg:#e8f0fe;--roxo:#6d43c9;--roxo-bg:#efe9fb;--mute-bg:#eef0f3;
  --r:8px;--r-lg:12px;--shadow:0 1px 2px rgba(21,26,33,.05);
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  --t:150ms ease;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0f1319;--surface:#161b22;--surface-2:#1d242d;--border:#2a323d;--border-strong:#3a4552;
  --ink:#e8ecf1;--ink-2:#b9c2cc;--muted:#8b96a3;
  --accent:#5aa9ee;--accent-ink:#0b1f33;--accent-weak:#16304a;--accent-strong:#7fbdf4;
  --ok:#4fd3a0;--ok-bg:#0f2c22;--warn:#e6ad55;--warn-bg:#2f2412;--danger:#f27a76;--danger-bg:#2f1717;
  --info:#8ab3f5;--info-bg:#132038;--roxo:#b39bee;--roxo-bg:#241c3d;--mute-bg:#232a33;--shadow:none;}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
*{box-sizing:border-box}
html{font-size:15px}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}
h2{font-size:15px;font-weight:600;margin:0 0 var(--s3)}
.sub{color:var(--muted);font-size:14px}
.mono{font-variant-numeric:tabular-nums}

/* ── shell ─────────────────────────────────────────────── */
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}
.side{background:var(--surface);border-right:1px solid var(--border);padding:var(--s4) var(--s3);display:flex;flex-direction:column;gap:var(--s1);position:sticky;top:0;height:100vh}
.brand{font-weight:700;letter-spacing:-.02em;font-size:17px;color:var(--ink);padding:var(--s2) var(--s3) var(--s4)}
.brand b{color:var(--accent)}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:var(--s2);color:var(--ink-2);padding:9px var(--s3);border-radius:var(--r);font-size:14px;min-height:40px;transition:background var(--t)}
.nav a:hover{background:var(--surface-2);text-decoration:none}
.nav a[aria-current=page]{color:var(--ink);background:var(--accent-weak);font-weight:600}
.nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side .who{margin-top:auto;padding:var(--s3);font-size:13px;color:var(--muted);border-top:1px solid var(--border)}
.main{padding:var(--s5) var(--s6) var(--s7);max-width:1440px;width:100%;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.topbar .acoes{display:flex;gap:var(--s2);flex-wrap:wrap}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--border);padding:var(--s2) var(--s3)}
  .brand{padding:var(--s1) var(--s2)}
  .nav{flex-direction:row;flex-wrap:wrap}
  .nav a{padding:8px 10px;min-height:44px}
  .nav a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .side .who{margin:0 0 0 auto;border:0;padding:var(--s1) var(--s2)}
  .main{padding:var(--s4) var(--s4) var(--s6)}
}

/* ── superfícies ───────────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow)}
.card+.card{margin-top:var(--s4)}
.banner{padding:var(--s3) var(--s4);border-radius:var(--r);font-size:14px;margin-bottom:var(--s4);border:1px solid transparent}
.banner.warn{background:var(--warn-bg);color:var(--warn)}
.banner.ok{background:var(--ok-bg);color:var(--ok)}
.banner.danger{background:var(--danger-bg);color:var(--danger)}
.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--muted)}
.empty p{margin:0 0 var(--s3)}

/* ── botões: um peso por papel ─────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);border-radius:var(--r);font:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);transition:background var(--t),border-color var(--t);text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--surface-2);text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}
.btn.danger{color:var(--danger);border-color:var(--danger)}
.btn.danger:hover{background:var(--danger-bg)}
.btn.sm{min-height:32px;padding:0 var(--s3);font-size:13px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-row{display:flex;gap:var(--s2);flex-wrap:wrap}
.linklike{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer}

/* ── formulários ───────────────────────────────────────── */
.field{display:block;margin:0 0 var(--s3)}
.field>span{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:var(--s1)}
.field input,.field select,.field textarea{width:100%;min-height:40px;padding:8px var(--s3);border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}
.field textarea{min-height:72px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
@media (max-width:480px){.grid2{grid-template-columns:1fr}}
details.mais>summary{cursor:pointer;color:var(--accent);font-size:14px;margin:var(--s2) 0 var(--s3);list-style:none}
details.mais>summary::-webkit-details-marker{display:none}

/* ── selo de estado (texto + ponto; cor nunca sozinha) ─── */
.selo{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--mute-bg);color:var(--ink-2)}
.selo::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.selo.ok{background:var(--ok-bg);color:var(--ok)}
.selo.warn{background:var(--warn-bg);color:var(--warn)}
.selo.danger{background:var(--danger-bg);color:var(--danger)}
.selo.info{background:var(--info-bg);color:var(--info)}
.selo.roxo{background:var(--roxo-bg);color:var(--roxo)}
.selo.mute{background:var(--mute-bg)}
.selo.extra{background:transparent;border:1px solid var(--border-strong);color:var(--ink-2);font-weight:500}

/* ── agenda ────────────────────────────────────────────── */
.agenda{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:start}
.agenda.com-painel{grid-template-columns:minmax(0,1fr) 400px}
.agenda.com-painel .painel{order:2;position:sticky;top:var(--s4);max-height:calc(100vh - var(--s6));overflow:auto}
@media (max-width:1100px){.agenda.com-painel{grid-template-columns:1fr}.agenda.com-painel .painel{order:0;position:static;max-height:none}}
.calnav{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.calnav .periodo{display:flex;align-items:center;gap:var(--s2)}
.calnav .periodo strong{font-size:16px;font-weight:600;min-width:150px}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden}
.seg a{padding:6px var(--s3);color:var(--ink-2);font-size:14px;min-height:36px;display:inline-flex;align-items:center}
.seg a+a{border-left:1px solid var(--border-strong)}
.seg a[aria-current=page]{background:var(--accent);color:var(--accent-ink);font-weight:600}
.seg a:hover{text-decoration:none;background:var(--surface-2)}
.seg a[aria-current=page]:hover{background:var(--accent)}
.legenda{display:flex;gap:var(--s3);flex-wrap:wrap;margin:0 0 var(--s3)}
.hora{display:grid;grid-template-columns:56px minmax(0,1fr);border-top:1px solid var(--border);min-height:52px}
.hora:last-child{border-bottom:1px solid var(--border)}
.hora .h{color:var(--muted);font-size:12px;padding:var(--s2);font-variant-numeric:tabular-nums}
.hora .slot{padding:6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px;align-items:start}
.hora .slot .mais{justify-self:start}
.ev{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;border:1px solid var(--border);border-left:3px solid var(--border-strong);background:var(--surface);border-radius:var(--r);padding:6px 10px;font-size:13px;color:var(--ink);min-height:40px;transition:border-color var(--t)}
.ev:hover{border-color:var(--accent);text-decoration:none}
.ev.ok{border-left-color:var(--ok)}.ev.warn{border-left-color:var(--warn)}.ev.danger{border-left-color:var(--danger)}
.ev.info{border-left-color:var(--info)}.ev.roxo{border-left-color:var(--roxo)}
.ev .t{color:var(--muted);font-variant-numeric:tabular-nums}
.ev .n{font-weight:600}
.ev.sel{outline:2px solid var(--accent)}
a.mais{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;color:var(--muted);border:1px dashed var(--border-strong);border-radius:var(--r);font-size:16px}
a.mais:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}
@media (hover:hover){.hora .mais{opacity:0;transition:opacity var(--t)}.hora:hover .mais,.hora .mais:focus-visible{opacity:1}}
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s2)}
.dia-col{border:1px solid var(--border);border-radius:var(--r);padding:var(--s2);min-height:140px}
.dia-col.hoje{border-color:var(--accent)}
.dia-col h3{margin:0 0 var(--s2);font-size:12px;font-weight:600;color:var(--muted)}
.dia-col h3 a{color:inherit}
.dia-col .ev{padding:4px 8px;font-size:12px;min-height:36px;margin-bottom:var(--s1)}
@media (max-width:900px){.semana{grid-template-columns:1fr}.dia-col{min-height:0}}
.mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s1)}
.mes .cab{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:var(--s1)}
.mes a.cel{display:block;border:1px solid var(--border);border-radius:var(--r);min-height:76px;padding:6px;color:var(--ink)}
.mes a.cel:hover{border-color:var(--accent);text-decoration:none}
.mes a.cel.fora{opacity:.45}.mes a.cel.hoje{border-color:var(--accent)}
.mes .num{font-size:12px;font-weight:600;color:var(--muted)}
.mes .so-pequeno{display:none}
.mes .cont{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.mes .cont span{font-size:11px;padding:0 6px;border-radius:999px;background:var(--mute-bg);color:var(--ink-2)}
.mes .cont span.ok{background:var(--ok-bg);color:var(--ok)}.mes .cont span.warn{background:var(--warn-bg);color:var(--warn)}
.mes .cont span.danger{background:var(--danger-bg);color:var(--danger)}.mes .cont span.info{background:var(--info-bg);color:var(--info)}
@media (max-width:600px){.mes{grid-template-columns:1fr}.mes .cab{display:none}.mes a.cel{min-height:44px;padding:6px 10px;display:flex;align-items:center;gap:var(--s2)}.mes a.cel.fora{display:none}.mes .so-grande{display:none}.mes .so-pequeno{display:inline}.mes .cont{margin:0}.legenda{display:none}}

/* ── painel lateral ────────────────────────────────────── */
.painel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow)}
.painel .cab{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s3)}
.painel .cab h2{margin:0}
.painel .fechar{color:var(--muted);font-size:13px}
.painel form>.btn.primary{margin-top:var(--s3);width:100%}
.painel .btn-row{margin-bottom:var(--s3)}
.hist{list-style:none;margin:var(--s3) 0 0;padding:0;border-top:1px solid var(--border)}
.hist li{display:flex;gap:var(--s2);align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.hist .q{color:var(--muted);min-width:96px;font-variant-numeric:tabular-nums}
.lista{list-style:none;margin:0;padding:0}
.lista li{display:flex;gap:var(--s2);align-items:center;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}
.lista li:last-child{border-bottom:0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px var(--s3);font-size:14px;margin:0 0 var(--s3)}
.kv dt{color:var(--muted)}.kv dd{margin:0}
.login{max-width:400px;margin:10vh auto;padding:0 var(--s4)}
.login .card{padding:var(--s6)}

/* ── toque ≥44px no celular; painel ──────────────────────── */
@media (max-width:600px){
  .hora .slot{grid-template-columns:1fr}
  .ev{flex-wrap:wrap;min-width:0}
  .btn,.btn.sm,.seg a,.ev,a.mais{min-height:44px}
  a.mais{min-width:44px}
  .painel .fechar{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s2)}
  .calnav .periodo strong{min-width:0;flex-basis:100%}
}
details.perigo{margin-top:var(--s4);border-top:1px solid var(--border);padding-top:var(--s3)}
details.perigo>summary{cursor:pointer;color:var(--danger);font-size:14px;font-weight:600;list-style:none}
details.perigo>summary::-webkit-details-marker{display:none}
details.perigo form{margin-top:var(--s2)}
.painel .btn-row form{display:contents}

/* ── /hoje: fazer agora, abas, fila, conversa ───────────── */
.fazer{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,360px));gap:var(--s3);margin-bottom:var(--s4)}
.fazer-item{display:flex;align-items:center;gap:var(--s3);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s3) var(--s4);color:var(--ink);min-height:56px;text-decoration:none;transition:border-color var(--t)}
.fazer-item:hover{border-color:var(--accent);text-decoration:none}
.fazer-item b{font-size:22px;font-weight:700;min-width:32px;font-variant-numeric:tabular-nums}
.fazer-item .acao{margin-left:auto;color:var(--accent);font-weight:600;font-size:14px;white-space:nowrap}
.fazer-item.info{border-left-color:var(--info)}.fazer-item.warn{border-left-color:var(--warn)}.fazer-item.danger{border-left-color:var(--danger)}.fazer-item.ok{border-left-color:var(--ok)}
.hoje{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:start}
.hoje.com-painel{grid-template-columns:minmax(0,1fr) 420px}
.hoje.com-painel .painel{order:2;position:sticky;top:var(--s4);max-height:calc(100vh - var(--s6));overflow:auto}
@media (max-width:1100px){.hoje.com-painel{grid-template-columns:1fr}.hoje.com-painel .painel{order:0;position:static;max-height:none}}
.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--border);margin:calc(var(--s4) * -1) calc(var(--s4) * -1) var(--s3);padding:0 var(--s2);overflow-x:auto}
.tabs a{display:inline-flex;align-items:center;gap:6px;padding:10px var(--s3);min-height:44px;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap;font-size:14px}
.tabs a:hover{text-decoration:none;color:var(--ink)}
.tabs a[aria-current=page]{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.tabs .n{font-size:12px;padding:0 7px;border-radius:999px;background:var(--mute-bg);color:var(--ink-2);font-variant-numeric:tabular-nums}
.lista.itens li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"q quem selo" "q resp resp" "q acoes acoes";gap:4px var(--s3);align-items:center;padding:var(--s3) 0}
.lista.itens .mono{grid-area:q;color:var(--muted);font-variant-numeric:tabular-nums}
.lista.itens .quem{grid-area:quem;min-width:0}
.lista.itens .selos{grid-area:selo;display:flex;gap:6px;flex-wrap:wrap;justify-self:end;justify-content:flex-end}
.lista.itens li.secao{display:block;padding:var(--s4) 0 var(--s2);border:0}.lista.itens li.secao h2{margin:0}
.lista.itens>li>.sub{grid-area:resp}
.lista.itens .acoes{grid-area:acoes;display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}
.lista.itens .acoes form{display:contents}
@media (min-width:900px){.lista.itens li{grid-template-columns:72px minmax(160px,1fr) minmax(0,auto) auto;grid-template-areas:"q quem selo acoes" "q resp resp acoes"}.lista.itens .selos{max-width:220px}.lista.itens .acoes{max-width:360px;justify-content:flex-end}}
@media (max-width:899px){.lista.itens li{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"q quem" "selo selo" "resp resp" "acoes acoes"}.lista.itens .selos{justify-self:start;justify-content:flex-start}.tabs{flex-wrap:wrap;overflow:visible}.tabs a{padding:8px var(--s2)}}
.lista.conversas li{padding:0}
.lista.conversas a{display:block;padding:var(--s3) var(--s2);color:var(--ink);border-radius:var(--r);min-height:56px}
.lista.conversas a:hover{background:var(--surface-2);text-decoration:none}
.lista.conversas li.sel a{background:var(--accent-weak)}
.lista.conversas .topo{display:flex;justify-content:space-between;gap:var(--s2);align-items:baseline}
.lista.conversas .previa{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conversa .msgs{display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow:auto;padding:var(--s2) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:var(--s3)}
.bolha{max-width:85%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.4;background:var(--surface-2)}
.bolha.in{align-self:flex-start;border-bottom-left-radius:4px}
.bolha.out{align-self:flex-end;background:var(--accent-weak);border-bottom-right-radius:4px}
.bolha.auto{border:1px dashed var(--border-strong);background:var(--surface)}
.bolha .meta{display:block;font-size:12px;color:var(--ink-2);margin-top:4px}
.bolha .falha{display:block;font-size:12px;color:var(--danger);font-weight:600;margin-top:4px}
.chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.chip{font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--ink-2);background:var(--surface)}
.compose .field{margin-bottom:var(--s2)}
.conversa .btn-row{margin-bottom:var(--s3)}
h1 .sub{font-weight:400;font-size:14px;margin-left:var(--s2)}

@media (pointer:coarse){.btn,.btn.sm,.seg a,.tabs a,.lista.conversas a,.field input,.field select,.field textarea,details.mais>summary,.painel .fechar{min-height:44px;display:inline-flex;align-items:center}.field.check{min-height:44px}}
.fazer-item .acao.btn{margin-left:auto}
.fazer-item .acao.btn.primary{color:var(--accent-ink)}
details.tel{display:inline-block}details.tel>summary{list-style:none;display:inline-flex}details.tel>summary::-webkit-details-marker{display:none}
details.tel a{display:inline-block;margin-left:var(--s2);font-variant-numeric:tabular-nums}
.lista.conversas{max-width:720px}

/* ── /resultados ───────────────────────────────────────── */
.tabs.solta{margin:0 0 var(--s4);padding:0}
.tabs .n.warn{background:var(--warn-bg);color:var(--warn)}
.resultados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);align-items:start}
.resultados>*{min-width:0}
.resultados .card+.card{margin-top:0}
.resultados .larga{grid-column:1 / -1}
@media (max-width:900px){.resultados{grid-template-columns:minmax(0,1fr)}}
.heroi{grid-column:1 / -1;display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap}
.heroi .grande{font-size:56px;font-weight:700;letter-spacing:-.03em;margin:0;line-height:1;font-variant-numeric:tabular-nums}
.heroi p{margin:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}
.tile{display:flex;flex-direction:column;gap:2px;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r)}
.tile b{font-size:26px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile>span{font-size:14px}
.tile .sub{font-size:12px;color:var(--ink-2)}
.funil{margin:0}
.funil>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s3);align-items:center;padding:6px 0}
.funil dt{color:var(--ink-2);font-size:14px}
.funil dd{margin:0;display:flex;align-items:center;gap:var(--s3)}
.funil progress{flex:1;height:10px;-webkit-appearance:none;appearance:none;border:0;background:var(--surface-2);border-radius:999px;overflow:hidden}
.funil progress::-webkit-progress-bar{background:var(--surface-2);border-radius:999px}
.funil progress::-webkit-progress-value{background:var(--accent);border-radius:999px}
.funil progress::-moz-progress-bar{background:var(--accent);border-radius:999px}
.funil .mono{min-width:88px;text-align:right;font-variant-numeric:tabular-nums}
.tabela{overflow-x:auto;max-width:100%}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--border)}
td{padding:10px;border-bottom:1px solid var(--border)}
tr:last-child td{border-bottom:0}
th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:600px){.heroi .grande{font-size:44px}.funil>div{grid-template-columns:1fr}.funil dt{margin-bottom:2px}}

/* ── /ajustes ──────────────────────────────────────────── */
.ajustes{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);max-width:720px}
.ajustes .card+.card{margin-top:0}
.ajustes form>.btn.primary{margin-top:var(--s2)}
.ajustes h2+h2,.ajustes .field+h2{margin-top:var(--s5)}
.field.check{display:flex;align-items:center;gap:var(--s2);font-size:15px;min-height:44px}
.field.tel{max-width:320px}
.field.check input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--accent)}
.lista.optouts li{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}

details.mais.solta{margin:0}
@media (min-width:1100px){.ajustes.clinica{max-width:none;grid-template-columns:minmax(0,600px) minmax(0,380px);align-items:start}}
.ajustes form.card h2:not(:first-child){margin-top:var(--s5)}
.ajustes .card>h2{font-size:16px}
.ajustes .card>h2+.sub{margin:calc(-1 * var(--s2)) 0 var(--s3)}
.ajustes h3{font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 var(--s3)}
.ajustes .grupo+.grupo{margin-top:var(--s5)}
.ajustes .sub.ajuda{margin:calc(-1 * var(--s2)) 0 var(--s3)}
fieldset.field{border:0;padding:0;margin:0 0 var(--s3);min-inline-size:0}
fieldset.field>legend{display:block;font-size:13px;font-weight:500;color:var(--ink-2);padding:0;margin-bottom:var(--s1)}
.chips.dias{gap:var(--s2)}
.chips.dias .chip{min-height:44px;padding:0 var(--s3);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:var(--s2);cursor:pointer;color:var(--ink)}
.chips.dias .chip input{width:18px;height:18px;margin:0;accent-color:var(--accent)}
@media (min-width:1100px){.ajustes.lembretes{max-width:1040px}.ajustes.lembretes form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4) var(--s5);align-items:start}.ajustes.lembretes .grupo+.grupo{margin-top:0}.ajustes.lembretes form>.btn.primary{grid-column:1/-1;justify-self:start}}
/* modo lista de transmissão */
.upload{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);margin:var(--s3) 0 var(--s4);background:var(--surface-2)}
.upload h2{margin-top:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s3)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s3)}
.resultado{margin:var(--s3) 0 var(--s4)}
.resultado .tiles{margin-bottom:var(--s3)}
h3.grupo{margin:var(--s4) 0 var(--s2);font-size:14px;font-weight:600;color:var(--ink-2)}
.locais .local{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);margin-bottom:var(--s4)}
.locais .local h3{margin:0 0 var(--s3);display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}
@media (min-width:1100px){.ajustes.locais{max-width:none}.locais .local .grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.locais .local{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s3) var(--s5)}.locais .local>h3,.locais .local>.grid2,.locais .local>.btn-row,.locais .local>details{grid-column:1/-1}}
/* acompanhamento (modo transmissão) */
.tiles.resumo{margin:var(--s3) 0}
.tiles.resumo a.tile{color:var(--ink);text-decoration:none;border-left:3px solid var(--border-strong)}
.tiles.resumo a.tile:hover{border-color:var(--accent)}
.tiles.resumo a.tile[aria-current=page]{outline:2px solid var(--accent)}
.tiles.resumo a.tile.mute{border-left-color:var(--border-strong)}
.tiles.resumo a.tile.ok{border-left-color:var(--ok)}.tiles.resumo a.tile.warn{border-left-color:var(--warn)}
.tiles.resumo a.tile.danger{border-left-color:var(--danger)}.tiles.resumo a.tile.info{border-left-color:var(--info)}
.filtros{display:flex;gap:var(--s1);flex-wrap:wrap;margin:0 0 var(--s3)}
.filtros a{padding:4px 10px;border:1px solid var(--border-strong);border-radius:999px;font-size:13px;color:var(--ink-2);text-decoration:none}
.filtros a:hover{background:var(--surface-2)}
.filtros a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.filtros .n{font-variant-numeric:tabular-nums;opacity:.8}
.lista.acomp li{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.3fr) minmax(120px,1fr) minmax(0,1.6fr) auto;gap:var(--s2) var(--s3);align-items:center;border-left:3px solid var(--border-strong);padding-left:var(--s3)}
.lista.acomp li.ok{border-left-color:var(--ok)}.lista.acomp li.warn{border-left-color:var(--warn)}
.lista.acomp li.danger{border-left-color:var(--danger)}.lista.acomp li.info{border-left-color:var(--info)}
.lista.acomp li.feito{background:var(--surface-2)}
.lista.acomp .quem{display:flex;flex-direction:column}
.lista.acomp .estado{display:flex;gap:var(--s1);flex-wrap:wrap}
.lista.acomp .acoes{display:flex;gap:var(--s1);flex-wrap:wrap;justify-content:flex-end}
.lista.acomp .acoes form{display:inline}
details.mais.inline{display:inline-block;margin:0}
details.mais.inline>summary{margin:0}
@media (max-width:900px){.lista.acomp li{grid-template-columns:1fr 1fr}.lista.acomp .resposta,.lista.acomp .acoes{grid-column:1/-1}.lista.acomp .acoes{justify-content:flex-start}}
@media (max-width:520px){.lista.acomp li{grid-template-columns:1fr}}
.mais-acoes{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;padding:var(--s2) 0}
.tiles.resumo{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
