:root{--bg:#f4f5f7;--panel:#fff;--ink:#16181d;--muted:#6b7280;--line:#e5e7eb;--accent:#128c7e;--accent2:#25d366;--ad:#1877f2;--in:#fff;--out:#d9fdd3;--warn:#b45309}
@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--panel:#171a21;--ink:#e7e9ee;--muted:#9aa3b2;--line:#2a2f3a;--in:#1f242d;--out:#0f3d33}}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
button{font:inherit;cursor:pointer;border:0;border-radius:8px;padding:8px 14px;background:var(--accent);color:#fff}
button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
button.small{padding:4px 10px;font-size:12px}
input[type=checkbox]{width:auto;margin:0 6px 0 0;vertical-align:middle}
input:not([type=checkbox]),textarea,select{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.hidden{display:none!important}.muted{color:var(--muted)}
.top{display:flex;gap:16px;align-items:center;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.brand{font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px}.brand small{font-weight:400;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent2);display:inline-block}
nav{display:flex;gap:4px}nav button{background:transparent;color:var(--muted)}nav button.active{background:var(--bg);color:var(--ink);font-weight:600}
#channelFilter{max-width:220px;margin-left:auto}#channelFilter.hidden+#search,#search{max-width:320px}#channelFilter.hidden+#search{margin-left:auto}
.badge{background:var(--accent2);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;margin-left:4px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:16px 20px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat b{display:block;font-size:22px}.stat span{color:var(--muted);font-size:12px}
main{padding:16px 20px}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}
.col{background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:60vh}
.col h3{margin:0;padding:10px 12px;font-size:13px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}
.col .cards{padding:8px;display:flex;flex-direction:column;gap:8px;flex:1}.col.over{outline:2px dashed var(--accent)}
.lead{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px;cursor:grab}
.lead .name{font-weight:600}.lead .phone{color:var(--muted);font-size:12px}
.lead .preview{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag-ad{display:inline-flex;gap:4px;align-items:center;background:color-mix(in srgb,var(--ad) 14%,transparent);color:var(--ad);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600;margin-top:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-org{display:inline-block;background:var(--line);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:11px;margin-top:6px}
.inbox{display:grid;grid-template-columns:300px 1fr 320px;gap:12px;height:calc(100vh - 210px);min-height:480px}
.chat-list,.chat,.lead-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:auto}
.chat-item{padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}.chat-item.active{background:var(--bg)}
.chat-item .row{display:flex;justify-content:space-between;gap:8px}.chat-item time{font-size:11px;color:var(--muted)}
.chat{display:flex;flex-direction:column;overflow:hidden}
.chat-header{padding:12px 16px;border-bottom:1px solid var(--line);font-weight:600}
.chat-messages{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.msg{max-width:72%;padding:7px 10px;border-radius:10px;background:var(--in);border:1px solid var(--line);word-wrap:break-word}.msg .txt{white-space:pre-wrap}
.msg.out{align-self:flex-end;background:var(--out)}
.msg .meta{font-size:10px;color:var(--muted);text-align:right;margin-top:2px}
.msg .adref{font-size:11px;color:var(--ad);font-weight:600;margin-bottom:4px}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-form textarea{resize:none}
.lead-panel{padding:14px}.lead-panel h4{margin:14px 0 6px;font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.lead-panel label{display:block;font-size:12px;color:var(--muted);margin:8px 0 3px}
.adcard{border:1px solid var(--line);border-radius:10px;overflow:hidden}.adcard img{width:100%;display:block;max-height:180px;object-fit:cover}
.adcard .b{padding:8px 10px;font-size:12px}.adcard .b b{display:block;font-size:13px}
.kv{font-size:12px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.kv span:nth-child(odd){color:var(--muted)}.kv code{word-break:break-all}
.btns{display:flex;flex-wrap:wrap;gap:6px}
.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:12px;color:var(--muted);font-weight:600}
.table img{width:48px;height:48px;object-fit:cover;border-radius:6px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.narrow{max-width:640px}
.card code{background:var(--bg);padding:2px 6px;border-radius:4px;word-break:break-all}
.ok{color:var(--accent)}.bad{color:var(--warn)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:50}
@media (max-width:960px){.inbox{grid-template-columns:1fr;height:auto}.chat{height:70vh}#search{max-width:none;width:100%}}

.tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tags>*{margin-top:6px}
.tag-ch{display:inline-block;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}
.add-ch{display:flex;gap:8px;margin:12px 0 16px;flex-wrap:wrap}.add-ch input{flex:1;min-width:200px}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ch-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);min-width:0}
.ch-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.pill{font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px;background:var(--line);white-space:nowrap}
.pill.ok{background:color-mix(in srgb,var(--accent) 15%,transparent)}.pill.bad{background:color-mix(in srgb,var(--warn) 15%,transparent)}
.qr{display:block;width:100%;max-width:260px;margin:12px auto 0;background:#fff;padding:8px;border-radius:8px}
.confirm{margin-top:10px;font-size:12px}
.tag-user{display:inline-block;color:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-form{align-items:center}.chat-form.busy{opacity:.6;pointer-events:none}
button.icon{padding:7px 10px;flex:none;white-space:nowrap}button.icon.rec{background:var(--warn);border-color:var(--warn);color:#fff}
.msg-img{max-width:240px;max-height:320px;border-radius:6px;display:block}
.msg audio{display:block;width:260px;max-width:100%;height:40px}
.msg .gone{font-size:12px;color:var(--muted);font-style:italic}
button.ad-unit{cursor:pointer}button.ad-unit.suggested{outline:1px dashed currentColor;outline-offset:-2px}
button.ad-unit.none{background:transparent;color:var(--muted);border:1px dashed var(--muted)}
.unit-input{width:96px!important;padding:2px 6px!important;font-size:11px;font-weight:600;text-transform:uppercase}

/* Login e usuário */
.me{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
.login-page{min-height:100vh;display:grid;place-items:center;padding:16px}
.login-card{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:6px}
.login-card .brand{margin-bottom:12px}.login-card label{font-size:12px;color:var(--muted);margin-top:6px}.login-card button{margin-top:14px}
.login-error{color:var(--warn);font-size:13px;margin:6px 0 0}
button:disabled{opacity:.6;cursor:default}

/* Modal (detalhes do anúncio, usuários) */
.modal{border:1px solid var(--line);border-radius:14px;padding:0;background:var(--panel);color:var(--ink);width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 48px)}
.modal::backdrop{background:rgb(0 0 0 / .45)}
.modal>div{padding:18px 20px;max-height:calc(100vh - 50px);overflow:auto}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.modal-head h3{margin:0;font-size:17px}
.modal-sub{margin:18px 0 8px;font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.modal-scroll{max-height:300px;overflow:auto}
.ad-modal{display:grid;grid-template-columns:240px 1fr;gap:16px}
.ad-creative{background:var(--bg);border:1px solid var(--line);border-radius:10px;min-height:120px;display:grid;place-items:center;overflow:hidden;font-size:12px}
.ad-creative img{width:100%;display:block;max-height:320px;object-fit:contain}
.ad-body{margin:0 0 10px;white-space:pre-wrap}
.ad-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}
.ad-metrics div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px}.ad-metrics b{display:block;font-size:16px}.ad-metrics span{font-size:11px;color:var(--muted)}
.table.compact th,.table.compact td{padding:7px 10px;font-size:13px}
.lead-row,.ad-row{cursor:pointer}.lead-row:hover td,.ad-row:hover td{background:var(--bg)}
.ad-mini{border:1px solid var(--line);border-radius:10px;padding:10px}.ad-mini b{display:block;font-size:13px}
@media (max-width:700px){.ad-modal{grid-template-columns:1fr}.ad-metrics{grid-template-columns:repeat(2,1fr)}}

/* Configurações */
.cfg-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
#usersTable{margin-top:8px}#usersTable tr.inactive td{opacity:.55}
.user-form label{display:block;font-size:12px;color:var(--muted);margin:10px 0 3px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.grid2 .full{grid-column:1/-1}
.row-inline{display:flex;gap:6px;align-items:center}
.perm{margin-top:14px;border-top:1px solid var(--line);padding-top:8px}
label.chk{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:13px;margin:4px 12px 4px 0}
.chk-list{display:flex;flex-wrap:wrap}
#permLists.disabled{opacity:.45;pointer-events:none}
@media (max-width:600px){.grid2{grid-template-columns:1fr}}
/* Topo: busca encolhe para caber o nome do usuário e o Sair na mesma linha */
.top #search{flex:1 1 160px;min-width:140px;width:auto}.top #channelFilter{flex:0 1 200px;width:auto}
@media (max-width:960px){.top #search{flex-basis:100%}}

/* Avisar a Meta (Conversions API) */
.capi-grid{display:grid;gap:6px}
.capi-act{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.capi-act:hover{border-color:var(--accent)}
.capi-act b{font-size:13px}.capi-act span{font-size:11px;color:var(--muted)}
.capi-more{margin-top:6px;font-size:12px}.capi-more summary{cursor:pointer;color:var(--muted);margin-bottom:6px}
.capi-confirm{margin-top:10px;border:1px solid var(--accent);border-radius:10px;padding:10px;font-size:13px}.capi-confirm p{margin:0 0 6px}
.capi-hist{margin-top:10px;font-size:12px;display:grid;gap:4px}.capi-hist time{color:var(--muted);font-size:11px}

/* Configurações */
.cfg{max-width:920px}.cfg h2{font-size:18px;margin:4px 0 12px}
.cfg-tabs{display:inline-flex;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px;margin-bottom:14px}
.cfg-tabs button{background:none;color:var(--muted);padding:6px 16px;border-radius:7px}
.cfg-tabs button.on{background:var(--bg);color:var(--ink);font-weight:600}
.cfg .cfg-head{margin-bottom:8px}.cfg .cfg-head p{margin:0;font-size:13px}
.cfg-list{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cfg-list li{display:grid;grid-template-columns:36px 1fr auto 110px auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.cfg-list li:last-child{border-bottom:0}.cfg-list li.off{opacity:.55}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}
.avatar.soft{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.who{min-width:0}.who b{font-size:14px}.who small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{font-size:11px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:2px 9px;white-space:nowrap;color:var(--muted)}
.state{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.dot-on,.dot-off{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--accent)}.dot-off{background:var(--muted)}
.acts{display:flex;gap:10px;justify-content:flex-end}
button.link{background:none;color:var(--accent);padding:2px 0;font-size:13px}button.link:hover{text-decoration:underline}button.link.danger{color:var(--warn)}
.user-form fieldset{border:1px solid var(--line);border-radius:10px;margin:14px 0 0;padding:8px 12px 10px}
.user-form legend{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 4px}
.opts{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 6px}.opts.stack{flex-direction:column}
label.opt{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--ink);margin:3px 0;cursor:pointer}
label.opt input{margin-top:3px}label.opt span{display:flex;flex-direction:column}label.opt small{color:var(--muted);font-size:11px}
#roleUnits.disabled,#permLists.disabled{opacity:.45;pointer-events:none}
.sig-preview{margin-top:6px;font-size:12px;background:var(--out);border-radius:8px;padding:6px 10px;display:inline-block;line-height:1.4}
@media (max-width:700px){.cfg-list li{grid-template-columns:36px 1fr;}.cfg-list .chip,.cfg-list .state{display:none}.cfg-list .acts{grid-column:2}}

/* Telefone borrado (LGPD): passe o mouse, foque ou toque para ver */
.ph{filter:blur(4.5px);transition:filter .15s;cursor:help;border-radius:4px}
.ph:hover,.ph:focus,.ph.show{filter:none;outline:none}

/* Barra de etapas segmentada (topo da conversa) */
.chat-header{display:flex;flex-direction:column;gap:10px}
.stage-line{display:flex;align-items:center;gap:10px;font-weight:400}
.stage-line.busy{opacity:.6;pointer-events:none}
.seg-bar{display:flex;flex:1;min-width:0;gap:3px}
.seg{flex:1 1 0;min-width:0;position:relative;height:30px;padding:0 10px 0 16px;border:0;border-radius:0;background:var(--bg);color:var(--muted);
  font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%,9px 50%);transition:background .15s,color .15s}
.seg:first-child{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);border-radius:7px 0 0 7px;padding-left:12px}
.seg:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%);border-radius:0 7px 7px 0}
.seg:hover{background:color-mix(in srgb,var(--accent) 18%,var(--bg));color:var(--ink)}
.seg.done{background:color-mix(in srgb,var(--accent) 22%,var(--bg));color:var(--accent);font-weight:600}
.seg.current{background:var(--accent);color:#fff;font-weight:700}
.seg .tick{margin-right:4px}
.seg:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.stage-line.lost .seg{background:var(--bg);color:var(--muted);font-weight:400}
.lost-btn{background:none;border:1px solid var(--line);color:var(--muted);font-size:12px;padding:5px 10px;border-radius:7px;white-space:nowrap}
.lost-btn:hover{border-color:var(--warn);color:var(--warn)}
.lost-pill{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn);font-size:12px;font-weight:700;padding:5px 10px;border-radius:7px;white-space:nowrap}
.optout-pill{font-size:11px;font-weight:700;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:1px 8px;margin-left:6px}
.optout-box{font-size:12px;background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:8px;padding:8px 10px;margin:0}
.sending{color:var(--muted);font-style:italic}
button.small-link{font-size:10px;padding:0}

/* Motivo de perda */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.chip-btn{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px}
.chip-btn.on,.chip-btn:hover{border-color:var(--warn);color:var(--warn)}
.danger-btn{background:var(--warn)}
button.ghost.danger-ghost{color:var(--warn);border-color:var(--warn)}

/* Funil: colunas com rolagem própria, fundo arrastável */
.board{cursor:grab;user-select:none;scrollbar-width:thin}
.board.grabbing{cursor:grabbing}
.col{min-height:0;height:calc(100vh - 250px);min-height:360px}
.col .cards{overflow-y:auto;scrollbar-width:thin;cursor:default}
.col .more{text-align:center;font-size:11px;color:var(--muted);padding:6px}

/* LGPD (Configurações) */
.lgpd-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px}
.lgpd-card label{display:block;font-size:12px;color:var(--muted);margin:4px 0 3px}
.switch{display:flex!important;gap:12px;align-items:flex-start;cursor:pointer;color:var(--ink)!important;font-size:14px!important}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch .track{flex:none;width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;margin-top:2px}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track::after{transform:translateX(16px)}
.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}
.switch small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.audit{max-height:420px}
.terms ul{padding-left:20px;margin:8px 0}.terms li{margin:4px 0}
.login-privacy{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
.doc-page{padding:24px 16px}.doc{max-width:720px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px 28px;line-height:1.6}
.doc h1{font-size:22px;margin-top:0}.doc h2{font-size:15px;margin:20px 0 4px}

/* Tutorial (tour) */
.tour{position:fixed;inset:0;z-index:100}
.tour.center{background:rgb(0 0 0 / .45)}
.tour-hole{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px rgb(0 0 0 / .45);transition:all .2s;pointer-events:none}
.tour-pop{position:fixed;width:340px;max-width:calc(100vw - 24px);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 12px 32px rgb(0 0 0 / .25)}
.tour.center .tour-pop{left:50%!important;top:50%!important;transform:translate(-50%,-50%)}
.tour-pop h4{margin:2px 0 6px;font-size:15px}.tour-pop p{margin:0 0 12px;font-size:13px;line-height:1.5}
.tour-count{font-size:11px;color:var(--muted)}
.tour-pop .btns{align-items:center}
.seg{padding:0 6px 0 14px;font-size:11.5px}.seg:first-child{padding-left:10px}

/* Funil compacto: pelo menos 6 cards por coluna antes de rolar */
.col{height:max(calc(100vh - 215px), 560px)}
.col h3{padding:8px 10px}
.col .cards{padding:6px;gap:5px;min-height:0}
.lead{padding:6px 9px;border-radius:8px;line-height:1.3}
.lead .name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead .phone{font-size:11px}
.lead .preview{font-size:11px;margin-top:1px}
.lead .tags{gap:3px;flex-wrap:nowrap;overflow:hidden}.lead .tags>*{margin-top:3px;flex:none;max-width:100%}
.lead .tag-ad{font-size:10px;padding:0 5px;margin-top:3px;flex:0 1 auto;min-width:0}
.lead .tag-ch,.lead .tag-org{font-size:10px;padding:0 5px}
.stats{gap:10px;padding:12px 20px 0}.stat{padding:8px 12px}.stat b{font-size:19px}
main{padding:12px 20px}.toolbar{margin-bottom:8px}

/* Telefone + ícone do WhatsApp (abre a conversa no CRM) */
.phone-wrap{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}
.wa-btn{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border-radius:50%;background:none;color:#25d366;flex:none}
.wa-btn svg{width:15px;height:15px}.wa-btn:hover{background:color-mix(in srgb,#25d366 15%,transparent)}
.tag-train{display:inline-block;background:#7c3aed;color:#fff;border-radius:6px;padding:0 6px;font-size:10px;font-weight:700}
.doc-link{display:inline-block;font-size:13px;margin-bottom:4px}
.stack-sw{display:flex;flex-direction:column;gap:12px}

/* O tour não bloqueia a tela: dá para praticar enquanto ele está aberto */
.tour{pointer-events:none}.tour-pop{pointer-events:auto}
.doc-link{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px;text-decoration:none;color:var(--ink)}

/* Conexão (números de WhatsApp) */
#conn{max-width:1100px!important;background:none;border:0;padding:0}
.cx-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}
.cx-top h3{margin:0 0 2px;font-size:18px}.cx-top p{margin:0;font-size:13px}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.cx-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--line)}
.cx-card.on{border-top-color:var(--accent2)}.cx-card.wait{border-top-color:#f59e0b}.cx-card.off{border-top-color:var(--warn)}
.cx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.cx-id{display:flex;gap:10px;align-items:center;min-width:0}.cx-id b{font-size:15px}.cx-id small{display:block;color:var(--muted);font-size:12px}
.cx-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;flex:none}
.cx-menu{position:relative}
.cx-menu .icon{font-size:16px;line-height:1;padding:4px 10px}
.cx-pop{position:absolute;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgb(0 0 0 / .15);padding:4px;z-index:5;min-width:170px;display:flex;flex-direction:column}
.cx-pop button{background:none;color:var(--ink);text-align:left;border-radius:6px;padding:8px 10px;font-size:13px}.cx-pop button:hover{background:var(--bg)}.cx-pop .danger{color:var(--warn)}
.cx-status{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border-radius:10px;padding:10px 12px}
.cx-status b{font-size:14px}.cx-status small{display:block;color:var(--muted);font-size:12px}
.cx-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none;background:var(--muted)}
.cx-card.on .cx-dot{background:var(--accent2);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 22%,transparent)}
.cx-card.wait .cx-dot{background:#f59e0b;animation:cxpulse 1.4s infinite}.cx-card.off .cx-dot{background:var(--warn)}
@keyframes cxpulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.cx-card.wait .cx-dot{animation:none}}
.cx-qr{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:start;border:1px dashed var(--accent);border-radius:12px;padding:12px}
.cx-qr img{width:180px;height:180px;background:#fff;border-radius:8px;padding:6px}
.cx-qr ol{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.cx-qr p{grid-column:1/-1;margin:0;font-size:12px}
.cx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.cx-stats div{background:var(--bg);border-radius:8px;padding:6px 10px}.cx-stats dt{font-size:11px;color:var(--muted)}.cx-stats dd{margin:0;font-weight:700}
.cx-actions{display:flex;gap:8px}.cx-actions button{flex:1}
.cx-empty{background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:36px 24px;text-align:center;max-width:560px;margin:0 auto}
.cx-empty-ico{width:56px;height:56px;margin:0 auto 8px;color:#25d366}.cx-empty-ico svg{width:56px;height:56px}
.cx-empty h4{margin:4px 0}.cx-empty p{font-size:13px}
.cx-tips{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13px}
.cx-tips summary{cursor:pointer;color:var(--muted)}.cx-tips ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.cx-tips code{word-break:break-all}
@media (max-width:600px){.cx-qr{grid-template-columns:1fr}.cx-qr img{margin:0 auto}.cx-top{flex-direction:column;align-items:stretch}}

/* Acesso do usuário: todas as unidades / só estas */
.seg-radio{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:3px;margin:4px 0 8px}
.seg-radio label{display:block!important;margin:0!important;cursor:pointer}
.seg-radio input{position:absolute;opacity:0;width:1px;height:1px}
.seg-radio span{display:block;padding:5px 14px;border-radius:6px;font-size:13px;color:var(--muted)}
.seg-radio input:checked+span{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgb(0 0 0 / .08)}
.seg-radio input:focus-visible+span{outline:2px solid var(--accent)}
.lead .tag-unit,.chat-item .tag-unit{font-size:10px;padding:0 5px;flex:none}

/* Figurinha discreta, pin da unidade, visualizador de imagem/PDF */
.msg .sticker{width:96px;height:96px;object-fit:contain;display:block}
.msg:has(> .sticker){background:none;border:0;padding:2px}
.pin{width:11px;height:11px;vertical-align:-1px;margin-right:2px}
.msg-img{cursor:zoom-in}
.modal.wide{width:min(1000px,calc(100vw - 32px))}
.viewer-img{display:block;max-width:100%;max-height:75vh;margin:0 auto;border-radius:8px}
.viewer-doc{width:100%;height:75vh;border:0;border-radius:8px;background:#fff}
a.btn-link{display:inline-block;text-decoration:none;color:var(--accent);border:1px solid var(--accent);border-radius:8px}
button.doc-link{cursor:pointer;font:inherit}

/* Separador de dia que gruda no topo ao rolar (como no WhatsApp) */
.day-sep{position:sticky;top:-16px;z-index:2;display:flex;justify-content:center;margin:6px 0;pointer-events:none}
.day-sep span{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:11px;font-weight:600;box-shadow:0 1px 3px rgb(0 0 0 / .08)}
/* Tags: unidade, etapa, anúncio, manuais */
.tag-unit2,.tag-stage{display:inline-block;color:#fff;border-radius:6px;padding:0 6px;font-size:10.5px;font-weight:700;white-space:nowrap}
.tag-admark{font-size:11px;line-height:1;opacity:.75}
.tag-more{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 5px}
.lead .tag-user{font-size:10px;padding:0 5px;max-width:90px}
.chat-header .tag-stage{vertical-align:middle;margin-left:4px}

/* Configurações › Treinamentos */
.tour-edit{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.tour-edit li{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:6px;background:var(--bg)}
.te-head{display:flex;justify-content:space-between;align-items:center}
.te-title{font-weight:600}
.scr-list{display:grid;gap:6px}
.scr-row{display:grid;grid-template-columns:110px 100px 1fr auto;gap:6px;align-items:center}
@media (max-width:700px){.scr-row{grid-template-columns:1fr 1fr}.scr-row .s-body{grid-column:1/-1}}

/* Tutorial: transições suaves */
.tour-hole{transition:left .45s cubic-bezier(.2,.8,.2,1),top .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease;border:2px solid color-mix(in srgb,var(--accent) 70%,#fff)}
.tour-pop{transition:top .45s cubic-bezier(.2,.8,.2,1),left .45s cubic-bezier(.2,.8,.2,1)}
.tour-pop.in{animation:tourIn .35s ease}
@keyframes tourIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tour.center .tour-pop.in{animation:tourInC .35s ease}
@keyframes tourInC{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
.tour.closing{opacity:0;transition:opacity .25s ease}
.tour-busy{font-size:12px;color:var(--muted);font-style:italic}
.tour-pulse{animation:tourPulse 1.2s ease 2}
@keyframes tourPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent2) 60%,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.msg-new{animation:msgIn .4s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.msg.out.msg-new{animation-name:msgInR}
@keyframes msgInR{from{opacity:0;transform:translate(10px,6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tour-hole,.tour-pop{transition:none}.tour-pop.in,.tour-pulse,.msg-new{animation:none}.chat-messages{scroll-behavior:auto}}

/* Dia: separadores fixos na lista + pílula flutuante discreta só enquanto rola */
.day-sep{position:static}
.chat{position:relative}
.day-float{position:absolute;left:50%;transform:translate(-50%,-4px);z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease,transform .35s ease;
  background:rgb(255 255 255 / .85);color:#54656f;font-size:11px;font-weight:600;padding:3px 10px;border-radius:7px;box-shadow:0 1px 2px rgb(0 0 0 / .13);backdrop-filter:blur(2px)}
.day-float.show{opacity:1;transform:translate(-50%,0)}
@media (prefers-color-scheme:dark){.day-float{background:rgb(32 44 51 / .85);color:#d1d7db}}
@media (prefers-reduced-motion:reduce){.day-float{transition:none}}
/* Figurinha: pequena, sem balão */
.msg .sticker{width:120px;height:120px}
.msg:has(> .sticker) .meta{background:rgb(0 0 0 / .05);border-radius:6px;padding:0 4px;display:inline-block;float:right}

/* Tutorial: demonstração de arrastar o card no funil */
.lead.drag-ghost{position:fixed;z-index:102;margin:0;pointer-events:none;background:var(--panel);cursor:grabbing;transition:transform 1.1s cubic-bezier(.3,.7,.2,1),box-shadow .3s ease}
.drag-ghost.lifted{box-shadow:0 14px 30px rgb(0 0 0 / .25)}
.drag-ghost .drag-hand{position:absolute;right:-6px;bottom:-14px;font-size:26px;filter:drop-shadow(0 2px 2px rgb(0 0 0 / .3));transition:transform .3s ease}
.drag-ghost.lifted .drag-hand{transform:scale(.9) translateY(-2px)}
.drag-source{opacity:.35}
.tour-tip{display:block;margin-top:8px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:12.5px}
/* Fora do tutorial: dá para perceber que o card é arrastável */
.lead{cursor:grab;position:relative}.lead:active{cursor:grabbing}
.lead::after{content:"⠿";position:absolute;top:6px;right:6px;font-size:12px;color:var(--muted);opacity:0;transition:opacity .15s}
.lead:hover::after{opacity:.6}
@media (prefers-reduced-motion:reduce){.drag-ghost{transition:none}}
.lead.drag-ghost::after{display:none}

/* Tutorial: o fundo fica congelado (a camada pega cliques e rolagem); só o balão responde */
.tour{pointer-events:auto}
.tour-hole{pointer-events:none}
.tour.center{background:rgb(0 0 0 / .45)}

/* Configurações › Dados: zona de perigo */
.danger-zone{background:var(--panel);border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line));border-radius:12px;padding:16px 18px;max-width:760px}
.danger-zone h3{margin:0 0 6px;color:var(--warn);font-size:16px}
.danger-zone p{font-size:13px;margin:0 0 12px}
.danger-zone label{display:block;font-size:12px;color:var(--muted);margin:10px 0 3px}
.del-preview{margin:12px 0 4px;padding:10px 12px;border-radius:8px;background:var(--bg);font-size:13px}
.danger-btn.big{width:100%;margin-top:12px;padding:11px;font-weight:700;font-size:14px}
.danger-btn:disabled{opacity:.45}

/* Logotipo */
.brand-logo{height:30px;max-width:160px;object-fit:contain;display:block}
.login-card .brand-logo{height:44px;max-width:220px;margin:0 auto}
.logo-row{display:flex;gap:16px;align-items:center}
.logo-prev{width:180px;height:72px;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:18px;gap:6px;grid-auto-flow:column;background:var(--bg)}
.logo-prev img{max-width:160px;max-height:56px;object-fit:contain}

/* Loading: splash de tela cheia e barra fina no topo */
.splash{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--bg);transition:opacity .35s ease,visibility .35s}
.splash.gone{opacity:0;visibility:hidden;pointer-events:none}
.ld-box{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--ld)}
.ld-word{font-size:30px;font-weight:800;letter-spacing:.04em;color:var(--ink)}
.ld-logo{max-width:200px;max-height:80px;object-fit:contain}
.ld-ring{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--ld) 22%,transparent);border-top-color:var(--ld);animation:ldspin .8s linear infinite}
.ld-dots{display:flex;gap:7px}.ld-dots i{width:9px;height:9px;border-radius:50%;background:var(--ld);animation:lddot 1s ease-in-out infinite}
.ld-dots i:nth-child(2){animation-delay:.15s}.ld-dots i:nth-child(3){animation-delay:.3s}
.ld-bar{width:160px;height:4px;border-radius:4px;background:color-mix(in srgb,var(--ld) 18%,transparent);overflow:hidden}
.ld-bar i{display:block;width:40%;height:100%;border-radius:4px;background:var(--ld);animation:ldbar 1.1s ease-in-out infinite}
.ld-box.pulse .ld-word,.ld-box.pulse .ld-logo{animation:ldpulse 1.2s ease-in-out infinite}
.ld-box.pulse .ld-word{color:var(--ld)}
@keyframes ldspin{to{transform:rotate(360deg)}}
@keyframes lddot{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}
@keyframes ldbar{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@keyframes ldpulse{50%{transform:scale(1.06);opacity:.6}}
.ld-preview{height:140px;margin:12px 0;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;background:var(--bg)}
.topbar{position:fixed;top:0;left:0;height:3px;width:0;z-index:250;background:var(--ld,var(--accent));opacity:0;pointer-events:none}
.topbar.on{opacity:1;width:70%;transition:width 2s cubic-bezier(.1,.6,.2,1),opacity .1s}
.topbar.on.done{width:100%;opacity:0;transition:width .15s ease,opacity .25s ease .1s}
@media (prefers-reduced-motion:reduce){.ld-ring,.ld-dots i,.ld-bar i,.ld-box.pulse .ld-word,.ld-box.pulse .ld-logo{animation:none}.splash,.topbar.on,.topbar.on.done{transition:none}}

/* Telas vazias */
.empty-state{margin:auto;max-width:360px;text-align:center;padding:24px;color:var(--ink)}
.empty-state h4{margin:10px 0 6px;font-size:15px}.empty-state p{font-size:13px;margin:0;line-height:1.5}
.es-ico{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.es-ico svg{width:34px;height:34px}
.chat-messages:has(.empty-state){justify-content:center}
.lead-panel .empty-state.small{margin-top:40px;padding:12px}
.es-sk{display:grid;gap:8px;margin:0 auto 6px;width:160px}
.es-sk i,.chat-item.sk i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--line),var(--bg),var(--line));background-size:200% 100%;animation:sk 1.4s ease infinite}
.es-sk i:nth-child(2){width:80%}.es-sk i:nth-child(3){width:60%}
.chat-item.sk{display:grid;gap:8px;cursor:default}.chat-item.sk i.short{width:50%}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.es-sk i,.chat-item.sk i{animation:none}}

/* Opções da conversa (⋯) */
.row-end{display:flex;align-items:center;gap:4px}
.chat-opt{background:none;color:var(--muted);padding:0 6px;font-size:16px;line-height:1;border-radius:6px;opacity:0;transition:opacity .15s}
.chat-item:hover .chat-opt,.chat-opt:focus-visible,.chat-opt.hdr{opacity:1}
.chat-opt:hover{background:var(--bg);color:var(--ink)}
.chat-opt.hdr{margin-left:6px;vertical-align:middle}
.ctx-menu{position:fixed;z-index:120;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgb(0 0 0 / .15);padding:4px;min-width:190px;display:flex;flex-direction:column}
.ctx-menu button{background:none;color:var(--ink);text-align:left;padding:8px 10px;border-radius:6px;font-size:13px}.ctx-menu button:hover,.ctx-menu button:focus{background:var(--bg);outline:none}
@media (hover:none){.chat-opt{opacity:1}}
.lgpd-card input[type=color],input[type=color]{width:64px;height:36px;padding:3px;cursor:pointer}
.lgpd-card label.opt{display:flex;color:var(--ink);font-size:13px}
.logo-prev{gap:8px}

/* Loading: linha fina no topo (padrão), sem logotipo */
.topbar{height:2px}
@media (min-resolution:2dppx){.topbar{height:1.5px}}
.splash .ld-line,.ld-preview .ld-line{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;background:color-mix(in srgb,var(--ld) 15%,transparent)}
.ld-line i{display:block;width:35%;height:100%;background:var(--ld);animation:ldline 1.1s ease-in-out infinite}
@keyframes ldline{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.ld-preview{position:relative;overflow:hidden}
.ld-ring{width:22px;height:22px;border-width:2px;opacity:.8}
.ld-dots i{width:7px;height:7px}
@media (prefers-reduced-motion:reduce){.ld-line i{animation:none;width:100%}}

/* Bolinha do "CRM" na cor do loading */
.dot{background:var(--brand,var(--accent2))}

/* Seleção de várias conversas + menu do botão direito */
.chat-item{user-select:none}
.chat-item.sel{background:color-mix(in srgb,var(--accent) 14%,var(--panel));box-shadow:inset 3px 0 0 var(--accent)}
.ctx-head{font-size:11px;color:var(--muted);padding:6px 10px 4px}

/* Mais estilos de loading (só CSS) */
.ld-pulse{width:26px;height:26px;border-radius:50%;background:var(--ld);animation:ldpulse2 1.2s ease-out infinite}
@keyframes ldpulse2{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.4);opacity:0}}
.ld-bars{display:flex;gap:4px;align-items:flex-end;height:24px}.ld-bars i{width:4px;height:100%;border-radius:2px;background:var(--ld);animation:ldbars .9s ease-in-out infinite}
.ld-bars i:nth-child(2){animation-delay:.12s}.ld-bars i:nth-child(3){animation-delay:.24s}.ld-bars i:nth-child(4){animation-delay:.36s}
@keyframes ldbars{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.ld-orbit{position:relative;width:28px;height:28px;animation:ldspin 1s linear infinite}
.ld-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ld);top:0;left:10px}
.ld-orbit i:nth-child(2){top:auto;bottom:0;opacity:.45}
.ld-wave{display:flex;gap:5px}.ld-wave i{width:6px;height:6px;border-radius:50%;background:var(--ld);animation:ldwave 1.1s ease-in-out infinite}
.ld-wave i:nth-child(2){animation-delay:.1s}.ld-wave i:nth-child(3){animation-delay:.2s}.ld-wave i:nth-child(4){animation-delay:.3s}.ld-wave i:nth-child(5){animation-delay:.4s}
@keyframes ldwave{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.ld-pulse,.ld-bars i,.ld-orbit,.ld-wave i{animation:none}}

/* Mensagem editada / apagada no WhatsApp */
.msg .meta .edited{font-style:italic;cursor:help}
.msg .msg-flag{font-size:11px;color:var(--warn);margin-top:3px;font-style:italic}
.msg:has(.msg-flag) .txt{text-decoration:line-through;opacity:.6}

/* Treinamentos: estado de salvamento */
.save-state{font-size:12px;align-self:center;margin-right:4px}
.save-state.dirty{color:#b7791f}
.save-state.saving{color:var(--muted)}
.save-state.ok{color:#2f855a;font-weight:600}
.save-state.err{color:#c53030;font-weight:600}

/* Mensagem automática do WhatsApp Business */
.msg .meta .auto-tag{font-style:italic;opacity:.8;cursor:help}
.auto-list{display:grid;gap:8px;margin-top:10px}
.auto-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:start}
.auto-row textarea{width:100%;font:inherit;font-size:13px}

/* Busca por mensagem (Administrador) */
.chat-item mark{background:#fde68a;color:inherit;border-radius:2px;padding:0 1px}
.chat-item .match-meta{font-size:11px;color:var(--muted);margin-top:1px}
.msg.msg-hit .bubble,.msg.msg-hit{animation:msgHit 2.6s ease}
@keyframes msgHit{0%,60%{box-shadow:0 0 0 3px #f6c453;border-radius:10px}100%{box-shadow:0 0 0 0 transparent}}
/* Configurações › Clinicorp */
.cc-table-wrap{overflow-x:auto}.cc-table{width:100%;border-collapse:collapse;font-size:13px}.cc-table th,.cc-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}.cc-table th{color:var(--muted);font-weight:600;font-size:12px}
.cc-pill{display:inline-block;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600;background:var(--line);color:var(--muted)}.cc-pill.ok{background:#d1fae5;color:#065f46}.cc-pill.err{background:#fee2e2;color:#991b1b}.cc-pill.warn{background:#fef3c7;color:#92400e}
.small-t{font-size:12px}.cc-ok{color:var(--accent);font-weight:600}.cc-errt{color:#dc2626}
.cc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:8px}
.cc-log{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:8px}.cc-log:empty{display:none}.cc-line{padding:8px 10px;border-bottom:1px solid var(--line)}.cc-line:last-child{border-bottom:0}
.cc-flow{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:8px 0 12px}.cc-flow ol{margin:4px 0 6px 18px;padding:0}
.cc-flow ul{margin:4px 0 6px 18px;padding:0}
/* Painel do lead › Clinicorp */
.cc-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:14px 0 4px;background:var(--panel)}
.cc-card-h{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:8px}.cc-card-h .cc-ico{font-size:13px;opacity:.8}.cc-card-h .cc-pill-st,.cc-card-h .cc-pill{margin-left:auto}
.cc-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:12.5px;align-items:baseline}
.cc-k{color:var(--muted);font-size:11.5px;white-space:nowrap}.cc-v{min-width:0;overflow-wrap:anywhere}.cc-sub{color:var(--muted);font-size:11.5px}.cc-st{font-weight:600}
.cc-empty{color:var(--muted);font-size:12.5px;margin:2px 0}
.cc-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px;padding-top:6px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.cc-pid{background:none;border:0;padding:0;color:var(--muted);font:inherit;cursor:pointer}.cc-pid:hover{color:var(--ink)}
.cc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.cc-tag{display:inline-block;color:#fff;background:#64748b;border-radius:6px;padding:0 6px;font-size:10.5px;font-weight:700;line-height:18px;white-space:nowrap}
.cc-tag.muted{background:var(--line);color:var(--muted)}.cc-tag.cat{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:600}.cc-up+.cc-up{margin-top:6px}
.cc-unit-h{padding:8px 10px;background:var(--bg);font-weight:700;font-size:12.5px;border-bottom:1px solid var(--line)}.cc-unit-s{padding:6px 10px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--bg)}.cc-unit-s.err{color:#dc2626}
/* Configurações › Usuários: online/offline */
.presence{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:92px;font-size:12px}.presence small{color:var(--muted);font-size:11px;white-space:nowrap}
.pres{display:inline-flex;align-items:center;gap:5px;font-weight:600}.pres i{width:8px;height:8px;border-radius:50%;background:#9ca3af;display:inline-block}.pres.on{color:#16a34a}.pres.on i{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}.pres.off{color:var(--muted)}
.cfg-list.users li{grid-template-columns:36px minmax(0,1fr) 130px 90px 120px 150px}.cfg-list.users .chip{justify-self:start;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfg-list .acts{display:flex;gap:10px;white-space:nowrap;justify-content:flex-end}
@media (max-width:700px){.cfg-list.users li{grid-template-columns:36px 1fr}.cfg-list.users .presence{grid-column:2;flex-direction:row;gap:8px;align-items:center}}
