/* ═══════════════════════════════════════════════════════════════
   Ponte de estilo: alinha os painéis existentes (sheet, modal,
   sched, track, plans…) com a linguagem da página nova.
   Não altera estrutura nem comportamento — só a pele.
   ═══════════════════════════════════════════════════════════════ */

/* ── a raiz da incoerência: os painéis usavam Poppins ──
   Toda a aplicação passa a Sora (títulos) + Inter (texto). */
.sheet,.sheet *,.card,.card *,#sched,#sched *,#track,#track *,#plans,#plans *,
#gallery,#gallery *,#guide,#guide *,#about,#about *,#faq,#faq *,#privacy,#privacy *,
#done,#done *,#modal,#modal *,#contaModal,#contaModal *{
  font-family:'Inter',system-ui,-apple-system,sans-serif}
.sheet h1,.sheet h2,.sheet h3,.sheet b,.sheet strong,
.card h1,.card h2,.card h3,.card b,.card strong,
#sched h1,#sched h2,#sched h3,#track h2,#track h3,#plans h2,#plans h3,
#gallery h2,#guide h2,#about h2,#about h3,#faq h2,#privacy h2,#done h2,#modal h2,#modal h3,
.addrow .nm b,.pack h3,.pack h4{
  font-family:'Sora',system-ui,sans-serif!important;letter-spacing:-.025em!important}
/* o mono só para números e etiquetas técnicas */
.addrow .pr,.pre,#shTot{
  font-family:'JetBrains Mono',ui-monospace,monospace!important}

/* raios e tipografia consistentes */
.card{border-radius:20px!important}
.sheet{border-radius:24px 24px 0 0!important;border-color:var(--line)!important;
  background:linear-gradient(180deg,#0E1721,#080D14)!important}

/* linhas de serviço com a mesma linguagem dos cartões da página */
.addrow{border-radius:16px!important;padding:18px!important;gap:16px!important;
  background:linear-gradient(168deg,rgba(19,28,38,.7),rgba(8,13,20,.42))!important;
  border-color:var(--line)!important;
  transition:border-color .34s ease,transform .34s ease,background .34s ease!important}
.addrow:hover{border-color:rgba(55,196,255,.45)!important;transform:translateY(-2px)}
.addrow.on{border-color:rgba(55,196,255,.7)!important;
  background:linear-gradient(168deg,rgba(12,40,60,.8),rgba(8,13,20,.5))!important}
.addrow .nm b{font-size:15.5px!important;line-height:1.28!important;margin-bottom:5px!important}
.addrow .nm span{font-size:13px!important;line-height:1.55!important}
.addrow .pr{font-size:19px!important;font-weight:800!important;letter-spacing:-.02em!important}
.box{width:26px!important;height:26px!important;border-radius:8px!important;
  border-color:var(--line2)!important;transition:border-color .3s,background .3s!important}
.addrow.on .box{border-color:var(--neon)!important;background:rgba(55,196,255,.14)!important}
/* rodapé do painel: sem sobreposição com a lista */
#shFoot{background:linear-gradient(180deg,rgba(8,13,20,.4),#080D14 32%)!important;
  backdrop-filter:blur(14px);border-top:1px solid var(--line)!important;
  padding-top:16px!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
#shList{padding-bottom:8px!important}
.card h2,.sheet h2 h2,#sched h2,#track h2,#plans h2,#gallery h2,#about h2,#faq h2{
  font-family:'Sora',system-ui,sans-serif!important;font-weight:800!important;
  letter-spacing:-.03em!important}
.card h3,.sheet h3 h3{font-family:'Sora',system-ui,sans-serif!important;
  font-weight:700!important;letter-spacing:-.02em!important}

/* botões: mesma forma e mesmo brilho da página */
.btn,.pick,.book,#shBtn{
  border-radius:999px!important;font-family:'Inter',system-ui,sans-serif!important;
  font-weight:600!important;letter-spacing:0!important;text-transform:none!important;
  transition:transform .3s ease,box-shadow .35s ease,border-color .3s ease!important}
.btn:active,.pick:active,#shBtn:active{transform:scale(.97)}
#shBtn,.book{position:relative;overflow:hidden;
  box-shadow:0 8px 34px -12px rgba(55,196,255,.9)!important}
#shBtn::after,.book::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(104deg,transparent 38%,rgba(255,255,255,.4) 50%,transparent 62%);
  transform:translateX(-130%);transition:transform .7s cubic-bezier(.4,0,.3,1)}
#shBtn:hover::after,.book:hover::after{transform:translateX(130%)}

/* campos de formulário: mais ar, cantos coerentes */
input,select,textarea{border-radius:14px!important;
  font-family:'Inter',system-ui,sans-serif!important;font-size:15px!important;
  transition:border-color .3s ease,background .3s ease!important}
input:focus,select:focus,textarea:focus{border-color:var(--neon)!important;
  background:rgba(55,196,255,.05)!important;outline:none!important}
label,.lbl{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--mut)!important}

/* cabeçalhos dos painéis com o kicker da página */
.sheet-head{border-bottom:1px solid var(--line)!important}

/* cartões de pack dentro dos painéis */
.pack{border-radius:18px!important;transition:border-color .38s ease,transform .38s ease!important}
.pack:hover{transform:translateY(-4px)}
.pack.sel,.pack.feat{border-color:rgba(55,196,255,.55)!important}

/* focos visíveis em toda a aplicação */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--neon)!important;outline-offset:3px!important}

/* barra de progresso / passos */
.step{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  letter-spacing:.14em!important}

/* ── recolha fora de zona ── */
.cn-fora-load{border-color:var(--line)!important;background:rgba(13,19,27,.5)!important}
.cn-fora-load b{color:var(--mut)!important}
.cn-fora-aviso{border-color:rgba(55,196,255,.4)!important}
.cn-fora-erro{border-color:rgba(255,138,107,.5)!important;background:rgba(255,138,107,.07)!important}
.cn-fora-erro b{color:#FF8A6B!important}
.cn-fora-ok{border-color:rgba(52,211,154,.45)!important;background:rgba(52,211,154,.07)!important}
.cn-fora-ok b{color:#34D39A!important}
.cn-fora{margin:0 0 14px;scroll-margin-top:120px;animation:cnForaEntra .32s cubic-bezier(.16,.9,.24,1)}
@keyframes cnForaEntra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cn-fora{animation:none}}
.cn-fora-x{margin:12px 0;padding:16px 18px;border-radius:16px;
  border:1px solid rgba(55,196,255,.38);background:rgba(55,196,255,.055)}
.cn-fora b{font-family:'Sora',system-ui,sans-serif;font-weight:700;
  font-size:14.5px;letter-spacing:-.01em;color:var(--ice)}
.cn-fora > b:first-child{display:block;margin-bottom:7px}
.cn-fora p b{display:inline;font-size:inherit;color:inherit}
.cn-fora p{margin:0 0 12px;color:var(--mut);font-size:13.5px;line-height:1.6}
.cn-fora p:last-child{margin-bottom:0}
.cn-diag{display:block;margin-top:10px;font-size:11.5px;line-height:1.5;
  color:var(--mut2,#4F5C69)}
.cn-fora-btns{display:grid;gap:9px;margin-top:14px}
@media(min-width:520px){.cn-diag{display:block;margin-top:10px;font-size:11.5px;line-height:1.5;
  color:var(--mut2,#4F5C69)}
.cn-fora-btns{grid-template-columns:1fr auto}}
.cn-aceita{border:0;border-radius:999px;background:var(--neon);color:#03121B;
  font:inherit;font-weight:700;font-size:14.5px;padding:14px 22px;cursor:pointer;
  box-shadow:0 8px 26px -12px rgba(55,196,255,.9);transition:transform .25s}
.cn-aceita:hover{transform:translateY(-2px)}
.cn-semrec{border:1px solid var(--line2);border-radius:999px;background:none;
  color:var(--mut);font:inherit;font-size:13.5px;padding:14px 18px;cursor:pointer;
  transition:border-color .3s,color .3s}
.cn-semrec:hover{border-color:var(--neon);color:var(--ice)}
.cn-retry{margin-top:4px;border:1px solid var(--line2);border-radius:999px;background:none;
  color:var(--neon);font:inherit;font-size:12.5px;padding:8px 16px;cursor:pointer}
.cn-retry:hover{border-color:var(--neon)}
.cn-fora strong{color:var(--ice);font-weight:600}
.cn-fora-v{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:12px;background:rgba(4,7,12,.5);
  border:1px solid var(--line);margin-bottom:10px}
.cn-fora-v span{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}
.cn-fora-v b{margin:0;font-size:22px;color:var(--neon);font-weight:800}
.cn-fora small{display:block;color:var(--mut2);font-size:11.5px;line-height:1.55}

/* ── formulário: essenciais visíveis, restantes recolhidos ── */
.cn-mais{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}
.cn-mais > summary{list-style:none;cursor:pointer;padding:13px 2px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--neon)}
.cn-mais > summary::-webkit-details-marker{display:none}
.cn-mais > summary::after{content:"+";font-size:17px;line-height:1;transition:transform .3s ease}
.cn-mais[open] > summary::after{transform:rotate(45deg)}
.cn-mais > summary:hover{color:var(--neon2)}
.cn-mais-in{padding-top:6px;display:grid;gap:12px}

.cn-cp-obr{display:block;margin-top:6px;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.08em;line-height:1.5;color:var(--neon);opacity:.9}
.cn-cp-obr.cn-erro{color:#FF8A6B;opacity:1}

/* ═══════════════════════════════════════════════════════════════
   PÁGINAS, NÃO POPUPS
   Cada painel ocupa o ecrã inteiro, com a coluna de leitura, o ritmo
   e a tipografia da página inicial. Estrutura real: .card > .ch > .t + .x
   ═══════════════════════════════════════════════════════════════ */
:root{--cn-col:820px}

/* 1. o contentor deixa de ser um modal desfocado */
/* O contentor era display:flex com align-items:center. Ao juntar overflow-y:auto,
   o conteúdo mais alto que o ecrã ficava inacessível: é o clássico bug do flex
   centrado com scroll. Passa a bloco simples — o scroll funciona sempre. */
#sched,#modal,#track,#plans,#gallery,#guide,#about,#faq,#privacy,#done,#contaModal,#adModal{
  background:var(--bg)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  padding:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;   /* o painel rola */
  -webkit-overflow-scrolling:touch}
#sched.show,#modal.show,#track.show,#plans.show,#gallery.show,#guide.show,#about.show,
#faq.show,#privacy.show,#done.show,#contaModal.show,#adModal.show{
  display:block!important}

/* 2. o cartão passa a coluna de página */
#sched > .card,#modal > .card,#track > .card,#plans > .card,#gallery > .card,
#guide > .card,#about > .card,#faq > .card,#privacy > .card,#done > .card,
#contaModal > .card,#adModal > .card{
  display:block!important;
  width:100%!important;max-width:var(--cn-col)!important;margin:0 auto!important;
  max-height:none!important;                 /* era 100dvh: cortava o conteúdo */
  overflow:visible!important;                /* quem rola é o painel, não o cartão */
  background:transparent!important;border:0!important;border-radius:0!important;
  padding:0 clamp(20px,5vw,56px) calc(56px + env(safe-area-inset-bottom))!important;
  min-height:auto!important}     /* 100svh empurrava o conteúdo abaixo da dobra */

/* 3. cabeçalho: fica colado ao topo, com a barra de leitura da página */
.card > .ch{position:sticky!important;top:0;z-index:6;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:14px;margin:0 clamp(-20px,-5vw,-56px) 26px!important;
  padding:calc(20px + env(safe-area-inset-top)) clamp(20px,5vw,56px) 18px!important;
  background:linear-gradient(180deg,var(--bg) 62%,rgba(4,6,10,.86) 88%,transparent)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.card > .ch .t{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10.5px!important;letter-spacing:.24em!important;text-transform:uppercase!important;
  color:var(--neon)!important;font-weight:400!important}
.card > .ch .x{flex:none;width:42px!important;height:42px!important;border-radius:50%!important;
  border:1px solid var(--line)!important;background:rgba(10,16,23,.6)!important;
  color:var(--ice)!important;font-size:20px!important;line-height:1!important;
  display:grid!important;place-content:center!important;
  transition:border-color .3s,color .3s,transform .3s!important}
.card > .ch .x:hover{border-color:var(--neon)!important;color:var(--neon)!important}
.card > .ch .x:active{transform:scale(.94)}

/* 4. títulos e texto com o ritmo da página */
.card h2,.card > h2,#modal h2,#sched h2{
  font-size:clamp(1.75rem,5.2vw,2.8rem)!important;line-height:1.02!important;
  letter-spacing:-.035em!important;margin:0 0 12px!important}
.card .sm{font-size:clamp(.95rem,2.1vw,1.08rem)!important;line-height:1.62!important;
  color:var(--mut)!important;max-width:52ch;margin-bottom:30px!important}

/* 5. a gaveta de baixo passa a página inteira */
/* a classe de abertura da gaveta é .open, não .show */
#sheet{position:fixed!important;inset:0!important;max-height:none!important;
  border-radius:0!important;background:var(--bg)!important;border-top:0!important;
  box-shadow:none!important;
  transition:transform .5s cubic-bezier(.72,0,.16,1)!important}
#sheet.open{transform:translateY(0)!important}

/* o rodapé do orçamento acompanha a gaveta e usa a mesma classe */
.sheet-foot{position:fixed!important;left:0;right:0;bottom:0;z-index:41!important;
  background:linear-gradient(180deg,rgba(4,6,10,.72),var(--bg) 34%)!important;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-top:1px solid var(--line)!important;
  padding:16px clamp(20px,5vw,56px) calc(16px + env(safe-area-inset-bottom))!important}
.sheet-foot .inner{max-width:var(--cn-col)!important;margin:0 auto!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px}
.sheet-foot .l{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:9.5px!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--mut)!important;margin-bottom:3px}
.sheet-foot .v{font-family:'Sora',sans-serif!important;font-weight:800!important;
  font-size:26px!important;letter-spacing:-.03em!important;line-height:1!important}
.sheet-foot .go{flex:none;padding:15px 28px!important}
#sheet .sheet-in{width:100%!important;max-width:var(--cn-col)!important;margin:0 auto!important;
  padding:0 clamp(20px,5vw,56px) calc(130px + env(safe-area-inset-bottom))!important;
  background:none!important;border:0!important}
#sheet .handle{display:none!important}
#sheet .sheet-head{position:sticky!important;top:0;z-index:6;
  margin:0 clamp(-20px,-5vw,-56px) 8px!important;
  padding:calc(22px + env(safe-area-inset-top)) clamp(20px,5vw,56px) 20px!important;
  background:linear-gradient(180deg,var(--bg) 62%,rgba(4,6,10,.86) 88%,transparent)!important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:0!important}
#shName{font-size:clamp(1.75rem,5.2vw,2.8rem)!important;line-height:1.02!important;
  letter-spacing:-.035em!important}
#sheet .ic{border-radius:14px!important}

/* 7. o scrim deixa de escurecer: não há nada por trás */
#scrim{background:var(--bg)!important}

/* 8. secções internas com o mesmo espaçamento das da página */
.card .sec,.card #faq #privacy .pv{margin-bottom:clamp(24px,4vh,44px)!important}

/* etiqueta "serviços adicionais" com o ritmo da página */
.sheet-title{display:none!important}   /* a etiqueta ficava por cima do descritivo */
/* ── conta: .conta-modal > .conta-card ── */
.conta-modal{background:var(--bg)!important;-webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;overflow-y:auto!important;overflow-x:hidden!important;
  padding:0!important}
.conta-modal.show{display:block!important}
.conta-card{width:100%!important;max-width:var(--cn-col)!important;margin:0 auto!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;
  padding:calc(72px + env(safe-area-inset-top)) clamp(20px,5vw,56px)
          calc(56px + env(safe-area-inset-bottom))!important;min-height:auto!important}
.conta-x{position:fixed!important;top:calc(16px + env(safe-area-inset-top))!important;
  right:16px!important;width:42px!important;height:42px!important;border-radius:50%!important;
  border:1px solid var(--line)!important;background:rgba(10,16,23,.6)!important;
  color:var(--ice)!important;font-size:20px!important;display:grid!important;
  place-content:center!important;z-index:10}
.conta-x:hover{border-color:var(--neon)!important;color:var(--neon)!important}
.conta-logo{width:96px!important;margin:0 0 26px!important}

/* ── assistente: #cnbot > .cnbot-card ── */
#cnbot{background:var(--bg)!important;-webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;padding:0!important;overflow:hidden!important}
#cnbot.show{display:block!important}
.cnbot-card{width:100%!important;max-width:var(--cn-col)!important;margin:0 auto!important;
  height:100svh!important;max-height:none!important;border-radius:0!important;
  background:var(--bg)!important;border:0!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important}
.cnbot-head{padding:calc(20px + env(safe-area-inset-top)) clamp(20px,5vw,56px) 18px!important;
  background:var(--bg)!important;border-bottom:1px solid var(--line)!important;
  border-radius:0!important}
.cnbot-name{font-family:'Sora',sans-serif!important;font-weight:700!important;
  letter-spacing:-.02em!important;font-size:17px!important}
.cnbot-body{padding:20px clamp(20px,5vw,56px)!important;flex:1!important}
.cnbot-opts{padding:14px clamp(20px,5vw,56px) calc(20px + env(safe-area-inset-bottom))!important;
  border-top:1px solid var(--line)!important;background:var(--bg)!important}
.cnbot-x{width:42px!important;height:42px!important;border-radius:50%!important;
  border:1px solid var(--line)!important;background:rgba(10,16,23,.6)!important}


/* ═══ PAINÉIS RECONSTRUÍDOS ═══════════════════════════════════════
   Não é o antigo com outra pele: é marcação nova, gerada pelo
   cn-paineis.js com a mesma linguagem da página inicial.
   ═══════════════════════════════════════════════════════════════ */

/* perguntas frequentes — acordeão nativo, sem ícones decorativos */
.cnp-faq{display:grid;gap:0;border-top:1px solid var(--line)}
.cnp-q{border-bottom:1px solid var(--line)}
.cnp-q > summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:18px;padding:22px 2px;
  font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:clamp(1rem,2.6vw,1.2rem);
  letter-spacing:-.02em;color:var(--ice);transition:color .3s}
.cnp-q > summary::-webkit-details-marker{display:none}
.cnp-q > summary:hover{color:var(--neon)}
.cnp-q > summary i{flex:none;width:15px;height:15px;position:relative}
.cnp-q > summary i::before,.cnp-q > summary i::after{content:"";position:absolute;
  background:var(--neon);transition:transform .34s cubic-bezier(.6,0,.2,1),opacity .25s}
.cnp-q > summary i::before{left:0;right:0;top:7px;height:1.5px}
.cnp-q > summary i::after{top:0;bottom:0;left:7px;width:1.5px}
.cnp-q[open] > summary i::after{transform:rotate(90deg);opacity:0}
.cnp-a{padding:0 2px 24px;color:var(--mut);font-size:15px;line-height:1.68;max-width:62ch}
.cnp-a a{color:var(--neon)}

/* serviços: cartão inteiro clicável, sem caixa de seleção */
.cnp-servs{display:grid;gap:12px;margin:0}
.cnp-serv{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 20px;
  align-items:start;width:100%;text-align:left;cursor:pointer;color:inherit;
  border:1px solid var(--line);border-radius:16px;padding:20px;
  background:linear-gradient(168deg,rgba(19,28,38,.62),rgba(8,13,20,.4));
  transition:border-color .32s ease,transform .32s cubic-bezier(.16,.9,.24,1),background .32s ease}
.cnp-serv:hover{border-color:rgba(55,196,255,.45);transform:translateY(-2px)}
.cnp-serv:active{transform:scale(.995)}
.cnp-serv.on{border-color:var(--neon);
  background:linear-gradient(168deg,rgba(11,42,62,.8),rgba(8,13,20,.5))}
.cnp-serv-txt{min-width:0;display:grid;gap:6px}
.cnp-serv-txt b{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:16px;
  line-height:1.28;letter-spacing:-.02em;color:var(--ice)}
.cnp-serv-txt > span{color:var(--mut);font-size:13.5px;line-height:1.55}
.cnp-nota{margin:2px 0 0;font-size:12.5px;line-height:1.5;color:var(--neon);opacity:.85}
.cnp-serv-pr{display:grid;justify-items:end;align-content:start;gap:3px;white-space:nowrap}
.cnp-serv-pr em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2)}
.cnp-serv-pr b{font-family:'Sora',system-ui,sans-serif;font-weight:800;font-size:21px;
  letter-spacing:-.03em;color:var(--neon);line-height:1}
.cnp-serv-pr i{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:.08em;color:var(--mut)}
/* marca de escolhido: um traço, não uma caixa */
.cnp-serv-ck{position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;
  background:var(--neon);opacity:0;transform:scaleY(.3);transform-origin:center;
  transition:opacity .3s ease,transform .3s cubic-bezier(.16,.9,.24,1)}
.cnp-serv.on .cnp-serv-ck{opacity:1;transform:scaleY(1)}
@media(min-width:600px){.cnp-serv{padding:22px 24px}}


/* ── resumo do orçamento: linhas, não tabela ── */
.cnp-res{display:grid;gap:0;border-top:1px solid var(--line);margin:8px 0 4px}
.cnp-res-l{display:grid;grid-template-columns:1fr auto auto;gap:6px 18px;align-items:baseline;
  padding:18px 2px;border-bottom:1px solid var(--line)}
.cnp-res-l span{display:grid;gap:4px;min-width:0}
.cnp-res-l b{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:16px;
  letter-spacing:-.02em;color:var(--ice);line-height:1.28}
.cnp-res-l em{font-style:normal;color:var(--mut);font-size:13px;line-height:1.5}
.cnp-res-l i{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10.5px;color:var(--mut);white-space:nowrap}
.cnp-res-l u{text-decoration:none;font-family:'Sora',system-ui,sans-serif;font-weight:800;
  font-size:19px;letter-spacing:-.03em;color:var(--ice);white-space:nowrap}

/* ── assistente ── */
.cnp-msg{border-radius:16px!important;padding:15px 18px!important;
  font-size:15px!important;line-height:1.6!important;max-width:82%!important}
.cnbot-msg.bot,.cnp-msg.bot{background:rgba(19,28,38,.75)!important;
  border:1px solid var(--line)!important}
.cnbot-msg.me,.cnp-msg.me{background:rgba(55,196,255,.14)!important;
  border:1px solid rgba(55,196,255,.4)!important}
.cnp-opt,.cnbot-opt{border-radius:999px!important;padding:13px 20px!important;
  font-family:'Inter',system-ui,sans-serif!important;font-weight:600!important;font-size:14px!important;
  border:1px solid var(--line)!important;background:rgba(13,19,27,.6)!important;
  color:var(--ice)!important;text-align:left!important;
  transition:border-color .3s ease,transform .3s ease,background .3s ease!important}
.cnp-opt:hover,.cnbot-opt:hover{border-color:var(--neon)!important;transform:translateY(-2px);
  background:rgba(55,196,255,.08)!important}

/* ── conta: campos e botões ── */
.cnp-in{border-radius:14px!important;padding:15px 16px!important;font-size:15px!important;
  background:rgba(255,255,255,.03)!important;border:1px solid var(--line2)!important}
.cnp-in:focus{border-color:var(--neon)!important;background:rgba(55,196,255,.05)!important;
  outline:none!important}
.cnp-btn{border-radius:999px!important;font-family:'Inter',system-ui,sans-serif!important;
  font-weight:600!important;transition:transform .3s ease,border-color .3s ease!important}
.cnp-btn:active{transform:scale(.97)}

/* ── galeria e testemunhos ── */
.cnp-gal{display:grid;gap:14px}
@media(min-width:760px){.cnp-gal{grid-template-columns:repeat(2,1fr)}}
.cnp-empty{display:grid;place-items:center;min-height:180px;border:1px dashed var(--line);
  border-radius:16px;color:var(--mut)}
.cnp-load{width:26px;height:26px;border-radius:50%;
  border:2px solid var(--line2);border-top-color:var(--neon);
  animation:cnpSpin .9s linear infinite}
@keyframes cnpSpin{to{transform:rotate(360deg)}}
.cnp-tst{display:grid;gap:14px;margin-top:clamp(24px,4vh,44px)}
@media(min-width:760px){.cnp-tst{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.cnp-load{animation:none}}


/* ── calendário da marcação ── */
.cnp-dias{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.cnp-dias::-webkit-scrollbar{height:3px}
.cnp-dias::-webkit-scrollbar-thumb{background:var(--line2);border-radius:3px}
.cnp-mes{flex:none;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:9px!important;
  letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--neon)!important;
  padding:0 2px;opacity:.8;background:none!important;border:0!important}
.cnp-dia{flex:none;scroll-snap-align:start;min-width:70px;cursor:pointer;
  border:1px solid var(--line)!important;border-radius:16px!important;
  padding:14px 10px!important;text-align:center;background:rgba(13,19,27,.55)!important;
  transition:border-color .3s ease,transform .3s cubic-bezier(.16,.9,.24,1),background .3s ease!important}
.cnp-dia:hover{border-color:rgba(55,196,255,.5)!important;transform:translateY(-3px)}
.cnp-dia.sel,.cnp-dia.on{border-color:var(--neon)!important;
  background:rgba(55,196,255,.12)!important}
.cnp-dia .dw{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:9px!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--mut)!important;margin-bottom:5px}
.cnp-dia .dd{font-family:'Sora',system-ui,sans-serif!important;font-weight:800!important;
  font-size:24px!important;letter-spacing:-.03em!important;line-height:1!important;color:var(--ice)!important}
.cnp-dia .dm{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:9px!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--mut)!important;margin-top:5px}
.cnp-dia.sel .dd,.cnp-dia.on .dd{color:var(--neon)!important}

/* ── horas disponíveis ── */
.cnp-horas{display:flex;flex-wrap:wrap;gap:9px;padding:4px 0}
.cnp-hora{border:1px solid var(--line)!important;border-radius:999px!important;
  padding:11px 18px!important;cursor:pointer;
  font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:13px!important;
  letter-spacing:.04em!important;background:rgba(13,19,27,.55)!important;color:var(--ice)!important;
  transition:border-color .3s,background .3s,transform .3s!important}
.cnp-hora:hover{border-color:var(--neon)!important;transform:translateY(-2px)}
.cnp-hora.sel,.cnp-hora.on{border-color:var(--neon)!important;background:rgba(55,196,255,.14)!important;
  color:var(--neon)!important}
.cnp-hora[disabled],.cnp-hora.off{opacity:.32;cursor:not-allowed;text-decoration:line-through}

/* ── planos e acompanhamento ── */
.cnp-planos{display:grid;gap:14px}
@media(min-width:860px){.cnp-planos{grid-template-columns:repeat(2,1fr)}}
.cnp-track{display:grid;gap:14px}
.cnp-track > div{border-radius:16px!important}

/* ── fotografias do pedido ── */
.cnp-fotos{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}
.cnp-fotos img,.cnp-fotos > div{border-radius:12px!important;overflow:hidden}


/* ── grelha de packs dentro dos painéis ── */
/* o atributo hidden manda sempre — senão o contentor espelho reaparece */
[hidden]{display:none!important}
.cnp-pk{display:grid;gap:14px}
@media(min-width:820px){.cnp-pk{grid-template-columns:repeat(2,1fr)}
  .cnp-nec{grid-column:1/-1}}
.cnp-nec{margin:clamp(16px,3vh,30px) 0 2px;background:none!important;border:0!important;padding:0!important}
.cnp-nec .nec-t{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.24em!important;text-transform:uppercase!important;
  color:var(--neon)!important;display:flex;align-items:center;gap:11px}
.cnp-nec .nec-t::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7;flex:none}
.cnp-pack{border-radius:18px!important;padding:22px!important;
  background:linear-gradient(168deg,rgba(19,28,38,.62),rgba(8,13,20,.4))!important;
  border:1px solid var(--line)!important;
  transition:border-color .34s ease,transform .34s cubic-bezier(.16,.9,.24,1)!important}
.cnp-pack:hover{border-color:rgba(55,196,255,.5)!important;transform:translateY(-4px)}
.cnp-pack.sel{border-color:var(--neon)!important;
  background:linear-gradient(168deg,rgba(11,42,62,.75),rgba(8,13,20,.5))!important}
.cnp-pack .feat-tag{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:9px!important;letter-spacing:.2em!important;text-transform:uppercase!important;
  border-radius:999px!important;padding:5px 12px!important}

/* ── cabeçalho da gaveta ── */
.cnp-meta{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:11px!important;letter-spacing:.1em!important;color:var(--mut)!important}

/* ── adesão a plano ── */
.cnp-ades{display:grid;gap:14px}
.cnp-ades > div{border-radius:16px!important}


/* ── aviso: chegou à marcação sem serviço ── */
.cnp-aviso{border:1px solid rgba(55,196,255,.4);border-radius:18px;
  padding:clamp(22px,3.5vw,30px);margin:6px 0 22px;
  background:linear-gradient(150deg,rgba(9,34,52,.75),rgba(6,11,17,.55))}
.cnp-aviso b{display:block;font-family:'Sora',system-ui,sans-serif;font-weight:700;
  font-size:clamp(1.05rem,2.6vw,1.3rem);letter-spacing:-.02em;color:var(--ice);margin-bottom:8px}
.cnp-aviso p{margin:0 0 18px;color:var(--mut);font-size:14.5px;line-height:1.6;max-width:52ch}
.cnp-btn-p{background:var(--neon)!important;color:#03121B!important;border:0!important;
  padding:14px 26px!important;font-weight:600!important;font-size:15px!important;
  box-shadow:0 8px 30px -12px rgba(55,196,255,.9)!important}

/* ═══ CONTA E ACOMPANHAMENTO: ao nível da página ═══ */

/* conta — sem cartão dentro de cartão */
.conta-logo{display:none!important}
.conta-card h2,#contaBody h2{font-family:'Sora',system-ui,sans-serif!important;
  font-weight:800!important;font-size:clamp(1.9rem,5.4vw,3rem)!important;
  letter-spacing:-.035em!important;line-height:1.02!important;margin:0 0 10px!important;
  text-align:left!important}
.conta-card > p,#contaBody > p:first-of-type{color:var(--mut)!important;
  font-size:clamp(.96rem,2.1vw,1.1rem)!important;line-height:1.6!important;
  max-width:46ch;margin:0 0 32px!important;text-align:left!important}
#contaBody{display:grid;gap:14px}
#contaBody input{width:100%}
#contaBody .row,#contaBody .fld{display:grid;gap:14px}
/* etiqueta acima do campo, em mono */
#contaBody label{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  color:var(--mut)!important;margin-bottom:6px!important;display:block}
#contaBody .sep,#contaBody hr{border:0!important;border-top:1px solid var(--line)!important;
  margin:26px 0!important;position:relative;overflow:visible;height:0}
#contaBody .alt{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  color:var(--mut2)!important;text-align:center!important;margin:22px 0!important}

/* acompanhamento — o cabeçalho decorativo dá lugar a tipografia */
.acc-hero{background:none!important;border:0!important;box-shadow:none!important;
  overflow:visible!important;                 /* era hidden: cortava os títulos */
  padding:2px 0 0!important;margin:0 0 6px!important;text-align:left!important}
.acc-hero::after,.acc-hero::before{display:none!important}
.acc-hero-logo{display:none!important}
.acc-hero-t{font-family:'Sora',system-ui,sans-serif!important;font-weight:800!important;
  font-size:clamp(1.8rem,5vw,2.8rem)!important;letter-spacing:-.03em!important;
  line-height:1.14!important;                 /* espaço para acentos e cedilha */
  color:var(--ice)!important;text-shadow:none!important;
  padding:2px 0!important;margin:0 0 10px!important;overflow:visible!important}
.acc-hero-sub{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.2em!important;text-transform:uppercase!important;
  color:var(--neon)!important;margin:0!important;padding:2px 0!important;
  line-height:1.5!important;overflow:visible!important}
.acc-hero-info{text-align:left!important;color:var(--mut)!important;
  font-size:clamp(.96rem,2.1vw,1.08rem)!important;line-height:1.62!important;
  max-width:48ch;margin:22px 0 32px!important}
/* a caixa de consulta deixa de ser cartão dentro de cartão */
.tk-quick{border:0!important;background:none!important;padding:0!important;border-radius:0!important}
.tk-quick-t{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:10px!important;letter-spacing:.18em!important;text-transform:uppercase!important;
  color:var(--mut)!important;margin-bottom:14px!important}
.track-form{display:grid!important;gap:12px!important}
.track-form input{width:100%!important}
.track-form button{margin-top:4px!important}
#track .tk-login-top{width:100%;justify-content:center!important;margin-top:8px!important}

/* separador "ou" com linha de cada lado, em ambas */
.cnp-ou{display:flex;align-items:center;gap:16px;margin:28px 0;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mut2)}
.cnp-ou::before,.cnp-ou::after{content:"";flex:1;height:1px;background:var(--line)}

/* nenhum título cortado por overflow herdado */
.card h2,.acc-hero-t,#shName,.cnp-serv-txt b,.cnp-res-l b{overflow:visible!important}
/* o .card é o contentor de scroll dos painéis em telemóvel (max-height:100dvh
   + overflow-y:auto). Nunca lhe tirar o overflow — só aos blocos de texto. */
.acc-hero,.tk-quick,.cnp-serv-txt,.cn-shead{overflow:visible!important}

/* indicador enquanto a agenda carrega */
.cnp-carregar{display:flex;align-items:center;gap:12px;padding:20px 2px;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}


/* ── detalhe do serviço no painel ── */
.cnp-detwrap{display:block}
.cnp-det-lead{margin:0 0 26px;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.6;
  color:#C6D4E0;max-width:52ch}
.cnp-det-b{margin:0 0 26px}
.cnp-det-b h4{margin:0 0 14px;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);
  font-weight:400;display:flex;align-items:center;gap:10px}
.cnp-det-b h4::before{content:"";width:20px;height:1px;background:currentColor;opacity:.7;flex:none}
.cnp-ck{list-style:none;margin:0;padding:0;display:grid;gap:0}
.cnp-ck li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--line);
  font-size:15px;line-height:1.5;color:var(--ice)}
.cnp-ck li:last-child{border-bottom:0}
.cnp-ck li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;
  border-radius:50%;border:1.5px solid var(--neon);opacity:.85}
.cnp-ck.cnp-ok li::before{border-color:#34D39A;background:rgba(52,211,154,.2)}
.cnp-det-fim{margin:0 0 24px;padding:18px 20px;border-left:2px solid var(--neon);
  background:rgba(55,196,255,.05);border-radius:0 12px 12px 0;
  font-size:14.5px;line-height:1.6;color:var(--ice)}
.cnp-det-nota{margin-bottom:28px}
.cnp-det-nota summary{color:var(--mut)!important}
.cnp-det-nota p{margin:0;color:var(--mut);font-size:13.5px;line-height:1.6}

/* extras: informação complementar, recolhida */
.cnp-extras-b{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin:0 0 10px;background:rgba(13,19,27,.35);border-radius:14px;
  border:1px solid var(--line);overflow:hidden}
.cnp-extras-b > summary{list-style:none;cursor:pointer;padding:18px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:14px}
.cnp-extras-b > summary::-webkit-details-marker{display:none}
.cnp-extras-b > summary span{font-family:'Sora',system-ui,sans-serif;font-weight:600;
  font-size:15px;letter-spacing:-.015em;color:var(--ice)}
.cnp-extras-b > summary em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;letter-spacing:.12em;color:var(--mut);white-space:nowrap;
  display:flex;align-items:center;gap:9px}
.cnp-extras-b > summary em::after{content:"+";font-size:16px;color:var(--neon);transition:transform .3s}
.cnp-extras-b[open] > summary em::after{transform:rotate(45deg)}
.cnp-extras-b > summary:hover span{color:var(--neon)}
.cnp-tot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:12px 20px;border-top:1px solid var(--line);background:rgba(55,196,255,.05)}
.cnp-tot span{font-size:13px;color:var(--mut)}
.cnp-tot b{font-family:'Sora',system-ui,sans-serif;font-weight:800;font-size:19px;
  letter-spacing:-.025em;color:var(--neon);white-space:nowrap}
.cnp-extras-in{padding:2px 14px 16px}
/* dentro do bloco recolhido, os extras são mais discretos */
.cnp-extras-in .cnp-serv{background:rgba(8,13,20,.4);padding:16px}
.cnp-extras-in .cnp-serv-txt b{font-size:14.5px}
.cnp-extras-in .cnp-serv-pr b{font-size:18px}


/* ── planos mensais: as classes reais são plan-n, plan-p, plan-f ── */
#plansBody{display:grid;gap:16px}
@media(min-width:860px){#plansBody{grid-template-columns:repeat(2,1fr)}}
#plansBody > div{border:1px solid var(--line)!important;border-radius:18px!important;
  padding:clamp(24px,3.2vw,32px)!important;box-shadow:none!important;
  background:linear-gradient(150deg,rgba(9,30,46,.72),rgba(6,11,17,.5))!important;
  display:flex;flex-direction:column}
.plan-n{font-family:'Sora',system-ui,sans-serif!important;font-weight:800!important;
  letter-spacing:-.03em!important;font-size:clamp(1.35rem,3.2vw,1.75rem)!important;
  margin:0 0 8px!important;color:var(--ice)!important}
.plan-p{font-family:'Sora',system-ui,sans-serif!important;font-weight:800!important;
  letter-spacing:-.035em!important;font-size:32px!important;line-height:1!important;
  color:var(--neon)!important;margin:6px 0 4px!important}
.plan-anual{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:10.5px!important;
  letter-spacing:.1em!important;color:#34D39A!important;
  border:1px solid rgba(52,211,154,.35)!important;border-radius:999px!important;
  padding:6px 13px!important;display:inline-block;background:none!important;margin:10px 0 0!important}
.plan-d{color:var(--mut)!important;font-size:14.5px!important;line-height:1.6!important;margin:14px 0!important}
.plan-f{list-style:none!important;margin:4px 0 20px!important;padding:0!important;display:grid;gap:0}
.plan-f li{position:relative;padding:12px 0 12px 24px!important;border-bottom:1px solid var(--line);
  font-size:14.5px!important;line-height:1.5!important;color:var(--ice)!important}
.plan-f li:last-child{border-bottom:0}
.plan-f li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;
  border-radius:50%;border:1.5px solid var(--neon);opacity:.85}
.plan-btns{display:flex;gap:10px;margin-top:auto!important;padding-top:6px}
.plan-btns .book{flex:1;border-radius:999px!important;background:var(--neon)!important;
  color:#03121B!important;border:0!important;font-weight:600!important;padding:14px 20px!important}
.plan-info-btn{border-radius:999px!important;border:1px solid var(--line)!important;
  background:none!important;color:var(--mut)!important;padding:14px 18px!important}
.plan-atual-badge{font-family:'JetBrains Mono',ui-monospace,monospace!important;
  font-size:9px!important;letter-spacing:.18em!important;border-radius:999px!important;padding:5px 12px!important}
.plan-dif{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:11px!important}

/* ── privacidade: a caixa à direita, não por baixo ── */
#cnm label.opt,#cnm .opt.req{
  display:flex!important;flex-direction:row-reverse!important;align-items:center!important;
  justify-content:space-between!important;gap:16px!important;text-align:left!important}
#cnm label.opt input[type="checkbox"],#cnm .opt.req input[type="checkbox"]{flex:none!important;margin:0!important}
#cnm label.opt > span,#cnm .opt.req > span{flex:1;min-width:0}

/* ── caixas de confirmação: caixa à esquerda, texto ao lado ── */
.cta-check,label.opt,.opt.req,.priv-row{
  display:flex!important;flex-direction:row!important;align-items:flex-start!important;
  gap:12px!important;text-align:left!important;justify-content:flex-start!important;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;cursor:pointer}
.cta-check input[type="checkbox"],.priv-row input[type="checkbox"]{
  flex:none!important;width:20px!important;height:20px!important;margin:1px 0 0!important;
  accent-color:var(--neon)}
.cta-check > span,.priv-row > span{
  flex:1;min-width:0;font-size:13.5px!important;line-height:1.55!important;
  text-transform:none!important;letter-spacing:0!important;
  font-family:'Inter',system-ui,sans-serif!important;color:var(--ice)!important}
.cta-check a{color:var(--neon)}
.cta-check:hover{border-color:rgba(55,196,255,.4)}

/* o painel de planos não repete a introdução: entra logo nos cartões */
#plans .card > .sm,#plansIntro{display:none!important}

/* o detalhe do serviço executado abria por baixo da área de cliente */
#osView,#osModal,#servView,#fichaServico,.os-modal{z-index:400!important}
#contaModal,.conta-modal{z-index:300!important}
#sched,#cnm{z-index:350!important}
#privacy,#done{z-index:420!important}



/* ── Área de cliente: legível, sem inventar cores ── */
/* títulos e nomes de serviço tinham contraste baixo demais */
#contaBody .hist-s,#contaBody .hist-t,#contaBody .h-serv,#contaBody .hist-item>b{
  color:#E9F1F8!important}


/* ══ ÁREA DE CLIENTE — visibilidade ══
   Os botões secundários ficavam quase invisíveis no escuro. */
#contaBody .ap-addcar,#contaBody .ap-btn-ghost,#contaBody .ap-hist-av,
#contaBody button[class*="add"],#contaBody .ap-add{
  border:1px solid #37C4FF66!important;background:rgba(55,196,255,.1)!important;
  color:#8FDCFF!important;opacity:1!important;font-weight:600!important}
#contaBody .ap-addcar:hover,#contaBody .ap-add:hover{
  border-color:#37C4FF!important;background:rgba(55,196,255,.18)!important}
/* nomes de serviço no histórico */
#contaBody .ap-hist-s{color:#E9F1F8!important;opacity:1!important;font-weight:700!important}
#contaBody .ap-hist-d,#contaBody .ap-hist-car{opacity:1!important}
/* botões de tipo na marcação do plano */
#contaBody [data-agtipo]{border:1px solid #2A3744!important;background:rgba(13,19,27,.6)!important;
  color:#E9F1F8!important;opacity:1!important}
#contaBody [data-agtipo].on,#contaBody [data-agtipo][aria-selected="true"]{
  border-color:#37C4FF!important;background:rgba(55,196,255,.14)!important;color:#37C4FF!important}
/* a etiqueta publicada convida a tocar */
#contaBody .fb-pub{cursor:pointer;text-decoration:underline;text-underline-offset:3px;
  padding:3px 9px;border-radius:999px;border:1px solid rgba(52,211,154,.45)}
/* dias do calendário com serviço marcado */
#contaBody [data-pldia][data-cn-ag]{cursor:pointer}

/* botões secundários da área de cliente: estavam quase invisíveis */
#contaBody .ap-btn.ghost{color:#37C4FF!important;border:1px solid rgba(55,196,255,.45)!important;
  background:rgba(55,196,255,.08)!important;opacity:1!important;font-weight:600!important}
#contaBody .ap-btn.ghost:hover{background:rgba(55,196,255,.16)!important;border-color:#37C4FF!important}



/* caixas de confirmação alinhadas com o texto ao lado */
#contaBody label:has(> input[type="checkbox"]),
#contaBody .ap-check,#contaBody .veic-check{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:11px!important;text-align:left!important;justify-content:flex-start!important;
  padding:12px 14px;border:1px solid #2A3744;border-radius:12px;margin:10px 0;cursor:pointer}
#contaBody label > input[type="checkbox"]{
  flex:none!important;width:20px!important;height:20px!important;margin:0!important;
  accent-color:#4FD2FF}
#contaBody label:has(> input[type="checkbox"]) > span{
  flex:1;min-width:0;text-align:left!important;font-size:13.5px!important;
  line-height:1.5!important;text-transform:none!important;letter-spacing:0!important}

/* terminar sessão: tem de parecer um botão */
#contaBody [data-ap="sair"],#contaBody .ap-sair,
#contaBody button:has(+ *):last-child{}
#contaBody .ap-btn.sair,#contaBody [data-ap="logout"],#contaBody [data-ap="sair"]{
  border:1px solid rgba(255,138,107,.45)!important;color:#FF8A6B!important;
  background:rgba(255,138,107,.08)!important;font-weight:600!important;
  border-radius:999px!important;padding:13px 18px!important;opacity:1!important}

/* ══ LEGIBILIDADE · classes reais verificadas no cn.js ══
   .ap-inp  .ap-lbl  .ap-sel  .ap-sel-txt  .ap-sel-arr  .ap-card-t */
.ap-inp,#contaBody input,#contaBody textarea,#contaBody select,
.cnesc-c input,#cnmSelBusca,input[type="search"]{
  color:#E9F1F8!important;background:rgba(0,0,0,.32)!important;
  border:1px solid #2A3744!important;font-size:16px!important;
  padding:13px 15px!important;border-radius:12px!important}
.ap-inp:focus,#contaBody input:focus,#contaBody textarea:focus,#contaBody select:focus{
  border-color:#4FD2FF!important;outline:none!important;
  box-shadow:0 0 0 3px rgba(79,210,255,.14)!important}
.ap-inp::placeholder,#contaBody input::placeholder,#contaBody textarea::placeholder{
  color:#7A8B9A!important;opacity:1!important}
.ap-lbl,#contaBody label{color:#A9BAC8!important;font-size:11px!important}
.ap-card-t{color:#E9F1F8!important}

/* seletor de marca e modelo */
.ap-sel{display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;color:#E9F1F8!important;background:rgba(0,0,0,.32)!important;
  border:1px solid #2A3744!important;border-radius:12px!important;
  padding:13px 15px!important;cursor:pointer;min-height:50px}
.ap-sel:hover{border-color:rgba(79,210,255,.5)!important}
.ap-sel-txt{color:#E9F1F8!important;font-size:15px!important;flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-sel-txt.placeholder{color:#7A8B9A!important}
.ap-sel-arr{color:#7A8B9A!important;flex:none;font-size:13px}

/* lista de marcas: o que estava invisível */
.vsel-wrap,.vsel-list,#vselList,.ap-sel-pop{
  background:#060B11!important;border:1px solid #2A3744!important}
.vsel-item,.ap-sel-op,#vselList > *{
  color:#E9F1F8!important;padding:14px 16px!important;font-size:15px!important;
  border-bottom:1px solid #1E2733!important;cursor:pointer}
.vsel-item:hover,.ap-sel-op:hover,#vselList > *:hover{
  background:rgba(79,210,255,.1)!important;color:#4FD2FF!important}
.vsel-vazio,.ap-sel-none{color:#8496A6!important;padding:18px 16px!important;font-size:14px!important}

/* caixas de confirmação alinhadas */
#contaBody label:has(> input[type="checkbox"]),.ap-check{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:11px!important;text-align:left!important;justify-content:flex-start!important;
  padding:12px 14px;border:1px solid #2A3744;border-radius:12px;margin:10px 0;cursor:pointer}
#contaBody label > input[type="checkbox"]{
  flex:none!important;width:20px!important;height:20px!important;margin:0!important;
  accent-color:#4FD2FF}
#contaBody label:has(> input[type="checkbox"]) > span{
  flex:1;min-width:0;text-align:left!important;font-size:13.5px!important;
  line-height:1.5!important;text-transform:none!important;letter-spacing:0!important;
  color:#E9F1F8!important}

/* terminar sessão */
.ap-sair,[data-ap="sair"]{
  border:1px solid rgba(255,138,107,.45)!important;color:#FF8A6B!important;
  background:rgba(255,138,107,.08)!important;font-weight:600!important;
  border-radius:999px!important;padding:13px 18px!important;opacity:1!important}
.ap-sair:hover,[data-ap="sair"]:hover{background:rgba(255,138,107,.16)!important}


/* ══ ECRÃ GRANDE ══
   O cn.css original já usa 1300–1400px nas secções da página. As minhas
   regras anteriores limitavam a 900–1080 e criavam bordos laterais.
   Aqui só se alinham os painéis à MESMA medida do resto do site. */
@media(min-width:900px){
  #sched > .card,#modal > .card,#track > .card,#plans > .card,#gallery > .card,
  #guide > .card,#about > .card,#faq > .card,#privacy > .card,#done > .card,
  .conta-modal > .card,#contaModal > .card{
    width:100%!important;max-width:100%!important;height:100%!important;
    max-height:100%!important;margin:0!important;border-radius:0!important;
    border:0!important}
  /* mesma medida do .lp-wrap e do .footer-grid do site */
  #plansBody,#galGrid,#guideBody,#faqList,#testim,#contaBody,
  .cnpx,.cnm-wrap,.cnm-foot-in,.cnrm-foot-in{
    max-width:1300px!important;margin-left:auto!important;margin-right:auto!important;
    padding-left:clamp(16px,4vw,44px)!important;padding-right:clamp(16px,4vw,44px)!important}
  .cnpx-h{padding-left:0!important;padding-right:0!important}
  .cnpx-h > *{max-width:1300px;margin-left:auto;margin-right:auto;
    padding-left:clamp(16px,4vw,44px);padding-right:clamp(16px,4vw,44px)}
}
/* área de cliente: colunas em vez de uma tira ao meio */
@media(min-width:1000px){
  #contaBody{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;align-items:start!important}
  #contaBody > .ap-card:first-child{grid-column:1/-1}
  #contaBody .cn-pu,#contaBody .cnap-grid{grid-template-columns:repeat(3,1fr)!important}
  #contaBody .pl-tipos,#contaBody .pl-cal{grid-column:1/-1}
}
html,body{overflow-x:hidden}

/* corpos dos painéis alinhados ao cabeçalho */
.cnpx-body{padding:24px clamp(16px,4vw,44px) 48px!important}
@media(min-width:900px){
  .cnpx-body{max-width:1300px!important;margin:0 auto!important}
}
