/* Uai Agendei — app do cliente no desenho do canvas "Redesign 2026" (src/app-canvas.js).
   Uma folha só para as telas do canvas: nas páginas inteiras do canvas ela é a única carregada;
   nas outras páginas do mesmo nicho ela desenha só a moldura (voltar, "N de 4" e a barra de baixo).
   Cores: tokens do tema (--t-*) que o servidor grava no <body>; o tema escolhido em Meu app continua valendo. */
@import url('/css/fonts-2026.css');

body[data-app-canvas]{
  --cv-sans:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --cv-titulo:var(--cv-sans);
  --cv-titulo-peso:800;
  --cv-pad:24px;
  --cv-raio:14px;
  --cv-ink:var(--t-ink,#021e52);
  --cv-muted:var(--t-muted,#61708a);
  --cv-faint:var(--t-faint,#8691a4);
  --cv-line:var(--t-line,#e4e7ed);
  --cv-line2:var(--t-line2,#d0d5df);
  --cv-bg:var(--t-bg,#ffffff);
  --cv-acc:var(--t-acc,#fe5c02);
  --cv-acc-ink:var(--t-acc-ink,#cb4a02);
  --cv-btn:var(--t-btn,#c94902);
  --cv-btn-ink:var(--t-btn-ink,#ffffff);
  --cv-soft:var(--t-surface2,#f6f7f9);
}
body[data-app-canvas][data-nicho="barbearia"]{--cv-titulo:'DM Serif Display',Georgia,'Times New Roman',serif;--cv-titulo-peso:400}
/* tipografia e forma de cada nicho, como no canvas */
body[data-app-canvas]:is([data-nicho="beleza"],[data-nicho="nutricao"],[data-nicho="psicologia"]){--cv-titulo:'Fraunces','Iowan Old Style',Georgia,serif;--cv-titulo-peso:400}
body[data-app-canvas][data-nicho="beleza"]{--cv-raio:27px}
body[data-app-canvas][data-nicho="pet"]{--cv-titulo-peso:800}
body[data-app-canvas][data-nicho="fisioterapia"]{--cv-titulo-peso:700}
body[data-app-canvas][data-nicho="oficina"]{--cv-titulo:'Barlow Condensed','Arial Narrow','Roboto Condensed',sans-serif;--cv-titulo-peso:700}
body[data-app-canvas][data-nicho="oficina"] :is(.cv-nome,.cv-titulo,.cv-prof-nome){letter-spacing:0;line-height:1}
body[data-app-canvas][data-nicho="educacao_fisica"]{--cv-titulo:'Barlow Condensed','Arial Narrow','Roboto Condensed',sans-serif;--cv-titulo-peso:700}
body[data-app-canvas][data-nicho="educacao_fisica"] :is(.cv-nome,.cv-titulo,.cv-prof-nome){text-transform:uppercase;letter-spacing:0;line-height:.95}
body[data-app-canvas][data-nicho="educacao_fisica"] .cv-nome{font-size:52px}
body[data-app-canvas]:is([data-nicho="beleza"],[data-nicho="nutricao"]) .cv-logo{border-radius:50%}
body[data-app-canvas][data-nicho="beleza"] .cv-nome{font-size:42px;letter-spacing:-.02em}
body[data-app-canvas][data-nicho="pet"] .cv-nome{font-size:38px;letter-spacing:-.03em;line-height:1.05}

/* ---------- base (só nas páginas inteiras do canvas, onde nenhuma outra folha é carregada) ---------- */
body[data-app-canvas="pagina"]{margin:0;min-height:100dvh;background:var(--cv-bg);color:var(--cv-ink);font-family:var(--cv-sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
:where(body[data-app-canvas="pagina"]) :where(*,*::before,*::after){box-sizing:border-box}
:where(body[data-app-canvas="pagina"]) :where(h1,h2,h3,p,dl,dd,figure,fieldset){margin:0}
:where(body[data-app-canvas="pagina"]) :where(fieldset){padding:0;border:0;min-width:0}
:where(body[data-app-canvas="pagina"]) :where(img){display:block;max-width:100%}
:where(body[data-app-canvas="pagina"]) :where(a){color:var(--cv-acc-ink)}
:where(body[data-app-canvas="pagina"]) :where(button,input,select,textarea){font:inherit;color:inherit}
body[data-app-canvas] :focus-visible{outline:2px solid var(--cv-acc);outline-offset:2px;border-radius:6px}
body[data-app-canvas] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body[data-app-canvas] .skip-link{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--cv-ink);color:var(--cv-bg)}
body[data-app-canvas] .skip-link:focus{left:12px}

/* ---------- moldura ---------- */
body[data-app-canvas] .cv-app{position:relative;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;padding:0 0 calc(96px + env(safe-area-inset-bottom));background:var(--cv-bg)}
body[data-app-canvas] .cv-conteudo{display:block;padding:0;outline:none}
body[data-app-canvas] .cv-barra{display:flex;align-items:center;justify-content:space-between;padding:calc(20px + env(safe-area-inset-top)) var(--cv-pad) 0}
body[data-app-canvas] .cv-voltar{width:44px;height:44px;margin-left:-12px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--cv-ink);text-decoration:none}
body[data-app-canvas] .cv-voltar:hover{background:var(--cv-soft)}
body[data-app-canvas] .cv-passo{font-size:13px;font-weight:600;color:var(--cv-muted)}
body[data-app-canvas] .cv-nav{position:fixed;left:50%;bottom:0;z-index:40;transform:translateX(-50%);width:100%;max-width:480px;height:calc(80px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;align-items:flex-start;padding:0 8px env(safe-area-inset-bottom);border-top:1px solid var(--cv-line);background:var(--cv-bg);font-family:var(--cv-sans)}
body[data-app-canvas] .cv-nav a{min-width:88px;min-height:52px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--cv-muted);text-decoration:none}
body[data-app-canvas] .cv-nav a.is-on{color:var(--cv-acc-ink)}

/* ---------- blocos ---------- */
.cv-pagina{display:flex;flex-direction:column;padding:0 var(--cv-pad)}
.cv-titulo{margin:20px 0 0;font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:36px;line-height:1.05;letter-spacing:-.01em;color:var(--cv-ink);text-wrap:balance}
.cv-titulo--perto{margin-top:14px;font-size:34px}
.cv-titulo--grande{font-size:40px;line-height:1.02}
.cv-lead{margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--cv-muted)}
.cv-lead--curto{margin-top:8px;font-size:14px}
.cv-rotulo{margin-top:32px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-muted)}
.cv-rotulo-linha{margin-top:22px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.cv-rotulo-linha .cv-rotulo{margin:0}
.cv-rotulo-linha a{font-size:13px;font-weight:600;color:var(--cv-acc-ink);text-decoration:none}
.cv-aviso{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--cv-muted)}
.cv-erro{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#fdecec;color:#9f1c1c;font-size:14px;line-height:1.45}
.cv-vazio{margin:14px 0 0;font-size:15px;color:var(--cv-muted)}
.cv-link{font-size:14px;font-weight:600;color:var(--cv-acc-ink);text-decoration:none}

.cv-btn{appearance:none;width:100%;height:54px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:0;border-radius:var(--cv-raio);background:var(--cv-btn);color:var(--cv-btn-ink);font-family:var(--cv-sans);font-size:16px;font-weight:700;line-height:1;text-align:center;text-decoration:none;cursor:pointer;transition:filter .15s}
.cv-btn:hover{filter:brightness(1.06)}
.cv-btn:active{filter:brightness(.94)}
.cv-btn[hidden]{display:none}
.cv-btn--linha{margin-top:16px;background:transparent;color:var(--cv-ink);box-shadow:inset 0 0 0 1.5px var(--cv-line2)}
.cv-btn--topo{margin-top:28px}
.cv-rodape{position:fixed;left:50%;bottom:0;z-index:40;transform:translateX(-50%);width:100%;max-width:480px;padding:16px var(--cv-pad) calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--cv-line);background:var(--cv-bg)}

.cv-links{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px}
.cv-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-ink);text-decoration:none}
.cv-links a:hover{color:var(--cv-acc-ink)}

/* listas em linhas finas: serviços, histórico, atalhos */
.cv-lista{margin-top:4px;display:flex;flex-direction:column}
.cv-lista--topo{margin-top:20px;border-top:1px solid var(--cv-line)}
.cv-linha{min-height:72px;display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--cv-line);color:var(--cv-ink);text-decoration:none}
a.cv-linha:hover .cv-linha__texto b{color:var(--cv-acc-ink)}
.cv-linha__texto{flex:1 1 auto;min-width:0}
.cv-linha__texto b{display:block;font-size:16px;font-weight:600;line-height:1.3;color:var(--cv-ink)}
.cv-linha__texto small{display:block;margin-top:3px;font-size:13px;color:var(--cv-muted)}
.cv-linha__valor{flex:0 0 auto;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.cv-linha__acao{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-acc-ink);text-decoration:none}
.cv-linha__seta{flex:0 0 auto;color:var(--cv-faint)}
.cv-servico__foto{flex:0 0 52px;width:52px;height:52px;border-radius:10px;overflow:hidden;background:var(--cv-soft)}
.cv-servico__foto img{width:100%;height:100%;object-fit:cover}

/* ---------- início ---------- */
.cv-topo-home{padding:calc(32px + env(safe-area-inset-top)) var(--cv-pad) 0}
.cv-logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:var(--cv-btn);color:var(--cv-btn-ink);font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:22px;line-height:1}
.cv-logo img{width:100%;height:100%;object-fit:cover;background:#fff}
.cv-nome{margin:40px 0 0;font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:40px;line-height:1.02;letter-spacing:-.01em;color:var(--cv-ink);text-wrap:balance;overflow-wrap:anywhere}
.cv-meta{margin:14px 0 0;font-size:14px;color:var(--cv-muted)}
.cv-home__cta{margin-top:32px}
.cv-home .cv-rotulo{margin-top:40px}
.cv-home .cv-aviso:first-child{margin-top:24px}

/* ---------- 1 de 4: profissional ---------- */
.cv-retratos{margin-top:20px;display:flex;gap:12px;overflow-x:auto;padding:2px var(--cv-pad) 4px;scroll-snap-type:x proximity;scrollbar-width:none}
.cv-retratos::-webkit-scrollbar{display:none}
.cv-retrato{position:relative;flex:0 0 104px;width:104px;height:144px;overflow:hidden;border-radius:18px;border:2px solid transparent;background:var(--cv-soft);opacity:.62;scroll-snap-align:start;text-decoration:none;transition:opacity .15s,border-color .15s}
.cv-retrato:hover{opacity:.85}
.cv-retrato.is-on{opacity:1;border-color:var(--cv-acc)}
.cv-retrato img{width:100%;height:100%;object-fit:cover}
.cv-retrato::after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72))}
.cv-retrato__nome{position:absolute;left:12px;right:8px;bottom:10px;z-index:1;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-retrato__letra,.cv-retrato__icone{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:22px;font-family:var(--cv-titulo);font-size:44px;color:var(--cv-ink)}
.cv-retrato--equipe{background:var(--cv-ink)}
.cv-retrato--equipe .cv-retrato__icone{color:#fff}
.cv-prof-detalhe[hidden]{display:none}
.cv-prof-nome{margin-top:22px;font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:26px;line-height:1.15;color:var(--cv-ink)}
.cv-prof-esp{margin-top:6px;font-size:14px;color:var(--cv-muted)}
.cv-mosaico{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:106px 106px;gap:6px}
.cv-mosaico--1{grid-template-rows:212px}
.cv-mosaico__foto{position:relative;display:block;overflow:hidden;border-radius:16px;background:var(--cv-soft)}
.cv-mosaico__foto img{width:100%;height:100%;object-fit:cover}
.cv-mosaico__foto--grande{grid-column:span 2;grid-row:span 2}
.cv-mosaico--1 .cv-mosaico__foto--grande{grid-column:span 3;grid-row:span 1}
.cv-mosaico--2 .cv-mosaico__foto:not(.cv-mosaico__foto--grande){grid-row:span 2}
.cv-mosaico__foto--grande::after{content:"";position:absolute;inset:auto 0 0;height:80px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.cv-mosaico__legenda{position:absolute;left:10px;right:8px;bottom:8px;z-index:1;font-size:11px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cv-mosaico__foto--grande .cv-mosaico__legenda{left:14px;bottom:12px;font-size:13px}
.cv-mosaico__mais{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);font-size:16px;font-weight:700;color:#fff}
.cv-galeria{position:fixed;inset:0;z-index:60;display:none;flex-direction:column;background:var(--cv-bg);overflow-y:auto}
.cv-galeria:target{display:flex}
.cv-galeria__topo{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) var(--cv-pad) 14px;background:var(--cv-bg);border-bottom:1px solid var(--cv-line)}
.cv-galeria__topo b{font-size:16px;font-weight:700}
.cv-galeria__topo a{width:44px;height:44px;margin-right:-10px;display:flex;align-items:center;justify-content:center;color:var(--cv-ink)}
.cv-galeria__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px var(--cv-pad) 32px}
.cv-galeria__grade figure{position:relative;aspect-ratio:1;overflow:hidden;border-radius:14px;background:var(--cv-soft)}
.cv-galeria__grade img{width:100%;height:100%;object-fit:cover}
.cv-galeria__grade figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 8px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.66));font-size:12px;font-weight:600;color:#fff}
/* Trabalhos do profissional na etapa de horário: faixa rolável, sem empurrar os horários */
.cv-trabalhos .cv-rotulo-linha{margin-top:18px}
.cv-trabalhos .cv-rotulo{min-width:0;overflow-wrap:anywhere}
.cv-trabalhos .cv-rotulo-linha a{flex:none}
.cv-trabalhos__fila{margin:10px calc(var(--cv-pad) * -1) 0;padding:0 var(--cv-pad) 4px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--cv-pad);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cv-trabalhos__fila::-webkit-scrollbar{display:none}
.cv-trabalhos__foto{flex:0 0 112px;height:112px;display:block;overflow:hidden;border-radius:16px;background:var(--cv-soft);scroll-snap-align:start;box-shadow:0 0 0 1px var(--cv-line)}
.cv-trabalhos__foto:first-child{flex-basis:148px}
.cv-trabalhos__foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.cv-trabalhos__foto:hover img{transform:scale(1.04)}
.cv-trabalhos__foto:focus-visible{outline:3px solid var(--cv-acc-ink);outline-offset:2px}

/* ---------- 2 de 4: horário ---------- */
.cv-escolha{min-height:52px;display:flex;align-items:center;gap:12px;padding:14px 0 16px;border-bottom:1px solid var(--cv-line);font-size:15px}
.cv-pagina>.cv-escolha:first-of-type{margin-top:24px;padding-top:0}
.cv-escolha--quem{padding-top:14px}
.cv-escolha__texto{flex:1 1 auto;min-width:0;color:var(--cv-ink)}
.cv-escolha__texto b{font-weight:600}
.cv-escolha__texto span{color:var(--cv-muted)}
.cv-escolha a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-acc-ink);text-decoration:none}
.cv-avatar{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;border:1.5px solid var(--cv-acc);background:var(--cv-soft);font-size:14px;font-weight:700;color:var(--cv-ink)}
.cv-avatar img{width:100%;height:100%;object-fit:cover}
.cv-dias{margin:12px calc(var(--cv-pad) * -1) 0;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5 * 8px) / 6);gap:8px;overflow-x:auto;padding:0 var(--cv-pad) 4px;scroll-snap-type:x proximity;scroll-padding:0 var(--cv-pad);scrollbar-width:none}
.cv-dias::-webkit-scrollbar{display:none}
.cv-dia{display:flex;flex-direction:column;align-items:center;gap:6px;scroll-snap-align:start;text-decoration:none}
.cv-dia small{font-size:11px;font-weight:600;color:var(--cv-muted)}
.cv-dia b{width:min(44px,100%);height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cv-ink);transition:background .15s}
.cv-dia:hover b{background:var(--cv-soft)}
.cv-dia.is-fechado b{color:var(--cv-faint);font-weight:600}
.cv-dia.is-on b{background:var(--cv-btn);color:var(--cv-btn-ink)}
.cv-horas fieldset{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cv-hora{position:relative;display:block;cursor:pointer}
.cv-hora input{position:absolute;opacity:0;pointer-events:none}
.cv-hora span{height:44px;display:flex;align-items:center;justify-content:center;border-radius:22px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cv-ink);transition:background .15s,color .15s}
.cv-hora:hover span{background:var(--cv-soft)}
.cv-hora input:checked+span{background:var(--cv-ink);color:var(--cv-bg)}
.cv-hora input:focus-visible+span{outline:2px solid var(--cv-acc);outline-offset:2px}
.cv-sem-vaga{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.cv-sem-vaga b{font-size:16px;font-weight:600}
.cv-sem-vaga p{font-size:14px;color:var(--cv-muted)}
.cv-sem-vaga .cv-link{margin-top:14px}

/* ---------- 3 de 4: dados ---------- */
.cv-form{margin-top:28px;display:flex;flex-direction:column;gap:22px}
.cv-campo{display:flex;flex-direction:column;gap:6px}
.cv-campo label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-muted)}
.cv-campo input{appearance:none;width:100%;height:44px;padding:0;border:0;border-bottom:1px solid var(--cv-line2);border-radius:0;background:transparent;font-size:18px;color:var(--cv-ink);outline:none;transition:border-color .15s}
.cv-campo input::placeholder{color:var(--cv-faint)}
.cv-campo input:focus{border-bottom:2px solid var(--cv-acc);margin-bottom:-1px}
.cv-campo small{font-size:12px;line-height:1.5;color:var(--cv-muted)}
.cv-campo small a{font-weight:600;text-decoration:none}
.cv-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.45;color:var(--cv-ink);cursor:pointer}
.cv-check input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--cv-btn)}
.cv-check a{font-weight:600;text-decoration:none}
.cv-form .cv-check+.cv-check{margin-top:-8px}
.cv-mais summary{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-acc-ink);cursor:pointer;list-style:none}
.cv-mais summary::-webkit-details-marker{display:none}
.cv-mais[open] summary{margin-bottom:10px}
.cv-mais .cv-campo+.cv-campo{margin-top:18px}
.cv-logado{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--cv-line)}
.cv-logado b{display:block;font-size:16px;font-weight:600}
.cv-logado small{display:block;font-size:13px;color:var(--cv-muted)}
.cv-resumo{margin-top:8px;font-size:15px}
.cv-resumo div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--cv-line)}
.cv-resumo div:last-child{border-bottom:0}
.cv-resumo dt{flex:0 0 auto;color:var(--cv-muted)}
.cv-resumo dd{min-width:0;text-align:right;color:var(--cv-ink);overflow-wrap:anywhere}
.cv-resumo b{font-weight:700}

/* ---------- confirmado ---------- */
.cv-confirmado{min-height:calc(100dvh - 24px);padding-top:calc(96px + env(safe-area-inset-top))}
.cv-selo{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--cv-acc);color:var(--cv-acc-ink)}
.cv-confirmado .cv-titulo{margin-top:28px}
.cv-resumo--topo{margin-top:36px;border-top:1px solid var(--cv-line)}
.cv-resumo--topo div{padding:14px 0;border-bottom:1px solid var(--cv-line)}
.cv-resumo--topo div:last-child{border-bottom:1px solid var(--cv-line)}
.cv-codigo{font-variant-numeric:tabular-nums;letter-spacing:.06em}
.cv-confirmado__acoes{margin-top:auto;padding:36px 0 calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.cv-confirmado__acoes .cv-links{margin-top:6px}
body[data-app-canvas] .cv-app:has(.cv-rodape){padding-bottom:calc(124px + env(safe-area-inset-bottom))}
body[data-app-canvas] .cv-app:has(.cv-confirmado){padding-bottom:0}

/* ---------- meus horários ---------- */
.cv-proximo{margin-top:14px;display:flex;align-items:baseline;gap:14px}
.cv-proximo__dia{flex:0 0 auto;font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:56px;line-height:1;color:var(--cv-acc-ink);font-variant-numeric:tabular-nums}
.cv-proximo b{display:block;font-size:17px;font-weight:600}
.cv-proximo small{display:block;margin-top:3px;font-size:14px;color:var(--cv-muted)}
.cv-proximo small.cv-proximo__status{font-size:12px}
.cv-acoes{margin-top:18px;padding-bottom:20px;border-bottom:1px solid var(--cv-line);display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.cv-acoes>a,.cv-acoes button{min-height:44px;display:inline-flex;align-items:center;padding:0;border:0;background:none;font-size:14px;font-weight:600;color:var(--cv-ink);text-decoration:none;cursor:pointer}
.cv-acoes>a:first-child{color:var(--cv-acc-ink)}
.cv-acoes form{display:contents}
.cv-acoes .cv-acao-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-ink);text-decoration:none}
.cv-confirmar .cv-btn{margin-top:16px}
.cv-remarcar{margin-top:8px;padding-bottom:24px;border-bottom:1px solid var(--cv-line)}
.cv-remarcar .cv-horas .cv-btn{margin-top:18px}
.cv-chips{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.cv-chip{min-height:38px;display:inline-flex;align-items:center;padding:0 14px;border-radius:19px;box-shadow:inset 0 0 0 1.5px var(--cv-line2);font-size:14px;font-weight:600;color:var(--cv-ink);text-decoration:none}
.cv-chip.is-on{background:var(--cv-ink);color:var(--cv-bg);box-shadow:none}
.cv-sair{margin-top:28px;display:flex;justify-content:center}
.cv-sair form{display:contents}
.cv-sair button{min-height:44px;padding:0 12px;border:0;background:none;font-size:14px;font-weight:600;color:var(--cv-muted);cursor:pointer}

/* Blocos da conta que vêm do motor (fidelidade, pacotes, clube, cupons, preferências e calendário),
   no mesmo traço do canvas: títulos em caixa alta, linhas finas e botões do tema. */
.cv-extras .app-secao{margin-top:32px}
.cv-extras :is(.app-secao__head){display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.cv-extras :is(.app-secao__head small,.app-card>small){display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-muted)}
.cv-extras :is(h3,.app-subtitulo){margin:0;font-size:17px;font-weight:600;color:var(--cv-ink)}
.cv-extras :is(.app-card,.app-fidelidade){margin-top:8px;padding:16px 0;border-top:1px solid var(--cv-line);border-bottom:1px solid var(--cv-line)}
.cv-extras .app-fidelidade{display:flex;flex-direction:column;gap:4px}
.cv-extras .app-fidelidade small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-muted)}
.cv-extras .app-fidelidade b{font-family:var(--cv-titulo);font-weight:var(--cv-titulo-peso);font-size:26px;color:var(--cv-acc-ink)}
.cv-extras .app-fidelidade svg{display:none}
.cv-extras :is(p,.app-muted){margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--cv-muted)}
.cv-extras .app-servicos-grid{display:flex;flex-direction:column}
.cv-extras .app-servico-card{display:block;padding:14px 0;border-bottom:1px solid var(--cv-line)}
.cv-extras .app-servico-card__body{display:flex;flex-direction:column;gap:3px}
.cv-extras .app-servico-card__body b{font-size:16px;font-weight:600}
.cv-extras .app-servico-card__body small{font-size:13px;color:var(--cv-muted)}
.cv-extras .app-servico-card__meta{display:flex;gap:10px}
.cv-extras .app-aviso{margin-top:8px;font-size:13px;color:var(--cv-muted)}
.cv-extras .app-contador,.cv-extras .app-status{font-size:12px;font-weight:600;color:var(--cv-muted)}
.cv-extras form{margin:0}
.cv-extras .app-check{display:flex;align-items:flex-start;gap:12px;margin-top:12px;font-size:14px;line-height:1.45}
.cv-extras .app-check input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--cv-btn)}
.cv-extras textarea{width:100%;margin-top:10px;padding:10px 12px;border:1px solid var(--cv-line2);border-radius:12px;background:transparent;font-size:13px;color:var(--cv-ink);resize:none}
.cv-extras .app-btn{appearance:none;min-height:44px;margin-top:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:0;border-radius:12px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--cv-line2);font-size:14px;font-weight:600;color:var(--cv-ink);text-decoration:none;cursor:pointer}
.cv-extras .app-btn--cheio{background:var(--cv-btn);color:var(--cv-btn-ink);box-shadow:none}
.cv-extras .app-btn--texto{box-shadow:none;padding:0;color:var(--cv-acc-ink)}
.cv-extras .mt{margin-top:8px}

/* ---------- avisos de privacidade (cookies) no desenho do canvas ---------- */
body[data-app-canvas] .cookie-consent{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:80;transform:translateX(-50%);width:calc(100% - 32px);max-width:448px;font-family:var(--cv-sans)}
body[data-app-canvas] .cookie-consent__box{padding:16px;border:1px solid var(--cv-line);border-radius:16px;background:var(--cv-bg);box-shadow:0 12px 40px rgba(2,30,82,.14);color:var(--cv-ink)}
body[data-app-canvas] .cookie-consent__box b{font-size:15px}
body[data-app-canvas] .cookie-consent__box p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--cv-muted)}
body[data-app-canvas] .cookie-consent__box>div>a,body[data-app-canvas] .cookie-consent__copy a{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:var(--cv-acc-ink)}
body[data-app-canvas] .cookie-consent__actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
body[data-app-canvas] .cookie-consent .btn{min-height:44px;padding:0 12px;border:0;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer}
body[data-app-canvas] .cookie-consent .btn--ghost{background:transparent;color:var(--cv-ink);box-shadow:inset 0 0 0 1.5px var(--cv-line2)}
body[data-app-canvas] .cookie-consent .btn--primary{background:var(--cv-btn);color:var(--cv-btn-ink)}
body[data-app-canvas] .cookie-consent details{margin-top:10px;font-size:13px}
body[data-app-canvas] .cookie-consent summary{cursor:pointer;font-weight:600;color:var(--cv-muted)}
body[data-app-canvas] .cookie-consent__prefs{display:flex;flex-direction:column;gap:6px;margin-top:8px}
body[data-app-canvas] .cookie-consent__save{margin-top:8px;width:100%}

/* tela larga: coluna do celular no centro */
@media (min-width:520px){
  body[data-app-canvas="pagina"]{background:var(--cv-soft)}
  body[data-app-canvas] .cv-app{box-shadow:0 0 0 1px var(--cv-line)}
}
@media (max-width:360px){
  body[data-app-canvas]{--cv-pad:20px}
  .cv-nome,.cv-titulo--grande{font-size:34px}
  .cv-titulo{font-size:31px}
  .cv-horas fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){body[data-app-canvas] *{transition:none!important;scroll-behavior:auto!important}}

/* ---------- peças que o /js/app.js cria (barra de progresso, aviso rápido e sem internet) ---------- */
body[data-app-canvas] #uaiProgresso{position:fixed;top:0;left:0;z-index:90;height:2px;width:0;background:var(--cv-acc);opacity:0;transition:width .3s ease,opacity .2s}
body[data-app-canvas] #uaiProgresso.is-ativo{opacity:1}
body[data-app-canvas] .app-premium-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:85;transform:translate(-50%,20px);width:calc(100% - 32px);max-width:448px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:var(--cv-ink);color:var(--cv-bg);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
body[data-app-canvas] .app-premium-toast.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
body[data-app-canvas] .app-premium-toast button{border:0;background:none;color:inherit;font-weight:700;cursor:pointer}
body[data-app-canvas] .app-network-banner{position:fixed;top:0;left:0;right:0;z-index:95;padding:8px 16px;background:var(--cv-ink);color:var(--cv-bg);font-size:13px;text-align:center}
body[data-app-canvas] .app-network-banner:not(.is-visible){display:none}
body[data-app-canvas] .cv-btn.is-loading{opacity:.7;cursor:progress}
/* páginas sem a barra de voltar (início sem capa, meus horários): respiro de cima como no canvas */
body[data-app-canvas] .cv-app>.cv-conteudo:first-child>.cv-pagina:first-child{padding-top:calc(12px + env(safe-area-inset-top))}

/* ---------- início por nicho ---------- */
/* beleza: abas de categoria */
.cv-abas{margin-top:36px;display:flex;gap:20px;overflow-x:auto;border-bottom:1px solid var(--cv-line);scrollbar-width:none}
.cv-abas::-webkit-scrollbar{display:none}
.cv-abas a{flex:0 0 auto;min-height:44px;display:flex;align-items:flex-end;padding-bottom:10px;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:14px;font-weight:600;color:var(--cv-muted);text-decoration:none;white-space:nowrap}
.cv-abas a.is-on{border-bottom-color:var(--cv-ink);color:var(--cv-ink)}
/* pet: o pet da vez */
.cv-pet{margin-top:32px;display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--cv-line);border-bottom:1px solid var(--cv-line)}
.cv-pet__letra{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffe7b0;color:#8a5a00;font-weight:800}
.cv-pet .cv-linha__texto b{font-weight:700}
.cv-pet__info.is-alerta{color:#9a5200}
.cv-pet a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:700;color:var(--cv-acc-ink);text-decoration:none}
.cv-home__cta--pet{margin-top:20px}
/* nutrição e personal: o que o cliente tem a fazer */
.cv-cliente{margin-top:28px}
.cv-cliente .cv-linha{min-height:76px}
.cv-cliente .cv-linha__acao{font-weight:700;color:var(--cv-acc-ink)}
.cv-linha__acao--pilula{min-height:36px;padding:0 12px;border-radius:10px;background:var(--cv-btn-ink);color:var(--cv-ink)!important}
body[data-app-canvas]:not([data-nicho="educacao_fisica"]) .cv-linha__acao--pilula{background:var(--cv-soft)}
.cv-barra-progresso{display:block;height:4px;margin-top:10px;border-radius:2px;background:var(--cv-line)}
.cv-barra-progresso i{display:block;height:100%;border-radius:2px;background:var(--cv-ink)}

/* campos do motor dentro do formulário do canvas (ex.: pet no banho e tosa) */
.cv-form .app-campo{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;border:0;min-width:0}
.cv-form .app-campo>label:not(.app-legal),.cv-form .app-pet legend{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-muted)}
.cv-form .app-pet legend{margin-bottom:6px;padding:0}
.cv-form .app-pet legend b{font-weight:600}
.cv-form .app-campo :is(input:not([type=radio]):not([type=checkbox]),select){appearance:none;width:100%;height:44px;padding:0;border:0;border-bottom:1px solid var(--cv-line2);border-radius:0;background:transparent;font-size:18px;color:var(--cv-ink);outline:none}
.cv-form .app-campo :is(input,select):focus{border-bottom-color:var(--cv-acc)}
.cv-form .app-legal{min-height:44px;font-size:15px;letter-spacing:0;text-transform:none;color:var(--cv-ink)}
.cv-form .app-legal b{font-weight:600}
.cv-form .app-legal input{width:20px;height:20px;margin:0;accent-color:var(--cv-btn)}
.cv-form .app-pet .app-mais summary{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-acc-ink);cursor:pointer}
.cv-form .app-pet .app-mais .app-campo+.app-campo{margin-top:16px}

/* ---------- clínica ---------- */
body[data-app-canvas][data-nicho="clinica"]{--cv-titulo-peso:700}
body[data-app-canvas][data-nicho="clinica"] .cv-nome{font-size:36px;line-height:1.08;letter-spacing:-.03em}
.cv-titulo--clinica{margin-top:12px;font-family:var(--cv-sans);font-weight:700;font-size:30px;line-height:1.1;letter-spacing:-.03em}
.cv-busca{margin-top:28px;height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid var(--cv-line2);border-radius:14px;color:var(--cv-muted)}
.cv-busca:focus-within{border-color:var(--cv-acc)}
.cv-busca input{flex:1 1 auto;min-width:0;height:100%;border:0;background:transparent;font-size:15px;color:var(--cv-ink);outline:none}
.cv-busca input::-webkit-search-cancel-button{cursor:pointer}
.cv-home--clinica .cv-links{margin-top:12px}
.cv-home--clinica .cv-rotulo{margin-top:28px}
.cv-medico__foto{flex:0 0 52px;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--cv-soft)}
.cv-medico__foto img{width:100%;height:100%;object-fit:cover}
.cv-medico__prox{flex:0 0 auto;text-align:right;font-size:12px;line-height:1.35;color:var(--cv-muted)}
.cv-medico__prox b{display:block;font-size:14px;font-weight:700;color:var(--cv-acc-ink)}
.cv-medico[hidden]{display:none}
.cv-medico-topo{margin-top:12px;display:flex;align-items:center;gap:16px}
.cv-medico-topo__foto{flex:0 0 72px;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--cv-soft);font-size:26px;font-weight:700;color:var(--cv-ink)}
.cv-medico-topo__foto img{width:100%;height:100%;object-fit:cover}
.cv-medico-topo .cv-prof-nome{margin:0;font-family:var(--cv-sans);font-weight:700;font-size:26px;letter-spacing:-.02em}
.cv-medico-topo .cv-prof-esp{margin-top:4px}
.cv-registro{margin-top:2px;font-size:12px;color:var(--cv-muted)}
.cv-bio{margin-top:16px;font-size:15px;line-height:1.55;color:var(--cv-ink2,var(--cv-ink))}
.cv-tipos{margin-top:8px}
.cv-tipo{min-height:72px;display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--cv-line);cursor:pointer}
.cv-tipo input{position:absolute;opacity:0;pointer-events:none}
.cv-tipo__anel{flex:0 0 22px;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--cv-line2);transition:box-shadow .15s}
.cv-tipo input:checked~.cv-tipo__anel{box-shadow:inset 0 0 0 7px var(--cv-btn)}
.cv-tipo input:focus-visible~.cv-tipo__anel{outline:2px solid var(--cv-acc);outline-offset:2px}
.cv-infos{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45;color:var(--cv-ink)}
.cv-infos li{position:relative;padding-left:18px}
.cv-infos li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--cv-acc)}
/* seletor em duas partes (presencial/vídeo, para mim/outra pessoa, convênio/particular) */
.cv-seg{margin-top:18px;display:flex;padding:4px;border-radius:12px;background:var(--cv-soft)}
.cv-seg>a,.cv-seg>label{flex:1 1 0;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:14px;font-weight:700;color:var(--cv-muted);text-decoration:none;cursor:pointer;position:relative}
.cv-seg>label input{position:absolute;opacity:0;pointer-events:none}
.cv-seg>a.is-on,.cv-seg>label:has(input:checked){background:var(--cv-bg);color:var(--cv-ink);box-shadow:0 1px 3px rgba(15,27,45,.12)}
.cv-seg>label:has(input:focus-visible){outline:2px solid var(--cv-acc);outline-offset:2px}
.cv-seg--radio{margin-top:10px}
.cv-escolha--unica{margin-top:16px!important;padding-top:0}
.cv-horas--caixa fieldset{margin-top:10px}
.cv-horas--caixa .cv-hora span{border-radius:12px;box-shadow:inset 0 0 0 1px var(--cv-line2)}
.cv-horas--caixa .cv-hora input:checked+span{background:var(--cv-btn);color:var(--cv-btn-ink);box-shadow:none}
.cv-horas--caixa .cv-rotulo{margin-top:22px}
.cv-form--clinica{margin-top:18px}
.cv-form--clinica .cv-rotulo{margin-top:0}
.cv-outro{display:none;flex-direction:column;gap:22px}
.cv-form:has(input[name="para_quem"][value="outro"]:checked) .cv-outro{display:flex}
.cv-campo select{appearance:none;width:100%;height:44px;padding:0;border:0;border-bottom:1px solid var(--cv-line2);border-radius:0;background:transparent;font-size:18px;color:var(--cv-ink);outline:none}
.cv-dupla{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cv-convenio,.cv-particular{display:none}
.cv-form:has(input[name="pagamento"][value="convenio"]:checked) .cv-convenio{display:block}
.cv-form:has(input[name="pagamento"][value="particular"]:checked) .cv-particular{display:block}
.cv-confirmado--clinica{padding-top:calc(64px + env(safe-area-inset-top))}
.cv-confirmado--clinica .cv-titulo{margin-top:20px}
.cv-confirmado--clinica .cv-resumo--topo{margin-top:24px}
.cv-passos{margin:10px 0 0;padding:0;list-style:none;counter-reset:passo;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45;color:var(--cv-ink)}
.cv-passos li{counter-increment:passo;display:flex;gap:10px}
.cv-passos li::before{content:counter(passo);flex:0 0 auto;font-weight:800;color:var(--cv-acc-ink)}
.cv-proxima{margin-top:12px;display:flex;gap:16px;align-items:flex-start}
.cv-proxima__data{flex:0 0 58px;padding:8px 0;border-radius:14px;background:var(--cv-soft);text-align:center;color:var(--cv-acc-ink)}
.cv-proxima__data small{display:block;font-size:11px;font-weight:800}
.cv-proxima__data b{display:block;font-size:26px;font-weight:800;line-height:1.1}
.cv-proxima>span:last-child b{display:block;font-size:17px;font-weight:700}
.cv-proxima>span:last-child small{display:block;margin-top:2px;font-size:14px;color:var(--cv-muted)}
.cv-proxima small.cv-proximo__status{font-size:12px}
.cv-chips--familia{margin-top:16px}
.cv-chips--familia .cv-chip{min-height:36px;font-size:13px;font-weight:700}
.cv-chips--familia .cv-chip.is-on{background:var(--cv-btn);color:var(--cv-btn-ink)}
/* clínica em "modo fácil" (configurado pela clínica): tudo um pouco maior para quem lê com dificuldade */
body[data-app-canvas][data-facil="1"] .cv-conteudo{zoom:1.1}

/* ---------- estratégia do app (oferta, diagnóstico, planos, conversa) ---------- */
.cv-oferta{margin:28px 0 0;font-size:15px;line-height:1.45;color:var(--cv-ink)}
.cv-oferta b{display:block;margin-bottom:4px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-acc-ink)}
.cv-oferta+.cv-home__cta{margin-top:16px}
.cv-alternativa{align-self:center;min-height:44px;margin-top:6px;display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--cv-acc-ink);text-decoration:none}
.cv-tag{margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--cv-soft);font-size:11px;font-style:normal;font-weight:700;color:var(--cv-acc-ink);vertical-align:2px}

/* Prêmio da promoção já aplicado no agendamento */
.cv-beneficio{display:flex;align-items:center;gap:12px;margin:2px 0 18px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--cv-acc,#ff7a2f) 40%,transparent);background:color-mix(in srgb,var(--cv-acc,#ff7a2f) 10%,transparent)}
.cv-beneficio__marca{flex:0 0 auto;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:17px;color:#fff;background:var(--cv-acc,#ff7a2f)}
.cv-beneficio__txt{display:grid;gap:2px;min-width:0}
.cv-beneficio__txt small{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.cv-beneficio__txt b{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.cv-beneficio__txt span{font-size:12px;line-height:1.35;opacity:.75;overflow-wrap:anywhere}
/* Topo estilo perfil (Instagram): sem capa, logo redonda centralizada e nome embaixo */
.cv-perfil{padding:calc(28px + env(safe-area-inset-top)) var(--cv-pad) 0;display:flex;flex-direction:column;align-items:center;text-align:center}
body[data-app-canvas] .cv-perfil .cv-logo--perfil{width:96px;height:96px;border-radius:50%;font-size:40px;box-shadow:0 0 0 3px var(--cv-bg),0 0 0 4.5px var(--cv-line2,rgba(0,0,0,.12))}
body[data-app-canvas] .cv-perfil .cv-logo--perfil img{object-fit:contain;background:#fff}
body[data-app-canvas] .cv-home .cv-perfil .cv-nome{margin:18px 0 0;max-width:100%;font-size:30px;line-height:1.1;text-align:center}
body[data-app-canvas] .cv-home .cv-perfil .cv-meta{margin-top:8px;text-align:center}
body[data-app-canvas][data-nicho="educacao_fisica"] .cv-home .cv-perfil .cv-nome{font-size:38px}
