/* CLAUDE-APP-POLISH-95 (25/09/2026, pedido HC após teste no TestFlight build 3)
   Cara de app no iPhone (WKWebView/R4) e Android (TWA): login nativo centrado, sem zoom/seleção acidental,
   toque com resposta, transições curtas, safe areas; Orbi em "modo conversa". Só apresentação; nenhuma rota nova. */

/* ---------- base "app" ---------- */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[data-entry="app"],html[data-entry="app"] body{overscroll-behavior-y:none}
html[data-entry="app"] body{-webkit-touch-callout:none}
/* chrome do app não seleciona texto por acidente; conteúdo e campos continuam selecionáveis */
html[data-entry="app"] .nav,html[data-entry="app"] .top,html[data-entry="app"] button,html[data-entry="app"] .tile,
html[data-entry="app"] [role="tab"],html[data-entry="app"] .m4-tabs,html[data-entry="app"] .m4-chips,html[data-entry="app"] summary{-webkit-user-select:none;user-select:none}
html[data-entry="app"] input,html[data-entry="app"] textarea,html[data-entry="app"] [contenteditable]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
/* iOS dá zoom em campo < 16px: todos os campos a 16px+ no telefone */
@media (max-width:820px){input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{font-size:max(16px,1em)!important}}
/* resposta ao toque: leve afundar, sem atraso */
@media (hover:none){
  button:not(:disabled),.tile,.m4-card[role="button"],a.cta,[data-account-route],.m4-list li[tabindex]{transition:transform .12s ease,opacity .12s ease}
  button:not(:disabled):active,.tile:active,a.cta:active,[data-account-route]:active,.m4-list li[tabindex]:active{transform:scale(.97);opacity:.88}
  .nav button:active{transform:scale(.92)}
}
/* troca de tela com entrada curta (sem pular) */
@media (prefers-reduced-motion:no-preference){
  html[data-entry="app"] .screen.on>*{animation:app95-in .22s cubic-bezier(.2,.8,.2,1) both}
  @keyframes app95-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
/* rolagem com inércia e sem barra no app */
html[data-entry="app"] ::-webkit-scrollbar{width:0;height:0}

/* ---------- login nativo (app e telefone) ---------- */
html[data-entry="app"] #clinic-auth-gate:not([hidden]),html[data-entry="phone"] #clinic-auth-gate:not([hidden]){
  display:flex!important;flex-direction:column;align-items:center!important;justify-content:center;
  min-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px))!important;
  background:radial-gradient(120% 70% at 50% -10%,color-mix(in srgb,var(--m4-accent-fill,var(--accent)) 26%,transparent) 0%,transparent 60%),var(--m4-bg,var(--bg))!important}
html[data-entry="app"] .clinic-auth-card,html[data-entry="phone"] .clinic-auth-card{
  width:100%;max-width:400px;margin:0 auto;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:center}
html[data-entry="app"] .clinic-auth-card .auth-logo,html[data-entry="phone"] .clinic-auth-card .auth-logo{display:block;margin:0 auto 18px;width:190px;height:auto}
html[data-entry="app"] #clinic-auth-title,html[data-entry="phone"] #clinic-auth-title{font-size:28px;line-height:1.15;letter-spacing:-.02em;margin:0 0 6px;text-align:center}
html[data-entry="app"] #clinic-auth-lead,html[data-entry="phone"] #clinic-auth-lead{font-size:15px;margin:0 0 22px;text-align:center;color:var(--m4-muted,var(--muted))}
html[data-entry="app"] #clinic-desktop-entry,html[data-entry="phone"] #clinic-desktop-entry,
html[data-entry="app"] #clinic-desktop-hint,html[data-entry="phone"] #clinic-desktop-hint,
html[data-entry="app"] #clinic-desktop-alt{display:none!important}
html[data-entry="app"] #clinic-auth-form:not([hidden]),html[data-entry="phone"] #clinic-auth-form:not([hidden]){display:flex;flex-direction:column;gap:0;text-align:left}
html[data-entry="app"] #clinic-auth-form label,html[data-entry="phone"] #clinic-auth-form label{font-size:13px;font-weight:600;letter-spacing:.01em;margin:0 0 6px 4px;color:var(--m4-muted,var(--muted))}
html[data-entry="app"] #clinic-auth-form input,html[data-entry="phone"] #clinic-auth-form input{
  box-sizing:border-box;width:100%;height:54px;margin:0 0 14px;padding:0 16px;border-radius:14px;font-size:17px!important;
  border:1px solid color-mix(in srgb,var(--m4-ink,var(--label)) 12%,transparent);background:color-mix(in srgb,var(--m4-surface,var(--surface)) 92%,transparent);color:var(--m4-ink,var(--label))}
html[data-entry="app"] #clinic-auth-form input:focus,html[data-entry="phone"] #clinic-auth-form input:focus{outline:0;border-color:var(--m4-accent,var(--accent));box-shadow:0 0 0 4px color-mix(in srgb,var(--m4-accent,var(--accent)) 22%,transparent)}
html[data-entry="app"] #clinic-auth-form button.cta,html[data-entry="phone"] #clinic-auth-form button.cta{height:54px;border-radius:14px;font-size:17px;font-weight:700;margin-top:6px;width:100%}
html[data-entry="app"] .app95-pw,html[data-entry="phone"] .app95-pw{position:relative}
.app95-pw input{padding-right:56px!important}
.app95-eye{position:absolute;right:6px;top:5px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--m4-muted,var(--muted));display:grid;place-items:center;cursor:pointer}
.app95-eye svg{width:22px;height:22px}
html[data-entry="app"] #clinic-auth-status,html[data-entry="phone"] #clinic-auth-status{min-height:20px;margin-top:10px;text-align:center;font-size:14px}
html[data-entry="app"] .clinic-auth-card nav,html[data-entry="phone"] .clinic-auth-card nav{margin-top:26px!important;font-size:13px!important}

/* ---------- seletor de empresa ---------- */
.app95-co{position:fixed;inset:0;z-index:260;display:flex;align-items:flex-end;justify-content:center}
.app95-co[hidden]{display:none}
.app95-co-scrim{position:absolute;inset:0;background:rgba(3,4,10,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.app95-co-sheet{position:relative;width:100%;max-width:460px;background:var(--m4-surface,var(--surface));color:var(--m4-ink,var(--label));border-radius:28px 28px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 60px -10px rgba(0,0,0,.4);animation:app95-up .24s cubic-bezier(.2,.8,.2,1)}
@keyframes app95-up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.app95-co-grab{width:38px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--m4-ink,var(--label)) 22%,transparent);margin:0 auto 14px}
.app95-co h2{font-size:21px;margin:0 0 4px;letter-spacing:-.01em}
.app95-co p{margin:0 0 16px;font-size:14px;color:var(--m4-muted,var(--muted))}
.app95-co ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.app95-co li button{width:100%;min-height:64px;display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--m4-ink,var(--label)) 10%,transparent);background:color-mix(in srgb,var(--m4-ink,var(--label)) 4%,transparent);color:inherit;text-align:left;font:inherit;cursor:pointer}
.app95-co li button[aria-current="true"]{border-color:var(--m4-accent,var(--accent));background:color-mix(in srgb,var(--m4-accent,var(--accent)) 14%,transparent)}
.app95-co .co-ava{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--m4-c1,#6a4fd6),var(--m4-c2,#199e8f))}
.app95-co .co-name{display:block;font-weight:700;font-size:16px}
.app95-co .co-sub{display:block;font-size:12.5px;color:var(--m4-muted,var(--muted));margin-top:2px}
.app95-co .co-msg{min-height:18px;margin-top:12px;font-size:13.5px;text-align:center;color:var(--m4-muted,var(--muted))}
.app95-cochip{border-radius:99px!important;outline:0;display:inline-flex;align-items:center;gap:6px;max-width:100%;height:32px;margin:8px 0 2px;padding:0 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--m4-ink,var(--label)) 14%,transparent);background:color-mix(in srgb,var(--m4-ink,var(--label)) 6%,transparent);color:var(--m4-ink,var(--label));font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.app95-cochip svg{flex:0 0 14px;width:14px;height:14px}

/* ---------- Orbi: modo conversa (folha enxuta) ---------- */
.orbi-quick-title[data-conv]:not([data-conv=""])::after{content:attr(data-conv);display:inline-block;margin-left:10px;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;letter-spacing:.02em;vertical-align:middle;color:#0b3d24;background:#54e08a}
.orbi-quick-sheet.is-conv .orbi-quick-orb{filter:drop-shadow(0 0 22px color-mix(in srgb,#54e08a 45%,transparent))}
.orbi-quick-sheet .orbi-quick-status{font-size:15px}
.orbi-quick-form[hidden],.orbi-quick-sheet .orbi-day[hidden]{display:none!important}

/* ---- rodada 2 (auditoria de 20 agentes) ---- */
/* FAB do Orbi sobressai ~40px acima da barra: reserva extra no fim de cada tela para nada ficar atrás dele */
html[data-entry] body:not(.orbi-open) .screen.on{padding-bottom:calc(var(--safe-b,env(safe-area-inset-bottom,0px)) + 56px)!important}
/* chat do Orbi: compositor sobe acima da saliência do FAB */
body.orbi-open .nav #orbi-fab{margin-top:6px!important;transform:scale(.72);transform-origin:50% 100%;transition:transform .2s ease,margin .2s ease}
/* faixas roláveis (abas M4, chips, abas de Minha empresa): esmaecer a borda que continua */
.app95-fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.app95-fade-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
.app95-fade-l.app95-fade-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
/* "Remover foto" só com foto */
.oxa-photo-actions button[hidden]{display:none!important}
/* folha de empresas rola por dentro quando a lista é longa */
.app95-co-sheet{max-height:min(86dvh,720px);overflow:auto;overscroll-behavior:contain}
/* links do rodapé do login com alvo de toque */
html[data-entry="app"] .clinic-auth-card nav a,html[data-entry="phone"] .clinic-auth-card nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px!important}
/* telas muito estreitas: data da saudação não passa por baixo do avatar */
@media (max-width:340px){.home-date{padding-right:60px;overflow-wrap:anywhere}html,body{overflow-x:hidden}}
.app95-cochip:focus-visible{outline:2px solid var(--m4-accent,var(--accent));outline-offset:2px}
.app95-co li button:focus{outline:0}.app95-co li button:focus-visible{outline:2px solid var(--m4-accent,var(--accent));outline-offset:2px}
@keyframes app95-autofill{from{opacity:1}to{opacity:1}}
#clinic-auth-password:-webkit-autofill{animation:app95-autofill 1ms}

/* ---- CLAUDE-APP-LIVE-96 + fidelidade ao mock (rodada HC 06:25/06:47) ---- */
/* Orbi ao vivo com a janela escondida: anel pulsando no orbe central */
.nav #orbi-fab{position:relative}
body.orbi-live .nav #orbi-fab::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #54e08a;pointer-events:none;animation:app95-live 1.6s ease-out infinite}
body.orbi-live .nav #orbi-fab{filter:drop-shadow(0 0 12px rgba(84,224,138,.55))}
@media (prefers-reduced-motion:reduce){body.orbi-live .nav #orbi-fab::before{animation:none;opacity:.8}}
@keyframes app95-live{0%{transform:scale(.92);opacity:.9}100%{transform:scale(1.3);opacity:0}}
/* Cabeçalho como o mock: logo menor, ícones planos, sol no claro / lua no escuro */
.top img.top-logo{height:34px!important;width:auto!important}
.m4-ibtn.is-theme{background:transparent!important}
#top-theme{background:transparent!important}
:root[data-theme="light"] #top-theme .ic-off{display:none!important}
:root[data-theme="light"] #top-theme .ic-on{display:block!important}
:root[data-theme="dark"] #top-theme .ic-on{display:none!important}
:root[data-theme="dark"] #top-theme .ic-off{display:block!important}
/* Avatar da Início na cor da marca (igual às outras telas e ao mock) */
#home-ava{background:linear-gradient(135deg,#9c2c63,#d4458a)!important;color:#fff!important}
/* "Mais": X no cabeçalho, cores por módulo (como o mock), Fechar sólido */
.m3-sheet .m3-sh-h{position:relative;padding-right:52px}
.m3-x{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--m3-muted,var(--muted));border-radius:12px;cursor:pointer;font-size:20px}
.m3-close{background:var(--m4-accent-fill,#6e56cf)!important;color:#fff!important}
[data-m3-mod="legal"] .m3-li{background:var(--m3-danger-soft,rgba(255,69,58,.14))!important;color:var(--m3-danger,#ff8a80)!important}
[data-m3-mod="accounting"] .m3-li,[data-m3-mod="quality"] .m3-li,[data-m3-mod="documents"] .m3-li{background:var(--m3-info-soft,rgba(76,159,255,.14))!important;color:var(--m3-info,#7ab8ff)!important}
[data-m3-mod="billing"] .m3-li,[data-m3-mod="crm"] .m3-li,[data-m3-mod="expenses"] .m3-li{background:var(--m3-warn-soft,rgba(255,179,64,.13))!important;color:var(--m3-warn,#ffbd59)!important}
[data-m3-mod="finance"] .m3-li,[data-m3-mod="reimbursements"] .m3-li{background:var(--m3-ok-soft,rgba(48,209,88,.13))!important;color:var(--m3-ok,#5fd98a)!important}
/* Escolha de empresa sempre à mão para o Founder sem vínculo */
.app95-cochip.is-founder{border-style:dashed}

/* D34 · densidade compacta (HC 25/09 09:06, como no mock: :root[data-density="compact"]) — menos respiro, mais linhas por tela.
   Só espaçamento/altura/tamanho; toque mínimo segue ≥ 40px. */
:root[data-density="compact"] .m4-card,:root[data-density="compact"] .m3-card{padding:10px 12px;border-radius:16px}
:root[data-density="compact"] .m4-card{margin-top:8px}
:root[data-density="compact"] .m4-rowb{min-height:44px;padding:6px 10px 6px 12px!important;gap:10px}
:root[data-density="compact"] .m3-rows li{min-height:40px;gap:10px}
:root[data-density="compact"] .m3-rows b{font-size:13.5px}
:root[data-density="compact"] .m4-list{border-radius:14px}
:root[data-density="compact"] .m4-ph{padding-top:4px;padding-bottom:4px}
:root[data-density="compact"] .m4-ph h1{font-size:24px}
:root[data-density="compact"] .home-hero h1{font-size:clamp(22px,6.4vw,27px)}
:root[data-density="compact"] #home-dash-grid{gap:8px}
:root[data-density="compact"] .tile{min-height:0;padding-top:8px;padding-bottom:8px}
:root[data-density="compact"] .m3-grid3 button{padding-top:6px;padding-bottom:6px}

/* D35 · app da loja (casca iOS): sem links para preços/assinatura do site (Apple 3.1.1/3.1.3(b)). */
html.oxxy-shell a[href^="/casa"],html.oxxy-shell a[href*="#precos"]{display:none!important}
/* D35 · exclusão de conta dentro do app (Apple 5.1.1(v)) */
.app95-del{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:10px 0 0;padding:10px 14px;border:0;border-radius:12px;background:transparent;box-shadow:inset 0 0 0 1px var(--separator,rgba(127,127,127,.3));color:var(--danger,#e5484d);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer}
.app95-delsheet p{margin:0 0 12px;font-size:15px;line-height:1.45}
.app95-delsheet .app95-del-go{display:block;width:100%;min-height:48px;border:0;border-radius:14px;background:var(--danger,#e5484d);color:#fff;font:inherit;font-weight:700;font-size:16px}
.app95-delsheet .app95-del-no{display:block;width:100%;min-height:44px;margin-top:8px;border:0;border-radius:14px;background:transparent;color:var(--label,inherit);font:inherit;font-size:15px}
/* D36 · dica de girar o celular nas telas densas */
.app95-rotate{position:fixed;left:50%;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);/* B7 (29/09): não cobre o título; fica acima da barra */z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:6px 6px 6px 12px;border-radius:999px;background:rgba(22,22,32,.94);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);font-size:13px;font-weight:600;transform:translate(-50%,8px);opacity:0;transition:opacity .22s ease,transform .22s ease;pointer-events:auto}
.app95-rotate.on{opacity:1;transform:translate(-50%,0)}
.app95-rotate button{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
@media (prefers-reduced-motion:reduce){.app95-rotate{transition:none}}

/* D38 · contraste do botão de exclusão (≥4,5:1 nos dois temas) */
.app95-delsheet .app95-del-go{background:#c21f3a!important;color:#fff!important}
.app95-del{color:#e5484d}
:root[data-theme="light"] .app95-del{color:#b4232f}
/* D38 · Contábil: etapas e registros com título inteiro (quebra em 2 linhas em vez de cortar) */
#c-contabil li b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
/* D38 · casca da loja: nada de preço/mensalidade nem o painel antigo "Minha empresa · Cadastro, plano…" (duplicado e só em pt) */
html.oxxy-shell #mobile-sub-bill,html.oxxy-shell #mobile-company-entry{display:none!important}
/* M25 aviso neutro de perfil */
.app95-noaccess{color:var(--muted,#8b8b9a)!important;background:none!important;border-color:transparent!important;font-weight:500!important;line-height:1.45}
/* M25: seletor visível é o do app (chip no cartão); a barra da camada compartilhada não aparece */
#oxxy-clinic-bar{display:none!important}
/* Multicontexto: preservar a troca Native quando houver outra conta/clínica. */
body:has(#oxxy-clinic-choice option:nth-child(2)) #oxxy-clinic-bar{display:flex!important}
/* B6 login social (Apple HIG: mesmo tamanho e destaque; Apple preto/branco conforme tema) */
.b6-social{display:grid;gap:10px;margin-top:14px}
.b6-or{display:flex;align-items:center;gap:10px;font-size:13px;opacity:.7}.b6-or::before,.b6-or::after{content:"";flex:1;height:1px;background:currentColor;opacity:.25}
.b6-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:12px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;width:100%}
.b6-apple{background:#000;color:#fff;border:1px solid #000}
.b6-google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}
@media (prefers-color-scheme:dark){.b6-apple{background:#fff;color:#000;border-color:#fff}}
html[data-theme=dark] .b6-apple{background:#fff;color:#000;border-color:#fff}
.b6-btn[aria-busy=true]{opacity:.6}

/* ===== M29 (26/09): Régua acionável + mensagens de cobrança ===== */
.m4-steps li:has(> .m29-step){padding:0;display:block}
.m4-steps .m29-step{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:12px 14px;min-height:56px;border-radius:18px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.m4-steps .m29-step::after{content:"";width:8px;height:8px;border-right:2px solid var(--m4-muted);border-bottom:2px solid var(--m4-muted);transform:rotate(-45deg);justify-self:center}
.m4-steps .m29-step:focus-visible{outline:2px solid var(--m4-accent);outline-offset:2px}
.m4-steps .m29-step:active{transform:scale(.99)}
.m29-msg{border:1px solid var(--m4-line);border-radius:16px;padding:12px 14px;margin:0 0 10px;background:var(--m4-surface)}
.m29-msg header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:0 0 6px}
.m29-msg header b{font-size:14.5px;color:var(--m4-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m29-msg header span{font:600 13.5px/1 var(--m4-font);color:var(--m4-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.m29-msg p{margin:0 0 10px;font-size:13.5px;line-height:1.45;color:var(--m4-muted);white-space:pre-wrap}
.m29-act{display:flex;gap:8px;flex-wrap:wrap}
.m29-act .m4-pill{min-height:44px}

/* ===== M30 (26/09): busca nos Lembretes ===== */
.ops-search{position:relative;margin:0 var(--gutter,16px) 12px;display:flex;align-items:center;gap:8px}
.ops-search input{flex:1;min-width:0;height:44px;border-radius:14px;border:1px solid var(--line,rgba(127,127,127,.25));background:var(--card,rgba(127,127,127,.06));color:inherit;padding:0 14px;font:inherit;font-size:15px}
.ops-search input:focus-visible{outline:2px solid var(--accent,#8b7cf6);outline-offset:1px}
.ops-search-n{font-size:12.5px;color:var(--muted,#8a8fa3);white-space:nowrap;font-variant-numeric:tabular-nums}
.ops-search-n:empty{display:none}

/* ===== M31 (26/09): resposta automática do Assistente OXXY no ticket ===== */
.m3-sup-ev.is-bot>div{border-left:3px solid var(--accent,#8b7cf6);padding-left:10px;background:color-mix(in srgb,var(--accent,#8b7cf6) 8%,transparent);border-radius:0 10px 10px 0;padding-top:6px;padding-bottom:6px}

/* ===== M33 (26/09): folha própria no GED (nova pasta, renomear, confirmar lixeira) ===== */
.ged-ask .ged-ask-f{display:grid;gap:12px;padding:4px 2px 6px}
.ged-ask h2{margin:4px 0 0;font-size:19px}
.ged-ask p{margin:0;color:var(--m3-muted,#8a8fa3);font-size:14.5px;line-height:1.45}
.ged-ask input{height:48px;border-radius:14px;border:1px solid var(--m3-line,rgba(127,127,127,.25));background:transparent;color:inherit;padding:0 14px;font:inherit;font-size:16px}
.ged-ask .ged-ask-b{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.ged-ask .ged-ask-b button{min-height:48px;border-radius:14px;border:1px solid var(--m3-line,rgba(127,127,127,.25));background:transparent;color:inherit;font:inherit;font-weight:600}
.ged-ask .ged-ask-b .primary{background:var(--m3-accent,#7c6cf0);border-color:transparent;color:#fff}
.ged-ask .ged-ask-b .danger{background:#d93b3b;border-color:transparent;color:#fff}

/* ===== M34 (26/09): corrigir/arquivar produto no Estoque ===== */
.ops-stock{position:relative}
.ops-stock .m34-manage{position:absolute;top:6px;right:4px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--m3-muted,#8a8fa3);border-radius:12px;cursor:pointer}
.ops-stock .m34-manage:focus-visible{outline:2px solid var(--m3-accent,#7c6cf0)}
.ops-stock:has(.m34-manage) .ops-qty{margin-right:40px}
.m34-sheet .m34-f{display:grid;gap:12px;padding:4px 2px 6px}
.m34-sheet h2{margin:4px 0 0;font-size:19px}
.m34-sheet label{display:grid;gap:6px;font-size:13px;color:var(--m3-muted,#8a8fa3)}
.m34-sheet input{height:48px;border-radius:14px;border:1px solid var(--m3-line,rgba(127,127,127,.25));background:transparent;color:var(--m3-ink,inherit);padding:0 14px;font:inherit;font-size:16px}
.m34-sheet .m34-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m34-sheet .m34-msg{margin:0;min-height:18px;font-size:13.5px;color:var(--m3-muted,#8a8fa3)}
.m34-sheet .m34-b{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.m34-sheet .m34-b button{min-height:48px;border-radius:14px;border:1px solid var(--m3-line,rgba(127,127,127,.25));background:transparent;color:inherit;font:inherit;font-weight:600;font-size:14px}
.m34-sheet .m34-b .primary{background:var(--m3-accent,#7c6cf0);border-color:transparent;color:#fff}
.m34-sheet .m34-b .danger-ghost{color:#d93b3b;border-color:color-mix(in srgb,#d93b3b 40%,transparent)}

/* ===== M35 (26/09): Despesas abrem o detalhe; selo de situação ===== */
#desp-list .m35-open{cursor:pointer}
#desp-list .m35-open:focus-visible{outline:2px solid var(--accent,#7c6cf0);outline-offset:2px;border-radius:12px}
#desp-list .m35-tag{font-weight:600}
#desp-list .m35-tag.is-late{color:var(--bad,#e5484d)}
#desp-list .m35-tag.is-ok{color:var(--mint,#2fbf71)}
.m38-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9999;background:#1c1c1e;color:#fff;border-radius:12px;padding:10px 14px;font-size:14px;box-shadow:0 8px 30px #0006;max-width:90vw}
.cu-agenda{margin:4px 0 12px;padding:12px 14px;border-radius:14px;background:var(--fill-2,rgba(120,120,128,.12))}.cu-agenda h3{margin:0 0 8px;font-size:15px}.cu-agenda ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cu-agenda li{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.cu-agenda li b{font-weight:600;overflow-wrap:anywhere}.cu-agenda li small{color:var(--label-2,#8e8e93);white-space:nowrap}.cu-agenda p{margin:4px 0 0;font-size:13px}
.m41-confirm{border:0;border-radius:18px;padding:20px;max-width:min(420px,92vw);background:var(--bg-2,#1c1c1e);color:inherit;box-shadow:0 20px 60px #0008}.m41-confirm::backdrop{background:#0008}.m41-confirm h2{margin:0 0 8px;font-size:18px}.m41-confirm p{margin:0 0 16px;line-height:1.45;color:var(--label-2,#aeaeb2)}.m41-act{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.m41-act .cta.m41-danger{background:#ff453a;border-color:#ff453a;color:#fff}

/* M-B21 (27/09): Trocar empresa no menu da conta — aparência neutra (não é ação destrutiva) */
.account-card .account-switch{color:var(--label,inherit)!important;background:var(--fill-2,transparent)!important;border:1px solid var(--separator,rgba(127,127,127,.35))!important;margin-bottom:10px}
/* P1_fluidez (27/09, HC "alinhar à direita e aumentar um pouco o logotipo"): na Home o avatar do topo fica
   invisível (o da faixa da saudação o substitui) mas ainda ocupava lugar e deixava olho/lua/sino longe da borda.
   Sem ele, as ferramentas encostam à direita, alinhadas ao cartão. Logo 34 → 40 px (ao rolar volta a 34). */
html body:has(#c-home.on) .top .ava{display:none}
html .top img.top-logo.top-logo{height:40px!important}
html.oxui-scrolled .top img.top-logo.top-logo{height:34px!important}
.m3-al-more{margin:6px 4px 10px;color:var(--muted,#9aa3b2);font-size:12.5px;list-style:none}
/* P2_plataforma (27/09): contas ativas da OXXY.ai */
.pf-box{margin:14px 16px 18px;padding:16px;border-radius:22px;background:var(--card,rgba(255,255,255,.04));border:1px solid var(--line,rgba(255,255,255,.08))}
.pf-h h2{margin:0;font-size:18px;font-weight:800}.pf-h small{color:var(--muted,#9aa3b2);font-size:12.5px}
.pf-grp{margin-top:14px}.pf-grp h3{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9aa3b2);font-weight:700}
.pf-grp ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pf-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--card2,rgba(255,255,255,.035));border:1px solid var(--line,rgba(255,255,255,.06))}
.pf-ava{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:13px;background:linear-gradient(135deg,rgba(99,102,241,.35),rgba(236,72,153,.35))}
.pf-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pf-tx b{font-size:15px}.pf-tx small{color:var(--muted,#9aa3b2);font-size:12px}
.pf-note{color:var(--muted,#9aa3b2);font-size:11.5px}
.pf-go{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:12px;border:1px solid rgba(129,140,248,.5);background:rgba(129,140,248,.14);color:inherit;font-weight:700;font-size:13px}
.pf-empty{margin:0;color:var(--muted,#9aa3b2);font-size:12.5px}
.pf-row.pf-child{margin-left:22px;position:relative}.pf-row.pf-child::before{content:"";position:absolute;left:-14px;top:-8px;bottom:50%;width:10px;border-left:2px solid var(--line,rgba(255,255,255,.14));border-bottom:2px solid var(--line,rgba(255,255,255,.14));border-bottom-left-radius:8px}
.pf-row.pf-pending{border-style:dashed}
/* Astra-B: keep product correction fields/actions inside narrow sheets. */
.m34-sheet .m34-f,.m34-sheet label{min-width:0}
.m34-sheet input{min-width:0;width:100%;box-sizing:border-box}
.m34-sheet .m34-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.m34-sheet .m34-b{grid-template-columns:repeat(3,minmax(0,1fr))}
.m34-sheet .m34-b button{min-width:0;overflow-wrap:anywhere}
.m34-sheet .m34-msg{overflow-wrap:anywhere}

/* CLAUDE-POLIMENTO-MOBILE-67: portão de entrada no app e no celular. Com justify-content:center, quando o conteúdo passa da altura da tela o topo (logo) vaza para cima e a rolagem não alcança. Os 2 espaçadores centralizam quando cabe e somem quando não cabe; aí o conteúdo começa no topo e rola até o fim. */
html[data-entry="app"] #clinic-auth-gate:not([hidden]),html[data-entry="phone"] #clinic-auth-gate:not([hidden]){justify-content:flex-start!important}
html[data-entry="app"] #clinic-auth-gate:not([hidden])::before,html[data-entry="app"] #clinic-auth-gate:not([hidden])::after,html[data-entry="phone"] #clinic-auth-gate:not([hidden])::before,html[data-entry="phone"] #clinic-auth-gate:not([hidden])::after{content:"";flex:1 0 0;min-height:0}
html[data-entry="app"] #clinic-auth-gate>*,html[data-entry="phone"] #clinic-auth-gate>*{flex-shrink:0}

/* Hidden rotation advice must not intercept the original Finance return path. */
#app95-rotate[hidden]{display:none!important;pointer-events:none}
