/* Limiar Odonto · sistema de gestão da clínica
   Identidade: verde profundo, dourado, areia. Fonte padrão dos sistemas Limiar: Plus Jakarta Sans (licença aberta SIL OFL 1.1). */
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root{
  --verde:#1E3A34; --verde-2:#27493F; --verde-3:#33584D; --verde-soft:#E4ECE8;
  --ouro:#B5862E; --ouro-claro:#D9B866; --ouro-escuro:#9A6F22; --ouro-soft:#F4EAD4;
  --areia:#F7F3EE; --areia-2:#EFE9E1; --linha:#E4DDD3; --branco:#FFFFFF;
  --card:#FFFFFF; --verde-txt:var(--verde); --ouro-txt:color-mix(in srgb,var(--ouro-escuro) 82%,#000); --vidro:rgba(255,255,255,.96); /* tokens que o modo escuro troca */
  --principal-rgb:30,58,52; --side-texto:#DCE6E2; --side-link:#C9D6D1; --side-muted:#93A8A0; /* derivadas da marca (app/lib/marca.php) */
  --tinta:#1F2A27; --tinta-2:#4C5753; --muted:#5E6864; /* contraste mínimo 4,5 (WCAG) em branco e nos fundos areia */
  --erro:#A63A28; --erro-soft:#F8E6E1; --ok:#26664B; --ok-soft:#E3F1EA; --alerta:#875408; --alerta-soft:#FBF0DB;
  --raio:16px; --raio-sm:10px;
  /* acabamento vivo: cores fixas para estado e destaque (iguais em toda clínica), luz nos cartões e sombra na cor da marca */
  --v-menta:#13C08E; --v-ceu:#2F8CFF; --v-ambar:#FFAA2B; --v-coral:#FF5E4D; --v-violeta:#7C5CFF;
  --v-borda:color-mix(in srgb,var(--linha) 70%,#FFFFFF);
  --card-luz:linear-gradient(180deg,var(--card) 0%,color-mix(in srgb,var(--card) 92%,var(--areia)) 100%);
  --v-sombra:0 1px 1px rgba(var(--principal-rgb),.04),0 10px 28px -12px rgba(var(--principal-rgb),.16);
  --v-sombra-alta:0 2px 4px rgba(var(--principal-rgb),.05),0 22px 44px -18px rgba(var(--principal-rgb),.26);
  --v-ease:cubic-bezier(.2,.8,.2,1);
  --sombra:0 1px 2px rgba(var(--principal-rgb),.05), 0 8px 24px rgba(var(--principal-rgb),.06);
  --serif:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --side:256px; --gutter:clamp(24px, 2.6vw, 48px); --safe-b:env(safe-area-inset-bottom, 0px);
}

/* ---------- Modo escuro (Meu perfil, ou o botão de lua e sol) ----------
   Troca só os fundos, os textos e os tons suaves. A cor da marca continua nos botões e no menu;
   como texto, ela clareia para dar leitura no fundo escuro. Impressos e páginas do paciente ficam sempre claros. */
html[data-tema-ativo="escuro"]{
  color-scheme:dark;
  --areia:#0F1417; --areia-2:#1B2328; --linha:#2C363C; --card:#161D21; --branco:#161D21; --vidro:rgba(22,29,33,.94);
  --tinta:#E9EEEC; --tinta-2:#C5CEC9; --muted:#9AA6A1;
  --verde-txt:color-mix(in srgb,var(--verde) 38%,#FFFFFF); --ouro-txt:color-mix(in srgb,var(--ouro) 72%,#FFFFFF);
  --verde-soft:color-mix(in srgb,var(--verde) 42%,#161D21); --ouro-soft:color-mix(in srgb,var(--ouro) 24%,#161D21);
  --erro:#FF9480; --erro-soft:#3A211D; --ok:#74D6A6; --ok-soft:#16332A; --alerta:#F2BE63; --alerta-soft:#3A2D14;
  --sombra:0 1px 2px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.35);
  --v-borda:var(--linha); --v-sombra:0 1px 2px rgba(0,0,0,.35),0 10px 28px -12px rgba(0,0,0,.55); --v-sombra-alta:0 2px 4px rgba(0,0,0,.4),0 22px 44px -18px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
/* celular com cara de app: a página nunca rola para os lados e o toque não espera o duplo toque */
html,body{overflow-x:clip}
a,button,label,summary,select,.chip{touch-action:manipulation}
body{font-variant-numeric:lining-nums;font-family:var(--sans);font-size:15px;line-height:1.5;color:var(--tinta);background:var(--areia);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::placeholder{color:var(--muted);opacity:1}
:where(input,select,textarea){background-color:var(--card)} /* campo sem fundo próprio segue o tema (no escuro o navegador punha cinza) */ /* texto de exemplo dos campos legível nos dois modos */
img{display:block;max-width:100%}
[hidden]{display:none!important}
.ic{flex:none}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--ouro);outline-offset:2px;border-radius:6px}

/* ---------- estrutura ---------- */
.app{display:flex;min-height:100vh}
.side{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--verde);color:var(--side-texto);display:flex;flex-direction:column;padding:26px 16px 18px;z-index:20}
.side-logo{display:block;padding:4px 10px 26px}
.side-logo img{width:100%;max-width:200px;height:auto}
.side-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}
.side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--side-link);font-weight:500;letter-spacing:.01em;transition:background .15s,color .15s}
.side-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side-nav a.on{background:color-mix(in srgb,var(--ouro-claro) 14%,transparent);color:var(--ouro-claro)}
.side-nav a.on .ic{color:var(--ouro-claro)}
.side-user{display:flex;align-items:center;gap:10px;padding:14px 10px 2px;border-top:1px solid rgba(255,255,255,.08);margin-top:12px}
.side-user div{flex:1;min-width:0}
.side-user b{display:block;font-weight:500;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user small{color:var(--side-muted);font-size:12px}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--verde)) 70%,#000);color:#fff;font-weight:600;font-size:13px;border:1.5px solid var(--ouro-claro);flex:none}
.avatar.com-foto{overflow:hidden;background:var(--areia-2)}
.avatar.com-foto img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.s{width:28px;height:28px;font-size:11px;border-width:1px}
.side-perfil{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:inherit;text-decoration:none;border-radius:10px;padding:2px}
.side-perfil:hover b{text-decoration:underline}
.side-perfil div{flex:1;min-width:0}
/* lua e sol: mostra o que a pessoa vai ligar (no claro, a lua; no escuro, o sol) */
.tema-btn{background:none;border:0;padding:0;cursor:pointer} /* é <button>: tira o fundo e a borda do navegador */
.tema-btn .ic:last-child,html[data-tema-ativo="escuro"] .tema-btn .ic:first-child{display:none}
html[data-tema-ativo="escuro"] .tema-btn .ic:last-child{display:inline-block}
.sheet-tema{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;border:0;border-radius:12px;background:none;font:inherit;font-weight:500;color:var(--tinta);cursor:pointer;text-align:left}
.sheet-tema .ic{color:var(--verde-txt)}
.sheet-tema .ic:nth-child(2),html[data-tema-ativo="escuro"] .sheet-tema .ic:first-child{display:none}
html[data-tema-ativo="escuro"] .sheet-tema .ic:nth-child(2){display:inline-block}
.sheet-perfil .avatar{width:30px;height:30px;font-size:11px;flex:none}
.sheet-perfil small{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
/* Meu perfil */
.perfil .card + .card{margin-top:16px}
.perfil h2{margin:0 0 8px;font-size:18px}
.perfil-foto-linha{display:flex;gap:20px;align-items:flex-start}
.perfil-avatar{width:96px;height:96px;font-size:30px;border-width:2px}
.perfil-envio{margin:12px 0 8px}
.perfil-envio label{cursor:pointer}
.tema-opcoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.tema-op{display:flex;flex-direction:column;gap:4px;padding:14px;border:1.5px solid var(--linha);border-radius:var(--raio-sm);cursor:pointer;background:var(--card)}
.tema-op input{position:absolute;opacity:0;pointer-events:none}
.tema-op.on,.tema-op:has(input:checked){border-color:var(--verde-txt);box-shadow:0 0 0 3px var(--verde-soft)}
.tema-op:focus-within{outline:2px solid var(--verde-txt);outline-offset:2px}
.tema-op small{color:var(--muted);font-size:12.5px;line-height:1.4}
.tema-amostra{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;margin-bottom:6px;border:1px solid var(--linha)}
.tema-amostra-claro{background:#FFFFFF;color:#B26B12}.tema-amostra-escuro{background:#161D21;color:#F2BE63}
.tema-amostra-auto{background:linear-gradient(135deg,#FFFFFF 50%,#161D21 50%);color:#7A8580} /* cinza médio: o ícone aparece nas duas metades */
.equipe-foto{display:flex;gap:18px;align-items:flex-start}
.equipe-foto h3{margin:0 0 4px}
.equipe-avatar{width:40px;height:40px}
.online-foto{position:relative;display:inline-flex}
.online-foto .pt{position:absolute;right:-1px;bottom:-1px;box-shadow:0 0 0 2px var(--card)}
@media (max-width:640px){.tema-opcoes{grid-template-columns:minmax(0,1fr)}.tema-op{flex-direction:row;align-items:center;flex-wrap:wrap}.tema-op small{flex-basis:100%}.perfil-foto-linha{flex-direction:column;align-items:center;text-align:center}}
.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--side-muted)}
.icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}

.main{flex:1;margin-left:var(--side);min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:22px var(--gutter) 18px;background:color-mix(in srgb,var(--areia) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top h1{font-family:var(--serif);font-weight:700;font-size:28px;line-height:1.1;color:var(--verde-txt);flex:1;letter-spacing:-.02em}
.top-logo{display:none}
.content{padding:6px var(--gutter) 48px;width:100%}

/* ---------- componentes ---------- */
.card{background:var(--card) var(--card-luz);border:1px solid var(--v-borda);border-radius:var(--raio);box-shadow:var(--v-sombra)}
.card.pad{padding:26px}
.card.flush{overflow:hidden}
.card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 6px}
.card-head h3{font-family:var(--serif);font-weight:650;font-size:17px;color:var(--verde-txt);letter-spacing:-.01em}
.link{color:var(--ouro-txt);font-weight:500;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-weight:500;cursor:pointer;transition:transform .08s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--verde);color:#fff;box-shadow:0 6px 16px rgba(var(--principal-rgb),.18)}
.btn.primary:hover{background:var(--verde-2)}
.btn.gold{background:color-mix(in srgb,var(--ouro) 78%,#000);color:#fff} /* escurecido: branco sobre o dourado puro não chegava a 4,5 */
.btn.ghost{background:transparent;border-color:var(--linha);color:var(--tinta-2)}
.btn.ghost:hover{background:var(--areia-2)}
.btn.block{width:100%}
.tag{display:inline-block;font-size:11.5px;font-weight:500;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:var(--verde-soft);color:var(--verde-txt)}
.tag-particular{background:var(--ouro-soft);color:var(--ouro-txt);font-weight:600}.tag-convenio{background:color-mix(in srgb,#25507F 13%,var(--card));color:#25507F;font-weight:600}
html[data-tema-ativo="escuro"] .tag-convenio{background:color-mix(in srgb,#25507F 45%,var(--card));color:#BFD3EE}
.tag.muted{background:var(--areia-2);color:var(--muted)}
.tag.gold{background:var(--ouro-soft);color:var(--ouro-txt);text-transform:uppercase;letter-spacing:.12em;font-size:11px;padding:4px 10px}
.pill{font-size:12px;font-weight:500;padding:3px 10px;border-radius:999px;background:var(--areia-2);color:var(--tinta-2);text-transform:capitalize}
.pill.confirmado{background:var(--ok-soft);color:var(--ok)}
.pill.solicitado{background:var(--alerta-soft);color:var(--alerta)}
.alert{background:var(--erro-soft);color:var(--erro);border-radius:var(--raio-sm);padding:12px 14px;margin-bottom:16px;font-size:14px}
.note{background:var(--ouro-soft);color:var(--ouro-txt);border-radius:var(--raio-sm);padding:12px 14px;margin-bottom:18px;font-size:14px}
.toast{position:fixed;bottom:28px;right:28px;z-index:60;display:flex;align-items:center;gap:10px;background:var(--verde);color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.18);font-weight:500;animation:toast 4s ease forwards}
.toast.erro{background:var(--erro)}
@keyframes toast{0%{opacity:0;transform:translateY(10px)}8%,85%{opacity:1;transform:none}100%{opacity:0;transform:translateY(10px);visibility:hidden}}
.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:38px 20px;color:var(--muted);text-align:center}
.hint{margin-top:14px;color:var(--muted);font-size:13.5px;max-width:720px}

/* formulários */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field>span{font-size:13px;font-weight:500;color:var(--tinta-2);letter-spacing:.01em}
.field small{color:var(--muted);font-size:12.5px}
.field input,.field select,.field textarea{height:48px;border:1px solid var(--linha);border-radius:12px;background:var(--card);padding:0 14px;font-size:16px;transition:border .15s,box-shadow .15s;width:100%}
.field textarea{height:auto;min-height:96px;padding:12px 14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--verde-3);box-shadow:0 0 0 4px rgba(var(--principal-rgb),.08)}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.switch{display:flex;align-items:center;gap:12px;margin:6px 0 14px;cursor:pointer;font-size:15px}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch span{width:44px;height:26px;border-radius:999px;background:var(--linha);position:relative;transition:background .15s;flex:none}
.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}
.switch input:checked+span{background:var(--verde)}
.switch input:checked+span:after{transform:translateX(18px)}
.switch input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.narrow{max-width:880px}

/* início */
.hello{margin:4px 0 22px}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-txt);font-weight:500}
.hello h2{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--tinta);margin-top:2px;letter-spacing:-.02em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat{background:var(--card) var(--card-luz);border:1px solid var(--v-borda);border-radius:var(--raio);padding:18px 18px 16px;display:flex;flex-direction:column;box-shadow:var(--sombra);transition:transform .12s}
.stat:hover{transform:translateY(-2px)}
.stat-ic{width:36px;height:36px;border-radius:10px;background:var(--verde-soft);color:var(--verde-txt);display:grid;place-items:center;margin-bottom:12px}
.stat b{font-variant-numeric:lining-nums tabular-nums;font-family:var(--serif);font-size:30px;line-height:1;color:var(--verde-txt);letter-spacing:-.02em}
.stat small{color:var(--muted);font-size:13.5px;margin-top:4px}
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.rows{list-style:none;padding:6px 10px 12px}
.rows li{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:12px}
.rows li:hover{background:var(--areia)}
.rows time{font-weight:600;color:var(--verde-txt);width:86px;font-variant-numeric:tabular-nums}
.rows div{flex:1;min-width:0}.rows small{display:block;color:var(--muted)}
.shortcuts{display:grid;gap:8px;padding:8px 18px 20px}
.shortcuts a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--linha);border-radius:12px;font-weight:500;transition:background .15s,border .15s}
.shortcuts a:hover{background:var(--areia);border-color:var(--verde-3)}
.shortcuts .ic{color:var(--ouro-txt)}
.shortcuts small{margin-left:auto;color:var(--muted)}

/* procedimentos */
.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.search{flex:1;display:flex;align-items:center;gap:10px;height:46px;background:var(--card);border:1px solid var(--linha);border-radius:999px;padding:0 16px;color:var(--muted)}
.search input{border:0;outline:0;background:transparent;flex:1;font-size:15.5px;color:var(--tinta);min-width:0}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 16px;border-radius:999px;border:1px solid var(--linha);background:var(--card);font-size:14px;font-weight:500;color:var(--tinta-2)}
.chip.on{background:var(--verde);border-color:var(--verde);color:#fff}
.group-title{padding:16px 22px 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-txt);font-weight:600;background:var(--areia);border-top:1px solid var(--linha)}
.group-title:first-child{border-top:0}
.proc{display:flex;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--areia-2);transition:background .12s}
a.proc[href]:hover{background:var(--areia)}
.proc-main{flex:1;min-width:0}
.proc-main b{font-weight:500;display:block}
.proc-main small{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.proc-price{font-weight:600;color:var(--verde-txt);font-variant-numeric:tabular-nums;white-space:nowrap}
.proc .ic:last-child{color:var(--muted)}

.soon{max-width:640px}
.soon h2{font-family:var(--serif);font-size:26px;color:var(--verde-txt);margin:12px 0 8px;letter-spacing:-.02em}
.soon p{color:var(--tinta-2);margin-bottom:20px}

/* agenda */
.agenda-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.agenda-nav{display:flex;align-items:center;gap:8px}
.icon-round{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--linha);color:var(--verde-txt);transform:scaleX(-1);transition:background .15s}
.icon-round.next{transform:none}
.icon-round:hover{background:var(--areia-2)}
.agenda-date label{position:relative;display:block;cursor:pointer}
.agenda-date span{display:block;font-family:var(--serif);font-weight:700;font-size:20px;color:var(--verde-txt);padding:0 6px;line-height:1.1;letter-spacing:-.02em}
.agenda-date input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.agenda-resumo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--tinta-2);font-weight:500}
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin-bottom:14px}
.week a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 4px 8px;border-radius:14px;background:var(--card);border:1px solid var(--linha);transition:background .15s,border .15s}
.week a:hover{border-color:var(--verde-3)}
.week small{font-size:12px;color:var(--muted);text-transform:capitalize}
.week b{font-size:20px;font-weight:600;color:var(--tinta);font-variant-numeric:tabular-nums;line-height:1.2}
.week i{font-style:normal;font-size:12px;min-height:18px;color:var(--ouro-txt);font-weight:600}
.week a.today b{color:var(--ouro-txt)}
.week a.closed{background:transparent}
.week a.closed b{color:var(--muted)}
.week a.on{background:var(--verde);border-color:var(--verde)}
.week a.on small,.week a.on b{color:#fff}
.week a.on i{color:var(--ouro-claro)}
.chip .dot,.tl-head .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px;vertical-align:1px}
.chip.on .dot{box-shadow:0 0 0 2px var(--card)}
.agenda-resumo .pill,.dl-item .pill,.leads-resumo .pill{text-transform:none;white-space:nowrap}
.pill.chegou{background:var(--ouro-soft);color:var(--ouro-txt)}
.pill.atendido{background:var(--verde-soft);color:var(--verde-txt)}
.pill.faltou{background:var(--erro-soft);color:var(--erro)}
.pill.cancelado{background:var(--areia-2);color:var(--muted);text-decoration:line-through}

.timeline-card{overflow:visible}
.tl-head{display:grid;grid-template-columns:64px repeat(var(--cols),1fr);gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--linha)}
.tl-head b{font-weight:500}
.tl{position:relative;display:grid;grid-template-columns:64px repeat(var(--cols),1fr);gap:10px;padding:0 16px;margin:12px 0 16px;box-sizing:content-box}
.tl-hours{position:relative}
.tl-hours span{position:absolute;left:0;transform:translateY(-50%);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl-hours span:first-child{transform:none}
.tl-col{position:relative;background:repeating-linear-gradient(to bottom,var(--areia-2) 0 1px,transparent 1px 96px);border-radius:10px}
.tl-item,.tl-block{position:absolute;left:4px;right:4px;border-radius:10px;padding:6px 10px;overflow:hidden;font-size:13px;line-height:1.3}
.tl-item{background:var(--card);border:1px solid var(--linha);border-left:4px solid var(--c);box-shadow:0 1px 2px rgba(var(--principal-rgb),.06);transition:transform .1s,box-shadow .15s;display:flex;flex-direction:column}
.tl-item:hover{box-shadow:0 6px 16px rgba(var(--principal-rgb),.12);z-index:2}
.tl-item time{font-weight:600;color:var(--verde-txt);font-variant-numeric:tabular-nums;font-size:12.5px}
.tl-item b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-item small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-item.short{flex-direction:row;align-items:center;gap:8px;padding:2px 10px}
.tl-item.short small{display:none}
.tl-item.st-solicitado{background:var(--alerta-soft);border-color:#EED9B3;border-left-color:var(--alerta)}
.tl-item.st-chegou{background:var(--ouro-soft)}
.tl-item.st-faltou{background:var(--erro-soft);border-left-color:var(--erro)}
.tl-block{background:repeating-linear-gradient(135deg,var(--areia-2) 0 8px,var(--areia) 8px 16px);color:var(--muted);font-size:12.5px;display:flex;align-items:center;justify-content:center}
.tl-now{position:absolute;left:80px;right:16px;height:2px;background:var(--ouro);z-index:2}
.tl-now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--ouro)}
.day-list{display:none}
.dl-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--linha);border-left:4px solid var(--c,var(--linha));border-radius:14px;margin-bottom:8px}
.dl-item time{width:52px;font-weight:600;color:var(--verde-txt);font-variant-numeric:tabular-nums;line-height:1.2}
.dl-item time small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.dl-item div{flex:1;min-width:0}
.dl-item b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-item div small{color:var(--muted);font-size:13px}
.dl-block{background:var(--areia-2);border-left-color:var(--muted);color:var(--tinta-2)}

/* nova consulta */
.cf-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}
.cf-main{display:grid;gap:18px}
.cf-step h3{font-family:var(--serif);font-weight:650;font-size:18px;color:var(--verde-txt);margin-bottom:16px;letter-spacing:-.01em}
.cf-quando{position:sticky;top:96px}
.cf-or{color:var(--muted);font-size:13.5px;margin:16px 0 10px}
.pac-results{list-style:none;margin-top:8px;border:1px solid var(--linha);border-radius:14px;overflow:hidden;background:var(--card)}
.pac-results button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:none;border:0;border-top:1px solid var(--areia-2);text-align:left;cursor:pointer}
.pac-results li:first-child button{border-top:0}
.pac-results button:hover{background:var(--areia)}
.pac-results b{font-weight:500}
.pac-results small{color:var(--muted)}
.pac-results .vazio{padding:12px 16px;color:var(--muted);font-size:14px}
.pac-escolhido{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--verde-soft);border-radius:14px}
.pac-escolhido b{flex:1;font-weight:500}
.pac-escolhido .link{background:none;border:0;cursor:pointer}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;height:44px;padding:0 18px;border:1px solid var(--linha);border-radius:999px;background:var(--card);font-weight:500;color:var(--tinta-2);transition:background .15s,border .15s}
.seg .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px}
.seg input:checked+span{background:var(--verde);border-color:var(--verde);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.seg input:disabled+span{opacity:.45;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;min-height:48px;transition:opacity .15s}
.slots.loading{opacity:.4}
.slots p{grid-column:1/-1;font-size:14px}
.slots label{position:relative;cursor:pointer}
.slots input{position:absolute;opacity:0;pointer-events:none}
.slots span{display:block;text-align:center;padding:10px 0;border:1px solid var(--linha);border-radius:12px;background:var(--card);font-weight:500;font-variant-numeric:tabular-nums;transition:background .12s,border .12s}
.slots label:hover span{border-color:var(--verde-3)}
.slots input:checked+span{background:var(--ouro);border-color:var(--ouro);color:#fff}
.slots input:focus-visible+span{outline:2px solid var(--verde);outline-offset:2px}

/* consulta */
.back{display:inline-flex;align-items:center;gap:6px;color:var(--tinta-2);font-weight:500;margin-bottom:14px}
.back .ic{transform:scaleX(-1)}
.cq-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
.cq-main{border-top:5px solid var(--c)}
.cq-top{display:flex;gap:8px;align-items:center}
.cq-top .pill{text-transform:none}
.cq-nome{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.1;color:var(--verde-txt);margin:14px 0 4px;letter-spacing:-.02em}
.cq-quando{font-size:18px;font-weight:500;color:var(--tinta-2)}
.cq-dados{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:26px 0 28px;padding:20px 0;border-top:1px solid var(--areia-2);border-bottom:1px solid var(--areia-2)}
.cq-dados dt{font-size:13px;color:var(--muted);margin-bottom:2px}
.cq-dados dd{font-weight:500}
.cq-dados small{color:var(--muted);font-weight:400}
.cq-dados .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);margin-right:8px}
.cq-acoes{display:flex;flex-wrap:wrap;gap:10px}
.btn.danger{color:var(--erro);border-color:#EBC9C1}
.btn.danger:hover{background:var(--erro-soft)}
.btn.whats{background:#1F7A4D;color:#fff}
.btn.whats:hover{background:#196640}
.cq-side{display:grid;gap:18px}
.cq-side h3{font-family:var(--serif);font-weight:650;font-size:17px;color:var(--verde-txt);margin-bottom:14px;letter-spacing:-.01em}
.cq-whats{display:grid;gap:10px}
.cq-msgs{margin-top:12px;color:var(--muted);font-size:13.5px}
.cq-hist{list-style:none;display:grid;gap:10px}
.cq-hist li{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.cq-hist b{font-weight:500}
.cq-hist small{color:var(--muted)}
.cq-remarcar-info{margin-bottom:18px;line-height:1.6}

/* bloqueios */
.top-actions{display:flex;gap:10px}
.cf-title{font-family:var(--serif);font-weight:650;font-size:18px;color:var(--verde-txt);margin-bottom:16px;letter-spacing:-.01em}
button.link{background:none;border:0;cursor:pointer;padding:4px 0}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-weight:500;color:var(--tinta);cursor:pointer}
.check input{margin-top:4px;accent-color:var(--verde)}
.aviso-lista{margin:8px 0 0 18px;color:var(--tinta-2)}
.bl-lista{list-style:none;display:grid;gap:4px}
.bl-lista li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--areia-2)}
.bl-lista li:first-child{border-top:0}
.bl-lista b{font-weight:500;display:block}
.bl-lista small{color:var(--muted);font-size:13.5px}

/* leads */
.leads-top{display:flex;gap:16px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.leads-top .search{flex:1;min-width:260px}
.leads-resumo{display:flex;gap:18px;align-items:center;color:var(--tinta-2);flex-wrap:wrap}
.leads-resumo b{font-family:var(--serif);font-size:20px;color:var(--verde-txt);margin-right:4px;font-variant-numeric:lining-nums;letter-spacing:-.02em}
.board{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}
.board-col{background:var(--areia-2);border-radius:16px;padding:12px 10px;min-height:220px}
.board-col h3{font-size:13.5px;font-weight:600;color:var(--tinta-2);display:flex;justify-content:space-between;padding:2px 4px 10px}
.board-col h3 span{color:var(--muted);font-weight:500}
.board-vazio{color:var(--muted);font-size:13px;text-align:center;padding:20px 0}
.lead-card{display:flex;flex-direction:column;gap:3px;background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:12px;margin-bottom:8px;transition:box-shadow .15s,transform .1s}
.lead-card:hover{box-shadow:0 6px 16px rgba(var(--principal-rgb),.1)}
.lead-card b{font-weight:500;line-height:1.3}
.lead-card>small{color:var(--muted);font-size:13px;line-height:1.35}
.lead-card.late{border-color:#E9B9AE;box-shadow:inset 3px 0 0 var(--erro)}
.lead-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:12.5px}
.lead-next{display:inline-flex;align-items:center;gap:4px;color:var(--ouro-txt);font-weight:500}
.lead-card.late .lead-next{color:var(--erro)}
.lead-valor{font-weight:600;color:var(--verde-txt)}
.board-mob{display:none}
.lead-msg{margin:16px 0 0;padding:12px 16px;background:var(--areia);border-radius:12px;color:var(--tinta-2);font-style:italic}
.lead-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.lead-contato{margin-top:12px;color:var(--muted)}
.funil{display:flex;flex-wrap:wrap;gap:6px}
.funil button{flex:1 1 120px;height:44px;border:1px solid var(--linha);background:var(--card);border-radius:12px;font-weight:500;color:var(--tinta-2);cursor:pointer;transition:background .15s}
.funil button:hover{border-color:var(--verde-3)}
.funil button.done{background:var(--verde-soft);border-color:var(--verde-soft);color:var(--verde-txt)}
.funil button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.funil-valor{flex:1 1 100%;margin:14px 0 0}
.perdido{display:flex;gap:10px;margin-top:4px}
.perdido select{flex:1;height:44px;border:1px solid var(--linha);border-radius:12px;padding:0 12px;background:var(--card)}
.nota{display:grid;gap:10px;margin-bottom:18px}
.nota textarea{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:12px 14px;font-size:15.5px;resize:vertical}
.nota .btn{justify-self:start}
.timeline{list-style:none;display:grid;gap:0}
.timeline li{position:relative;padding:0 0 16px 22px;border-left:2px solid var(--areia-2);margin-left:6px}
.timeline li:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--card);border:2px solid var(--ouro)}
.timeline li.ev-etapa:before{background:var(--verde);border-color:var(--verde)}
.timeline b{font-weight:600;font-size:13.5px;color:var(--verde-txt)}
.timeline p{margin:2px 0}
.timeline small{color:var(--muted);font-size:12.5px}
.late-card{box-shadow:inset 0 3px 0 var(--erro)}
.origem{display:grid;gap:8px;margin-top:12px}
.origem dt{font-size:12.5px;color:var(--muted)}
.origem dd{font-size:14px;word-break:break-all}

/* barra inferior e menu "mais" (celular) */
.tabbar{display:none}
.sheet{position:fixed;inset:0;background:rgba(var(--principal-rgb),.45);z-index:50;display:flex;align-items:flex-end}
.sheet[hidden]{display:none}
.sheet-panel{width:100%;background:var(--card);border-radius:22px 22px 0 0;padding:10px 12px calc(16px + var(--safe-b));animation:up .22s ease}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--linha);margin:4px auto 10px}
.sheet-panel a{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:12px;font-weight:500}
.sheet-panel a span{flex:1}
.sheet-panel a .ic:first-child{color:var(--verde-txt)}
.sheet-panel a:hover{background:var(--areia)}
.sair-form{display:contents}.sair-btn{background:none;border:0;padding:0;cursor:pointer} /* sair é <form>: mesmo visual do ícone */
.sheet-sair button{display:flex;align-items:center;gap:14px;width:100%;padding:14px 12px;border:0;border-radius:12px;background:none;font:inherit;font-weight:500;color:inherit;cursor:pointer;text-align:left}
.sheet-sair button span{flex:1}.sheet-sair button .ic:first-child{color:var(--verde-txt)}.sheet-sair button:hover{background:var(--areia)}

/* ---------- login ---------- */
body.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--areia)}
.login-brand{background:radial-gradient(900px 600px at 30% 20%,var(--verde-2),var(--verde) 55%,color-mix(in srgb,var(--verde) 75%,#000));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px}
.login-brand img{width:min(420px,70%)}
.login-brand p{color:var(--side-muted);letter-spacing:.3em;text-transform:uppercase;font-size:12.5px}
.login-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}
.login-card{width:100%;max-width:400px;padding:34px}
.login-card h1{font-family:var(--serif);font-size:30px;color:var(--verde-txt);line-height:1;letter-spacing:-.02em}
.login-card .muted{margin:6px 0 22px}
.login-card .btn{margin-top:6px}
.login-card .btn+.btn{margin-top:10px}
.login-foot{margin-top:22px;color:var(--muted);font-size:13px}

/* ---------- celular ---------- */
@media (max-width: 900px){
  :root{--gutter:16px}
  .side{display:none}
  .main{margin-left:0}
  .top{padding:14px var(--gutter) 12px;padding-top:max(14px, env(safe-area-inset-top))}
  .top h1{font-size:24px}
  .top-logo{display:block;width:34px}
  .top{gap:10px}.top-actions{gap:6px}.top-actions .btn:not(.form-actions .btn){padding:0;width:40px;height:40px;flex:none} /* topo com vários botões cabia mais que a tela (Agenda) */
  .top:has(.top-actions > :nth-child(4)) .top-logo{display:none}
}
@media (max-width:400px){.top{gap:8px}.top-actions{gap:4px}.top-actions .btn:not(.form-actions .btn),.top .online-btn{width:38px;height:38px;min-height:38px}.top h1{min-width:0;overflow-wrap:anywhere}
  .content{padding:4px 16px calc(96px + var(--safe-b))}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .grid-2{grid-template-columns:1fr}
  .row-2{grid-template-columns:1fr;gap:0}
  .card.pad{padding:20px}
  .proc{padding:14px 16px}
  .group-title{padding:14px 16px 8px}
  .toast{left:16px;right:16px;bottom:calc(84px + var(--safe-b));justify-content:center}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--vidro);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linha);padding:6px 6px calc(6px + var(--safe-b))}
  .tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:500;color:var(--muted);background:none;border:0;cursor:pointer}
  .tabbar .on{color:var(--verde-txt)}
  .tabbar .on .ic{color:var(--ouro-txt)}
  .btn span{display:none}
  .btn.primary{padding:0 14px}
  body.login{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .login-brand{padding:56px 24px 40px}
  .login-brand img{width:min(300px,72%)}
  .agenda-date span{font-size:19px}
  .agenda-resumo{width:100%}
  .week{gap:6px}
  .week a{padding:8px 2px 6px;border-radius:12px}
  .week b{font-size:17px}
  .timeline-card{display:none}
  .day-list{display:block}
  .cf-grid{grid-template-columns:1fr}
  .cf-quando{position:static}
  .form-actions .btn span{display:inline}
  .cq-grid{grid-template-columns:minmax(0,1fr)} /* minmax: conteúdo largo não estoura a tela do celular */
  .cq-nome{font-size:30px}
  .cq-dados{grid-template-columns:1fr}
  .cq-acoes .btn{flex:1 1 calc(50% - 10px)}
  .cq-acoes .btn span,.cq-whats .btn span{display:inline}
  .board{display:none}
  .board-mob{display:block}
  .leads-resumo{gap:12px;font-size:14px}
  .leads-resumo b{font-size:20px}
  .lead-acoes .btn{flex:1 1 100%}
  .lead-acoes .btn span{display:inline}
  .perdido{flex-direction:column}
}

/* presença (só administrador) */
.online{position:relative}
.online-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--linha,#E6DED3);background:var(--card);font:600 14px/1 var(--sans,inherit);color:var(--tinta-2);cursor:pointer}
.online-btn.tem{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--card));background:var(--ok-soft)}
.online .pt{width:9px;height:9px;border-radius:50%;background:#C7CFCB;flex:none}
.online-btn.tem .pt,.online-lista li.on .pt{background:#2E9E5B;box-shadow:0 0 0 3px rgba(46,158,91,.18);animation:pulsa 2s infinite}
@keyframes pulsa{50%{box-shadow:0 0 0 6px rgba(46,158,91,.06)}}
.online-lista{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--linha);border-radius:16px;box-shadow:0 18px 40px rgba(var(--principal-rgb),.14);padding:14px;z-index:30}
.online-tit{font-weight:600;color:var(--verde-txt);margin:2px 4px 10px}
.online-lista ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.online-lista li{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:10px}
.online-lista li.on{background:var(--ok-soft)}
.online-lista li b{display:block;font-size:14.5px;color:var(--tinta)}
.online-lista li small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.online-nota{font-size:11.5px;color:var(--muted);margin:10px 4px 0}
@media (prefers-reduced-motion:reduce){.online-btn.tem .pt,.online-lista li.on .pt{animation:none}}

/* pacientes */
.pac-lista{display:grid}
.pac-linha{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 18px;border-top:1px solid var(--linha,#ECE5DA);color:inherit;text-decoration:none}
.pac-linha:first-child{border-top:0}
.pac-linha:hover{background:var(--areia,#F7F3EE)}
.pac-nome{min-width:0}.pac-nome b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pac-nome small{color:var(--muted);font-size:13px}
.pac-datas{display:grid;justify-items:end;gap:2px;font-size:12.5px}.pac-prox{display:inline-flex;gap:4px;align-items:center;color:var(--verde-txt);font-weight:600}
.paginas{display:flex;gap:12px;align-items:center;justify-content:center;margin:18px 0}
.pac-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.pac-avatar{width:58px;height:58px;font-size:24px}
.pac-id p{margin:4px 0 0}.pac-tags{display:flex;flex-wrap:wrap;gap:6px}
.pac-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.abas{display:flex;gap:4px;overflow-x:auto;margin:16px 0;border-bottom:1px solid var(--linha,#ECE5DA)}
.abas a{padding:10px 14px;font-weight:600;font-size:14.5px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.abas a.on{color:var(--verde-txt);border-color:var(--ouro,#C99A45)}
.pac-form .cf-title{margin-top:18px}.pac-form .cf-title:first-of-type{margin-top:0}
.pac-mais{margin:14px 0}.pac-mais summary{cursor:pointer;font-weight:600;color:var(--verde-txt);margin-bottom:10px}
.pac-situacao{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}
.timeline li.ev-financeiro{background:var(--ouro-soft);border-radius:10px}
@media (max-width:760px){
  .pac-linha{grid-template-columns:36px minmax(0,1fr);row-gap:6px}.pac-conv,.pac-datas{grid-column:2;justify-items:start}
  .pac-head{grid-template-columns:auto minmax(0,1fr)}.pac-acoes{grid-column:1/-1;justify-content:flex-start}
}

/* início por papel */
.btn.sm{height:34px;padding:0 13px;font-size:13.5px;gap:6px}
.pad-x{padding:4px 22px 18px}
.inicio-grid{align-items:start}
.inicio-lado{display:grid;gap:18px}
.stat-alerta .stat-ic{background:var(--alerta-soft);color:var(--alerta)}
.fila li{flex-wrap:wrap}
.fila a b{color:var(--tinta)}.fila a:hover b{text-decoration:underline}
.fila li.atrasado time{color:var(--alerta)}
.fila-acoes{display:flex;gap:6px;align-items:center}
.fila-acoes form{margin:0}
.ok-txt{color:var(--ok)}
.rows .row-link{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.card-head small{font-size:13px}
.card-head.flat{padding:0 0 12px}
.mes-painel{margin-top:18px}
.mes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mes-grid.tres{grid-template-columns:repeat(3,1fr)}
.mes-grid div{border:1px solid var(--linha);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:2px}
.mes-grid b{font-family:var(--serif);font-size:28px;line-height:1;color:var(--verde-txt);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.mes-grid span{color:var(--tinta-2);font-size:14px}
.mes-grid em{font-style:normal;font-size:12.5px;margin-top:6px}
.mes-grid em.up{color:var(--ok)}.mes-grid em.down{color:var(--alerta)}
.mes-nota{font-size:13px;margin-top:12px}
@media (max-width:900px){
  .mes-grid,.mes-grid.tres{grid-template-columns:1fr 1fr;gap:10px}.mes-grid.tres div:last-child{grid-column:1/-1}
  .fila-acoes{width:100%;padding-left:100px}
}
.inicio-quadros .card:not(.quadro-fila) .rows time{width:46px;flex-shrink:0}
.inicio-quadros .card:not(.quadro-fila) .rows li{gap:10px}
.inicio-quadros .card:not(.quadro-fila) .rows b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inicio-quadros .card:not(.quadro-fila) .fila-acoes{flex-shrink:0}
.inicio-quadros>*{min-width:0}
@media (max-width:900px){
  .fila-acoes{box-sizing:border-box;padding-left:100px}
  .inicio-quadros .card:not(.quadro-fila) .fila-acoes{width:auto;padding-left:0}
  .inicio-quadros .card:not(.quadro-fila) .rows b{white-space:normal}
}
@media (max-width:900px){.fila time{width:50px;flex-shrink:0}.fila-acoes{padding-left:64px}}

/* marcadores e desmarcações */
.mks{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.mk{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;line-height:1;padding:3px 7px 3px 6px;border-radius:999px;color:color-mix(in srgb,var(--m) 80%,#000);background:color-mix(in srgb,var(--m) 12%,var(--card));white-space:nowrap}
.mk::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--m)}
.tl-item .mks{flex-wrap:nowrap;overflow:hidden}
.tl-item.short .mks{display:none}
.mk-escolha{border:0;padding:0;margin:0 0 14px}
.mk-escolha>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mk-op{cursor:pointer}
.mk-op input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.mk-op span{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 11px;border-radius:999px;border:1px solid var(--linha);color:var(--tinta-2);transition:background .15s,border .15s}
.mk-op span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--m)}
.mk-op input:checked+span{border-color:var(--m);background:color-mix(in srgb,var(--m) 12%,var(--card));color:color-mix(in srgb,var(--m) 80%,#000);font-weight:500}
html[data-tema-ativo="escuro"] :is(.mk,.mk-op input:checked+span){color:color-mix(in srgb,var(--m) 45%,#fff)} /* cor do marcador clareada para ler no fundo escuro */
.mk-op input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.desmarcadas{margin-top:16px}
.desmarcadas summary{display:flex;align-items:center;gap:10px;padding:16px 20px;cursor:pointer;font-weight:500;list-style:none}
.desmarcadas summary::-webkit-details-marker{display:none}
.desmarcadas summary small{margin-left:auto;font-weight:400}
.desmarcadas .rows a b{color:var(--tinta)}
.desm-espera{display:flex;align-items:center;gap:8px;margin:0 20px 6px;padding:10px 14px;border-radius:12px;background:var(--ouro-soft);color:var(--ouro-txt);font-size:14px}
.desm-espera .link{margin-left:auto}
.espera-grid{align-items:start}
.espera-lista li{flex-wrap:wrap}
.espera-lista a b{color:var(--tinta)}
.espera-lista small{display:block}
.espera-hist{border-top:1px solid var(--linha);margin-top:6px}
.espera-hist summary{padding:14px 22px;cursor:pointer;color:var(--muted);font-size:14px}
@media (max-width:900px){.espera-lista .fila-acoes{padding-left:0;width:100%}}
.tl-item .mks{position:absolute;top:6px;left:52px;right:6px;margin:0;justify-content:flex-start}
.tl-item.short .mks{display:flex}
.tl-item .mk{font-size:10.5px;padding:2px 6px 2px 5px}
@media (max-width:900px){.desmarcadas summary small{display:none}}

/* financeiro */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.fin-nav{margin-top:0}
.pos{color:var(--ok)}.neg{color:var(--alerta)}.riscado{text-decoration:line-through;color:var(--muted)}
.fin-valor{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.fin-valor small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.fin-aviso{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.fin-aviso .link{margin-left:auto}
.stat em{font-style:normal}.stat em.up{color:var(--ok)}.stat em.down{color:var(--alerta)}
.stat b.neg{color:var(--alerta)}
.fin-stats .stat b{font-size:26px}
.caixa-stats .stat b{font-size:24px}
.stat-acao{background:var(--verde);border-color:var(--verde)}.stat-acao b,.stat-acao small{color:#fff}.stat-acao .stat-ic{background:rgba(255,255,255,.14);color:#fff}
.caixa-info{margin:-6px 0 16px;font-size:14px}
.caixa-fechado{text-align:left}.caixa-fechado .stat-ic{margin-bottom:10px}
.caixa-formas{display:flex;flex-wrap:wrap;gap:8px 16px;padding:4px 22px 18px;font-size:13.5px;color:var(--muted)}
.caixa-formas b{color:var(--tinta)}
.fin-resumo{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.fin-box{background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.fin-box small{color:var(--muted);font-size:13px}.fin-box b{font-family:var(--serif);font-size:20px;color:var(--verde-txt);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.fin-box em{font-style:normal;font-size:12.5px;color:var(--muted)}
.fin-box.alerta b{color:var(--alerta)}.fin-box.neutro{background:var(--areia)}
.fin-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px}
.fin-filtros .chips{width:100%;margin:0}
.fin-filtros .search{flex:1;min-width:220px}
.fin-filtros .field{margin:0}
.fin-mes input,.fin-filtros input[type=month]{height:44px;border:1px solid var(--linha);border-radius:12px;padding:0 12px;background:var(--card);font:inherit}
.fin-lista li{gap:12px}
.fin-lista li time{width:52px;flex-shrink:0;line-height:1.15}.fin-lista time small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}
.fin-lista a b{color:var(--tinta)}
.fin-lista li.vencida time,.rows li.vencida time{color:var(--alerta)}
.rows li.atual{background:var(--areia)}
.fin-baixa{position:relative}
.fin-baixa summary{list-style:none;cursor:pointer}.fin-baixa summary::-webkit-details-marker{display:none}
.fin-baixa[open] .fin-baixa-form{position:absolute;right:0;top:40px;z-index:5;width:320px;background:var(--card);border:1px solid var(--linha);border-radius:14px;box-shadow:0 12px 32px rgba(var(--principal-rgb),.16);padding:16px}
.fin-pagar-grid{align-items:start}
.lanc-form{max-width:900px}
.lanc-topo{margin-bottom:12px}
.lanc-cab,.lanc-linha{display:grid;grid-template-columns:minmax(0,1fr) 74px 64px 130px 40px;gap:8px;align-items:center}
.lanc-cab{font-size:12.5px;color:var(--muted);padding:0 2px 4px}
.lanc-linha{margin-bottom:8px}
.lanc-linha select,.lanc-linha input,.rec-linha select,.rec-linha input,.form-tab input,.form-tab select{height:42px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;background:var(--card);font:inherit;width:100%;min-width:0}
.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lanc-cond{margin-top:16px}
.lanc-total{text-align:right;font-size:15px;color:var(--muted);margin:6px 0 12px}.lanc-total b{font-family:var(--serif);font-size:22px;color:var(--verde-txt);margin-left:8px;letter-spacing:-.02em}
.rec-grid{align-items:start}
.rec-titulos{list-style:none;padding:0;margin:0 0 6px}
.rec-titulos li{border-bottom:1px solid var(--linha)}
.rec-titulos .check{display:flex;align-items:center;gap:12px;padding:12px 4px;margin:0}
.rec-titulos .check>span:nth-child(2){flex:1;min-width:0}.rec-titulos small{display:block;color:var(--muted)}
.rec-valor{font-weight:600;text-align:right;white-space:nowrap}.rec-valor small{font-weight:400}
.vencido{font-style:normal;color:var(--alerta);font-weight:500}
.rec-linha{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 64px 40px;gap:6px;margin-bottom:8px}
.rec-linha select[hidden]{display:block;visibility:hidden}
.rec-resumo{margin:14px 0;border-top:1px solid var(--linha);padding-top:10px}
.rec-resumo div{display:flex;justify-content:space-between;padding:4px 0}.rec-resumo dt{color:var(--muted)}.rec-resumo dd{font-weight:600;font-variant-numeric:tabular-nums}
.recibo-card.estornado .cq-nome{text-decoration:line-through;color:var(--muted)}
.proj{margin:0}
.proj figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px}
.proj-leg{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--muted)}
.proj-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.proj-leg i.e{background:#3E8A62}.proj-leg i.s{background:#C2603F}.proj-leg i.l{background:var(--ouro-escuro,#9A7531);height:3px;border-radius:2px;vertical-align:3px}
.proj svg{width:100%;height:auto;display:block}
.proj .grid{stroke:var(--linha);stroke-width:1}.proj .zero{stroke:#B9B0A2;stroke-width:1}
.proj .tick{font-size:11px;fill:#7A847F;font-family:inherit}
.proj .be{fill:#3E8A62}.proj .bs{fill:#C2603F}
.proj .ls{fill:none;stroke:var(--ouro-escuro,#9A7531);stroke-width:2.2;stroke-linejoin:round}.proj .ps{fill:var(--card);stroke:var(--ouro-escuro,#9A7531);stroke-width:2}
.proj-nota{font-size:13px;margin-top:6px}
.fin-30{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:6px 22px 20px}
.fin-30 dt{font-size:13px;color:var(--muted)}.fin-30 dd{font-family:var(--serif);font-size:21px;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.fin-atalhos{display:flex;flex-direction:column;gap:8px}
.tabela-wrap{overflow-x:auto}
.tabela{width:100%;border-collapse:collapse;font-size:14px}
.tabela th{text-align:left;font-weight:500;color:var(--muted);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--linha);white-space:nowrap}
.tabela td{padding:9px 10px;border-bottom:1px solid var(--areia-2);vertical-align:middle}
.tabela td small{display:block;color:var(--muted);font-size:12px}
.tabela .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tabela tr.futuro td{color:var(--muted)}
.tabela tr.total td{font-weight:600;border-top:2px solid var(--linha);border-bottom:0}
.dre tr.grupo td{font-weight:600;padding-top:14px}.dre tr.sub td{font-weight:600;background:var(--areia)}
.dre .ind{padding-left:22px}.dre .ind2{padding-left:40px;color:var(--muted)}
.rel-titulo{font-family:var(--serif);font-size:21px;color:var(--verde-txt);margin:4px 0 14px;letter-spacing:-.02em}
.rel-nota{font-size:13px;margin-top:10px}
.form-tab td{padding:6px 6px}.form-tab input.curto,.fin-comissoes input.curto{width:82px}
.fin-comissoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px;margin-bottom:12px}
.fin-ancoras{margin-bottom:14px}
.fin-cats li.cab{background:var(--areia);font-size:13px}
.pac-fin-topo{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
@media (max-width:900px){
  .fin-resumo{grid-template-columns:1fr 1fr}.fin-resumo .neutro{grid-column:1/-1}
  .row-3{grid-template-columns:1fr}
  .lanc-cab{display:none}
  .lanc-linha{grid-template-columns:1fr 1fr 40px;padding:10px;border:1px solid var(--linha);border-radius:12px}
  .lanc-linha select{grid-column:1/-1}
  .lanc-linha input[name="valor[]"]{grid-column:1/3}
  .fin-baixa[open] .fin-baixa-form{position:fixed;left:12px;right:12px;top:auto;bottom:90px;width:auto}
  .fin-lista li{flex-wrap:wrap}
  .fin-stats .stat b,.caixa-stats .stat b{font-size:20px}
}
@media print{
  .side,.tabbar,.top,.fin-nav,.fin-filtros,.fin-ancoras,.btn,.online-btn{display:none!important}
  .main{margin:0}.card{box-shadow:none;border:1px solid #ddd}
}

/* orçamentos */
.orc-form{align-items:start}
.orc-cab{display:none}
.orc-linha{display:grid;grid-template-columns:54px 64px 50px minmax(96px,1fr) 100px 40px;gap:6px;align-items:start;margin-bottom:10px;padding:10px;border:1px solid var(--linha);border-radius:12px}
.orc-linha select:first-child{grid-column:1/-1}
.orc-linha select,.orc-linha input{height:42px;border:1px solid var(--linha);border-radius:10px;padding:0 9px;background:var(--card);font:inherit;width:100%;min-width:0}
.orc-valor small{display:block;font-size:11px;color:var(--ouro-txt);margin-top:2px}
.rec-resumo .orc-total dd{font-family:var(--serif);font-size:20px;color:var(--verde-txt);letter-spacing:-.02em}
.orc-tab td small{display:block;color:var(--muted);font-size:12px}
.orc-tab tfoot td{border-bottom:0}
.orc-aprovar-box{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:14px}.orc-aprovar-box .field{flex:1;min-width:220px;margin:0}
.orc-dica{font-size:13px;margin-top:6px}
.orc-aceite{display:flex;align-items:center;gap:8px;background:var(--ok-soft);color:var(--ok);border-radius:12px;padding:10px 14px;font-size:14px;margin-top:14px}
@media (max-width:900px){
  .orc-linha{grid-template-columns:1fr 1fr 1fr 40px}
  .orc-valor{grid-column:1/3}
}

/* prontuário */
.pac-alerta{display:flex;gap:8px;align-items:flex-start;background:var(--erro-soft);color:var(--erro);border-radius:12px;padding:9px 13px;font-size:14px;margin:10px 0 0;line-height:1.45}
.pac-alerta svg{flex-shrink:0;margin-top:2px}
.pac-sem-anam{font-size:13.5px;margin:8px 0 0}
.wa-central .pill{text-transform:none;white-space:nowrap}
.wa-central .tabela td{vertical-align:top}
.wa-recebidas{list-style:none;padding:0;margin:8px 0 0}
.wa-recebidas li{padding:9px 0;border-top:1px solid var(--linha)}
a.pac-alerta{text-decoration:none}
a.pac-alerta:hover{filter:brightness(.97)}
a.pac-alerta u{white-space:nowrap;font-weight:600}
.cq-nome a{color:inherit;text-decoration:none}
.cq-nome a:hover{text-decoration:underline;text-underline-offset:4px}
.cq-atalhos{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 16px}
.pront-nav{margin:0 0 14px}
.anam-lista{padding-left:22px;margin:6px 0 14px}
.anam-q{margin-bottom:14px}.anam-q p{margin:0 0 6px}
.anam-op{display:flex;gap:8px}.anam-op label{margin:0;cursor:pointer}.anam-op input{position:absolute;opacity:0;pointer-events:none}
.anam-op span{display:inline-block;padding:7px 20px;border:1px solid var(--linha);border-radius:999px;font-weight:500;font-size:14px}
.anam-op input:checked+span{background:var(--verde);color:#fff;border-color:var(--verde)}.anam-op input:focus-visible+span{outline:2px solid var(--ouro);outline-offset:2px}
.anam-det{margin-top:8px;height:40px;border:1px solid var(--linha);border-radius:10px;padding:0 12px;width:100%;font:inherit}
.anam-editar{margin-top:14px}.anam-editar summary{list-style:none;cursor:pointer;margin-bottom:12px}.anam-editar summary::-webkit-details-marker{display:none}
.anam-sim{list-style:none;padding:0;margin:0}.anam-sim li{padding:8px 0;border-bottom:1px solid var(--linha);font-size:14px}.anam-sim span{display:block;color:var(--alerta)}
.od-grid{align-items:start}
.od-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.od-dec{margin:0}
.od-mapa{overflow-x:auto;padding:6px 0 4px}
.od-lado{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:6px 0;min-width:560px}
.od-arco{display:flex;justify-content:center;gap:14px;margin:6px 0;min-width:560px}
.od-q{display:flex;gap:3px}
.od-arco+.od-arco,.od-decid+.od-arco{margin-top:4px}
.od-mapa>.od-arco:first-of-type{border-bottom:1px dashed var(--linha);padding-bottom:10px}
.od-decid{border-bottom:1px dashed var(--linha);padding:6px 0 10px;margin-bottom:10px}
.od-dente{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;padding:3px 2px;border-radius:8px;cursor:pointer;width:36px}
.od-dente b{font-size:11px;font-weight:600;color:var(--muted)}
.od-dente svg{width:30px;height:30px;stroke:#9AA5A1;stroke-width:1}
.od-dente polygon,.od-dente rect{fill:#fff;transition:fill .15s}
.od-dente .od-sig{font:700 11px var(--sans,system-ui);stroke:none}
.od-dente:hover{background:var(--areia)}.od-dente.sel{background:var(--ouro-soft);outline:2px solid var(--ouro)}
.od-dente.tem b{color:var(--tinta)}.od-dente.ausente svg{opacity:.45}
.od-legenda{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:0;margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.od-legenda i{display:inline-block;width:11px;height:11px;border-radius:3px;background:var(--c);margin-right:5px;vertical-align:-1px;border:1px solid rgba(0,0,0,.08)}
.od-tratar{margin-top:14px;padding:12px 14px;background:var(--ouro-soft);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.od-tratar p{margin:0;font-size:14px;color:var(--ouro-txt)}
.od-conds{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.od-conds label{cursor:pointer}.od-conds input{position:absolute;opacity:0;pointer-events:none}
.od-conds span{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 10px;border:1px solid var(--linha);border-radius:999px}
.od-conds span::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c);border:1px solid rgba(0,0,0,.12)}
.od-conds input:checked+span{border-color:var(--verde);background:var(--verde-soft);font-weight:600}
.od-faces{border:0;padding:0;margin:0 0 12px;display:flex;gap:6px;flex-wrap:wrap}.od-faces legend{font-size:13px;color:var(--muted);margin-bottom:6px}
.od-faces label{cursor:pointer;text-align:center}.od-faces input{position:absolute;opacity:0;pointer-events:none}
.od-faces span{display:block;width:38px;height:38px;line-height:38px;border:1px solid var(--linha);border-radius:10px;font-weight:600}
.od-faces small{display:block;font-size:10px;color:var(--muted);max-width:60px}
.od-faces input:checked+span{background:var(--verde);color:#fff;border-color:var(--verde)}
.od-faces:disabled{opacity:.4}
.od-hist small{display:block}
.rx-linha{border:1px solid var(--linha);border-radius:12px;padding:12px;margin-bottom:10px;display:grid;gap:8px}
.rx-linha input,.rx-linha textarea{background:var(--card);border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font:inherit;width:100%}
.rx-linha .row-2{gap:8px}
.rx-pe{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.rx-pe .check{margin:0;font-size:13px}
.arq-cat{font-size:14px;margin:16px 0 8px;color:var(--tinta-2)}.arq-cat small{color:var(--muted);font-weight:400}
.arq-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.arq{margin:0;border:1px solid var(--linha);border-radius:12px;overflow:hidden;background:var(--card)}
.arq-prev{display:grid;place-items:center;height:110px;background:var(--areia);overflow:hidden}.arq-prev img{width:100%;height:100%;object-fit:cover}
.arq-prev span{font-weight:700;color:var(--verde-txt);font-size:15px;letter-spacing:.08em}
.arq figcaption{padding:8px 10px;font-size:12.5px}.arq figcaption b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.arq figcaption small{color:var(--muted)}.arq-acoes{display:flex;gap:10px;margin-top:4px}.arq-acoes form{margin:0}
.link.danger{color:var(--alerta)}
.arq-drop{display:block;cursor:pointer;margin-bottom:12px}.arq-drop input{position:absolute;opacity:0;width:1px;height:1px}
.arq-drop span{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px dashed #C9BFAE;border-radius:14px;padding:22px 12px;text-align:center;font-weight:600;color:var(--verde-txt)}
.arq-drop small{font-weight:400;color:var(--muted);font-size:12.5px}.arq-drop input:focus-visible+span{outline:2px solid var(--ouro)}
.arq-lgpd{font-size:12.5px;margin-top:10px}
@media (max-width:900px){.od-dente{width:32px}.od-dente svg{width:26px;height:26px}}
/* confirmação por link */
.btn.whats.feito{background:var(--ok-soft);color:var(--ok)}
.btn.whats.feito:hover{background:color-mix(in srgb,var(--ok) 18%,var(--card))}
.card-alerta{border-color:#E8C9A0;box-shadow:inset 3px 0 0 #D98C2B}
.conf-link{display:flex;align-items:center;gap:6px;color:var(--ok);margin:-4px 0 8px}
.conf-lote{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.conf-lote button:disabled{opacity:.5;cursor:default}
.cq-pedido{background:var(--alerta-soft);border:1px solid color-mix(in srgb,var(--alerta) 35%,var(--card));border-radius:12px;padding:10px 14px;margin:10px 0;font-size:14px}
.cq-link-ok{color:var(--ok);font-size:13.5px;margin:6px 0}
.tl-pedido{display:inline-block;background:var(--alerta);color:var(--card);font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;margin-top:2px}
.conf-lote [data-n]{font-style:normal}

/* números alinhados em coluna (horários, valores, datas) */
td,th,time,dd,.money,.stat b,.mes-grid b,.fin-box b{font-variant-numeric:lining-nums tabular-nums}
.enviando{opacity:.6;cursor:progress}
/* ambiente de teste */
.faixa-teste{position:fixed;top:0;left:0;right:0;z-index:999;background:#8F560F;color:#fff;font:600 12px/24px var(--sans);text-align:center;letter-spacing:.04em}
.faixa-demo{background:#1F5C47}
.demo-perfis{margin:2px 0 18px}
.demo-perfis-tit{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 8px}
.demo-perfis ul{list-style:none;margin:0;padding:0;border:1px solid var(--linha);border-radius:14px;overflow:hidden;background:var(--card)}
.demo-perfis li+li{border-top:1px solid var(--linha)}
.demo-perfis button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px;border:0;background:none;text-align:left;cursor:pointer;color:var(--tinta);-webkit-tap-highlight-color:transparent}
.demo-perfis button:hover,.demo-perfis button.on{background:var(--areia)}
.demo-perfis button>svg{color:var(--muted);flex:none}
.demo-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;flex:none}
.demo-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.demo-txt b{font-size:15.5px;font-weight:600}
.demo-txt small{font-size:13px;color:var(--muted)}
.demo-ou{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:12.5px;color:var(--muted)}
.demo-ou::before,.demo-ou::after{content:"";flex:1;height:1px;background:var(--linha)}
.demo-ou span{flex:none;max-width:80%;text-align:center}
body.em-teste{padding-top:24px}
body.em-teste .top{top:24px}
body.em-teste .side{top:24px}
/* retornos e dinheiro na mesa */
.chip-n{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:999px;background:rgba(var(--principal-rgb),.08);font-size:12px;font-weight:600}
.chip.on .chip-n{background:rgba(255,255,255,.2)}
.chips-sm{align-items:center;gap:8px}.chips-sm .chip{padding:4px 12px;font-size:13px}
.ret-texto{margin:-4px 0 14px;font-size:13.5px}
.ret-lista time{min-width:84px;font-weight:600;color:var(--ouro-txt);font-variant-numeric:tabular-nums}
.ret-lista time.atrasado{color:var(--erro)}
.neg-txt{color:var(--erro);font-weight:600}
.paginas{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px}
.pill.chamar{display:inline-flex;align-items:center;gap:4px;background:var(--ouro-soft);color:var(--ouro-txt);text-decoration:none}
.mesa{margin-bottom:18px}
.mesa-lista{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:0 18px 18px}
.mesa-lista a{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--linha);border-radius:12px;background:var(--card);color:inherit;text-decoration:none;transition:border-color .15s}
.mesa-lista a:hover{border-color:var(--verde-3)}
.mesa-lista b{grid-row:1/3;font-size:26px;font-weight:700;color:var(--verde-txt);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mesa-lista span{font-size:13.5px;line-height:1.3}
.mesa-lista em{font-style:normal;font-weight:600;color:var(--ouro-txt);font-size:14px;font-variant-numeric:tabular-nums}
.mesa-lista .ic{grid-row:1/3;grid-column:3;color:var(--muted)}
@media (max-width:640px){
  .ret-lista li{flex-wrap:wrap;row-gap:4px}
  .ret-lista time{min-width:0;width:100%;font-size:12.5px}
  .ret-lista li>div{flex:1 1 100%;min-width:0}
  .ret-lista .fila-acoes{margin-left:0;justify-content:flex-start;flex:1 1 100%}
}
/* mensagens editáveis */
.msg-clinica{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:10px 0 6px}
@media (max-width:640px){.msg-clinica{grid-template-columns:1fr}}
.msg-grupo{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro-txt);margin:18px 0 6px}
.msg-item{border:1px solid var(--linha);border-radius:12px;padding:10px 14px;margin-bottom:8px;background:var(--card)}
.msg-item summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14.5px}
.msg-item textarea{background:var(--card);width:100%;margin-top:10px;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5}
.msg-vars{margin:6px 0;display:flex;flex-wrap:wrap;gap:4px}.msg-vars code{font-size:12px;background:var(--areia-2);border-radius:6px;padding:2px 6px}
.msg-previa{background:var(--ok-soft);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.5;color:var(--tinta);margin:6px 0 4px}
.msg-previa small{display:block;font-weight:600;color:var(--ok);margin-bottom:2px}
/* Equipe */
.equipe-item{gap:12px}
.toolbar>p{flex:1;margin:0}
.equipe-cor{flex:none;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--linha)}
.equipe-visto{font-size:13px;font-weight:400;white-space:nowrap}
.equipe-senha{border:2px solid var(--verde);margin-bottom:16px}
.equipe-senha h2{margin:0 0 8px;font-size:18px}
.equipe-socio-nota{margin:-4px 0 14px 52px;font-size:13px}
.equipe-senha-valor code{display:inline-block;font-size:22px;letter-spacing:.04em;padding:10px 14px;background:var(--areia);border-radius:10px;user-select:all;font-variant-numeric:tabular-nums}
.equipe-acao{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.equipe-acao p{margin:4px 0 0}
@media (max-width:640px){.equipe-acao{flex-direction:column;align-items:stretch}.equipe-visto{display:none}}
/* Próteses: quadro por etapa */
.kb{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch} /* colunas da mesma altura, com ou sem cartões */
@media (max-width:1180px){.kb{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
.toolbar>.chips{flex:1;min-width:0;padding-bottom:2px}
.kb-col{background:var(--areia-2);border-radius:var(--raio);padding:12px;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.kb-col header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
.kb-texto{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4;min-height:calc(2em * 1.4)} /* explicação de 1 ou 2 linhas: os cartões começam na mesma altura */
.kb-card{background:var(--card);border-radius:var(--raio-sm);box-shadow:var(--sombra);border-left:4px solid var(--c);overflow:hidden}
.kb-card.atrasado{border-left-color:var(--erro);background:var(--erro-soft)}
.kb-link{display:flex;flex-direction:column;gap:2px;padding:10px 12px;color:inherit;text-decoration:none}
.kb-link b{font-size:14.5px}
.kb-link span{font-size:13.5px;color:var(--tinta-2)}
.kb-link small{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.kb-atraso{color:var(--erro);font-weight:600}
.kb-acoes{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;padding:0 10px 10px}
.kb-acoes form{margin:0}
.kb-vazio{margin:4px 0;font-size:13px;color:var(--muted)}
.prot-topo h2{margin:2px 0 12px;font-size:20px}
.prot-topo p{margin:6px 0}
.prot-topo + .form{margin-top:16px}
.prot-etapas{list-style:none;display:flex;gap:4px;padding:0;margin:0 0 12px;flex-wrap:wrap}
.prot-etapas li{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);padding:5px 10px 5px 5px;border-radius:999px;background:var(--areia)}
.prot-etapas li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--linha);font-size:11px;font-weight:700}
.prot-etapas li.feita{color:var(--verde-txt)}
.prot-etapas li.feita span{background:var(--verde-soft)}
.prot-etapas li.atual{background:var(--verde);color:#fff;font-weight:600}
.prot-etapas li.atual span{background:var(--ouro);color:#fff}
.prot-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;margin-top:12px}
.prot-mais summary{list-style:none;cursor:pointer}
.prot-mais summary::-webkit-details-marker{display:none}
.prot-mais[open] .form{margin-top:12px;padding:12px;border:1px solid var(--linha);border-radius:var(--raio-sm)}
.prot-lab-novo{margin-top:8px}
.prot-off{border:0;padding:0;margin:0}
.prot-hist{margin-top:16px}
.prot-hist ul{list-style:none;padding:0;margin:0}
.prot-hist li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--linha);font-size:14px}
.prot-hist time{color:var(--muted);font-size:12.5px;min-width:72px;font-variant-numeric:tabular-nums}
.prot-hist small{display:block;color:var(--muted);font-size:12px}
.prot-cancelar{margin-top:12px}
.prot-cancelar .form{margin-top:10px}
.cf-title .prot-novo{float:right;font-size:13px;font-weight:500}
/* Implantes */
.imp-busca{margin:0 0 14px;max-width:520px}
.imp-resultado{margin-bottom:16px}
.kb-card.pronto{border-left-color:var(--verde);background:var(--verde-soft)}
.kb-pronto{color:var(--verde-txt);font-weight:600}
.imp-sub{margin:18px 0 4px;font-size:15px;color:var(--verde-txt)}
.imp-cirurgia{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.imp-cirurgia .field{margin:0}
.imp-cirurgia small{flex-basis:100%}
.imp-carteira{margin:4px 0 0;font-size:14px}
/* Convênios */
.conv-lista{list-style:none;padding:0;margin:12px 0 16px}
.conv-lista li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linha)}
.conv-lista li>div{flex:1;min-width:0;display:flex;flex-direction:column}
.conv-lista li small{color:var(--muted);font-size:13px}
.conv-lista li.off b{color:var(--muted)}
.conv-lista form{margin:0}
.conv-novo{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.conv-novo .field{flex:1;min-width:200px;margin:0}
.conv-grupo th{background:var(--areia-2);color:var(--verde-txt);font-weight:700;text-align:left}
.conv-valor{width:120px;text-align:right;height:38px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;font:inherit}
.conv-dados{display:grid;grid-template-columns:minmax(0,1.2fr) 170px minmax(0,2fr);gap:4px 14px}
.conv-dias{display:flex;align-items:center;gap:8px}.conv-dias input{width:6em}.conv-dias i{font-style:normal;color:var(--muted);font-size:13px}
.conv-nota{width:100%;min-width:160px;height:38px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;font:inherit;background:var(--card);color:inherit}
.conv-tab td,.conv-tab th{white-space:nowrap}.conv-tab td:last-child{white-space:normal;min-width:180px}
.conv-busca{max-width:340px;margin-top:14px}
@media (max-width:760px){.conv-dados{grid-template-columns:1fr}}
@media (max-width:640px){.conv-lista li{flex-wrap:wrap}.conv-lista li>div{flex-basis:100%}}
@media (max-width:640px){.kb{grid-template-columns:1fr}.kb-texto{display:none}.kb-col{padding:12px 12px 10px}}
/* topo no celular: o selo de quem está online vira só a bolinha, para caber ao lado dos botões da tela */
@media (max-width:900px){.online-btn{padding:0;width:40px;justify-content:center}.online-btn [data-online-txt]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
/* Indicações */
.ind-funil{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.ind-funil .card{display:flex;flex-direction:column;gap:2px}
.ind-funil b{font-size:28px;line-height:1.1;color:var(--verde-txt);font-variant-numeric:tabular-nums}
.ind-funil span{font-size:14px;color:var(--tinta-2)}
.ind-funil small{font-size:12.5px;color:var(--muted)}
.ind-funil .ind-valor b{color:var(--ouro-txt)}
.ind-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.ind-rank{list-style:none;margin:0;padding:0 8px 8px}
.ind-rank li{display:flex;align-items:center;gap:12px;padding:12px 12px;border-top:1px solid var(--areia-2)}
.ind-rank li:first-child{border-top:0}
.ind-pos{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ouro-soft);color:var(--ouro-txt);font-weight:700;font-size:13px}
.ind-rank li:nth-child(-n+3) .ind-pos{background:var(--ouro);color:#fff}
.ind-quem{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none}
.ind-quem a{color:inherit;text-decoration:none}
.ind-quem small{font-size:12.5px;color:var(--muted)}
.ind-quem strong{color:var(--verde-txt)}
.ind-nomes{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ind-lista li{display:flex;align-items:center;gap:12px}
.ind-lista time{flex:none;width:64px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.tag-ind{display:inline-flex;align-items:center;gap:4px}
.tag-ind a{color:inherit}
@media (max-width:1100px){.ind-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ind-funil{grid-template-columns:1fr 1fr}.ind-funil b{font-size:24px}.ind-rank .btn span{display:none}}
.ind-lista .pill{text-transform:none}
/* Ortodontia */
.orto-lista li{display:grid;grid-template-columns:minmax(0,2.2fr) auto minmax(0,1.2fr) auto;align-items:center;gap:14px}
.orto-lista li.atrasado{box-shadow:inset 3px 0 0 var(--erro)}
.orto-quem{display:flex;flex-direction:column;gap:2px;min-width:0;color:inherit;text-decoration:none}
.orto-quem small{color:var(--muted);font-size:12.5px}
.orto-pend{color:var(--alerta);font-size:12.5px;font-weight:500}
.orto-quando{display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.orto-quando small{color:var(--muted);font-size:12px}
.orto-acoes{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.orto-acoes form{margin:0}
.orto-sug{margin-bottom:16px}
.orto-sug summary{cursor:pointer;list-style:none;line-height:1.5}
.orto-sug summary::-webkit-details-marker{display:none}
.orto-sug-lista{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 16px;max-height:340px;overflow:auto}
.orto-sug-lista small{display:block}
@media (max-width:900px){.orto-lista li{grid-template-columns:minmax(0,1fr) auto}.orto-quando{grid-column:1}.orto-acoes{grid-column:2}}
.orto-lista .pill{text-transform:none;white-space:nowrap}
/* Relatórios */
.rel-barra{flex-wrap:wrap}
.rel-barra>p{flex:1 1 260px}
.rel-periodo{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rel-periodo input[type=date]{height:36px;border:1px solid var(--linha);border-radius:10px;padding:0 8px;background:var(--card);font:inherit;font-size:13.5px}
.rel-resumo b{font-size:24px}
.rel-nota{margin:0 0 16px;max-width:none}
.rel-tabelas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:16px;align-items:start}
.rel-tabela.larga{grid-column:1/-1}
.rel-rolagem{overflow-x:auto;padding:0 8px 8px}
.rel-tabela table{width:100%;border-collapse:collapse;font-size:13.5px}
.rel-tabela th{text-align:left;font-weight:600;color:var(--tinta-2);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--linha);white-space:nowrap}
.rel-tabela td{padding:8px 10px;border-bottom:1px solid var(--areia-2)}
.rel-tabela tr:last-child td{border-bottom:0}
.rel-tabela .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* Gráficos (motor próprio: app/lib/graficos.php) */
.graf-vazio,.graf-unico{color:var(--muted);font-size:13.5px;padding:24px 4px;text-align:center}
.graf-unico b{display:block;font-size:28px;color:var(--verde-txt)}
.graf-colunas{padding:8px 4px 0 44px}
.graf-area{position:relative;height:200px;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid #e4e8e6}
.graf-linha{position:absolute;left:0;right:0;border-top:1px solid #eef1ef;pointer-events:none}
.graf-linha i{position:absolute;right:calc(100% + 8px);top:-8px;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.graf-col{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;outline:none}
.graf-barra{position:relative;width:min(24px,80%);border-radius:4px 4px 0 0;min-height:1px;transition:opacity .15s}
.graf-col:hover .graf-barra,.graf-col:focus .graf-barra{opacity:.8}
.graf-barra b{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:11.5px;font-weight:600;color:var(--tinta);white-space:nowrap}
.graf-col small{position:absolute;top:calc(100% + 6px);font-size:11px;color:var(--muted);white-space:nowrap}
.graf-colunas{margin-bottom:26px}
.graf-col small.oculto{visibility:hidden}
.graf-barras,.graf-funil{display:flex;flex-direction:column;gap:10px;padding:4px 0}
.graf-barra-linha,.graf-funil-etapa{display:grid;grid-template-columns:minmax(80px,30%) 1fr auto;align-items:center;gap:10px;font-size:13.5px;outline:none}
.graf-rot{color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.graf-trilho{height:14px;background:var(--areia-2);border-radius:4px;overflow:hidden}
.graf-trilho span{display:block;height:100%;border-radius:0 4px 4px 0}
.graf-val{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.graf-val small{display:block;font-weight:400;font-size:11.5px;color:var(--muted)}
.graf-rosca{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.graf-rosca-fig{position:relative;width:150px;flex:none}
.graf-rosca-svg{display:block;width:150px;height:150px;transform:rotate(0deg)}
.graf-rosca-svg circle{transition:opacity .15s}
.graf-rosca-svg circle:hover{opacity:.8}
.graf-rosca-centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.graf-rosca-centro b{font-size:20px;color:var(--tinta)}
.graf-rosca-centro small{font-size:11px;color:var(--muted)}
.graf-legenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;min-width:180px}
.graf-legenda li{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;font-size:13.5px}
.graf-legenda i{width:12px;height:12px;border-radius:3px}
.graf-legenda b{font-variant-numeric:tabular-nums}
.graf-legenda small{color:var(--muted);font-size:12px;min-width:48px;text-align:right}
.graf-numeros{margin-top:10px;font-size:12.5px}
.graf-numeros summary{cursor:pointer;color:var(--ouro-txt);font-weight:500}
.graf-numeros table{width:100%;border-collapse:collapse;margin-top:8px}
.graf-numeros td,.graf-numeros th{padding:5px 8px;border-bottom:1px solid var(--areia-2);text-align:left}
.graf-numeros .num{text-align:right;font-variant-numeric:tabular-nums}
.graf-mini{display:block;width:100%;height:30px}
.graf-mini-ponto{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ouro);box-shadow:0 0 0 2px var(--card)}
.graf-meta{position:relative;height:8px;border-radius:4px;background:var(--areia-2);overflow:hidden}
.graf-meta span{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.graf-meta-proj{background:color-mix(in srgb,var(--ok) 30%,var(--card))}.graf-meta-feito{background:var(--ok)}
.graf-meta.alerta .graf-meta-feito{background:var(--alerta)}.graf-meta.erro .graf-meta-feito{background:var(--erro)}
/* Painel */
.painel-filtro{flex-wrap:wrap}.painel-filtro>p{flex:1 1 240px}.painel-filtro .chips{flex:0 1 auto;min-width:0;padding-bottom:2px}
.painel-op{margin-bottom:16px}
.painel-op h3{margin:0 0 8px}
.painel-op ul{list-style:none;margin:0;padding:0}
.painel-op li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--areia-2);font-size:14px}
.painel-op li:first-child{border-top:0}
/* Assistente IA: pergunta, resposta e análise. Só componentes do sistema (card, btn, chip, tabela), sem ícone de IA. */
.ia-pagina{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:1120px}
.ia-pagina .btn span{display:inline}
.ia-cab{display:flex;align-items:flex-start;gap:14px}
.ia-cab>div{min-width:0}
.ia-selo{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--verde-soft);color:var(--verde-txt)}
.ia-selo.pequeno{width:34px;height:34px;border-radius:10px}
.ia-cab h2{margin:0;font-size:19px;letter-spacing:-.01em;color:var(--tinta);line-height:1.25}
.ia-cab p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.45}
.ia-cab-acao .ia-cab-texto{flex:1}
.ia-cab-acao form{flex:none}
.ia-proxima{flex:none;margin:6px 0 0;font-size:13px;color:var(--muted)}
.ia-perg-form{display:flex;gap:10px;margin-top:16px}
.ia-campo{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border:1px solid var(--linha);border-radius:14px;background:var(--card);transition:border .15s,box-shadow .15s}
.ia-campo:focus-within{border-color:var(--verde-3);box-shadow:0 0 0 4px rgba(var(--principal-rgb),.08)}
.ia-campo .ic{flex:none;color:var(--muted)}
.ia-campo input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:16px;color:var(--tinta);outline:none}
.ia-perg-form .btn{height:52px;padding:0 26px}
.ia-perguntar.enviando .ia-rot,.ia-analisar.enviando .ia-rot{display:none}
.ia-perguntar.enviando::after{content:'Procurando...'}
.ia-analisar.enviando::after{content:'Analisando os números...'}
.ia-exemplos{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ia-exemplos .chip{height:34px;padding:0 14px;font-size:13.5px;font-family:inherit;cursor:pointer;color:var(--tinta-2)}
.ia-exemplos .chip:hover{border-color:var(--verde-3);color:var(--verde-txt)}
.ia-resposta{margin-top:20px;padding-top:20px;border-top:1px solid var(--areia-2)}
.ia-resp-texto{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--tinta)}
.ia-resp-topo{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.ia-resp-tit{flex:1;min-width:0}
.ia-resp-topo h3{margin:0;font-size:16px;color:var(--tinta)}
.ia-resp-topo p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.ia-resp-topo .btn{flex:none}
.ia-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0 0 18px;background:var(--linha);border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.ia-numeros div{padding:12px 14px;background:var(--card)}
.ia-numeros dt{font-size:12.5px;color:var(--tinta-2)}
.ia-numeros dd{margin:2px 0 0;font-size:20px;font-weight:600;color:var(--tinta);font-variant-numeric:tabular-nums}
.ia-tabela caption{text-align:left;font-weight:600;font-size:13px;padding:0 0 8px;color:var(--tinta-2)}
.ia-tabela td{font-variant-numeric:tabular-nums}
.ia-mais{margin:10px 0 0;font-size:13px;color:var(--muted)}
.ia-erro{margin:0;color:var(--erro);font-size:14.5px}
.ia-nota{display:flex;gap:8px;align-items:flex-start;margin:18px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.ia-nota .ic{flex:none;margin-top:1px}
.ia-grade{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;margin-top:20px}
.ia-resumo{margin:0 0 24px;font-size:16px;line-height:1.6;color:var(--tinta)}
.ia-sub{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14.5px;font-weight:600;color:var(--tinta)}
.ia-sub .ic{color:var(--verde-txt)}
.ia-bloco.bom .ia-sub .ic{color:var(--ok)}
.ia-bloco.atencao .ia-sub .ic{color:var(--alerta)}
.ia-decisoes{list-style:none;margin:0;padding:0}
.ia-decisoes li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--areia-2)}
.ia-decisoes li:first-child{border-top:0;padding-top:4px}
.ia-num{width:28px;height:28px;border-radius:50%;border:1px solid var(--linha);display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--verde-txt)}
.ia-decisoes strong{display:block;font-size:15px;line-height:1.4;color:var(--tinta)}
.ia-decisoes p{margin:3px 0 0;font-size:14px;line-height:1.5;color:var(--tinta-2)}
.ia-ir{display:inline-flex;align-items:center;gap:6px;margin-top:10px;height:32px;padding:0 12px 0 10px;border-radius:999px;background:var(--verde-soft);font-size:13px;font-weight:600;color:var(--verde-txt);text-decoration:none;transition:background .15s}
.ia-ir .ic:last-child{opacity:.7}
.ia-ir:hover{background:color-mix(in srgb,var(--verde) 14%,var(--card))}
.ia-lado{display:grid;gap:24px;align-content:start;padding-left:32px;border-left:1px solid var(--areia-2)}
.ia-bloco ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ia-bloco li{position:relative;padding-left:16px;font-size:14px;line-height:1.5;color:var(--tinta)}
.ia-bloco li::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--ok)}
.ia-bloco.atencao li::before{background:var(--alerta)}
.ia-vazio{margin:18px 0 0;color:var(--tinta-2)}
.ia-anteriores summary{cursor:pointer;font-weight:600}
.ia-anteriores ul{list-style:none;margin:12px 0 0;padding:0}
.ia-anteriores li{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--areia-2);font-size:13.5px;line-height:1.5}
.ia-anteriores small{color:var(--muted)}
@media (max-width:900px){.ia-grade{grid-template-columns:1fr;gap:24px}.ia-lado{padding-left:0;border-left:0;padding-top:20px;border-top:1px solid var(--areia-2)}}
@media (max-width:640px){.ia-cab-acao{flex-wrap:wrap}.ia-cab-acao form{flex:1 1 100%}.ia-cab-acao .btn{width:100%}.ia-proxima{flex:1 1 100%;margin:0;padding-left:56px}.ia-perg-form{flex-direction:column}.ia-perg-form .ia-campo{flex:none}.ia-perg-form .btn{width:100%}.ia-resp-topo{flex-wrap:wrap}.ia-resp-topo .btn,.ia-resp-btn{width:100%}.ia-exemplos{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-20px;padding-right:20px}.ia-exemplos .chip{flex:none}.ia-numeros{grid-template-columns:1fr 1fr}.ia-resumo{font-size:15.5px}.ia-tabela,.ia-tabela tbody{display:block}.ia-tabela thead{display:none}.ia-tabela caption{display:block}.ia-tabela tr{display:block;padding:12px 0;border-top:1px solid var(--areia-2)}.ia-tabela td{display:inline;padding:0;border:0;font-size:13px;color:var(--tinta-2)}.ia-tabela td:first-child{display:block;margin-bottom:2px;font-size:15px;font-weight:500;color:var(--tinta)}.ia-tabela td:nth-child(n+3)::before{content:' · ';color:var(--muted)}}
.painel-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.painel-kpi{position:relative;display:flex;flex-direction:column;gap:4px}
.painel-kpi-rot{font-size:13px;color:var(--tinta-2)}
.painel-kpi b{font-size:28px;line-height:1.15;color:var(--tinta);letter-spacing:-.01em}
.painel-delta{font-size:12.5px;font-weight:600;color:var(--tinta-2)}
.painel-delta span{font-weight:400;color:var(--muted)}
.painel-delta.bom{color:var(--ok)}.painel-delta.ruim{color:var(--erro)}
.painel-proj{font-size:12.5px;color:var(--ouro-txt);font-weight:500}
.painel-mini{position:relative;margin-top:6px}
.painel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;align-items:start}
.painel-card.larga{grid-column:1/-1}
.painel-graf{padding:4px 20px 16px}
.painel-frase{margin:0;padding:12px 20px 18px;border-top:1px solid var(--areia-2);font-size:13.5px;color:var(--tinta-2);line-height:1.5}
@media (max-width:640px){.painel-graf{padding:4px 14px 14px}.graf-colunas{padding-left:38px}.graf-area{gap:3px}.painel-op li{flex-direction:column;align-items:flex-start}.graf-barra-linha,.graf-funil-etapa{grid-template-columns:minmax(70px,34%) 1fr auto}.graf-col small{font-size:10px}.graf-colunas .graf-col small{transform:rotate(-40deg);transform-origin:top center}}
.painel-card .card-head{flex-direction:column;align-items:flex-start;gap:2px}
.painel-card .card-head small{font-size:12.5px;line-height:1.4}
@media (max-width:640px){.painel-kpis{grid-template-columns:1fr 1fr;gap:10px}.painel-kpi b{font-size:22px}.painel-kpi.card.pad{padding:14px}.painel-delta span{display:block}}
.graf-col.duplo .graf-par{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%;width:100%}
.graf-col.duplo .graf-barra{width:min(14px,42%)}
.graf-legenda-linha{list-style:none;display:flex;gap:16px;margin:0 0 6px;padding:0;font-size:12.5px;color:var(--tinta-2)}
.graf-legenda-linha li{display:flex;align-items:center;gap:6px}
.graf-legenda-linha i{width:12px;height:12px;border-radius:3px}
.painel-secao{font-size:20px;margin:28px 0 12px;color:var(--verde-txt)}
.painel-meta-txt{font-size:12px;color:var(--tinta-2)}
.painel-kpi .graf-meta{margin-top:6px}
.painel-tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.painel-tabela th{text-align:left;font-size:12px;font-weight:600;color:var(--tinta-2);padding:8px;border-bottom:1px solid var(--linha);white-space:nowrap}
.painel-tabela td{padding:8px;border-bottom:1px solid var(--areia-2)}
.painel-tabela .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.painel-tabela b.bom{color:var(--ok)}.painel-tabela b.ruim{color:var(--erro)}
.painel-ajustes{margin-top:20px}
.painel-ajustes summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.painel-ajustes summary::-webkit-details-marker{display:none}
.painel-ajustes h3{margin:18px 0 8px;font-size:15px}
.painel-ajustes-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}
.online-dentistas{border:0;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:6px}.online-dentistas legend{font-weight:600;font-size:14px;margin-bottom:6px}

/* ---------- leitura da seção ---------- */
.leitura{margin-bottom:16px;padding:0;overflow:hidden}
.leitura summary{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:14px 20px;cursor:pointer;list-style:none}
.leitura summary::-webkit-details-marker{display:none}
.leitura-tit{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--verde-txt)}
.leitura-tit .ic{color:var(--ouro)}
.leitura summary small{color:var(--muted);font-size:13px}
.leitura-seta{margin-left:auto;display:inline-flex;color:var(--muted);transform:rotate(90deg);transition:transform .15s}
.leitura:not([open]) .leitura-seta{transform:none}
.leitura ul{list-style:none;margin:0;padding:0 20px 6px}
.leitura-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:12px 0;border-top:1px solid var(--areia-2)}
.leitura-nivel{justify-self:start;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--areia-2);color:var(--tinta-2);white-space:nowrap}
.n-urgente .leitura-nivel{background:var(--erro-soft);color:var(--erro)}
.n-atencao .leitura-nivel{background:var(--alerta-soft);color:var(--alerta)}
.n-oportunidade .leitura-nivel,.n-bom .leitura-nivel{background:var(--ok-soft);color:var(--ok)}
.leitura-texto b{display:block;font-size:14.5px;color:var(--tinta)}
.leitura-texto p{margin:2px 0 0;font-size:13.5px;line-height:1.45;color:var(--tinta-2)}
@media (max-width:640px){.leitura summary{position:relative;padding:12px 44px 12px 16px}.leitura-seta{position:absolute;right:16px;top:14px}.leitura ul{padding:0 16px 4px}.leitura-item{grid-template-columns:minmax(0,1fr)}.leitura-item .btn{justify-self:start}}
@media print{.leitura{display:none}}
.leitura-de{display:block;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}
.hello + .stats + .leitura,.stats + .leitura{margin-top:16px}

/* ---------- ajuda ---------- */
.top-ajuda{padding:0;width:40px;justify-content:center}
.ajuda-busca{padding:20px 24px;margin-bottom:16px}
.ajuda-busca label{display:block;font-weight:700;font-size:17px;color:var(--verde-txt);margin-bottom:10px}
.ajuda-campo{display:flex;align-items:center;gap:10px;border:1.5px solid var(--linha);border-radius:14px;padding:0 14px;background:var(--card)}
.ajuda-campo:focus-within{border-color:var(--ouro)}
.ajuda-campo .ic{color:var(--muted);flex:none}
.ajuda-campo input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;padding:14px 0;color:var(--tinta)}
.ajuda-achou{margin:16px 0 6px;font-size:13.5px;color:var(--tinta-2)}
.ajuda-naoachei{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:13.5px;color:var(--muted)}
.ajuda-grade{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.ajuda-indice{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.ajuda-indice a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:var(--tinta-2);font-size:14.5px}
.ajuda-indice a:hover{background:var(--areia-2)}
.ajuda-indice a.on{background:var(--verde);color:#fff;font-weight:600}
.ajuda-indice small{font-size:12px;color:var(--muted)}
.ajuda-indice a.on small{color:rgba(255,255,255,.82)}
.ajuda-secao{padding:22px 24px}
.ajuda-secao h2{margin:0 0 4px;font-size:22px;color:var(--verde-txt)}
.ajuda-resumo{margin:0 0 14px;color:var(--tinta-2);font-size:14.5px}
.ajuda-lista{display:flex;flex-direction:column}
.ajuda-item{border-top:1px solid var(--areia-2)}
.ajuda-item:first-child{border-top:0}
.ajuda-item summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;cursor:pointer;list-style:none;font-weight:600;color:var(--tinta)}
.ajuda-item summary::-webkit-details-marker{display:none}
.ajuda-item summary::before{content:"+";flex:none;width:18px;color:var(--ouro);font-weight:700}
.ajuda-item[open] summary::before{content:"−"}
.ajuda-item summary span{flex:1}
.ajuda-item summary small{flex:none;font-size:12px;font-weight:500;color:var(--muted)}
.ajuda-item.bloqueado summary{color:var(--tinta-2)}
.ajuda-resp{padding:0 0 16px 30px;font-size:14.5px;color:var(--tinta-2)}
.ajuda-resp p{margin:0 0 8px}
.ajuda-resp ol{margin:0 0 10px;padding-left:20px}
.ajuda-resp li{margin:3px 0}
.ajuda-dica{background:var(--ouro-soft);border-radius:10px;padding:8px 12px;color:var(--tinta)}
.ajuda-pe{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:6px}
.ajuda-util{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.ajuda-admin{margin-top:16px}
.ajuda-admin h3{margin:0}.ajuda-admin h4{margin:16px 0 4px}
.ajuda-admin ul{list-style:none;margin:8px 0 0;padding:0}
.ajuda-admin li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--areia-2);font-size:14px}
.ajuda-admin small{color:var(--muted);white-space:nowrap}
@media (max-width:900px){.ajuda-grade{grid-template-columns:minmax(0,1fr)}.ajuda-indice{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;scrollbar-width:none}
  .ajuda-indice a{flex:none;border:1px solid var(--linha);background:var(--card);padding:7px 12px}.ajuda-busca,.ajuda-secao{padding:16px}.ajuda-resp{padding-left:0}}

/* ---------- central de relatórios ---------- */
.rel-grade{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.rel-indice{position:sticky;top:96px;display:flex;flex-direction:column;gap:1px}
.rel-grupo{display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--linha);padding:2px 0 4px}
.rel-grupo:last-child{border-bottom:0}
.rel-grupo summary{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;cursor:pointer;list-style:none;color:var(--verde-txt);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;user-select:none}
.rel-grupo summary::-webkit-details-marker{display:none}
.rel-grupo summary:hover{background:var(--areia-2)}
.rel-grupo summary span{flex:1}
.rel-grupo summary small{font-size:11.5px;font-weight:600;letter-spacing:0;color:var(--muted);background:var(--areia-2);border-radius:999px;padding:1px 8px}
.rel-grupo summary .ic{color:var(--verde-txt);flex:none;transition:transform .2s ease}
.rel-grupo[open] summary .ic{transform:rotate(90deg)}
.rel-grupo[open] summary{margin-bottom:2px}
.rel-grupo a{margin-left:8px}
.rel-indice a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;color:var(--tinta-2);font-size:14px}
.rel-indice a:hover{background:var(--areia-2)}
.rel-indice a .ic{color:var(--muted);flex:none}
.rel-indice a.on{background:var(--verde);color:#fff;font-weight:600}
.rel-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin-bottom:12px}
.rel-cab h2{margin:0;font-size:22px;color:var(--verde-txt)}.rel-cab p{margin:2px 0 0}
.rel-botoes{display:flex;gap:8px;flex-wrap:wrap}
.rel-filtros{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rel-filtros input[type=date],.rel-filtros select{height:36px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;background:var(--card);font:inherit;font-size:14px;color:var(--tinta)}
.rel-leitura{display:flex;gap:10px;align-items:flex-start;background:var(--ouro-soft);border-radius:var(--raio-sm);padding:12px 16px;margin:0 0 14px;font-size:14.5px;color:var(--tinta)}
.rel-leitura .ic{color:var(--ouro-txt);flex:none;margin-top:1px}
@media (max-width:900px){.rel-grade{grid-template-columns:minmax(0,1fr)}.rel-indice{position:static;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio);padding:4px 6px}
  .rel-grupo summary{padding:12px 10px}}
.side-user .icon-btn{width:28px;flex:none}

/* ---------- consultório ---------- */
.cons-sub{margin:20px 0 8px;font-size:16px;color:var(--verde-txt)}
.cons-horas{display:flex;flex-direction:column;gap:6px}
.cons-dia{display:grid;grid-template-columns:120px 140px 22px 140px minmax(0,1fr);align-items:center;gap:10px}
.cons-dia input[type=time]{width:100%;min-width:0}
.cons-dia input[type=time]{height:38px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;background:var(--card);font:inherit;color:var(--tinta)}
.cons-dia input[type=time]:disabled{opacity:.45}
.cons-nota{font-size:13px;margin:10px 0 4px}
.cons-int{margin-top:12px;max-width:420px}
@media (max-width:640px){.cons-horas{gap:12px}.cons-dia{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:4px 8px}.cons-dia .check,.cons-fechado{grid-column:1/-1}}

/* agenda: clique no espaço vazio para marcar */
.tl[data-nova] .tl-col[data-dia]{cursor:pointer}
.tl-ghost{position:absolute;left:4px;right:4px;height:24px;border:1.5px dashed var(--verde);border-radius:8px;background:rgba(255,255,255,.85);color:var(--verde-txt);font-size:12.5px;font-weight:600;padding:3px 8px;pointer-events:none;z-index:1;font-variant-numeric:tabular-nums}
/* nova consulta: duração rápida e aviso do horário clicado */
.dur-rapida{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dur-rapida .chip{padding:5px 12px;font-size:13px;cursor:pointer}
.slot-aviso{background:var(--ouro-soft);color:var(--ouro-txt);border-radius:var(--raio-sm);padding:10px 12px;margin:0 0 10px;font-size:13.5px;line-height:1.45}
.slot-aviso .link{font-weight:600;display:inline;padding:0;margin-left:2px}

/* agenda: visões de dia, semana e mês */
.agenda-visoes{margin-bottom:12px}
.agenda-visoes-sep{flex:none;width:1px;align-self:stretch;background:var(--linha);margin:4px 4px}
.agenda-periodo-rotulo{font-size:17px;font-weight:600;min-width:170px;text-align:center}
.semana-card .tl-head{align-items:end}
.sem-cab{display:flex;align-items:baseline;gap:4px;padding:4px 6px;border-radius:10px;color:var(--tinta)}
.sem-cab:hover{background:var(--areia-2)}
.sem-cab small{font-size:12px;color:var(--muted)}
.sem-cab b{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.sem-cab i{font-style:normal;font-size:12px;font-weight:600;color:var(--ouro-txt)}
.sem-cab.hoje b{color:var(--ouro-txt)}
.tl-col.fechado{background:var(--areia-2)}
.tl-fora{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(var(--principal-rgb),.04) 6px 12px);border-radius:8px;pointer-events:none}
.sem-item{padding:3px 6px;font-size:12px;border-left-width:3px}
.sem-item time{font-size:11.5px}
.sem-item b{font-size:12px}
.semana-lista .sem-dia{display:flex;justify-content:space-between;align-items:baseline;margin:16px 2px 8px;font-size:15px;font-weight:600}
.semana-lista .sem-dia small{font-weight:400;color:var(--muted);font-size:13px}
.semana-lista .sem-dia.hoje a{color:var(--ouro-txt)}
.mes{padding:10px}
.mes-cab,.mes-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mes-cab span{font-size:12px;color:var(--muted);text-align:center;padding:4px 0}
.mes-dia{display:flex;flex-direction:column;gap:3px;min-height:92px;padding:8px;border:1px solid var(--linha);border-radius:12px;background:var(--card);color:var(--tinta);overflow:hidden}
.mes-dia:hover{border-color:var(--verde-3)}
.mes-dia.vazio{border:0;background:transparent}
.mes-dia b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.mes-dia.hoje{border-color:var(--ouro);box-shadow:inset 0 0 0 1px var(--ouro)}
.mes-dia.hoje b{color:var(--ouro-txt)}
.mes-dia.fechado,.mes-dia.passado{background:var(--areia-2)}
.mes-n{font-size:14px;font-weight:600;color:var(--verde-txt)}
.mes-n small{font-weight:400;color:var(--muted);font-size:12px}
.mes-conf{font-size:11.5px;font-weight:600;color:var(--ouro-txt)}
.mes-bloq{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden}
.mes-dica{margin-top:8px;font-size:13px}
@media (max-width:760px){
  .mes{padding:6px}
  .mes-cab,.mes-grade{gap:3px}
  .mes-dia{min-height:58px;padding:5px 4px;border-radius:9px;align-items:center;text-align:center}
  .mes-n small,.mes-conf,.mes-bloq{display:none}
  .mes-dia.bloqueado b{text-decoration:line-through;color:var(--muted)}
  .agenda-periodo-rotulo{min-width:0;font-size:15px}
}
.semana-card .tl-col{background:repeating-linear-gradient(to bottom,var(--areia-2) 0 1px,transparent 1px 72px)}
.semana-card .tl-col.fechado{background:var(--areia-2)}
.tl-now.sem-now{left:0;right:0;z-index:3}

/* agenda no celular: vagas entre as consultas */
.dl-item.dl-livre{background:transparent;border-style:dashed;border-left-style:solid;border-left-color:color-mix(in srgb,var(--c) 45%,transparent)}
.dl-item.dl-livre time,.dl-item.dl-livre b{color:var(--muted);font-weight:500}
.dl-item.dl-livre .btn{flex:none;gap:4px}

/* Uso do sistema */
.uso-intro{margin:0 0 4px;font-size:14px}
.uso-periodo{margin:-4px 0 12px}
.uso-total{font-size:13px;margin:0 0 8px}
.uso-item{display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--linha);color:var(--tinta);text-decoration:none;font-size:14.5px}
.uso-item:first-child,.group-title+.uso-item{border-top:0}
a.uso-item:hover{background:var(--areia)}
.uso-item svg{color:var(--muted)}
.uso-hora{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.uso-frase{min-width:0;overflow-wrap:anywhere}
.uso-nums{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;white-space:nowrap}
.uso-alerta{color:var(--erro)}
.uso-sub{margin:24px 0 10px;font-size:16px}
.uso-paginas{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}
.ficha-quem{margin-top:16px}
.ficha-quem summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--tinta-2);padding:12px 16px}
.ficha-quem ul{list-style:none;margin:0;padding:0 16px 12px}
.ficha-quem li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--linha);font-size:13.5px}
@media (max-width:760px){
  .uso-item{grid-template-columns:44px 1fr auto;padding:12px 16px}
  .uso-item .uso-grupo{display:none}
}
.uso-item.uso-falha{grid-template-columns:96px 1fr auto}
@media (max-width:760px){.uso-item.uso-falha{grid-template-columns:84px 1fr}.uso-falha .tag{display:none}}

/* Semana (v-26): cartão em uma linha, fundo na cor do dentista, situação no ponto */
.sem-cab{flex-wrap:wrap;row-gap:0}
.sem-cab i{flex-basis:100%;font-weight:500;color:var(--muted);font-size:12px}
.sem-cab.hoje i{color:var(--ouro-txt)}
.tl-item.sem-item{flex-direction:row;align-items:flex-start;gap:5px;padding:3px 6px 2px;background:color-mix(in srgb,var(--c) 12%,var(--card));border:1px solid color-mix(in srgb,var(--c) 28%,var(--card));border-left:3px solid var(--c);opacity:1}
.tl-item.sem-item b{flex:1;min-width:0}
.sem-item .st-dot{flex:none;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--ok)}
.sem-item.st-solicitado .st-dot{background:var(--alerta);box-shadow:0 0 0 2px var(--alerta-soft)}
.sem-item.st-chegou .st-dot{background:var(--ouro)}
.sem-item.st-atendido .st-dot{background:#A9B2AE}
.sem-item.st-faltou .st-dot{background:var(--erro)}
.sem-item.st-faltou b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--erro) 60%,transparent)}
.sem-item .mks{display:none}
/* Semana com Todos: resumo por dentista */
.sem-resumo{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px}
.sem-res-dia{padding:0;overflow:hidden;display:flex;flex-direction:column}
.sem-res-cab{display:flex;flex-direction:column;gap:2px;padding:12px 14px 10px;border-bottom:1px solid var(--linha);color:var(--tinta)}
.sem-res-cab:hover{background:var(--areia)}
.sem-res-cab small{font-size:12px;color:var(--muted)}
.sem-res-cab b{font-size:18px;font-weight:600}
.sem-res-cab i{font-style:normal;font-size:12.5px;color:var(--muted)}
.sem-res-dia.hoje .sem-res-cab b,.sem-res-dia.hoje .sem-res-cab i{color:var(--ouro-txt)}
.sem-res-dent{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--linha);color:var(--tinta);background:color-mix(in srgb,var(--c) 7%,var(--card))}
.sem-res-cab+.sem-res-dent{border-top:0}
.sem-res-dent:hover{background:color-mix(in srgb,var(--c) 16%,var(--card))}
.sem-res-dent .dot{width:10px;height:10px;border-radius:50%;background:var(--c)}
.sem-res-nome{display:flex;flex-direction:column;min-width:0}
.sem-res-nome b{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sem-res-nome small{font-size:12px;color:var(--muted)}
.sem-res-nome em{display:block;font-style:normal;color:var(--alerta);font-weight:600}
.sem-res-n{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--verde-txt)}
@media (max-width:1100px){.sem-resumo{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.sem-resumo{grid-template-columns:1fr}.sem-res-cab{flex-direction:row;justify-content:space-between;align-items:baseline}}

/* Início (v-27): quadros em colunas equilibradas, listas curtas, Dinheiro na mesa em faixa */
.inicio-quadros{columns:2;column-gap:18px}
.inicio-quadros>.card{display:block;width:100%;break-inside:avoid;margin:0 0 18px}
@media (min-width:1700px){.inicio-quadros{columns:3}}
@media (max-width:900px){.inicio-quadros{columns:1}}
.inicio-quadros .card:not(.aberto) .rows li.extra:not(.vista){display:none}
.ver-mais{display:block;width:100%;padding:11px 18px;border:0;border-top:1px solid var(--linha);background:none;color:var(--ouro-txt);font-weight:600;font-size:13.5px;text-align:left;cursor:pointer;border-radius:0 0 var(--raio) var(--raio)}
.ver-mais:hover{background:var(--areia)}
.inicio-quadros .card>.rows:last-child,.inicio-quadros .card>p:last-child{margin-bottom:0}
.inicio-quadros .empty{padding:22px 18px}
.mesa{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;padding:12px 18px}
.mesa>.card-head{padding:0;border:0;flex-direction:column;align-items:flex-start;gap:2px;flex:0 1 260px;margin:0}
.mesa>.card-head small{font-size:12.5px}
.mesa>p.pad-x{padding:0}
.mesa .mesa-lista{flex:1 1 420px;padding:0;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.mesa-lista li{display:flex}
.mesa-lista a{padding:9px 12px;flex:1;min-height:100%;align-content:center} /* cartões da faixa com a mesma altura */
.mesa-lista b{font-size:22px}
.inicio-quadros.js{columns:auto;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));column-gap:18px;align-items:start}
.inicio-quadros.js .q-col{min-width:0}
.inicio-quadros.js .q-col>.card{margin:0 0 18px}

/* Marca (v-28): logo enviada pela clínica sem versão clara vai sobre um fundo branco arredondado no menu escuro */
.side-logo.caixa{background:var(--card);border-radius:12px;padding:10px 12px}
.side-logo.caixa img{max-height:52px;width:auto;max-width:100%;margin:0 auto}
.login-brand img.caixa{background:var(--card);border-radius:18px;padding:22px 26px}
.marca-cores{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:12px 0}
.marca-cor{display:flex;align-items:center;gap:10px}
.marca-cor input[type=color]{width:46px;height:40px;padding:2px;border:1px solid var(--linha);border-radius:10px;background:var(--card);cursor:pointer}
.marca-cor input[type=text]{width:110px;text-transform:uppercase}
.marca-previa{display:flex;gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--linha);margin:12px 0}
.marca-previa .mp-menu{width:120px;padding:14px 12px;display:flex;flex-direction:column;gap:8px;font-size:12.5px}
.marca-previa .mp-menu span{padding:6px 8px;border-radius:8px}
.marca-previa .mp-tela{flex:1;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13px}
.marca-previa .mp-btn{align-self:flex-start;color:#fff;border-radius:999px;padding:6px 14px;font-weight:600}
.marca-arqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:12px}
.marca-arq{border:1px solid var(--linha);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.marca-arq .ma-img{height:90px;border-radius:10px;display:grid;place-items:center;background:repeating-conic-gradient(#F1F1F1 0 25%,#fff 0 50%) 0 0/16px 16px}
.marca-arq .ma-img.escuro{background:var(--verde)}
.marca-arq .ma-img img{max-height:70px;max-width:90%}
.marca-arq small{color:var(--muted);font-size:12.5px;line-height:1.4}
.marca-envio{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.marca-envio input[type=file]{flex:1;min-width:0;font-size:12.5px}

/* Assinatura da Limiar Digital: discreta, monocromática, combina com a cor de qualquer clínica */
.limiar-assina{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em;color:var(--muted);transition:opacity .15s;text-decoration:none}
.limiar-assina:hover{opacity:.8}
.limiar-assina img{height:20px;width:auto;display:block}
.limiar-assina.escuro{color:var(--side-muted)}
.limiar-assina .so-escuro,html[data-tema-ativo="escuro"] .limiar-assina .so-claro{display:none}
html[data-tema-ativo="escuro"] .limiar-assina .so-escuro{display:inline}
.limiar-assina.escuro:hover{opacity:.95}
.side>.limiar-assina{margin:12px 12px 0;align-self:flex-start}
.sheet-assina{display:flex;justify-content:center;padding:14px 0 4px}
.login-assina{margin-top:10px;display:flex;justify-content:center}

/* Login (v-30): padrão de ícones odontológicos em traço fino, na cor de destaque da clínica, quase transparente */
.login-brand{position:relative;overflow:hidden;isolation:isolate}
.login-padrao{position:absolute;inset:-25%;z-index:-2;background:var(--ouro-claro);opacity:.1;transform:rotate(-8deg);
  -webkit-mask:url(../img/padrao-odonto.svg) 0 0/250px 250px repeat;mask:url(../img/padrao-odonto.svg) 0 0/250px 250px repeat}
.login-brand::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(460px 360px at 50% 46%,color-mix(in srgb,var(--verde) 92%,transparent) 0%,transparent 72%),
             linear-gradient(to top,color-mix(in srgb,var(--verde) 70%,#000) 0%,transparent 35%)}
.login-pilares{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.login-pilares li{font-size:12px;letter-spacing:.06em;color:var(--side-texto);padding:5px 12px;border:1px solid color-mix(in srgb,var(--ouro-claro) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--verde) 60%,transparent)}
.login-seguro{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;font-size:12.5px;color:var(--muted)}
@media (max-width:900px){.login-pilares{display:none}}
/* Fila de hoje em coluna estreita (Início com 2 ou 3 colunas, celular): nome com a linha toda, botões descem para a 2ª linha */
.quadro-fila{container-type:inline-size}
@container (max-width:720px){
  .quadro-fila .fila li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;column-gap:12px;row-gap:8px;align-items:start}
  .quadro-fila .fila li>time{width:auto;padding-top:2px}
  .quadro-fila .fila li>div{min-width:0}
  .quadro-fila .fila li>.pill{justify-self:end;white-space:nowrap}
  .quadro-fila .fila-acoes{grid-column:2/-1;width:auto;padding-left:0;justify-content:flex-start;flex-wrap:wrap}
  .quadro-fila .fila li>div small{display:block}
}

/* Repasse aos profissionais (Etapa 4) */
.tabela-rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rep-filtros{align-items:center}
.rep-filtros .chip{align-self:flex-end;margin-bottom:4px}
.rep-regra{margin:-4px 0 16px}
.rep-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:18px}
.rep-card{display:flex;flex-direction:column;gap:6px;padding:18px;color:var(--tinta);transition:box-shadow .15s}
.rep-card:hover{box-shadow:0 6px 18px rgba(var(--principal-rgb),.12)}

/* Itens apagados (atendido, inativo, passado): em vez de transparência, que derrubava o contraste, o texto vai para o tom apagado; só fotos e ícones ficam translúcidos */
.proc.off,.tl-item.st-atendido,.tl-item.st-faltou,.dl-item.st-cancelado,.dl-item.st-atendido,.rows li.inativa,.prot-off,.mes-dia.passado,.tl-item.sem-item.st-atendido,.tl-item.sem-item.st-faltou,.sem-res-dia.passado,.rep-card.sem{--tinta:var(--muted);--tinta-2:var(--muted);--verde-txt:var(--muted);--ouro-txt:var(--muted);color:var(--muted)}
:is(.proc.off,.tl-item.st-atendido,.dl-item.st-cancelado,.dl-item.st-atendido,.rows li.inativa,.rep-card.sem) :is(img,.avatar){filter:grayscale(1)}
.rep-card-cab{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rep-card-cab b{font-size:15px}
.rep-card-valor{font-size:26px;font-weight:700;color:var(--verde-txt);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rep-card small{font-size:12.5px}
.rep-semprof,.rep-historico,.rep-extrato{margin-bottom:18px}
.rep-semprof .rows li{gap:12px;flex-wrap:wrap}
.rep-semprof .rows li>div{flex:1;min-width:180px}
.rep-atribuir{display:flex;gap:8px;align-items:center}
.rep-atribuir select{height:34px;border:1px solid var(--linha);border-radius:10px;padding:0 8px;background:var(--card);font:inherit;font-size:13.5px}
.rep-totais{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.rep-totais div{border:1px solid var(--linha);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.rep-totais span{font-size:12.5px;color:var(--muted)}
.rep-totais b{font-size:20px;font-variant-numeric:tabular-nums;color:var(--tinta)}
.rep-totais .rep-valor{background:var(--verde-soft);border-color:transparent}
.rep-totais .rep-valor b{color:var(--verde-txt)}
.rep-tabela tr.rep-laboratorio td,.rep-tabela tr.rep-estorno td{color:var(--erro)}
.rep-tabela .tag{margin-right:4px}
.rep-acoes{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px}
.rep-fechar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.rep-fechar .field{margin:0}
.rep-regras{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.rep-regra-linha{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}
.rep-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
@media (max-width:760px){.rep-totais{grid-template-columns:1fr 1fr}}
.rep-card-cab .tag{white-space:nowrap;flex:none}

/* Verificação em duas etapas */
.check-linha{display:flex;align-items:center;gap:8px;margin:2px 0 14px;font-size:14px;color:var(--tinta-2);cursor:pointer}
.aviso-de{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--alerta-soft);color:var(--tinta);border:1px solid color-mix(in srgb,var(--alerta) 35%,var(--card));text-decoration:none}
.aviso-de>span{flex:1}.aviso-de .ic:first-child{color:var(--alerta)}
.ok-tag{background:var(--ok-soft);color:var(--ok)}
.perfil-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:12px}
.perfil-desligar{margin-top:14px}.perfil-desligar summary{cursor:pointer;color:var(--muted);font-size:14px}
.de-passos{margin:14px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:18px}
.de-passos li>b{display:block;margin-bottom:4px}.de-passos li>span{display:block;font-size:14px}
.de-qr{display:inline-block!important;margin:10px 0;padding:8px;background:#fff;border-radius:12px;border:1px solid var(--linha)}
.de-qr svg{display:block;width:200px;height:200px}
.de-chave,.de-codigos code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.06em;color:var(--tinta);background:var(--areia-2);padding:2px 6px;border-radius:6px;word-break:break-all}
.de-confirma{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:6px}.de-confirma .field{margin:0;max-width:180px}
.de-codigos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding-left:22px;margin:14px 0}
@media print{.duas-etapas .form-actions,.aviso-de{display:none!important}}

/* Horário de acesso (Equipe) */
.horario-acesso{border:1px solid var(--linha);border-radius:14px;padding:12px 16px 4px;margin:14px 0}
.horario-acesso legend{font-weight:600;padding:0 6px}
.horario-dias{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.horario-dias .mk-op span{--m:var(--verde-txt);min-width:52px;justify-content:center}
.horario-dias .mk-op span::before{display:none}
.horario-horas{display:flex;gap:12px;flex-wrap:wrap}.horario-horas .field{max-width:150px}

/* Chat interno da equipe */
.chat-fab{position:fixed;right:24px;bottom:24px;z-index:45;width:56px;height:56px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--verde);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(var(--principal-rgb),.28)}
.chat-fab:hover{transform:translateY(-1px)}.chat.aberto .chat-fab{box-shadow:0 0 0 3px var(--card),0 8px 24px rgba(var(--principal-rgb),.28)}
.chat-badge{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--erro);color:#fff;font:700 12px/22px var(--sans);text-align:center;box-shadow:0 0 0 2px var(--card)}
html[data-tema-ativo="escuro"] .chat-badge{color:#2A0F0A}
.chat-painel{position:fixed;right:24px;bottom:92px;z-index:46;width:380px;height:min(600px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linha);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.22);overflow:hidden}
.chat-painel[hidden],.chat-tela[hidden]{display:none}
.chat-topo{display:flex;align-items:center;gap:8px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--linha)}
.chat-titulo{flex:1;min-width:0}.chat-titulo b{display:block;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-titulo small{display:block;font-size:12.5px;color:var(--muted)}
.chat-quem:empty{display:none}.chat-quem .avatar{width:34px;height:34px}
.chat-ico{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:none;color:var(--tinta-2);cursor:pointer;flex:none}
.chat-ico:hover{background:var(--areia)}.chat-ico[hidden]{display:none}
[data-chat-som] .ic:last-child,[data-chat-som].mudo .ic:first-child{display:none}[data-chat-som].mudo .ic:last-child{display:inline-block}
.chat-tela{flex:1;min-height:0;display:flex;flex-direction:column}
.chat-busca{display:flex;align-items:center;gap:8px;margin:10px 12px 4px;padding:0 12px;height:40px;border:1px solid var(--linha);border-radius:12px;color:var(--muted)}
.chat-busca input{flex:1;border:0;background:none;height:38px;outline:none;color:var(--tinta)}
.chat-lista{list-style:none;margin:0;padding:4px 6px 10px;overflow-y:auto;flex:1}
.chat-contato{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.chat-contato:hover{background:var(--areia)}
.chat-av{position:relative;flex:none;display:grid;place-items:center}.chat-av .avatar{width:42px;height:42px;font-size:14px}
.chat-av.grupo{width:42px;height:42px;border-radius:50%;background:var(--ouro-soft);color:var(--ouro-txt);font-size:11px;font-weight:700}
.chat-av.on::after{content:"";position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#2E9E5B;box-shadow:0 0 0 2px var(--card)}
.chat-meio{flex:1;min-width:0}.chat-meio b{display:block;font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-meio small{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-contato.tem .chat-meio small{color:var(--tinta);font-weight:500}
.chat-fim{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.chat-fim small{font-size:11.5px;color:var(--muted)}
.chat-n{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--verde);color:#fff;font-size:11.5px;font-weight:700;line-height:20px;text-align:center}
html[data-tema-ativo="escuro"] .chat-n{background:var(--ok);color:#0F1417}
.chat-vazio{padding:24px 16px;text-align:center;color:var(--muted);font-size:14px;list-style:none}
.chat-msgs{list-style:none;margin:0;padding:14px 14px 6px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px;background:var(--areia)}
.chat-msg{align-self:flex-start;max-width:82%;padding:8px 12px 6px;border-radius:14px 14px 14px 4px;background:var(--card);border:1px solid var(--linha)}
.chat-msg.minha{align-self:flex-end;border-radius:14px 14px 4px 14px;background:var(--verde-soft);border-color:transparent}
.chat-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.4;color:var(--tinta)}
.chat-autor{display:block;font-size:12px;color:var(--ouro-txt);margin-bottom:2px}
.chat-hora,.chat-visto{display:inline-block;font-size:11px;color:var(--muted);margin-top:2px}.chat-msg.minha .chat-hora{float:right}.chat-visto{float:right;margin-right:6px}
.chat-erro{margin:0;padding:6px 14px;font-size:13px;color:var(--erro);background:var(--erro-soft)}
.chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--linha);background:var(--card)}
.chat-form textarea{flex:1;resize:none;min-height:42px;max-height:120px;padding:10px 12px;border:1px solid var(--linha);border-radius:12px;font:inherit;font-size:15px;line-height:1.35}
.chat-enviar{width:42px;height:42px;flex:none;border:0;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;cursor:pointer}
.content{padding-bottom:96px} /* a página rola além do balão do chat */
@media (max-width:900px){
  .chat-fab{right:16px;bottom:calc(84px + var(--safe-b));width:52px;height:52px}
  .chat-painel{inset:0;width:auto;height:auto;border-radius:0;border:0;z-index:70;padding-top:env(safe-area-inset-top)}
  .chat.aberto .chat-fab{display:none}
  .content{padding-bottom:calc(160px + var(--safe-b))}
}
@media print{.chat{display:none!important}}

/* ---------- busca do topo (Ctrl+K) ---------- */
.top-busca{gap:8px}
.top-busca kbd,.busca-rodape kbd{font:600 11px/1 var(--sans);color:var(--muted);border:1px solid var(--linha);border-radius:6px;padding:3px 6px;background:var(--card)}
.busca{position:fixed;inset:0;z-index:80}
.busca-fundo{position:absolute;inset:0;background:rgba(var(--principal-rgb),.45)}
.busca-caixa{position:relative;margin:10vh auto 0;width:min(640px,calc(100% - 32px));max-height:72vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linha);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.25);overflow:hidden}
.busca-campo{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--linha);color:var(--muted)}
.busca-campo:focus-within{box-shadow:inset 0 -2px 0 var(--ouro)}
.busca-campo input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:17px;color:var(--tinta);padding:6px 0}
.busca-campo input::-webkit-search-cancel-button{display:none}
.busca-x{border:0;background:none;color:var(--muted);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;cursor:pointer;flex:none}
.busca-x:hover{background:var(--areia-2);color:var(--tinta)}
.busca-res{overflow:auto;padding:6px;overscroll-behavior:contain}
.busca-grupo+.busca-grupo{border-top:1px solid var(--linha);margin-top:4px;padding-top:4px}
.busca-tit{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}
.busca-op{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;color:var(--tinta);min-height:48px}
.busca-op[aria-selected="true"]{background:var(--verde-soft)}
.busca-txt{display:flex;flex-direction:column;min-width:0}
.busca-txt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.busca-txt small{color:var(--tinta-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.busca-ico,.busca-ini{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--areia-2);color:var(--verde-txt);font-weight:700}
.busca-ini{border-radius:50%;background:var(--verde);color:#fff}
.busca-ini.lead{background:var(--ouro-soft);color:var(--ouro-txt)}
.busca-ini.off{background:var(--areia-2);color:var(--muted)}
.busca-aviso{padding:18px 12px;color:var(--tinta-2)}
.busca-rodape{display:flex;gap:6px;align-items:center;justify-content:flex-end;padding:8px 14px;border-top:1px solid var(--linha);font-size:12px;color:var(--muted)}
html.busca-aberta{overflow:hidden}
@media (max-width:900px){
  .top-busca span,.top-busca kbd{display:none}
  .busca-caixa{margin:0;width:100%;max-height:none;height:100%;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}
  .busca-rodape{display:none}
}
@media print{.busca{display:none!important}}

/* ---------- categorias de consulta ---------- */
.cat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tinta-2);line-height:1.3;max-width:100%}
.cat::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--cat);box-shadow:0 0 0 1.5px var(--card)}
.cat-form{display:grid;gap:8px;margin-top:12px}
.cat-linha{display:flex;gap:10px;align-items:center}
.cat-linha input[type=color]{flex:none;width:44px;height:44px;padding:3px;border:1px solid var(--linha);border-radius:10px;cursor:pointer}
.cat-linha input:not([type]){flex:1;min-width:0;height:44px;border:1px solid var(--linha);border-radius:12px;padding:0 14px;font-size:16px}
.cat-linha input:focus-visible{outline:none;border-color:var(--verde-3);box-shadow:0 0 0 4px rgba(var(--principal-rgb),.12)}
.cat-filtro{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.cat-filtro .chip .cat{color:inherit}
.cat-filtro .chip{display:inline-flex;align-items:center;gap:6px}
.cat-filtro .chip.on .cat{color:#fff}
.cat-filtro .muted-n{font-size:12px;opacity:.8}
.tl-item time .cat{font-size:11px;margin-left:8px;vertical-align:1px}
.chip-imprimir{display:inline-flex;align-items:center;gap:6px;margin-left:auto}

/* ---------- exportar dados ---------- */
.exp-aviso{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--alerta-soft);color:var(--alerta)}
.exp-aviso svg{flex:none;margin-top:3px}
.exp-lista{list-style:none;display:grid;gap:12px;margin:12px 0}
.exp-item{display:flex;gap:16px;align-items:center;justify-content:space-between}
.exp-item h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.exp-abas{font-size:13px;color:var(--tinta-2);margin-top:4px}
.exp-item .btn{flex:none}
.tag-saude{background:var(--erro-soft);color:var(--erro)}
@media (max-width:600px){.exp-item{flex-direction:column;align-items:stretch}.exp-item .btn{justify-content:center}}

/* ---------- modelos de documento ---------- */
.card-head-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.doc-modelos{margin-top:8px}
.doc-modelos li>div{flex:1;min-width:0}
.doc-texto{min-height:420px;height:auto!important;padding:12px 14px!important;line-height:1.55;font-size:15px!important}
.doc-campos h3{margin-top:4px}.doc-campos h3+p{margin-bottom:8px}
.doc-campos ul{list-style:none;display:grid;gap:8px;margin:0 0 16px}
.doc-campos li{display:grid;gap:2px}
.doc-campos .chip{justify-self:start;font-family:ui-monospace,Menlo,monospace;font-size:13px;padding:5px 10px;cursor:pointer}
.doc-campos small{color:var(--tinta-2);font-size:12.5px}
.orc-contrato-item{display:grid;gap:4px;justify-items:start;padding:10px 0;border-bottom:1px solid var(--linha);margin-bottom:10px}
.orc-contrato-item b{color:var(--tinta)}

/* ---------- multa, juros e desconto ---------- */
.cob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 14px}
.rec-valor .rec-enc{color:var(--erro);font-weight:600}
.rec-valor .rec-ant{color:var(--ok);font-weight:600}
.rec-cobrar{margin-top:12px}
.rec-linha [name="bandeira[]"]{grid-column:1/-1}
.rec-linha:has([name="maquina[]"]) [name="bandeira[]"]{grid-column:2/-1}

/* ---------- cartões ---------- */
.cart-filtros{flex-wrap:wrap;align-items:flex-end;gap:12px}
.cart-band .field{margin:0;min-width:180px}
.cart-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.cart-acoes{display:flex;gap:8px;flex-wrap:wrap}
.cart-tabela td small{display:block;color:var(--tinta-2);font-size:12px}
.cart-tabela .cart-dia td{background:var(--areia-2);font-weight:600;font-size:13px;color:var(--tinta)}
.cart-tabela .cart-dia span{float:right}
.fin-box.alerta b{color:var(--erro)}

/* ---------- cofre e transferência ---------- */
.cofre-saldo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;padding:10px 14px;border:1px solid var(--linha);border-radius:12px;background:var(--card);color:var(--tinta-2)}
.cofre-saldo b{color:var(--tinta)}
.transf{margin-bottom:14px}.transf summary{cursor:pointer;font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.transf-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 12px;margin-top:12px;align-items:end}
.transf-form .form-actions{margin:0 0 14px}

/* ---------- conciliação bancária ---------- */
.conc-topo{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.conc-envio h3{margin-bottom:4px}.conc-envio .btn{margin-top:4px}.conc-ultima{margin-top:10px;font-size:13px}
.conc-sec{margin-bottom:14px}
details.conc-sec>summary{cursor:pointer;list-style:none}details.conc-sec>summary::-webkit-details-marker{display:none}
.conc-lista li{flex-wrap:wrap}
.conc-desc{flex:1 1 220px;min-width:0}.conc-desc b{display:block;overflow-wrap:anywhere}.conc-desc small{display:block}
.conc-desc .pos{color:var(--ok);font-weight:600}.conc-desc .neg{color:var(--erro);font-weight:600}
.conc-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.conc-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.conc-form select,.conc-form input{height:36px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;font-size:14px;max-width:260px;min-width:0}
.conc-lancar>summary{list-style:none;cursor:pointer}.conc-lancar>summary::-webkit-details-marker{display:none}
.conc-lancar[open]{flex-basis:100%}.conc-lancar[open] .conc-form{margin-top:8px}
@media (max-width:900px){.conc-topo{grid-template-columns:1fr}}
.conc-envio input[type=file]{height:auto!important;padding:10px 12px!important;font-size:14px!important}
/* instalação */
.instalar-card{max-width:520px}
.instalar-marca{font:600 22px/1.3 var(--sans);color:#fff;margin:0 0 8px}
.instalar-req{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:6px}
.instalar-req .ok{color:#1F7A4D}
.instalar-req .falta{color:#A23B3B;font-weight:600}
/* central da Limiar e área de membros */
.central-resumo{grid-template-columns:repeat(4,1fr)}
.fin-box em{font-style:normal;font-size:12px;color:var(--muted)}
.pill.c-ativo,.pill.f-paga,.pill.h-resolvido{background:var(--ok-soft);color:var(--ok)}
.pill.c-teste,.pill.f-aberta,.pill.h-respondido{background:var(--areia-2);color:var(--tinta-2)}
.pill.c-suspenso,.pill.f-atrasada,.pill.h-aberto{background:var(--erro-soft);color:var(--erro)}
.pill.c-cancelado{background:var(--areia-2);color:var(--muted);text-decoration:line-through}
.tag-alerta{background:var(--erro-soft);color:var(--erro)}
.central-sec{margin-bottom:14px}
.central-fatura{flex-wrap:wrap}
.central-acoes{flex-basis:100%}
.central-acoes[open]{padding:8px 0}
.central-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.central-form input,.central-form select{min-height:36px}
.central-senha{border-color:var(--ok);margin-bottom:14px}
.central-senha code,.membro-pagar code{font-weight:700;font-size:15px}
.central-contatos li{flex-wrap:wrap}
.central-novo{margin-bottom:14px}
.central-novo>summary{display:inline-flex;list-style:none}
.central-novo[open]>summary{margin-bottom:12px}
.central-msgs{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}
.central-msgs li{border:1px solid var(--linha);border-radius:12px;padding:10px 14px;max-width:760px}
.central-msgs li.limiar{background:var(--verde-soft);margin-left:auto}
.central-autor{margin:0 0 4px}
.central-autor small{color:var(--muted)}
.membro-topo{margin-bottom:14px}
.membro-passos{margin:0;padding-left:20px;display:grid;gap:8px}
@media (max-width:760px){.central-resumo{grid-template-columns:1fr 1fr}}

/* ---------- CRM da Limiar (central) ---------- */
.crm-acoes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.seg-links{display:inline-flex;background:var(--areia-2);border-radius:999px;padding:4px;gap:2px}
.seg-links a{padding:8px 14px;border-radius:999px;font-weight:600;font-size:14px;color:var(--tinta-2);text-decoration:none;white-space:nowrap}
.seg-links a.on{background:var(--card);color:var(--tinta);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.crm-fatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 4px}
.crm-fatos div{background:var(--areia);border-radius:var(--raio-sm);padding:10px 12px;min-width:0}
.crm-fatos dt{font-size:12.5px;color:var(--muted)}
.crm-fatos dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.crm-lista{padding:4px 0}
.crm-rows .crm-origem{flex:none}
.crm-rows time{width:96px}
.crm-atrasado{color:var(--erro)!important}
.crm-origens ul{list-style:none;display:grid;gap:10px;margin-top:8px}
.crm-origens li{display:grid;grid-template-columns:150px 1fr 40px 90px;align-items:center;gap:12px}
.crm-barra{height:8px;background:var(--areia-2);border-radius:4px;overflow:hidden}
.crm-barra span{display:block;height:100%;background:var(--verde);border-radius:4px}
.crm-origens{margin-top:16px}
.crm-editar summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.crm-editar summary::-webkit-details-marker{display:none}
.crm-editar summary::after{content:"+";font-weight:700;font-size:20px;color:var(--muted)}
.crm-editar[open] summary::after{content:"−"}
.crm-editar[open] summary{margin-bottom:12px}
@media (max-width:720px){
  .crm-fatos{grid-template-columns:1fr}
  .crm-acoes{width:100%}
  .crm-acoes .btn{flex:1}
  .seg-links{overflow-x:auto;max-width:100%}
  .crm-rows li{flex-wrap:wrap}
  .crm-rows .crm-origem{display:none}
  .crm-origens li{grid-template-columns:1fr 36px;gap:4px 10px}
  .crm-origens li .crm-barra{grid-column:1 / -1;order:3}
  .crm-origens li small{display:none}
}

/* ---------- Banco Inter na central ---------- */
.central-ajustes-pagina{display:grid;gap:16px}
.inter-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.inter-passos{margin:12px 0 4px 18px;display:grid;gap:6px;color:var(--tinta-2)}
.inter-form{margin-top:12px}
.inter-webhook{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--linha)}
.inter-info{display:inline-flex;align-items:center;gap:8px}
.inter-info small{color:var(--muted)}
.inter-erro{flex-basis:100%;color:var(--erro);font-size:13px;padding-left:100px}
.inter-emitir-mes{margin:-4px 0 16px}
.membro-pagamento{flex-basis:100%;display:grid;gap:8px;margin:6px 0 4px 100px;padding:12px 14px;background:var(--areia);border-radius:var(--raio-sm)}
.membro-pagamento p{display:grid;gap:4px}
.membro-pagamento .copia{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.membro-pagamento code{font-size:13px;word-break:break-all}
.rows li:has(.membro-pagamento),.rows li:has(.inter-erro){flex-wrap:wrap}
@media (max-width:720px){.membro-pagamento,.inter-erro{margin-left:0;padding-left:14px}}

/* ---------- sistema da clínica (instalação pela central) ---------- */
.instancia-url{display:flex;align-items:center;gap:6px}
.instancia-url input{flex:1;min-width:0}
.instancia-url em{font-style:normal;color:var(--muted);white-space:nowrap}
.instancia-form{display:grid;gap:12px;margin-top:10px}
.instancia-card .pill{margin-left:8px}
.instancia-codigo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.instancia-codigo code{font-size:14px;background:var(--areia);padding:4px 8px;border-radius:6px}
.crm-prop{background:var(--areia);border-radius:var(--raio-sm);padding:12px;margin:10px 0}
.crm-prop-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.crm-prop p{margin:2px 0;font-size:14px}
.crm-prop-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.crm-prop-acoes .btn{min-height:36px;padding:0 12px;font-size:13.5px}
.crm-prop-nova summary{cursor:pointer;font-weight:600;color:var(--verde);margin:8px 0}
.rastreio-status{line-height:1.8;padding-left:18px;margin:6px 0 12px}
.pg-suspenso{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--areia)}
.suspenso{max-width:520px;width:100%;text-align:center;display:grid;gap:14px;justify-items:center}
.suspenso h1{font-size:26px;letter-spacing:-.02em;margin:0}
.suspenso p{margin:0;color:var(--tinta-2);line-height:1.55}
.suspenso-ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--areia);color:var(--tinta)}
.suspenso-ok{font-weight:600;color:var(--tinta)!important}
.suspenso-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.aviso-conta{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border-radius:var(--raio-sm);background:#FDECEC;color:#8A1C1C;font-size:14.5px;text-decoration:none}
.aviso-conta span{flex:1}
.instancia-conta{margin-top:12px;padding-top:12px;border-top:1px solid var(--linha);display:grid;gap:10px}
.instancia-conta p{margin:0;font-size:14px;color:var(--tinta-2)}
.instancia-liberar{display:flex;gap:8px;align-items:center}
.instancia-liberar select{min-height:34px}

/* ---------- entrada no celular: tela de app, sem cartão, ícone e título grandes ---------- */
.login-topo{display:none}
@media (max-width:900px){
  body.login{display:block;min-height:100dvh;background:var(--card)}
  .login-brand{display:none}
  body.login::before{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:var(--verde);opacity:.05;transform:rotate(-8deg);
    -webkit-mask:url(../img/padrao-odonto.svg) 0 0/220px 220px repeat;mask:url(../img/padrao-odonto.svg) 0 0/220px 220px repeat}
  .login-box{position:relative;z-index:1;background:none;min-height:100dvh;justify-content:flex-start;padding:calc(env(safe-area-inset-top) + 44px) 20px calc(env(safe-area-inset-bottom) + 24px)}
  .login-topo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px}
  .login-app{width:72px;height:72px;border-radius:17px;box-shadow:0 8px 24px rgba(15,23,42,.14)}
  .login-nome{margin:0;font-size:15px;font-weight:600;color:var(--muted);text-align:center}
  .login-card{max-width:440px;padding:0;border:0;box-shadow:none;background:none}
  .login-card h1{font-family:inherit;font-size:34px;font-weight:700;letter-spacing:-.03em;text-align:center}
  .login-card .muted{text-align:center;margin:6px 0 26px;font-size:15px}
  .login-card .field span{font-size:13px;font-weight:600}
  .login-card .field input{height:54px;border-radius:14px;font-size:17px;background:var(--areia);border-color:transparent}
  .login-card .field input:focus{background:var(--card);border-color:var(--verde-3)}
  .login-card .btn.block{height:54px;border-radius:14px;font-size:17px;font-weight:600;margin-top:10px}
  .login-foot{display:none}
  .login-assina{margin-top:auto;padding-top:28px}
}
/* iPhone: campo com fonte menor que 16px faz o Safari dar zoom ao tocar e a tela "estoura" para o lado */
@media (hover:none) and (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)!important}
}
.fx-curto{display:none}
.leitura-qtd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;margin-left:8px;border-radius:999px;background:var(--areia);color:var(--tinta-2);font-size:12.5px;font-weight:700;vertical-align:middle}
@media (max-width:900px){
  .faixa-teste{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 12px;font-size:11.5px;letter-spacing:.02em}
  .fx-longo{display:none}.fx-curto{display:inline}
  details.leitura:not([open]) summary small{display:none}
}
@media (max-width:900px){
  /* filtros da agenda numa linha só, de arrastar com o dedo (como os dentistas) */
  .cat-filtro{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter)}
  .cat-filtro::-webkit-scrollbar{display:none}
  .cat-filtro .chip{flex:none}
  .cat-longo{display:none}
  .chip-imprimir{display:none}
}
/* olho da senha (entrada): ícone de traço cinza dentro do campo, como no iPhone */
.campo-senha>label{font-size:13px;font-weight:500;color:var(--tinta-2);letter-spacing:.01em}
@media (max-width:900px){.login-card .campo-senha>label{font-weight:600}}
.senha-caixa{position:relative}
.senha-caixa input{padding-right:52px!important}
.senha-olho{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:12px;background:none;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}
.senha-olho:hover{color:var(--tinta)}
.senha-olho:focus-visible{outline:2px solid var(--verde-3);outline-offset:-4px}
.senha-olho .so-ocultar,.senha-olho[aria-pressed="true"] .so-mostrar{display:none}
.senha-olho[aria-pressed="true"] .so-ocultar{display:block}
.senha-olho .ic{display:block}
/* ---------- instalação (primeiro acesso): 3 etapas em cartões, senha conferida ao digitar ---------- */
.inst-topo{text-align:center;max-width:520px;width:100%;margin:0 auto 18px}
.inst-app{width:64px;height:64px;border-radius:15px;box-shadow:0 8px 24px rgba(15,23,42,.18);margin:0 auto 14px;display:block}
.inst-selo{display:inline-block;margin:0 0 10px;padding:5px 12px;border-radius:999px;background:var(--areia);color:var(--tinta-2);font-size:12.5px;font-weight:600;letter-spacing:.02em}
.inst-topo h1{font-family:inherit;font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--verde-txt);margin:0}
.inst-sub{margin:10px auto 0;max-width:420px;color:var(--tinta-2);font-size:15.5px;line-height:1.5}
.inst-form{width:100%;max-width:520px;margin:0 auto}
.inst-etapa{background:var(--card);border:1px solid var(--linha);border-radius:20px;padding:20px 20px 6px;margin-bottom:14px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.inst-etapa h2{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px;color:var(--tinta)}
.inst-etapa h2 span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--verde);color:#fff;font-size:13px;font-weight:700;flex:none}
.inst-etapa .field>span em{font-style:normal;font-weight:400;color:var(--muted);margin-left:4px}
.inst-etapa .field small{font-size:12.5px;color:var(--muted);line-height:1.45}
.inst-rot{font-size:13px;font-weight:500;color:var(--tinta-2);letter-spacing:.01em}
.inst-regras{list-style:none;margin:-4px 0 16px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.inst-regras li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);transition:color .2s}
.inst-regras li::before{content:"";width:18px;height:18px;border-radius:50%;border:1.6px solid var(--linha);flex:none;transition:all .2s}
.inst-regras li.ok{color:var(--tinta)}
.inst-regras li.ok::before{border-color:#1F7A4D;background:#1F7A4D url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.inst-regras.inst-erro li:not(.ok){color:var(--erro)}
.inst-codigo{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.06em}
.inst-nota{display:flex;gap:8px;align-items:flex-start;margin:-4px 0 16px;font-size:13px;color:var(--muted);line-height:1.45}
.inst-nota .ic{flex:none;margin-top:1px}
.inst-erro input{border-color:var(--erro)!important;box-shadow:0 0 0 4px rgba(162,59,59,.1)!important}
.inst-acao .btn{height:56px;border-radius:16px;font-size:17px;font-weight:600;gap:8px}
.inst-acao .btn .ic{margin-right:-4px}
.instalar .instalar-req{margin-bottom:16px}
@media (max-width:900px){
  body.instalar{background:var(--areia)}
  body.instalar .login-box{padding-top:0;background:var(--areia)}
  .inst-topo{margin:0 -20px;padding:calc(env(safe-area-inset-top) + 36px) 24px 58px;max-width:none;width:auto;border-radius:0 0 30px 30px;color:#fff;
    background:radial-gradient(520px 320px at 20% 0%,var(--verde-2),transparent 70%),linear-gradient(160deg,var(--verde),color-mix(in srgb,var(--verde) 70%,#000))}
  .inst-app{box-shadow:0 10px 30px rgba(0,0,0,.35)}
  .inst-selo{background:rgba(255,255,255,.12);color:rgba(255,255,255,.9)}
  .inst-topo h1{color:#fff;font-size:34px}
  .inst-sub{color:rgba(255,255,255,.78)}
  .inst-form{margin-top:-34px;position:relative}
  .inst-etapa{border:0;box-shadow:0 6px 24px rgba(15,23,42,.08)}
  .inst-etapa .field input{height:52px;border-radius:14px;background:var(--areia);border-color:transparent}
  .inst-etapa .field input:focus{background:var(--card);border-color:var(--verde-3)}
  .inst-acao{position:sticky;bottom:0;z-index:5;margin:0 -20px;padding:14px 20px calc(env(safe-area-inset-bottom) + 14px);background:linear-gradient(to top,var(--areia) 70%,transparent)}
  .inst-regras li{font-size:13.5px}
}
.inst-codigo::placeholder{font-family:var(--sans);letter-spacing:0}
/* antes da instalação a clínica ainda não tem marca: tudo na cor do produto, a mesma do ícone */
body.instalar{--verde:#1B2533;--verde-2:#2E4363;--verde-3:#3B5478;--verde-txt:#1B2533;--principal-rgb:27,37,51}
@media (min-width:901px){body.instalar .login-brand{position:sticky;top:0;height:100vh}body.instalar .login-box{justify-content:flex-start;padding-top:48px}}
.login-recado{width:100%;max-width:440px;margin:0 auto 16px}
.login-ok{background:#E7F4EC;color:#1F5C3B;border-radius:var(--raio-sm);padding:12px 14px;font-size:14.5px;font-weight:500}
.cli-cond{display:grid;gap:8px;margin:0 0 12px}
.cli-cond div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.cli-cond dt{color:var(--muted)}.cli-cond dd{margin:0;text-align:right;font-weight:600}
.cli-indica{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cli-indica code{font-size:12.5px;word-break:break-all;background:var(--areia);padding:6px 8px;border-radius:8px;flex:1;min-width:0}
.crm-teste p{margin:0 0 12px;font-size:14px}
.aviso-teste{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;border-radius:var(--raio-sm);background:linear-gradient(135deg,#1B2533,#2E4363);color:#fff;font-size:14.5px;text-decoration:none}
.aviso-teste span:nth-child(2){flex:1}
.aviso-teste-n{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-weight:800;font-size:16px;flex:none}
.cupom-vagas{display:flex;gap:10px;align-items:flex-end;margin:6px 0 12px}.cupom-vagas .field{margin:0;width:140px}
.cupons{border:1px solid var(--linha);border-radius:14px;overflow:hidden;margin-bottom:10px}
.cupom-item+.cupom-item{border-top:1px solid var(--linha)}
.cupom-item summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}
.cupom-item summary::-webkit-details-marker{display:none}
.cupom-item summary span:not(.pill){color:var(--muted);font-size:13.5px;flex:1;min-width:0}
.cupom-form{padding:4px 14px 14px}
.cupom-form .field>span em{font-style:normal;color:var(--muted);font-weight:400}
.indica-card{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--verde) 6%,var(--card)))}
.indica-card h3{margin:0 0 6px}.indica-card p{margin:0;max-width:560px}
.indica-acoes{display:flex;gap:8px;flex-wrap:wrap}
.cres-intro{margin:0 0 14px}
.cres-num{grid-template-columns:repeat(3,minmax(0,1fr))}
.cres-grid{margin:16px 0}
.cres-sub{margin-top:18px}
.cres-canais{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cres-canais li{display:flex;align-items:baseline;gap:10px;font-size:14px}.cres-canais li span{flex:1}.cres-canais small{color:var(--muted)}
.cres-acomp li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 392px;gap:18px;align-items:center}
.cres-acomp li.late{background:color-mix(in srgb,var(--erro-soft) 45%,transparent)}
.cres-quem small,.cres-prox small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.4}
.cres-acoes{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.cres-prox{display:flex;flex-direction:column;align-items:flex-start}
@media (max-width:1300px) and (min-width:901px){.cres-acomp li{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cres-acoes{grid-column:1/-1;justify-content:flex-end}}
.cres-feito{display:flex;gap:6px}.cres-feito input{height:36px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;width:180px;background:var(--card)}
@media (max-width:900px){
  .cres-num{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cres-acomp li{grid-template-columns:1fr}
  .cres-acoes{justify-content:flex-start}.cres-feito{flex:1}.cres-feito input{flex:1;width:auto}
}

/* ---------- Início: pulso da clínica (faixa da marca com quatro anéis) e Dinheiro na mesa somado ---------- */
.pulso{--anel-bom:#4FD1A5;--anel-medio:#F6C453;--anel-ruim:#FF8B73;position:relative;display:grid;grid-template-columns:minmax(280px,.95fr) 2fr;gap:28px;align-items:center;
  padding:28px 30px;margin:2px 0 18px;border-radius:calc(var(--raio) + 4px);color:#fff;overflow:hidden;
  background:var(--verde) radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.4px) 0 0/22px 22px}
.pulso a{color:inherit}
.pulso-data{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66);font-weight:600}
.pulso h2{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:4px 0 14px;line-height:1.15}
.pulso-achado{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:background .2s}
.pulso-achado:hover{background:rgba(255,255,255,.14)}
.pulso-achado b{flex:1;font-size:14px;font-weight:600;line-height:1.35}
.pulso-achado-rot{flex:none;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(246,196,83,.18);color:var(--anel-medio)}
.pulso-achado.n-urgente .pulso-achado-rot{background:rgba(255,139,115,.18);color:var(--anel-ruim)}
.pulso-hoje{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:16px}
.pulso-hoje a{display:flex;flex-direction:column;padding:8px 8px 6px;border-radius:10px;transition:background .2s}
.pulso-hoje a:hover{background:rgba(255,255,255,.08)}
.pulso-hoje b{font-size:22px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.pulso-hoje span{font-size:12px;color:rgba(255,255,255,.7);line-height:1.25;white-space:nowrap}
.pulso-aneis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pulso-aneis.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.pulso-aneis.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.anel{display:flex;flex-direction:column;gap:10px;padding:14px 12px;border-radius:16px;transition:background .2s,transform .2s}
.anel:hover{background:rgba(255,255,255,.07);transform:translateY(-2px)}
.anel-fig{position:relative;width:84px;height:84px}
.anel-fig svg{width:100%;height:100%;transform:rotate(-90deg)}
.anel-fig circle{fill:none;stroke-width:7}
.anel-fig .trilho{stroke:rgba(255,255,255,.13)}
.anel-fig .valor{stroke:var(--c,rgba(255,255,255,.3));stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1)}
.anel:nth-child(2) .valor{transition-delay:.08s}.anel:nth-child(3) .valor{transition-delay:.16s}.anel:nth-child(4) .valor{transition-delay:.24s}
.pulso.pre .anel-fig .valor{stroke-dashoffset:213.63!important;transition:none}
.anel.nivel-bom{--c:var(--anel-bom)}.anel.nivel-medio{--c:var(--anel-medio)}.anel.nivel-ruim{--c:var(--anel-ruim)}
.anel-fig b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.anel-fig b small{font-size:12px;font-weight:600;margin:4px 0 0 1px;opacity:.75}
.anel-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.anel-txt strong{font-size:14px;font-weight:600;line-height:1.25}
.anel-txt small{font-size:12.5px;color:rgba(255,255,255,.7);line-height:1.3}
.anel-var{font-style:normal;font-size:12px;color:rgba(255,255,255,.6);margin-top:2px}
.anel-var.melhor{color:#8BEAC6}.anel-var.pior{color:#FFAA98}

.mesa-soma{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:8px 28px;padding:22px 24px;margin-bottom:18px}
.ms-rot{font-size:14px;font-weight:600;color:var(--muted)}
.ms-total b{display:block;font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.15;color:var(--tinta);font-variant-numeric:tabular-nums;margin-top:2px}
.ms-sub{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.4}
.ms-dados{min-width:0}
.ms-barra{display:flex;gap:2px;height:14px;border-radius:999px;overflow:hidden;background:var(--areia-2)}
.ms-barra a{flex:0 0 var(--w);min-width:6px;transition:flex-basis 1.1s cubic-bezier(.2,.8,.2,1),filter .2s}
.ms-barra a:hover{filter:brightness(1.12)}
.inicio-pre .ms-barra a{flex-basis:0;transition:none}
.t0{background:var(--ouro)}.t1{background:color-mix(in srgb,var(--ouro) 58%,var(--card))}.t2{background:color-mix(in srgb,var(--ouro) 30%,var(--card))}
.t3{background:color-mix(in srgb,var(--ouro) 16%,var(--card))}
.ms-partes{list-style:none;margin-top:10px}
.ms-partes a{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px 14px;align-items:center;gap:12px;padding:10px 2px;border-top:1px solid var(--linha);font-size:14px}
.ms-partes li:first-child a{border-top:0}
.ms-partes a:hover span{color:var(--ouro-txt)}
.ms-partes i{width:10px;height:10px;border-radius:3px}
.ms-partes span{display:flex;gap:8px;align-items:baseline;min-width:0}
.ms-partes span small{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
.ms-partes b{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.ms-partes em{font-style:normal;color:var(--muted);font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}
.ms-partes .ic{color:var(--muted)}
.ms-achado{font-size:13.5px;color:var(--tinta-2);margin-top:14px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--ouro) 9%,var(--card));line-height:1.45}
.ms-achado b{color:var(--ouro-txt)}
.ms-contagens{grid-column:1/-1;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--linha)}
.ms-contagens a{display:flex;align-items:center;gap:8px;height:100%;padding:7px 12px 7px 10px;border-radius:999px;background:var(--areia);border:1px solid var(--linha);transition:border-color .2s,transform .2s}
.ms-contagens a:hover{border-color:color-mix(in srgb,var(--ouro) 45%,var(--linha));transform:translateY(-1px)}
.ms-contagens b{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tinta)}
.ms-contagens span{font-size:12.5px;color:var(--tinta-2);line-height:1.3}

@media (max-width:1180px){.pulso{grid-template-columns:1fr;gap:18px}}
@media (max-width:900px){
  .pulso{padding:20px 18px;margin-top:0;border-radius:var(--raio)}
  .pulso h2{font-size:23px;margin-bottom:12px}
  .pulso-aneis,.pulso-aneis.n3{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .pulso-aneis.n3 .anel:last-child{grid-column:1/-1;flex-direction:row;align-items:center}
  .anel{padding:12px 8px;flex-direction:row;align-items:center;gap:10px}
  .anel-fig{width:58px;height:58px;flex:none}
  .anel-fig circle{stroke-width:8}
  .anel-fig b{font-size:17px}
  .anel-txt strong{font-size:13px}.anel-txt small,.anel-var{font-size:11.5px}
  .pulso-hoje b{font-size:19px}.pulso-hoje span{font-size:11.5px}
  .mesa-soma{grid-template-columns:1fr;padding:18px 16px}
  .ms-total b{font-size:30px}
  .ms-partes a{grid-template-columns:10px minmax(0,1fr) auto 14px;gap:10px}
  .ms-partes em{display:none}
  .ms-partes span{flex-direction:column;gap:0;line-height:1.3}
  .pulso-hoje{gap:2px}.pulso-hoje a{padding:6px 4px}
  .ms-contagens{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;margin:12px -16px 0;padding:14px 16px 2px;scrollbar-width:none}
  .ms-contagens::-webkit-scrollbar{display:none}
  .ms-contagens li{flex:none;scroll-snap-align:start}
  .ms-contagens span{white-space:nowrap}
}

@media (prefers-reduced-motion:reduce){.anel-fig .valor,.ms-barra a,.anel,.ms-contagens a{transition:none}}

/* ---------- Início: Leitura do dia em cartões, mapa da agenda e hora de cadeira ---------- */
.prio-sec{margin-bottom:18px}
.prio-cab{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 2px 10px}
.prio-cab h3{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;letter-spacing:-.01em}
.prio-cab h3 .ic{color:var(--ouro-txt)}
.prio-cab small{font-size:13px}
.prio-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.prio{--n:var(--alerta);position:relative;display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px;background:var(--card) var(--card-luz);border:1px solid var(--v-borda);border-radius:var(--raio);overflow:hidden;transition:transform .2s,box-shadow .2s}
.prio::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--n)}
.prio:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.prio.n-urgente{--n:var(--erro)}.prio.n-oportunidade{--n:var(--ouro)}.prio.n-bom{--n:var(--ok)}.prio.n-comecar{--n:var(--muted)}
.prio header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.prio-nivel{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;color:var(--n);background:color-mix(in srgb,var(--n) 12%,var(--card))}
.prio header small{font-size:12px;color:var(--muted);font-weight:600}
.prio h4{font-size:15.5px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.prio p{font-size:13.5px;color:var(--tinta-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.prio-acao{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--ouro-txt);align-self:flex-start}
.prio-acao:hover{text-decoration:underline}
.prio-mais{list-style:none;margin-top:10px;background:var(--card);border:1px solid var(--linha);border-radius:var(--raio)}
.prio-mais li{--n:var(--alerta);display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--linha)}
.prio-mais li:first-child{border-top:0}
.prio-mais li.n-urgente{--n:var(--erro)}.prio-mais li.n-oportunidade{--n:var(--ouro)}.prio-mais li.n-bom{--n:var(--ok)}
.prio-mais i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--n)}
.prio-mais div{flex:1;min-width:0;display:flex;flex-direction:column}
.prio-mais small{font-size:12px;color:var(--muted);font-weight:600}
.prio-mais b{font-size:14px;font-weight:600;line-height:1.35}

.inicio-analise{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;margin-bottom:18px;align-items:stretch}
.inicio-analise.so-mapa{grid-template-columns:1fr}
.inicio-analise .card{padding-bottom:16px}
.mapa-achado,.rentab-media{font-size:13.5px;color:var(--tinta-2);padding:0 20px;margin:-4px 0 12px;line-height:1.45}
.mapa-achado b,.rentab-media b{color:var(--tinta)}
.mapa-grade{display:grid;grid-template-columns:64px repeat(var(--cols),minmax(0,1fr));gap:4px;padding:0 20px}
.mg-dia{font-size:12px;font-weight:600;color:var(--muted);text-align:center;padding-bottom:2px;text-transform:capitalize}
.mg-dia.hoje{color:var(--ouro-txt)}
.mg-turno{font-size:12.5px;color:var(--muted);display:flex;align-items:center}
.mg-cel{display:flex;align-items:center;justify-content:center;gap:1px;height:58px;border-radius:10px;font-variant-numeric:tabular-nums;
  background:color-mix(in srgb,var(--ouro) var(--o,0%),color-mix(in srgb,var(--ouro) 6%,var(--card)));color:var(--tinta);transition:transform .15s,box-shadow .15s}
.mg-cel b{font-size:14px;font-weight:700}.mg-cel small{font-size:10.5px;opacity:.7}
a.mg-cel:hover{transform:scale(1.04);box-shadow:0 0 0 2px var(--ouro)}
.mg-cel.forte{color:#fff}
.mg-cel.vazio{background:transparent;border:1px dashed var(--linha);color:var(--muted)}
.mg-cel.fechado{background:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--linha) 70%,transparent) 6px 7px)}
.mg-cel.buraco{box-shadow:0 0 0 2px var(--erro)}
.mapa-leg{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:12px 20px 0}
.mg-am{width:14px;height:10px;border-radius:3px;display:inline-block}
.mg-am.a0{background:color-mix(in srgb,var(--ouro) 6%,var(--card));margin-right:2px}.mg-am.a1{background:color-mix(in srgb,var(--ouro) 35%,var(--card));margin-left:6px}
.mg-am.a2{background:color-mix(in srgb,var(--ouro) 65%,var(--card))}.mg-am.a3{background:var(--ouro);margin-right:2px}
.rentab-lista{list-style:none;padding:0 20px;display:flex;flex-direction:column;gap:10px}
.rl-txt{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.rl-txt span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-txt span small{font-size:12px;color:var(--muted);margin-left:6px;font-variant-numeric:tabular-nums}
.rl-txt b{font-variant-numeric:tabular-nums;white-space:nowrap}.rl-txt b small{font-size:11.5px;color:var(--muted);font-weight:500;margin-left:1px}
.rl-barra{height:8px;border-radius:999px;background:var(--areia-2);margin:5px 0 3px;overflow:hidden}
.rl-barra span{display:block;height:100%;width:var(--w);border-radius:999px;background:color-mix(in srgb,var(--tinta) 28%,var(--card));transition:width 1s cubic-bezier(.2,.8,.2,1)}
.rentab-lista li.acima .rl-barra span{background:var(--ouro)}
.rl-sub{font-size:12px;color:var(--muted)}

@media (max-width:1100px){.inicio-analise{grid-template-columns:1fr}}
@media (max-width:900px){
  .prio-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scrollbar-width:none}
  .prio-cards::-webkit-scrollbar{display:none}
  .prio{flex:0 0 84%;scroll-snap-align:start}
  .prio-cab small{display:none}
  .prio-mais li{flex-wrap:wrap;padding:12px 14px}.prio-mais li .btn{margin-left:20px}
  .mapa-grade{grid-template-columns:44px repeat(var(--cols),minmax(0,1fr));gap:3px;padding:0 14px}
  .mg-cel{height:42px;border-radius:8px}.mg-cel b{font-size:12.5px}.mg-cel small{display:none}
  .mg-dia{font-size:11px}.mg-turno{font-size:11.5px}
  .mapa-achado,.rentab-media,.rentab-lista,.mapa-leg{padding-left:14px;padding-right:14px}
}
@media (prefers-reduced-motion:reduce){.prio,.mg-cel,.rl-barra span{transition:none}}

/* login: marca da Limiar em marca d'água no alto do painel escuro */
.login-brand img.login-marca-dagua{position:absolute;top:clamp(36px,9vh,96px);left:50%;transform:translateX(-50%);width:min(520px,76%);height:auto;opacity:.075;z-index:-1;pointer-events:none;user-select:none}
.demo-ou code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em;padding:1px 6px;border-radius:6px;background:var(--areia-2);color:var(--tinta)}

/* demonstração fechada: pedido de acesso (mesmo visual do login) */
.demo-portao .dp-marca{font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.03em;color:#fff;text-transform:none}
.dp-caixa{width:100%;max-width:420px;margin:auto;display:flex;flex-direction:column;gap:14px}
.dp-caixa .login-app{width:64px;height:64px;border-radius:16px}
.dp-caixa h1{font-size:28px;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.dp-texto{color:var(--tinta-2);font-size:15.5px;line-height:1.55}
.dp-lista{list-style:none;display:flex;flex-direction:column;gap:8px;margin:2px 0 6px}
.dp-lista li{display:flex;align-items:center;gap:8px;font-size:14.5px}
.dp-lista .ic{color:var(--ok)}
.dp-caixa .btn.block{min-height:52px;font-size:16px}

/* Início: abas Hoje, Semana e Mês (sem JavaScript, as três aparecem em sequência) */
.abas-inicio{display:none}
.abas-on .abas-inicio{display:flex;gap:4px;padding:4px;margin:0 0 16px;background:var(--areia-2);border-radius:999px;width:max-content;max-width:100%;position:sticky;top:8px;z-index:20;box-shadow:0 0 0 6px var(--areia)}
.abas-inicio button{border:0;background:transparent;padding:9px 22px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--tinta-2);cursor:pointer;transition:background .2s,color .2s}
.abas-inicio button[aria-selected="true"]{background:var(--card);color:var(--tinta);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.abas-inicio button:hover{color:var(--tinta)}
.aba-painel[hidden]{display:none!important}
.sem-num{padding-bottom:16px}
.sn-lista{list-style:none;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.sn-lista li{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;background:var(--areia)}
.sn-lista b{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.sn-lista span{font-size:12.5px;color:var(--muted)}
.sn-lista li.sn-alerta b{color:var(--alerta)}
.sem-num .btn.block{margin:0 20px;width:calc(100% - 40px)}
.tend{padding-bottom:12px}
.tend-graf{display:block;width:100%;height:auto;padding:0 12px}
.tg-grade{stroke:var(--linha);stroke-width:1}.tg-grade.base{stroke:color-mix(in srgb,var(--tinta) 30%,var(--card));stroke-width:1.5}
.tg-y{font-size:11px;fill:var(--muted);text-anchor:end;font-variant-numeric:tabular-nums}
.tg-x{font-size:11px;fill:var(--muted);text-anchor:middle}.tg-x.ultima{text-anchor:end;fill:var(--ouro-txt);font-weight:600}
.tg-linha{fill:none;stroke:var(--ouro);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.tg-proj{stroke:var(--ouro);stroke-width:2.5;stroke-dasharray:5 5;stroke-linecap:round}
.tg-ponto{fill:var(--ouro);stroke:var(--card);stroke-width:2}.tg-ponto.vazio{fill:var(--card);stroke:var(--ouro);stroke-width:2.5}
.tg-alvo{fill:transparent;cursor:default}
.tend-melhor{color:var(--ok);font-weight:700}.tend-pior{color:var(--erro);font-weight:700}
@media (max-width:900px){
  .abas-on .abas-inicio{width:100%;position:static;box-shadow:none;margin-top:2px}
  .pulso .anel-txt small,.pulso .anel-var{display:none}   /* celular: anel e nome; o detalhe abre ao tocar */
  .pulso .anel{padding:10px 6px}.pulso-aneis{gap:2px}
  .abas-inicio button{flex:1;padding:10px 8px}
  .sn-lista{padding:0 14px}.sem-num .btn.block{margin:0 14px;width:calc(100% - 28px)}
  .tg-x.impar:not(.ultima),.tg-x.penultima{display:none}
  .tg-y,.tg-x{font-size:17px}
  .tend-graf{padding:0 6px}
}

/* ---------- entrada da demonstração: imagem do sistema, perfil recomendado e usuário e senha recolhidos ---------- */
body.login-demo .login-brand{gap:16px}
body.login-demo .login-brand .ld-selo{color:#fff;opacity:.9;letter-spacing:.16em;font-size:12px;padding:7px 14px;border:1px solid rgba(255,255,255,.22);border-radius:99px;margin:0}
.ld-tela{margin:14px 0 0;width:min(600px,88%);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.04);transform:perspective(1600px) rotateY(-7deg) rotateX(2deg)}
.login-brand .ld-tela img{width:100%;height:auto;display:block}
body.login-demo .login-brand img.login-marca-dagua{top:auto;bottom:clamp(20px,5vh,56px);width:min(340px,50%)}
.login-demo .login-card h1{letter-spacing:-.02em}
.login-demo .login-card>.muted{margin-bottom:16px}
.demo-txt b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.demo-txt b em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted);padding:1px 8px;border:1px solid var(--linha);border-radius:99px;line-height:1.5}
.demo-txt small{margin-top:2px}
.demo-perfis li.rec{background:color-mix(in srgb,var(--ouro) 6%,var(--card))}
.demo-perfis li.rec button{min-height:72px;padding-top:12px;padding-bottom:12px}
.demo-perfis li.rec .demo-av{width:44px;height:44px;font-size:14.5px}
.demo-rec{font-size:11.5px;font-weight:700;color:var(--ouro-txt);background:var(--ouro-soft);padding:2px 9px;border-radius:99px;line-height:1.5}
.ld-manual{margin-top:4px}
.ld-manual summary{list-style:none;cursor:pointer;text-align:center;font-size:14px;font-weight:600;color:var(--muted);padding:12px 0;-webkit-tap-highlight-color:transparent}
.ld-manual summary::-webkit-details-marker{display:none}
.ld-manual summary::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.ld-manual[open] summary::after{transform:translateY(1px) rotate(-135deg)}
.ld-manual summary:hover{color:var(--tinta)}
.ld-dica{margin:0 0 14px;text-align:center;font-size:13px;color:var(--muted)}
.ld-dica code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em;padding:1px 6px;border-radius:6px;background:var(--areia-2);color:var(--tinta)}
@media (max-width:900px){
  body.login-demo .login-brand{display:flex;padding:calc(env(safe-area-inset-top) + 30px) 20px 26px;gap:10px;border-radius:0 0 26px 26px}
  body.login-demo .login-brand>img:not(.login-marca-dagua){width:min(250px,68%)}
  body.login-demo .login-brand img.login-marca-dagua{top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(360px,92%);opacity:.05}
  body.login-demo .ld-tela{display:none}
  body.login-demo .login-topo{display:none}
  body.login-demo .login-box{min-height:0;padding-top:26px}
  .login-demo .login-card h1{font-size:26px;line-height:1.15}
}
@media (prefers-reduced-motion:reduce){.ld-manual summary::after{transition:none}}

/* ---------- títulos do topo: quebram só entre palavras e diminuem um pouco em tela estreita ---------- */
.top h1{text-wrap:balance}
@media (max-width:400px){.top h1{overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(19px,5.6vw,24px);line-height:1.15}}

/* ---------- horário de funcionamento: o "às" com espaço próprio e o campo de hora do iPhone respeitando a largura ---------- */
.cons-dia input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-height:42px;text-align:center}
.cons-dia input[type=time]::-webkit-date-and-time-value{text-align:center}
@media (max-width:640px){.cons-dia{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}

/* ---------- Leitura do dia em linha: no celular o texto usa a largura toda e o botão desce ---------- */
@media (max-width:640px){.prio-mais div{flex-basis:calc(100% - 24px)}.prio-mais li .btn{margin-left:20px}}

/* ---------- Configurações no modelo Ajustes: lista agrupada, ícone colorido, valor atual à direita ---------- */
.cfg-home,.cfg-tela{max-width:760px;margin:0 auto}
.cfg-busca{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;margin-bottom:24px;border-radius:12px;background:color-mix(in srgb,var(--tinta) 6%,var(--card));color:var(--muted)}
.cfg-busca input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16px;color:var(--tinta);outline:0;padding:0}
.cfg-busca:focus-within{box-shadow:0 0 0 2px var(--ouro)}
.cfg-grupo{margin-bottom:26px}
.cfg-grupo[hidden],.cfg-grupo li[hidden]{display:none}
.cfg-grupo h2{margin:0 0 8px 16px;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cfg-grupo ul{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--linha);border-radius:14px;overflow:hidden}
.cfg-grupo li a{position:relative;display:flex;align-items:center;gap:14px;min-height:54px;padding:8px 14px;color:var(--tinta);text-decoration:none;-webkit-tap-highlight-color:transparent}
.cfg-grupo li+li a::before{content:"";position:absolute;top:0;right:0;left:60px;height:1px;background:var(--linha)}
.cfg-grupo li a:hover,.cfg-grupo li a:active{background:color-mix(in srgb,var(--tinta) 4%,var(--card))}
.cfg-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--c);color:#fff}
.cfg-ic svg{stroke:#fff}
.cfg-nome{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;line-height:1.3}
.cfg-val{max-width:46%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px;color:var(--muted)}
.cfg-grupo li a>svg:last-child{flex:none;color:color-mix(in srgb,var(--muted) 55%,transparent)}
.cfg-vazio{text-align:center;padding:24px 0}
.cfg-tela .back{margin-bottom:12px}
.cfg-tela>.card+.card{margin-top:16px}
.cfg-tela>.card>h2:first-child{display:none}
.cfg-tela>.card>p.muted:first-of-type{font-size:14.5px;line-height:1.55}
@media (max-width:400px){.cfg-val{max-width:40%;font-size:14px}.cfg-grupo li a{gap:12px;padding:8px 12px}.cfg-grupo li+li a::before{left:56px}}
.cfg-tela>.card>p.muted:first-of-type{margin-bottom:18px}
@media (max-width:640px){
  .cfg-tela>.card.pad{padding:20px 16px}
  .cfg-tela .cons-horas{gap:0;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
  .cfg-tela .cons-dia{padding:10px 12px;border-top:1px solid var(--linha);gap:4px 8px}
  .cfg-tela .cons-dia:first-child{border-top:0}
}
@media (min-width:361px) and (max-width:640px){
  .cfg-tela .cons-dia{grid-template-columns:minmax(0,1fr) 86px auto 86px}
  .cfg-tela .cons-dia .check{grid-column:auto}
  .cfg-tela .cons-dia input[type=time]{min-height:38px;padding:0 4px;font-size:15px}
}
@media (max-width:640px){.cons-dia input[type=time]::-webkit-calendar-picker-indicator{display:none}.cons-dia input[type=time]{padding:0 6px}}

/* ---------- Início: widgets (resumo) que abrem a lista num painel que sobe ---------- */
.widgets{display:none;list-style:none;margin:0;padding:0}
html.folhas-on .widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
html.folhas-on .inicio-quadros>.card[data-folha-card]{display:none}
html.folhas-on .inicio-quadros{columns:auto;display:block}
html.folhas-on .inicio-hoje{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;align-items:start}
html.folhas-on .inicio-hoje .widgets{order:2}
.widgets li{display:flex;min-width:0}
.wg{all:unset;box-sizing:border-box;flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ic n" "tit tit" "frase frase";align-items:start;min-height:122px;padding:14px 14px 13px;background:var(--card) var(--card-luz);border:1px solid var(--v-borda);border-radius:18px;box-shadow:var(--sombra);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s}
.wg:hover{box-shadow:0 2px 6px rgba(var(--principal-rgb),.08),0 14px 30px rgba(var(--principal-rgb),.10)}
.wg:active{transform:scale(.97)}
.wg:focus-visible{outline:3px solid var(--ouro);outline-offset:2px}
.wg-ic{grid-area:ic;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--t,var(--verde));color:#fff}
.wg-ic svg{stroke:#fff}
.wg-n{grid-area:n;justify-self:end;font-size:32px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--tinta)}
.wg-tit{grid-area:tit;margin-top:14px;font-size:14.5px;font-weight:600;line-height:1.25;color:var(--tinta)}
.wg-frase{grid-area:frase;margin-top:2px;font-size:13px;line-height:1.35;color:var(--muted)}
.tom-ok{--t:var(--ok)}.tom-alerta{--t:var(--alerta)}.tom-erro{--t:var(--erro)}.tom-verde{--t:var(--verde)}
.tom-ouro{--t:color-mix(in srgb,var(--ouro) 80%,#000)}
.wg.calmo{cursor:default;box-shadow:none;background:color-mix(in srgb,var(--card) 60%,transparent)}
.wg.calmo .wg-ic{background:color-mix(in srgb,var(--ok) 14%,var(--card));color:var(--ok)}
.wg.calmo .wg-ic svg{stroke:var(--ok)}
.wg.calmo .wg-n{color:var(--muted)}

.folha{margin:auto;padding:0;border:0;border-radius:22px;width:min(580px,calc(100vw - 32px));max-height:min(82vh,780px);background:var(--card);color:var(--tinta);box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}
.folha[open]{display:flex;flex-direction:column;animation:folha-entra .22s cubic-bezier(.2,.8,.2,1)}
.folha::backdrop{background:rgba(12,17,20,.42)}
.folha-topo{position:relative;display:flex;align-items:center;gap:12px;padding:18px 18px 8px;touch-action:none}
.folha-topo h2{flex:1;min-width:0;margin:0;font-size:19px;letter-spacing:-.01em}
.folha-fechar{all:unset;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--tinta) 7%,var(--card));color:var(--tinta-2);cursor:pointer}
.folha-fechar svg{stroke:currentColor}
.folha-puxador{display:none}
.folha-corpo{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 6px calc(14px + env(safe-area-inset-bottom))}
.folha-corpo>.card{border:0;box-shadow:none;background:none;margin:0}
.folha-corpo>.card>.card-head h3{display:none}
.folha-corpo>.card>.card-head{padding-top:0;min-height:0}
.folha .ver-mais{display:none}
@keyframes folha-entra{from{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes folha-sobe{from{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){.folha[open]{animation:none}}

/* ---------- linha de contato: igual em todos os quadros (hora | nome e detalhe | até 2 ações, WhatsApp redondo por último) ---------- */
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) li{flex-wrap:nowrap;gap:12px;padding:10px 10px}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) time{width:48px;flex:none;font-size:14px}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) li>div,:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) .row-link>div{flex:1;min-width:0}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) li>div .pill{display:inline-block;margin:5px 6px 0 0;padding:2px 8px;font-size:11.5px}
:is(.inicio-quadros,.folha,.contatos) .fila-acoes{flex:none;width:auto;padding-left:0;gap:8px}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) .btn.sm{min-height:34px;padding:0 12px}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) .btn.whats{flex:none;width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;justify-content:center;font-size:0;gap:0}
:is(.inicio-quadros .rows,.folha .rows,.rows.contatos) .btn.whats svg{width:17px;height:17px}

@media (max-width:900px){
  html.folhas-on .inicio-hoje{grid-template-columns:minmax(0,1fr)}
  html.folhas-on .inicio-hoje .widgets{order:0}
}
@media (max-width:640px){
  .folha{width:100%;max-width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:88vh}
  .folha[open]{animation:folha-sobe .3s cubic-bezier(.2,.8,.2,1)}
  .folha-puxador{display:block;position:absolute;top:7px;left:50%;width:38px;height:5px;border-radius:3px;background:var(--linha);transform:translateX(-50%)}
  .folha-topo{padding-top:22px}
  .wg{min-height:112px;padding:12px}
  .wg-n{font-size:28px}
  :is(.inicio-quadros,.folha) .rows li{padding:10px 6px}
}
@media (max-width:900px){.conf-lote .btn span{display:inline}.conf-lote .btn{padding:0 16px;min-height:40px}}
/* a fila também segue a linha de contato (a regra antiga em grade jogava os botões para a linha de baixo) */
.inicio-quadros .quadro-fila .fila li{display:flex;align-items:center}
.inicio-quadros .quadro-fila .fila-acoes{flex-wrap:nowrap}

/* ---------- Pacientes: linha compacta e barra de letras do A a Z ---------- */
.pac-linha{grid-template-columns:36px minmax(0,1fr) auto;gap:12px;padding:10px 16px}
.pac-linha .avatar{width:36px;height:36px;font-size:14px}
.pac-nome small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pac-datas{white-space:nowrap}
.pac-letras{display:flex;flex-wrap:wrap;gap:2px;margin:0 0 12px}
.pac-letras a,.pac-letras span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:8px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--verde-txt)}
.pac-letras a:hover{background:var(--areia-2)}
.pac-letras a.on{background:var(--verde);color:#fff}
.pac-letras span{color:color-mix(in srgb,var(--muted) 50%,transparent);font-weight:500}
@media (max-width:640px){
  .pac-linha{grid-template-columns:36px minmax(0,1fr) auto;row-gap:0;padding:10px 12px}
  .pac-linha .pac-datas{grid-column:auto;justify-items:end}
  .pac-letras{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .pac-letras::-webkit-scrollbar{display:none}
  .pac-letras a,.pac-letras span{flex:none;min-width:34px;height:34px}
}

/* ---------- Ajuda: as seções em cartões (como a página de suporte da Apple) ---------- */
.ajuda-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ajuda-cards li{display:flex}
.ajuda-cards a{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:118px;padding:16px;background:var(--card);border:1px solid var(--linha);border-radius:18px;box-shadow:var(--sombra);color:var(--tinta);text-decoration:none;transition:transform .15s,box-shadow .15s}
.ajuda-cards a:hover{box-shadow:0 2px 6px rgba(var(--principal-rgb),.08),0 14px 30px rgba(var(--principal-rgb),.10)}
.ajuda-cards a:active{transform:scale(.97)}
.ajuda-cards .cfg-ic{margin-bottom:10px}
.ajuda-cards b{font-size:15.5px;line-height:1.25}
.ajuda-cards small{font-size:13px;color:var(--muted)}
.ajuda-voltar{display:none}
@media (max-width:900px){
  .ajuda-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ajuda-cards a{min-height:108px;padding:14px}
  .ajuda-voltar{display:inline-flex;margin-top:14px}
  .ajuda-indice{display:none}
}

/* ---------- linha de contato fora do Início (Retornos, Lista de espera): coluna de dois andares e "Tirar" escondido ---------- */
.rows.contatos time{min-width:0;line-height:1.15}
.rows.contatos time small{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.rows.contatos li>div>a{display:block;min-width:0}
.rows.contatos small .link{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rows.contatos li{position:relative}
.linha-tirar,.linha-menu{display:none}
/* computador: o X só aparece ao passar o mouse; sem JavaScript fica sempre à vista */
html.arrastar-on .linha-x{display:none}
@media (hover:hover) and (pointer:fine){html.arrastar-on .linha-x{display:inline-flex;visibility:hidden}html.arrastar-on .rows.contatos li:hover .linha-x,html.arrastar-on .rows.contatos li:focus-within .linha-x{visibility:visible}}
.rows.contatos .linha-x{width:34px;padding:0;justify-content:center}
/* celular: arrastar para a esquerda revela "Tirar" em vermelho */
html.arrastar-on [data-arrastar]{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overflow:hidden}
html.arrastar-on [data-arrastar]>:not(.linha-tirar):not(form){transform:translateX(var(--x,0px));transition:transform .25s cubic-bezier(.2,.8,.2,1)}
html.arrastar-on [data-arrastar].movendo>:not(.linha-tirar):not(form){transition:none}
html.arrastar-on .linha-tirar{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;width:calc(var(--x,0px) * -1);overflow:hidden;border:0;border-radius:0 12px 12px 0;background:#A63A28;color:#fff;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;padding:0;transition:width .25s cubic-bezier(.2,.8,.2,1);z-index:2}
html.arrastar-on [data-arrastar].movendo .linha-tirar{transition:none}
/* segurar o dedo: menu pequeno com a mesma ação */
html.arrastar-on .linha-menu:not([hidden]){display:block;position:absolute;right:10px;top:calc(100% - 6px);z-index:5;background:var(--card);border:1px solid var(--linha);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px;animation:folha-entra .18s ease-out}
.linha-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:none;color:var(--erro);font:inherit;font-weight:600;white-space:nowrap}
.linha-menu button:hover{background:var(--erro-soft)}
html.arrastar-on .rows.contatos li.menu-on{overflow:visible;background:var(--areia);z-index:4}
@media (max-width:640px){.rows.contatos li{padding:10px 6px}}

/* ---------- Agenda no celular: lista do dia na linha de contato (barra na cor do dentista, situação no ponto) ---------- */
.dia-lista{padding-top:4px}
.rows.contatos.dia-lista li{padding-left:18px;gap:10px}
.dia-lista li::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--c,var(--linha))}
.dia-lista li>.row-link{gap:10px}
.dia-lista time{color:var(--tinta)}
.dia-lista b{font-weight:600}
.dia-lista .st-dot{display:inline-block;width:8px;height:8px;margin:0 7px 1px 0;border-radius:50%;background:var(--ok);vertical-align:middle}
.dia-lista .st-solicitado .st-dot{background:var(--alerta);box-shadow:0 0 0 2px var(--alerta-soft)}
.dia-lista .st-chegou .st-dot{background:var(--ouro)}
.dia-lista .st-atendido .st-dot{background:#A9B2AE}
.dia-lista .st-faltou .st-dot{background:var(--erro)}
.dia-lista .st-faltou b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--erro) 60%,transparent)}
.dia-lista .st-atendido{--tinta:var(--muted);--tinta-2:var(--muted);color:var(--muted)}
.dia-lista .st-atendido b,.dia-lista .st-atendido time{color:var(--muted)}
.dia-lista .alerta-txt{color:var(--alerta);font-weight:600}
.dia-lista .ouro-txt{color:var(--ouro-txt);font-weight:600}
.dl-tags{display:flex;align-items:center;gap:8px;margin-top:4px;overflow:hidden;white-space:nowrap}
.dl-tags .mks{margin:0;flex-wrap:nowrap}
.dia-lista .dl-livre{background:none}
.dia-lista .dl-livre::before{background:repeating-linear-gradient(var(--c) 0 4px,transparent 4px 7px)}
.dia-lista .dl-livre b,.dia-lista .dl-livre time{color:var(--muted);font-weight:500}
.dia-lista .dl-livre .btn{flex:none;gap:4px}
.dia-lista .dl-block{background:var(--areia-2)}
.dia-lista .dl-block::before{background:var(--muted)}
.dia-lista .dl-block b,.dia-lista .dl-block time{color:var(--tinta-2)}
/* vários dentistas livres no mesmo horário: "Marcar" abre a escolha */
.vaga-escolha{position:relative;flex:none}
.vaga-escolha summary{list-style:none;cursor:pointer}
.vaga-escolha summary::-webkit-details-marker{display:none}
.vaga-escolha[open] summary{background:var(--areia)}
.vaga-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:6;min-width:230px;background:var(--card);border:1px solid var(--linha);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px;animation:folha-entra .18s ease-out}
.vaga-menu a{display:block;position:relative;padding:9px 12px 9px 26px;border-radius:10px;min-height:44px}
.vaga-menu a::before{content:"";position:absolute;left:11px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--c)}
.vaga-menu a:hover{background:var(--areia)}
.vaga-menu b{display:block;font-weight:600;color:var(--tinta)}
.vaga-menu small{display:block;color:var(--muted);font-size:12.5px}
.dia-lista .cat-dot{display:inline-block;width:7px;height:7px;margin:0 6px 1px 0;border-radius:50%;background:var(--cat);vertical-align:middle}

/* ---------- Leads no celular: linha de contato (relógio = retorno marcado; sem relógio = última conversa) ---------- */
.lead-linhas time{color:var(--tinta)}
.lead-linhas time small{display:flex;align-items:center;gap:3px}
.lead-linhas time small svg{flex:none;color:var(--ouro-txt)}
.lead-linhas time.atrasado,.lead-linhas time.atrasado small svg{color:var(--erro)}

/* ---------- Orçamentos: linha de contato (data e nº | nome e situação | valor e WhatsApp) ---------- */
.orc-lista time{color:var(--tinta)}
.orc-lista .row-link .fin-valor{flex:none;margin-left:auto;font-size:14.5px}
.orc-lista small .tom-ok{color:var(--ok);font-weight:600}
.orc-lista small .tom-alerta{color:var(--alerta);font-weight:600}
.orc-lista small .tom-erro{color:var(--erro);font-weight:600}
.orc-lista .whats-vago{flex:none;width:38px}

/* Link para marcar (Agenda › Link para marcar) */
.link-msg{white-space:pre-wrap;font:14px/1.55 var(--sans);background:var(--areia);border:1px solid var(--linha);border-radius:14px;padding:14px 16px;margin:14px 0;color:var(--tinta);word-break:break-word}
.link-acoes{display:flex;flex-wrap:wrap;gap:10px}
.link-acoes .btn svg{margin-right:6px}
.link-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px}
.link-lista li div{min-width:0;display:flex;flex-direction:column}
.link-lista small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-lista .pill{flex:none}
#link-form .row-2{margin-top:6px}
#link-form .pac-escolhido,#link-form #lk-busca-box{margin:14px 0 4px}
@media (max-width:600px){.ret-lista .ret-link{display:none}}

/* ==================== Acabamento vivo: luz e cor sobre o branco, sem mudar o desenho das telas ====================
   Cores vivas fixas (--v-*) para estado e destaque; a cor da clínica continua no menu, nos botões e nos títulos. */
/* fundo da área de trabalho: branco quente com dois halos muito leves (marca e destaque) */
body.app{background:
  radial-gradient(1200px 520px at 100% -10%,color-mix(in srgb,var(--ouro) 9%,transparent),transparent 60%),
  radial-gradient(900px 480px at -10% 0%,color-mix(in srgb,var(--v-ceu) 6%,transparent),transparent 60%),var(--areia)}

/* cartões: borda clara e transição macia (o fundo com luz já vem das regras de base, por --card-luz) */
.card,.stat,.prio,.wg,.painel-kpi{transition:transform .35s var(--v-ease),box-shadow .35s var(--v-ease),border-color .35s var(--v-ease)}

/* ---------- Pulso (topo do Início): degradê profundo da marca com luz de destaque e grão fino ---------- */
.pulso{background:
  radial-gradient(520px 260px at 92% -20%,color-mix(in srgb,var(--ouro) 55%,transparent),transparent 70%),
  radial-gradient(460px 300px at 62% 130%,color-mix(in srgb,var(--v-ceu) 42%,transparent),transparent 70%),
  radial-gradient(380px 240px at -5% 110%,color-mix(in srgb,var(--v-menta) 30%,transparent),transparent 70%),
  linear-gradient(135deg,color-mix(in srgb,var(--verde) 88%,#fff) 0%,var(--verde) 45%,color-mix(in srgb,var(--verde) 80%,#000) 100%) var(--verde);
  box-shadow:0 24px 60px -28px rgba(var(--principal-rgb),.65),inset 0 1px 0 rgba(255,255,255,.12)}
.pulso::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pulso>*{position:relative;z-index:1}
.pulso{--anel-bom:#3BF0B5;--anel-medio:#FFD15C;--anel-ruim:#FF8A70}
.anel-fig .valor{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--c) 70%,transparent))}
.anel-fig .trilho{stroke:rgba(255,255,255,.1)}
.anel:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.pulso-achado{background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border-color:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.pulso-hoje a{border-radius:12px}

/* ---------- Leitura do dia: cor do nível em luz no canto, fio em degradê ---------- */
.prio{--n:var(--v-ambar);isolation:isolate}
.prio.n-urgente{--n:var(--v-coral)}.prio.n-oportunidade{--n:var(--v-violeta)}.prio.n-bom{--n:var(--v-menta)}.prio.n-comecar{--n:var(--v-ceu)}
.prio::before{height:3px;background:linear-gradient(90deg,var(--n),color-mix(in srgb,var(--n) 35%,transparent) 70%,transparent)}
.prio::after{content:"";position:absolute;z-index:-1;inset:-45% 25% 50% -25%;background:radial-gradient(closest-side,color-mix(in srgb,var(--n) 22%,transparent),transparent);pointer-events:none;transition:opacity .35s}
.prio:hover{transform:translateY(-3px);box-shadow:var(--v-sombra-alta);border-color:color-mix(in srgb,var(--n) 35%,var(--v-borda))}
.prio-nivel{color:color-mix(in srgb,var(--n) 55%,#000);background:color-mix(in srgb,var(--n) 14%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--n) 22%,transparent)}
.prio-acao{color:color-mix(in srgb,var(--n) 50%,var(--tinta))}

/* ---------- ícones em quadrado: degradê, brilho de vidro em cima e sombra na própria cor ---------- */
.wg-ic,.stat:not(.stat-acao) .stat-ic{position:relative;overflow:hidden;
  background:linear-gradient(145deg,color-mix(in srgb,var(--t,var(--verde)) 72%,#fff) 0%,var(--t,var(--verde)) 55%,color-mix(in srgb,var(--t,var(--verde)) 82%,#000) 100%);
  box-shadow:0 8px 16px -8px color-mix(in srgb,var(--t,var(--verde)) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.12);color:#fff}
.wg-ic::after,.stat:not(.stat-acao) .stat-ic::after{content:"";position:absolute;inset:0 0 50% 0;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0));pointer-events:none}
.wg-ic svg,.stat:not(.stat-acao) .stat-ic svg{position:relative;z-index:1;stroke:#fff;stroke-width:1.9}
.tom-ok{--t:var(--v-menta)}.tom-alerta{--t:var(--v-ambar)}.tom-erro{--t:var(--v-coral)}.tom-ouro{--t:var(--v-violeta)}

/* widgets: luz da cor no canto e número com leve degradê */
.wg:not(.calmo){position:relative;overflow:hidden;isolation:isolate}
.wg:not(.calmo)::before{content:"";position:absolute;z-index:-1;inset:-60% -30% 45% 35%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t,var(--verde)) 15%,transparent),transparent)}
.wg:not(.calmo):hover{transform:translateY(-3px);box-shadow:var(--v-sombra-alta);border-color:color-mix(in srgb,var(--t,var(--verde)) 30%,var(--v-borda))}
.wg-n{background:linear-gradient(180deg,var(--tinta),color-mix(in srgb,var(--tinta) 70%,var(--t,var(--verde))));-webkit-background-clip:text;background-clip:text;color:transparent}
.wg.calmo{background:color-mix(in srgb,var(--card) 70%,transparent);border-style:dashed;border-color:color-mix(in srgb,var(--v-menta) 25%,var(--linha))}
.wg.calmo .wg-n{-webkit-text-fill-color:currentColor}

/* cartões de número (Financeiro, Painel) */
.stat:not(.stat-acao){--t:var(--verde);position:relative;overflow:hidden;isolation:isolate}
.stat:nth-child(2){--t:var(--v-menta)}.stat:nth-child(3){--t:var(--v-ambar)}.stat:nth-child(4){--t:var(--v-ceu)}
.stat-alerta{--t:var(--v-coral)!important}
.stat:not(.stat-acao)::before{content:"";position:absolute;z-index:-1;inset:-55% -25% 45% 35%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t) 20%,transparent),transparent)}
.stat:not(.stat-acao)::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--t),color-mix(in srgb,var(--t) 30%,transparent) 75%,transparent)}
.stat:not(.stat-acao) b{color:var(--tinta)}
.stat:hover{transform:translateY(-3px);box-shadow:var(--v-sombra-alta)}
.painel-kpi{--t:var(--v-ceu);position:relative;overflow:hidden;isolation:isolate}
.painel-kpi:nth-child(2){--t:var(--v-menta)}.painel-kpi:nth-child(3){--t:var(--v-violeta)}.painel-kpi:nth-child(4){--t:var(--v-ambar)}.painel-kpi:nth-child(5){--t:var(--v-coral)}
.painel-kpi::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--t),color-mix(in srgb,var(--t) 30%,transparent) 75%,transparent)}
.painel-kpi::after{content:"";position:absolute;z-index:-1;inset:-50% -30% 45% 30%;background:radial-gradient(closest-side,color-mix(in srgb,var(--t) 20%,transparent),transparent)}
.painel-kpi:hover{transform:translateY(-3px);box-shadow:var(--v-sombra-alta);border-color:color-mix(in srgb,var(--t) 35%,var(--v-borda))}
.painel-kpi-rot{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--tinta-2)}
.painel-kpi-rot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--t);box-shadow:0 0 0 3px color-mix(in srgb,var(--t) 18%,transparent),0 0 10px color-mix(in srgb,var(--t) 70%,transparent)}

/* gráficos: colunas com brilho de vidro e cantos mais redondos */
.graf-barra{border-radius:9px 9px 3px 3px;width:min(30px,80%);background-image:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.08) 55%,rgba(0,0,0,.06));
  box-shadow:0 10px 18px -12px rgba(var(--principal-rgb),.5)}
.graf-trilho span{background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.3))}


/* Financeiro: o quadrado de ícone do cartão em alerta segue o degradê */
.stat:not(.stat-acao) .stat-ic{background:linear-gradient(145deg,color-mix(in srgb,var(--t) 72%,#fff) 0%,var(--t) 55%,color-mix(in srgb,var(--t) 82%,#000) 100%);color:#fff}
.stat b.neg{color:color-mix(in srgb,var(--v-coral) 70%,#000)}

/* Leitura da seção: nível com ponto aceso, fio de cor à esquerda de cada achado */
.leitura{position:relative}
.leitura::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--ouro),var(--v-violeta) 50%,var(--v-ceu));opacity:.8}
.leitura-item{--n:var(--v-ambar)}
.leitura-item.n-urgente{--n:var(--v-coral)}.leitura-item.n-oportunidade{--n:var(--v-violeta)}.leitura-item.n-bom{--n:var(--v-menta)}.leitura-item.n-comecar{--n:var(--v-ceu)}
.leitura .leitura-nivel{display:inline-flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--n) 55%,#000);background:color-mix(in srgb,var(--n) 13%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--n) 22%,transparent)}
.leitura .leitura-nivel::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--n);box-shadow:0 0 8px var(--n)}
.leitura-tit .ic{color:var(--v-violeta)}

/* modo escuro: os textos coloridos clareiam sobre o fundo escuro (contraste 4,5 ou mais) */
html[data-tema-ativo="escuro"] .prio-nivel,html[data-tema-ativo="escuro"] .leitura .leitura-nivel{color:color-mix(in srgb,var(--n) 60%,#fff);background:color-mix(in srgb,var(--n) 18%,var(--card))}
html[data-tema-ativo="escuro"] .stat:not(.stat-acao) b.neg{color:color-mix(in srgb,var(--v-coral) 70%,#fff)}
html[data-tema-ativo="escuro"] .wg.calmo{border-color:color-mix(in srgb,var(--v-menta) 30%,var(--linha))}
@media (prefers-reduced-motion:reduce){.card,.stat,.prio,.wg,.painel-kpi{transition:none}.prio:hover,.wg:hover,.stat:hover,.painel-kpi:hover{transform:none}}


/* ---------- Configurações › Agendamento online ---------- */
.on-tela{display:flex;flex-direction:column;gap:18px;max-width:980px}
.on-cab{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.on-cab.solto{margin:4px 2px 12px}
.on-cab h2{font-size:18px;letter-spacing:-.01em;margin:2px 0 2px}
.on-cab p{font-size:14px;line-height:1.45;max-width:720px}
.on-ic{--t:var(--v-ceu);flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;
  background:linear-gradient(145deg,color-mix(in srgb,var(--t) 72%,#fff),var(--t) 55%,color-mix(in srgb,var(--t) 82%,#000));
  box-shadow:0 8px 16px -8px color-mix(in srgb,var(--t) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.45)}
.on-ic svg{stroke:#fff}.on-ic.menta{--t:var(--v-menta)}.on-ic.coral{--t:var(--v-coral)}
.on-link{padding:14px 16px;border:1px solid var(--v-borda);border-radius:14px;background:color-mix(in srgb,var(--v-ceu) 5%,var(--card));margin-bottom:14px}
.on-link .switch{margin:0 0 4px}.on-link p{font-size:13.5px;margin-bottom:10px}
.on-url{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.on-url code{flex:1;min-width:0;padding:9px 12px;border-radius:10px;background:var(--card);border:1px solid var(--linha);font-size:13.5px;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.on-sub{font-size:15px;margin:18px 0 8px}
.on-nota{font-size:13px;margin:4px 0 14px}
.on-prof{margin-bottom:12px;padding:0;overflow:hidden}
.on-prof>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}
.on-prof>summary::-webkit-details-marker{display:none}
.on-prof>summary .avatar{width:40px;height:40px;flex:none}
.on-prof-nome{flex:1;min-width:0;display:flex;flex-direction:column}
.on-prof-nome b{font-size:15px}.on-prof-nome small{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.on-prof.ligado{border-color:color-mix(in srgb,var(--v-menta) 35%,var(--v-borda))}
.on-prof-form{padding:4px 18px 18px;border-top:1px solid var(--linha)}
.on-prof-form .switch{margin-top:14px}
.on-procs,.on-semana{border:0;margin:14px 0 6px;padding:0}
.on-procs legend,.on-semana legend{font-weight:700;font-size:14.5px;margin-bottom:6px}
.on-procs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
.on-procs .check{margin-top:6px}
.on-semana>p{font-size:13px;margin-bottom:8px}
.on-dia{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:8px 0;border-top:1px solid var(--areia-2)}
.on-dia>b{font-size:14px;font-weight:600}
.on-dia.vazio>b{color:var(--muted)}
.on-faixas{display:flex;flex-wrap:wrap;gap:8px}
.on-faixa{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--linha);border-radius:10px;background:var(--card)}
.on-faixa[hidden]{display:none}
.on-faixa input{width:7.4em;border:0;background:none;font:inherit;font-size:14px;color:var(--tinta);-webkit-appearance:none;padding:4px}
.on-faixa i{font-style:normal;font-size:12.5px;color:var(--muted)}
.on-dia-acoes{display:flex;gap:12px;font-size:13px;white-space:nowrap}
.on-copiar{grid-column:2 / -1;justify-self:start;font-size:13px;margin-top:-2px}
.on-bloq-form{display:flex;gap:8px;max-width:420px;margin-bottom:10px}
.on-bloq-form input{flex:1;min-width:0;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font:inherit}
.on-bloq li{display:flex;align-items:center;justify-content:space-between;gap:12px}
.on-bloq li div{display:flex;flex-direction:column}
.on-vazio{font-size:13.5px}
@media (max-width:720px){
  .on-procs{grid-template-columns:minmax(0,1fr)}
  .on-dia{grid-template-columns:minmax(0,1fr) auto}
  .on-dia>b{grid-column:1}.on-dia-acoes{grid-column:2;grid-row:1;justify-self:end}
  .on-faixas{grid-column:1 / -1}
  .on-copiar{grid-column:1 / -1}
  .on-faixa input{width:6.6em}
  .on-faixa input::-webkit-calendar-picker-indicator{display:none}
}

/* Maquininhas (Financeiro, Ajustes) */
.maq-sec>p.muted{margin:-4px 0 14px;max-width:62ch}
.maq{border:1px solid var(--linha);border-radius:14px;margin:10px 0;background:var(--card)}
.maq>summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.maq>summary::-webkit-details-marker{display:none}
.maq-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--v-menta),var(--v-ceu));flex:none}
.maq-ic.mais{background:var(--areia);color:var(--tinta);border:1px dashed var(--linha)}
.maq-nome{flex:1;display:flex;flex-direction:column;min-width:0}
.maq-nome small{color:var(--muted);font-size:13px}
.maq.desligada .maq-ic{filter:grayscale(1);opacity:.6}
.maq-form{padding:4px 14px 16px;border-top:1px solid var(--linha)}
.maq-campos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 14px;margin:12px 0 4px}
.maq-dias{display:flex;align-items:center;gap:8px}
.maq-dias input{width:6em}
.maq-dias i,.maq-pct i{font-style:normal;color:var(--muted);font-size:13px}
.maq-tab th,.maq-tab td{white-space:nowrap;padding:6px 8px}
.maq-tab tbody th{font-weight:500;text-align:left}
.maq-pct{display:flex;align-items:center;gap:4px}
.maq-pct input{width:5.2em;text-align:right;padding:6px 8px}
.maq-pct input::placeholder{color:var(--muted);opacity:.7}
.maq-tab .col-band{display:none}
.maq-form:has(.maq-por-band:checked) .col-band{display:table-cell}
.maq-tab tr.maq-alem{opacity:.45}
.maq-dica{font-size:13px;margin:8px 0 12px}
.maq-fim{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.maq-fim .switch{margin:0}

/* Financeiro › Convênios a receber */
.cv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:18px}
.cv-card{display:flex;flex-direction:column;gap:2px;padding:16px 18px;color:var(--tinta);text-decoration:none;border:1px solid var(--linha);transition:border-color .15s,box-shadow .15s}
.cv-card:hover,.cv-card:focus-visible{border-color:var(--ouro)}
.cv-card.on{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde) inset}
.cv-card b{font-size:15px}
.cv-num{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:4px 0 2px}
.cv-card small{color:var(--muted);font-size:13px}
.cv-card .cv-venc{color:var(--erro)}
.cv-tab td small,.cv-tab td .muted{display:block;font-size:12.5px}
.cv-tab td{vertical-align:top}
.cv-atraso{color:var(--erro)}
input.cv-valor{width:110px;text-align:right;height:38px;border:1px solid var(--linha);border-radius:10px;padding:0 10px;font:inherit;background:var(--card);color:inherit;font-size:15px}
.cv-glosa{margin:6px 0 0;white-space:nowrap;font-size:13.5px}
.cv-fim{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1.4fr);gap:4px 14px;margin-top:16px}
.cv-total{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;border-top:1px solid var(--linha);padding-top:14px;margin-top:6px}
.cv-total span{color:var(--muted);font-size:14px}.cv-total b{color:var(--tinta);margin-left:4px}
@media (max-width:760px){.cv-fim{grid-template-columns:1fr}.cv-total{justify-content:flex-start}}

/* Link de agendamento da clínica (tela Link de agendamento) */
.lk-fixo{margin-bottom:18px}
.lk-fixo-topo{display:flex;gap:14px;align-items:flex-start}
.lk-fixo-topo h3{margin:0 0 4px}.lk-fixo-topo p{margin:0}
.lk-fixo-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--v-ceu),var(--v-violeta))}
.lk-fixo-url{margin:14px 0 4px;padding:12px 14px;border:1px dashed var(--linha);border-radius:12px;background:var(--areia);overflow-x:auto}
.lk-fixo-url code{font-size:15px;white-space:nowrap;color:var(--tinta)}

/* Central › Clientes (carteira) */
.cart-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.cart-kpi{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 16px 14px;border:1px solid var(--v-borda,var(--linha));border-radius:var(--raio);background:var(--card) var(--card-luz,none);color:var(--tinta);text-decoration:none;box-shadow:var(--v-sombra,none);transition:transform .15s,box-shadow .15s}
a.cart-kpi:hover{transform:translateY(-1px);box-shadow:var(--v-sombra-alta,0 10px 24px -14px rgba(0,0,0,.25))}
.cart-kpi small{font-size:12.5px;color:var(--muted);margin-top:8px}
.cart-kpi b{font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;line-height:1.15}
.cart-kpi em{font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.35}
.cart-kpi.alerta b{color:var(--erro)}.cart-kpi.aviso b{color:var(--alerta)}
.cart-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff}
.cart-ic.v-ceu{background:linear-gradient(135deg,var(--v-ceu),#5AA6FF)}.cart-ic.v-menta{background:linear-gradient(135deg,var(--v-menta),#4FD9B0)}
.cart-ic.v-violeta{background:linear-gradient(135deg,var(--v-violeta),#A28BFF)}.cart-ic.v-coral{background:linear-gradient(135deg,var(--v-coral),#FF8A7C)}
.cart-ic.v-ambar{background:linear-gradient(135deg,var(--v-ambar),#FFC56B)}
.cart-filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.cart-busca{flex:1 1 340px;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1px solid var(--linha);border-radius:999px;background:var(--card);color:var(--muted)}
.cart-busca input{flex:1;border:0;background:none;font:inherit;color:var(--tinta);outline:0;min-width:0}
.cart-busca:focus-within{border-color:var(--ouro);box-shadow:0 0 0 3px color-mix(in srgb,var(--ouro) 18%,transparent)}
.cart-filtros select{height:44px;border:1px solid var(--linha);border-radius:999px;padding:0 34px 0 14px;background-color:var(--card);font:inherit;font-size:14px;color:var(--tinta);max-width:200px}
.cart-acoes{display:flex;gap:8px;margin-left:auto;align-items:center}
.cart-cab{padding:14px 18px;border-bottom:1px solid var(--linha);font-size:14px}
.cart-tab th{white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.cart-tab td{vertical-align:middle;font-size:14px;white-space:nowrap}
.cart-tab th,.cart-tab td{padding-left:10px;padding-right:10px}
.cart-tab td.cart-nome{white-space:normal;min-width:230px}
.cart-nome .pill{white-space:nowrap;margin-left:4px;font-size:11px;padding:2px 8px;vertical-align:2px}
.cart-tab td.cart-nome small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.cart-pend .tag{white-space:normal;display:inline-block;line-height:1.3}
.cart-tab td small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.cart-tab tbody tr{position:relative;transition:background .12s}
.cart-tab tbody tr:hover{background:color-mix(in srgb,var(--ouro) 5%,transparent)}
.cart-nome a{color:var(--tinta);text-decoration:none}
.cart-nome a::after{content:"";position:absolute;inset:0} /* a linha inteira abre a ficha */
.cart-nome b{font-size:15px}
.cart-cond{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.cart-cond.k-cheio{background:var(--areia-2);color:var(--tinta-2)}
.cart-cond.k-cupom{background:color-mix(in srgb,var(--v-ceu) 14%,transparent);color:color-mix(in srgb,var(--v-ceu) 70%,#000)}
.cart-cond.k-cortesia{background:color-mix(in srgb,var(--v-violeta) 15%,transparent);color:color-mix(in srgb,var(--v-violeta) 72%,#000)}
.cart-cond.k-teste{background:color-mix(in srgb,var(--v-ambar) 20%,transparent);color:var(--alerta)}
.cart-paga b{font-size:15px}
.cart-alerta{color:var(--alerta)}
.cart-tab td.cart-pend{white-space:normal;min-width:140px;max-width:180px}
.cart-pend>*{margin:2px 4px 2px 0}
.cart-pend .tag{position:relative;z-index:1}
.tag-aviso{background:var(--alerta-soft);color:var(--alerta)}
.cart-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-size:13px}
.cart-pag{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px}
html[data-tema-ativo="escuro"] .cart-cond.k-cupom{color:#9CC7FF}html[data-tema-ativo="escuro"] .cart-cond.k-cortesia{color:#C4B5FF}
@media (max-width:1300px){.cart-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .cart-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cart-filtros select{flex:1 1 calc(50% - 4px);max-width:none}
  .cart-acoes{margin-left:0;width:100%}.cart-acoes .btn{flex:1}
  .cart-tab thead{display:none}
  .cart-tab,.cart-tab tbody,.cart-tab tr,.cart-tab td{display:block;width:100%}
  .cart-tab tr{padding:14px 16px;border-bottom:1px solid var(--linha);display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
  .cart-tab td{padding:0;border:0}
  .cart-tab td.cart-nome{grid-column:1/-1}
  .cart-tab td.cart-pend{grid-column:1/-1}
  .cart-tab td:not(.cart-nome)::before{content:attr(data-rot);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
  .cart-tab td.num{text-align:left}
}

/* Central da Limiar: marca do produto na lateral e o padrão de ícones odontológicos ao fundo */
.side-produto{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;padding:4px 10px 28px;text-decoration:none}
.side-produto img{width:auto;height:26px;max-width:none;align-self:center}
.side-produto span{font-size:24px;font-weight:500;letter-spacing:-.03em;color:#7FA8FF;line-height:1;position:relative;top:-.14em}
.side-produto small{flex-basis:100%;margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--side-muted)}
body.central .side{overflow:hidden;isolation:isolate}
body.central .side::before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:#fff;opacity:.045;transform:rotate(-8deg);
  -webkit-mask:url(../img/padrao-odonto.svg) 0 0/220px 220px repeat;mask:url(../img/padrao-odonto.svg) 0 0/220px 220px repeat}
body.central .side::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--verde) 85%,#000) 100%)}

/* Central › ficha do cliente: resumo no topo e linha do tempo */
.cli-topo{margin-bottom:18px}
.cli-topo-nome{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cli-topo-nome h2{margin:0;font-size:22px;letter-spacing:-.02em}
.cli-topo-nome p{margin:2px 0 0;font-size:13.5px}
.cli-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:700;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--v-ceu),var(--v-violeta));flex:none}
.cli-topo-acoes{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.cli-topo-alerta{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 14px;border-radius:12px;background:var(--alerta-soft);color:var(--alerta);font-size:14px;font-weight:500}
.cli-num{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:18px 0 0;border:1px solid var(--linha);border-radius:14px;overflow:hidden}
.cli-num div{padding:12px 14px;border-right:1px solid var(--linha)}
.cli-num div:last-child{border-right:0}
.cli-num dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cli-num dd{margin:4px 0 0}.cli-num b{display:block;font-size:16px;letter-spacing:-.01em}.cli-num small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.cli-dica{font-size:13px;margin:-4px 0 10px}
.cli-tempo ol{list-style:none;margin:0;padding:0;position:relative}
.cli-tempo ol::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--linha)}
.cli-tempo li{position:relative;display:flex;gap:12px;padding:0 0 12px}
.cli-tempo .pt{position:relative;z-index:1;flex:none;width:12px;height:12px;margin-top:4px;border-radius:50%;background:var(--card);border:2px solid var(--v-ceu)}
.cli-tempo li.t-pago .pt,.cli-tempo li.t-ativo .pt{border-color:var(--v-menta);background:var(--v-menta)}
.cli-tempo li.t-cancelado .pt{border-color:var(--v-coral)}.cli-tempo li.t-contrato .pt{border-color:var(--v-violeta);background:var(--v-violeta)}
.cli-tempo b{display:block;font-size:14px;font-weight:500}.cli-tempo small{color:var(--muted);font-size:12.5px}
@media (max-width:1100px){.cli-num{grid-template-columns:repeat(3,minmax(0,1fr))}.cli-num div:nth-child(3){border-right:0}.cli-num div:nth-child(-n+3){border-bottom:1px solid var(--linha)}}
@media (max-width:640px){.cli-num{grid-template-columns:repeat(2,minmax(0,1fr))}.cli-num div{border-right:0;border-bottom:1px solid var(--linha)}.cli-num div:nth-child(odd){border-right:1px solid var(--linha)}.cli-topo-acoes{margin-left:0;width:100%}}

/* Link de agendamento: escolhas da recepção antes de enviar */
.lk-grupo{border:1px solid var(--linha);border-radius:14px;padding:12px 14px 10px;margin:14px 0}
.lk-grupo legend{font-weight:600;font-size:14.5px;padding:0 6px}.lk-grupo legend small{font-weight:400;color:var(--muted);margin-left:6px}
.lk-ferr{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.lk-ferr input[type=search]{flex:1;min-width:160px;height:38px;border:1px solid var(--linha);border-radius:999px;padding:0 14px;font:inherit;font-size:14px;background:var(--card);color:var(--tinta)}
.lk-todos{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer}
.lk-procs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;padding:2px}
@media (min-width:1101px){.lk-grid{grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr)}}
.lk-procs{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

.lk-cat{grid-column:1/-1;margin:8px 0 0;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lk-op{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--linha);border-radius:12px;cursor:pointer;font-size:14px;background:var(--card);transition:border-color .15s,background .15s}
.lk-op input{width:18px;height:18px;accent-color:var(--verde);flex:none}
.lk-op span{display:flex;flex-direction:column;line-height:1.3}.lk-op small{color:var(--muted);font-size:12px}
.lk-op:has(input:checked){border-color:var(--verde);background:color-mix(in srgb,var(--verde) 7%,var(--card))}
.lk-op[hidden],.lk-cat[hidden]{display:none}
.lk-dentes{display:flex;flex-wrap:wrap;gap:8px}
.lk-conta{font-size:13px;margin:8px 0 0}
@media (max-width:640px){
  .lk-grupo{padding:10px 10px 8px}
  .lk-ferr input[type=search]{min-width:0}
  .lk-procs{grid-template-columns:1fr;gap:0;border:1px solid var(--linha);border-radius:12px;overflow:hidden;padding:0}
  .lk-cat{margin:0;padding:10px 12px 6px;background:var(--areia);border-top:1px solid var(--linha)}
  .lk-cat:first-child{border-top:0}
  .lk-procs .lk-op{border:0;border-top:1px solid var(--linha);border-radius:0;min-height:48px;padding:8px 12px}
  .lk-procs .lk-cat+.lk-op{border-top:0}
  .lk-procs .lk-op span{flex:1;flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px}
  .lk-procs .lk-op small{flex:none}
  .lk-dentes .lk-op{flex:1 1 calc(50% - 4px)}
}
.msg-form{display:inline-flex;margin:0}
.ficha-msgs li>span:last-child{white-space:nowrap;flex-shrink:0}
/* lateral: o espaço entre os itens acompanha a altura da tela, para o menu inteiro caber sem rolar */
@media (min-width:901px){
  .side{padding-top:clamp(12px,2.2vh,26px)}
  .side-logo{padding-bottom:clamp(6px,1.8vh,26px)}
  /* logo alta (quase quadrada) não empurra o menu: a altura tem teto */
  .side-logo:not(.side-produto) img{max-height:clamp(40px,6.5vh,64px);width:auto;max-width:100%}
  .side-nav{gap:1px}
  .side-nav a{padding-top:clamp(2px,calc((100vh - 725px) / 42),10px);padding-bottom:clamp(2px,calc((100vh - 725px) / 42),10px)}
  .side-user{padding-top:clamp(8px,1.4vh,14px);margin-top:clamp(6px,1.2vh,12px)}
}
@media (min-width:901px) and (max-height:820px){
  .side-nav a{font-size:13.5px}
  .side-logo img{max-height:40px}
  .side-nav .ic{width:18px;height:18px}
  .side-nav{gap:0}
}
/* WhatsApp: mensagens de hoje */
.fila-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.fila-topo h2{margin:0}
.fila-topo p{margin:4px 0 0}
.fila-plus{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--areia);color:var(--tinta-2);font-size:13.5px;text-decoration:none}
.fila-plus:hover{background:var(--areia-2)}
.fila-plus .tag{padding:2px 8px;font-size:10px}
.fila-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.fila-chips a{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;border-radius:999px;background:var(--card,#fff);border:1px solid var(--linha);color:var(--tinta);font-size:13.5px;text-decoration:none}
.fila-chips a:hover{border-color:var(--verde-txt)}
.fila-chips b{min-width:24px;padding:1px 8px;border-radius:999px;background:var(--areia-2);font-size:12px;text-align:center;font-variant-numeric:tabular-nums}
.fila-chips b:not([data-zero]){background:#1F7A4D;color:#fff}
.fila-grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:18px;align-items:start}
/* quadro largo: os pacientes se espalham em colunas, sem sobrar espaço à direita */
.fila-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));column-gap:10px}
.fila-grupo{scroll-margin-top:16px}
.fila-grupo .card-head{align-items:flex-start;gap:12px}
.fila-grupo .card-head h3{margin:0}
.fila-grupo .card-head .link{white-space:nowrap}
.fila-lista li{gap:10px}
.fila-lista b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fila-lista li.enviado b{color:var(--tinta-2);font-weight:500}
.fila-lista .fila-acoes{flex-shrink:0}
.fila-lista .pill{display:inline-flex;align-items:center;gap:4px;text-transform:none;white-space:nowrap}
.fila-semfone{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.fila-mais{padding:0 22px 16px;font-size:13px}
@media (max-width:640px){
  .fila-grupos{grid-template-columns:1fr}
  .fila-lista .fila-acoes{width:auto;padding-left:0}
  .fila-lista .pill{display:none}
  .fila-plus{width:100%}
}
.fila-aviso{display:flex;align-items:center;gap:12px;margin:16px 0 10px;padding:12px 16px;border-radius:14px;background:var(--ok-soft);color:var(--tinta);text-decoration:none;font-size:14.5px}
.fila-aviso .wg-ic{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#1F7A4D;color:#fff;flex-shrink:0}
.fila-aviso>span:nth-child(2){flex:1}
.fila-aviso:hover{filter:brightness(.97)}
/* O que o plano inclui (central e Minha conta) */
.plano-inclui{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px 24px}
.plano-inclui li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--tinta)}
.plano-inclui li svg{color:var(--ok);flex-shrink:0;margin-top:2px}
.plano-det{margin-top:14px;border-top:1px solid var(--linha);padding-top:12px}
.plano-det summary{cursor:pointer;font-size:14px;color:var(--verde-txt);font-weight:500;margin-bottom:10px}
.fila-painel{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:18px;align-items:start}
.fila-principal,.fila-lado{display:grid;gap:18px;align-content:start;min-width:0}
.fila-lado .fila-lista{grid-template-columns:minmax(0,1fr)}
@media (max-width:1100px){.fila-painel{grid-template-columns:minmax(0,1fr)}}
.fila-principal.fila-grupos{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));display:grid}
.fila-resumo h3{margin:0 0 14px}
.fila-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.fila-nums div{border:1px solid var(--linha);border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;gap:2px}
.fila-nums b{font-family:var(--serif);font-size:30px;line-height:1;color:var(--verde-txt);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.fila-nums div:first-child b{color:#1F7A4D}
.fila-nums span{font-size:13px;color:var(--tinta-2)}
.fila-resumo-grupos{list-style:none;margin:0;padding:0;display:grid}
.fila-resumo-grupos a{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;align-items:center;padding:9px 4px;border-top:1px solid var(--linha);color:var(--tinta);text-decoration:none;font-size:14px}
.fila-resumo-grupos a:hover span{text-decoration:underline}
.fila-resumo-grupos span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fila-resumo-grupos b{min-width:26px;padding:1px 8px;border-radius:999px;background:#1F7A4D;color:#fff;font-size:12px;text-align:center;font-variant-numeric:tabular-nums}
.fila-resumo-grupos b[data-zero]{background:var(--areia-2);color:var(--tinta-2)}
.fila-resumo-grupos small{color:var(--muted);font-size:12px;text-align:right}
@media (min-width:1101px){.fila-chips{display:none}.fila-topo p{display:none}}
@media (max-width:1100px){.fila-resumo{display:none}}
/* colunas da fila bem separadas: cada paciente num bloco com borda e espaço entre as colunas */
.fila-lista{gap:8px 16px;padding:4px 22px 18px}
.fila-lista li{border:1px solid var(--linha);border-radius:12px;padding:10px 12px;background:var(--card)}
.fila-lista li:hover{background:var(--areia)}
.fila-lista li.enviado{background:color-mix(in srgb,var(--ok-soft) 45%,var(--card))}
.fila-nums{gap:8px}
.fila-nums div{padding:12px 10px;min-width:0}
.fila-nums span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
@media (max-width:640px){.fila-lista{padding:4px 12px 14px}}
.fila-lista small.fila-enviada{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:500;margin-top:2px}
.fila-nums span{white-space:normal;line-height:1.25}
/* Regras de envio */
.regras .regra{padding:12px 0;border-top:1px solid var(--linha)}
.regras .regra p{margin:0 0 0 56px;color:var(--tinta-2);font-size:14.5px;line-height:2.1}
.regras .regra-liga{margin:0 0 2px}
.regras .regra-geral p{margin-left:0}
.regras .regra-geral .check{display:inline-flex;margin-right:16px}
.regra-num{width:4.4em;padding:4px 8px;margin:0 4px;text-align:center}
.regra-hora{width:8.6em;padding:4px 8px;margin:0 4px;-webkit-appearance:none}
.regras select{padding:4px 8px;margin-left:4px}
.regras .btn{margin-top:16px}
@media (max-width:640px){.regras .regra p{margin-left:0}}
.ficha-bloq{display:flex;gap:6px;align-items:flex-start;margin:4px 0 10px;padding:8px 10px;border-radius:10px;background:var(--alerta-soft);color:var(--tinta);font-size:13px}
.ficha-bloq svg{flex-shrink:0;margin-top:2px;color:var(--alerta)}
.ficha-bloq-vazio{font-size:13px;margin:4px 0 8px}
.ficha-bloq-form{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ficha-bloq-form input[name=motivo]{flex:1;min-width:140px;padding:6px 10px;font-size:13px}
.fila-topo-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* Modelos da API oficial */
.mod-topo{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:16px 28px;align-items:start;margin-bottom:18px}
.mod-topo h2{margin:0 0 6px}
.mod-conta{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.mod-conta .pill{text-transform:none}
.mod-cont{grid-column:1/-1;list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.mod-cont li{border:1px solid var(--linha);border-radius:12px;padding:8px 14px;display:flex;gap:8px;align-items:baseline}
.mod-cont b{font-size:20px;font-variant-numeric:tabular-nums;color:var(--verde-txt)}
.mod-cont span{font-size:13px;color:var(--tinta-2)}
.mod-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;align-items:start}
.mod-item{padding:18px 20px}
.mod-cab{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.mod-cab h3{margin:0 0 2px}
.mod-cab code{font-size:12px;color:var(--muted)}
.mod-cab .pill{text-transform:none;white-space:nowrap}
.mod-cat{font-size:13px;color:var(--tinta-2);margin:8px 0 12px}
.mod-cat .tag{text-transform:none;letter-spacing:0;font-size:12px;padding:2px 8px}
.mod-balao{background:#DCF8C6;color:#111B21;border-radius:4px 14px 14px 14px;padding:10px 12px;font-size:14px;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.mod-botoes{display:grid;gap:4px;margin:10px -12px -10px;border-top:1px solid rgba(0,0,0,.08)}
.mod-botoes span{display:block;text-align:center;color:#027EB5;font-weight:500;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.mod-botoes span:last-child{border-bottom:0}
.mod-motivo{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;font-size:13px;color:var(--erro)}
@media (max-width:900px){.mod-topo{grid-template-columns:1fr}.mod-grade{grid-template-columns:1fr}}
/* WhatsApp oficial (conexão) */
.wa-form{display:grid;gap:4px;margin-top:12px}
.wa-form .btn{justify-self:start;margin-top:8px}
.wa-hook{margin-top:22px;padding-top:16px;border-top:1px solid var(--linha)}
.wa-hook h3{margin:0 0 6px}
.wa-hook input[readonly]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
/* Envio automático */
.auto-topo{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.auto-topo h2{margin:0 0 6px}
.auto-topo .pill{text-transform:none;white-space:nowrap}
.auto-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.auto-nums div{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.auto-nums b{font-family:var(--serif);font-size:28px;line-height:1.1;color:var(--verde-txt);font-variant-numeric:lining-nums tabular-nums}
.auto-nums span{font-size:13px;color:var(--tinta-2)}
.auto-lista .pill{text-transform:none;white-space:nowrap}
.auto-lista small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#whatsapp_api .pill{text-transform:none}

/* ---------- Conversas do WhatsApp oficial (lista e conversa, no modelo Mensagens do iPhone) ---------- */
.side-n{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1F7A4D;color:#fff;font-style:normal;font-size:11.5px;font-weight:700;line-height:20px;text-align:center;flex:none}
.tabbar a{position:relative}
.tabbar .side-n{position:absolute;top:1px;left:calc(50% + 4px);min-width:18px;height:18px;line-height:18px;font-size:10.5px;padding:0 5px;margin:0}
.sheet-panel a .side-n{margin-left:0}
.conv-badge{display:inline-block;margin-left:6px;min-width:20px;padding:0 6px;border-radius:999px;background:#1F7A4D;color:#fff;font-size:11.5px;line-height:20px;text-align:center}
.conv{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;height:calc(100vh - 190px);min-height:480px}
.conv>.card{margin:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.conv-topo{display:flex;flex-direction:column;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--linha)}
.conv-voltar{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;align-self:flex-start}
.conv-filtro{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border-radius:10px;background:var(--areia-2)}
.conv-filtro a{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--tinta-2);text-decoration:none}
.conv-filtro a.on{background:var(--card);color:var(--tinta);box-shadow:0 1px 3px rgba(var(--principal-rgb),.12)}
.conv-filtro b{min-width:18px;padding:0 5px;border-radius:999px;background:#1F7A4D;color:#fff;font-size:11px;line-height:18px}
.conv-novas{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 12px 0;padding:9px 12px;border:0;border-radius:10px;background:var(--ok-soft);color:var(--tinta);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.conv-novas[hidden]{display:none}
.conv-itens{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}
.conv-itens li{display:block;padding:0;border:0}
.conv-item{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:12px;color:var(--tinta);text-decoration:none}
.conv-item:hover{background:var(--areia)}
.conv-item.on{background:var(--verde-soft)}
.conv-av{width:44px;height:44px;font-size:15px;flex:none}
.conv-av-num{display:inline-grid;place-items:center;background:var(--areia-2);color:#1F7A4D}
.conv-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.conv-txt b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-txt small{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
.conv-item.nao-lida .conv-txt b{font-weight:700}
.conv-item.nao-lida .conv-txt small{color:var(--tinta)}
.conv-voce{color:var(--muted);font-weight:600}
.conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;align-self:start;padding-top:2px}
.conv-meta time{font-size:12px;color:var(--muted);white-space:nowrap}
.conv-item.nao-lida .conv-meta time{color:var(--ok);font-weight:600}
.conv-n{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#1F7A4D;color:#fff;font-style:normal;font-size:11.5px;font-weight:700;line-height:20px;text-align:center}
.conv-aberta{width:8px;height:8px;border-radius:50%;background:var(--ok);margin:6px 6px 0 0}
.conv-mais{font-size:12.5px;text-align:center;margin:4px 0 12px}
.conv-vazio,.conv-escolha{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px}
.conv-cab{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--linha)}
.conv-cab-voltar{display:none}
.conv-cab-txt{min-width:0;flex:1;display:flex;flex-direction:column}
.conv-cab-txt b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-cab-txt small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-cab-acoes{display:flex;align-items:center;gap:8px;flex:none}
.conv-cab-acoes form{margin:0}
.conv-msgs{list-style:none;margin:0;padding:16px 18px 8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px;background:var(--areia)}
.conv-dia{align-self:center;margin:12px 0 6px}
.conv-dia span{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--card);border:1px solid var(--linha);font-size:12px;font-weight:600;color:var(--tinta-2)}
.conv-msg{align-self:flex-start;max-width:min(78%,560px);display:flex;flex-direction:column;align-items:flex-start;margin-top:4px}
.conv-msg.saida{align-self:flex-end;align-items:flex-end}
.conv-bolha{padding:9px 13px;border-radius:16px 16px 16px 5px;background:var(--card);border:1px solid var(--linha);color:var(--tinta);font-size:14.5px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.conv-msg.saida .conv-bolha{border-radius:16px 16px 5px 16px;background:var(--ok-soft);border-color:transparent}
.conv-msg.midia .conv-bolha{font-style:italic;color:var(--tinta-2)}
.conv-msg.botao .conv-bolha{font-weight:600}
.conv-tocou{display:block;font-size:11.5px;font-weight:500;color:var(--muted)}
.conv-msg.falhou .conv-bolha{background:var(--erro-soft)}
.conv-rot{font-size:11.5px;color:var(--muted);margin:0 6px 2px;font-weight:600}
.conv-hora{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);margin:2px 6px 0}
.conv-st{display:inline-flex;align-items:center}
.conv-st .ic+.ic{margin-left:-8px}
.conv-st.st-lido{color:#2F8CFF}
.conv-st.st-falhou{color:var(--erro)}
.conv-erro{font-size:12px;color:var(--erro);margin:2px 6px 0;max-width:100%}
.conv-resp{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px;padding:12px 16px;border-top:1px solid var(--linha)}
.conv-resp textarea{resize:none;min-height:44px;max-height:180px;border-radius:14px;padding:11px 14px;font:inherit;font-size:15px;line-height:1.4}
.conv-resp .btn{height:44px}
.conv-prazo{grid-column:1/-1;font-size:12.5px}
.conv-fechada{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 16px;border-top:1px solid var(--linha);font-size:13.5px;color:var(--tinta-2);background:var(--alerta-soft)}
.conv-fechada .ic{flex:none;margin-top:2px}
.ficha-conv{display:flex;align-items:center;gap:10px;margin:2px 0 10px;padding:10px 12px;border-radius:12px;background:var(--areia);color:var(--tinta);text-decoration:none;font-size:14px}
.ficha-conv>span{flex:1;display:flex;flex-direction:column}
.ficha-conv small{color:var(--muted);font-size:12.5px}
.ficha-conv.nao-lida{background:var(--ok-soft)}
.ficha-conv.nao-lida small{color:var(--ok);font-weight:600}
.conv-aviso{margin-top:0}
@media (max-width:1100px){.conv{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.conv-cab-acoes .btn span{display:none}}
@media (max-width:820px){
  .conv{display:block;height:auto;min-height:0}
  .conv>.card{min-height:calc(100dvh - 190px)}
  .conv.conv-com-aberta .conv-lista,.conv:not(.conv-com-aberta) .conv-fio{display:none}
  .conv-cab{padding:10px 12px;gap:10px}
  .conv-cab-voltar{display:inline-grid}
  .conv-cab .conv-av{width:36px;height:36px;font-size:13px}
  .conv-cab-acoes .btn{padding:0 10px}
  .conv-msgs{padding:12px 10px 8px;max-height:calc(100dvh - 330px);min-height:240px}
  .conv-msg{max-width:86%}
  .conv-resp{padding:10px 12px}
}

/* Gestão › Clientes: quem está no sistema de cada clínica agora */
.pres-clin{margin-bottom:18px}
.pres-lista{list-style:none;margin:0;padding:0 8px 8px}
.pres-lista li{display:grid;grid-template-columns:12px minmax(180px,.9fr) minmax(0,2fr) auto;align-items:center;gap:14px;padding:11px 12px;border-top:1px solid var(--linha)}
.pres-lista li:first-child{border-top:0}
.pres-ponto{width:10px;height:10px;border-radius:50%;background:var(--linha)}
.pres-lista li.on .pres-ponto{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 18%,transparent)}
.pres-nome{color:var(--tinta);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres-nome .pill{font-size:11px;margin-left:4px}
.pres-quem{font-size:14px;min-width:0}
.pres-lista li.on .pres-quem{color:var(--ok);font-weight:600}
.pres-hoje{font-size:12.5px;color:var(--muted);white-space:nowrap}
@media (max-width:820px){.pres-lista li{grid-template-columns:12px minmax(0,1fr);gap:4px 12px}.pres-quem,.pres-hoje{grid-column:2}}

/* Ajuda: contato com a equipe da Limiar, no fim da tela */
.ajuda-contato{display:flex;align-items:center;gap:18px;margin:18px 0 76px;padding:20px 22px}
.ajuda-contato-av{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--linha),0 6px 18px rgba(var(--principal-rgb),.10)}
.ajuda-contato-av img{width:34px;height:34px}
.ajuda-contato-txt{flex:1;min-width:0}
.ajuda-contato h3{margin:0 0 4px;font-size:17px}
.ajuda-contato p{margin:0;color:var(--tinta-2);font-size:14.5px;line-height:1.5}
.ajuda-contato .btn{flex:none}
@media (max-width:640px){.ajuda-contato{flex-wrap:wrap}.ajuda-contato-txt{flex-basis:calc(100% - 74px)}.ajuda-contato .btn{width:100%;justify-content:center}}
.cres-prox .pill{text-transform:none}

/* Ajuda › Chamados */
.cham-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.cham-novo h3{margin:0 0 4px}
.cham-novo>p.muted{margin:0 0 16px}
.pill.h-aberto,.pill.h-respondido,.pill.h-resolvido{text-transform:none}
.cham-cuidado{display:flex;align-items:center;gap:6px;margin:0 0 14px;font-size:13px;color:var(--muted)}
.cham-resp{background:var(--ok-soft)}
@media (max-width:900px){.cham-grade{grid-template-columns:minmax(0,1fr)}}

/* Envio automático: de onde vem o custo das mensagens */
.auto-custo{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 16px;border-radius:12px;background:var(--areia-2);color:var(--tinta-2);font-size:14px;line-height:1.5}
.auto-custo .ic{flex:none;margin-top:3px}
.lk-aberto-resumo{margin:2px 0 12px;font-size:13px}
.lk-aberto-form .lk-grupo:first-child{margin-top:16px}

/* Central › Sistemas: saúde técnica de cada sistema */
.sis-n-urgente{--sis:var(--erro);--sis-soft:var(--erro-soft)}.sis-n-atencao{--sis:var(--alerta);--sis-soft:var(--alerta-soft)}
.sis-n-ok{--sis:var(--ok);--sis-soft:var(--ok-soft)}.sis-n-sem{--sis:var(--muted);--sis-soft:var(--linha)}
.sis-ponto{width:10px;height:10px;border-radius:50%;background:var(--sis,var(--linha));box-shadow:0 0 0 4px color-mix(in srgb,var(--sis,transparent) 16%,transparent);flex:none}
.sis-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 10px 7px 12px;border:1px solid var(--linha);border-radius:999px;font-size:13px;font-weight:600;color:var(--tinta);text-decoration:none;white-space:nowrap}
.sis-chip:hover{border-color:var(--sis)}.sis-chip .ic{color:var(--muted)}
.sis-topo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 22px;margin-bottom:18px}
.sis-topo.sis-ok{--sis:var(--ok);--sis-soft:var(--ok-soft)}.sis-topo.sis-atencao{--sis:var(--alerta);--sis-soft:var(--alerta-soft)}.sis-topo.sis-urgente{--sis:var(--erro);--sis-soft:var(--erro-soft)}
.sis-frase{display:flex;align-items:center;gap:14px;min-width:0}
.sis-frase h2{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);font-weight:650;letter-spacing:-.01em;color:var(--tinta);margin:0 0 2px}
.sis-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--sis-soft);color:var(--sis)}
.sis-disco{display:grid;gap:6px;min-width:0}
.sis-disco-txt{display:flex;justify-content:space-between;gap:10px;font-size:14px}.sis-disco-txt span{color:var(--tinta-2)}
.sis-barra{height:8px;border-radius:99px;background:var(--linha);overflow:hidden}
.sis-barra i{display:block;height:100%;border-radius:99px;background:var(--sis,var(--ok))}
.sis-disco small{font-size:12.5px}
.sis-lista{list-style:none;margin:0;padding:0}
.sis-lista>li{display:grid;grid-template-columns:12px minmax(200px,.9fr) minmax(0,2.4fr);align-items:start;gap:16px;padding:16px 22px;border-top:1px solid var(--linha)}
.sis-lista>li:first-child{border-top:0}
.sis-lista>li>.sis-ponto{margin-top:6px}
.sis-quem{display:flex;flex-direction:column;gap:2px;min-width:0}
.sis-quem b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sis-quem b a{color:var(--tinta);text-decoration:none}.sis-quem b a:hover{text-decoration:underline}
.sis-quem>small{font-size:12.5px;color:var(--muted)}.sis-nivel{color:var(--sis);font-weight:600}
.sis-motivos{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:3px}
.sis-motivos li{font-size:13px;color:var(--tinta);padding-left:12px;position:relative}
.sis-motivos li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--sis)}
.sis-fatos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.sis-fatos>div{min-width:0}
.sis-fatos dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
.sis-fatos dd{margin:0;font-size:14px;color:var(--tinta);display:flex;flex-direction:column;gap:1px;min-width:0}
.sis-fatos dd small{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.sis-fatos dd.sis-ruim{color:var(--erro);font-weight:600}.sis-fatos dd.sis-ruim small{font-weight:400}
.sis-proprio{margin:2px 0 0;font-size:13.5px}
.sis-nota{font-size:12.5px;margin:12px 4px 0}
@media (max-width:1100px){.sis-topo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sis-atualizar{grid-column:1/-1;justify-self:start}.sis-lista>li{grid-template-columns:12px minmax(0,1fr)}.sis-fatos,.sis-proprio{grid-column:2}}
@media (max-width:640px){.sis-topo{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 16px}.sis-lista>li{padding:14px 16px}.sis-fatos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pres-clin .card-head{flex-wrap:wrap;gap:10px}.sis-atualizar .btn span{display:inline}}
.sis-visto{margin-top:4px}.sis-visto .link{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--verde-txt);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.login-esqueci{text-align:center;margin:14px 0 0;font-size:14px}

/* janela "fatura disponível" (mensalidade do sistema) */
.fatura-aviso{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(var(--principal-rgb),.45)}
.fatura-aviso[hidden]{display:none}
.fatura-aviso-caixa{width:100%;max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);color:var(--tinta);border-radius:var(--raio);box-shadow:var(--v-sombra-alta);padding:24px}
.fatura-aviso-rot{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--muted)}
.fatura-aviso h2{margin:0 0 14px;font-size:21px;line-height:1.25}
.fatura-aviso-valor{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}
.fatura-aviso-valor b{font-size:28px;letter-spacing:-.01em}
.fatura-aviso-valor span{color:var(--muted);font-size:15px}
.fatura-aviso-cod{display:grid;gap:6px;margin:0 0 12px;padding:12px;background:var(--areia);border-radius:var(--raio-sm)}
.fatura-aviso-cod small{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.fatura-aviso-cod code{font-size:12.5px;word-break:break-all;line-height:1.45}
.fatura-aviso-cod .btn{justify-self:start}
.fatura-aviso-nota{margin:4px 0 16px;font-size:13.5px;color:var(--muted)}
.fatura-aviso-acoes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Central › Sistemas: uso das clínicas */
.uso-card{margin-bottom:16px}
.uso-lista{list-style:none;margin:0;padding:0 18px 4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.uso-l{border:1px solid var(--linha);border-left:4px solid var(--linha);border-radius:var(--raio-sm);padding:12px 14px;display:grid;gap:6px;align-content:start}
.uso-l.u-parado{border-left-color:var(--erro)}.uso-l.u-esfriando{border-left-color:var(--alerta)}.uso-l.u-implantacao{border-left-color:var(--v-ceu)}.uso-l.u-ok{border-left-color:var(--ok)}
.uso-nome{display:flex;align-items:center;justify-content:space-between;gap:8px}
.uso-pill{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--areia);color:var(--muted);white-space:nowrap}
.uso-pill.u-parado{background:var(--erro-soft);color:var(--erro)}.uso-pill.u-esfriando{background:var(--alerta-soft);color:var(--alerta)}.uso-pill.u-ok{background:var(--ok-soft);color:var(--ok)}
.uso-motivo{margin:0;font-size:14px}
.uso-num{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 0}
.uso-num div{background:var(--areia);border-radius:8px;padding:6px 8px}
.uso-num dt{font-size:11px;color:var(--muted)}.uso-num dd{margin:0;font-weight:700;font-size:14px}
@media (max-width:520px){.uso-num{grid-template-columns:repeat(2,1fr)}}

/* Central › Crescimento: receita */
.rec-card{margin-bottom:16px}
.rec-num{margin-bottom:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.rec-num .fin-box b{white-space:nowrap;font-size:clamp(17px,4.6vw,22px)}
@media (max-width:760px){.rec-num{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rec-graf{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;height:190px;padding:8px 4px 0;border-bottom:1px solid var(--linha)}
.rec-col{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;gap:2px;min-width:0}
.rec-barras{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%}
.rec-barras i{display:block;width:clamp(10px,3vw,22px);border-radius:4px 4px 0 0}
.rec-fat{background:var(--linha)}.rec-rec{background:var(--verde)}
.rec-col b{font-size:12px;white-space:nowrap}.rec-col small{font-size:11.5px;color:var(--muted)}
.rec-legenda{display:flex;gap:16px;margin:8px 0 14px;font-size:12.5px;color:var(--muted)}
.rec-legenda span{display:flex;align-items:center;gap:6px}.rec-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px}
@media (max-width:520px){.rec-col b{font-size:10.5px}}

/* Foco vindo da Leitura da seção (atalhos "Ver e confirmar" / "Abrir o dia") */
.agenda-foco{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:0 0 14px;padding:11px 14px;border:1px solid var(--linha);border-left:4px solid var(--alerta);border-radius:10px;background:var(--alerta-soft)}
.agenda-foco b{display:block;color:var(--tinta)}
.agenda-foco small{color:var(--muted)}
.tl-item.foco,.dia-lista li.foco{outline:2px solid var(--alerta);outline-offset:1px;animation:foco-pulso 1.3s ease-out 2}
@keyframes foco-pulso{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--alerta) 45%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
/* celular: largura travada na tela. Colunas e cards encolhem até a tela, tabela dentro de card rola só ela,
   e todo campo tem 16 px (abaixo disso o iPhone dá zoom sozinho ao tocar e a tela fica deslocada) */
@media (max-width:640px){.card,.inicio-lado,.cf-main>*,.cq-side>*,.grid-2>*{min-width:0}.card table:not(.ia-tabela){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media (max-width:640px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px !important}}
