/* App Wash Go (/portlink/webapp, rodada 12): interface de aplicativo.
   Barra fixa no topo, telas "Máquinas" e "Abrir a porta" e barra de abas embaixo.
   Respeita o entalhe e a barra de gestos do iPhone (safe-area). Usa os componentes de porta-pagina.css. */
html{background:#F4F6F8}
/* rodada 13: coluna de celular (até 430 px). Em tela larga, a coluna fica no centro sobre o azul da marca. */
@media (min-width:431px){html{background:#071A3A radial-gradient(120% 80% at 50% 0%,#0B3B8C 0%,#071A3A 60%) fixed}body.wa{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 30px 90px -20px rgba(0,0,0,.55)}}
body.wa{display:block;width:100%;max-width:430px;margin:0 auto;background:#F4F6F8;min-height:100vh;min-height:100dvh;padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:calc(74px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}

/* topo */
.wa-top{position:fixed;top:0;left:50%;width:min(100%,430px);translate:-50% 0;z-index:30;height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid #E6EBF1}
.wa-marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:#14181D;min-width:0}
.wa-marca img{width:36px;height:36px;border-radius:11px;flex:none}
.wa-marca span{display:flex;flex-direction:column;min-width:0}
.wa-marca b{font-size:16px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.wa-marca small{font-size:11px;font-weight:600;color:#6B7480;line-height:1.3}
.wa-marca:focus-visible{outline:3px solid #8FC1FF;outline-offset:3px;border-radius:12px}
.wa-vivo{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#157A3E;background:#E8F8EE;padding:6px 10px;border-radius:99px}
.wa-vivo i{width:7px;height:7px;border-radius:50%;background:#2BC46A;box-shadow:0 0 0 3px rgba(43,196,106,.25);animation:ap-pulso 1.6s ease-in-out infinite}
body.wa[data-tela="porta"] .wa-vivo{display:none}

/* telas */
.wa-main{width:100%;max-width:430px;margin:0 auto;padding:16px max(14px,env(safe-area-inset-left)) 14px}
.wa-tela{animation:wa-entra .28s cubic-bezier(.2,.8,.2,1)}
.wa-tela[hidden]{display:none!important}
@keyframes wa-entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wa-h{margin:2px 2px 14px;font-size:clamp(22px,6.4vw,28px);line-height:1.1;font-weight:900;letter-spacing:-.03em;color:#14181D}

/* máquinas */
.wa-resumo{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px!important}
.wa-resumo span{display:flex;flex-direction:column;gap:2px;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px -20px rgba(0,40,110,.6),inset 0 0 0 1px #E6EBF1;font-size:12px;font-weight:600;color:#5A636E}
.wa-resumo b{font-size:28px;line-height:1;font-weight:900;letter-spacing:-.03em;color:#0062E0!important}
.wa-cartao{background:#fff;border-radius:22px;padding:12px;box-shadow:0 12px 30px -24px rgba(0,40,110,.55),inset 0 0 0 1px #E6EBF1}
.wa-atalho{display:flex;align-items:center;gap:13px;width:100%;margin-top:14px;border:0;border-radius:22px;padding:16px;background:linear-gradient(135deg,#0047B3 0%,#0062E0 60%,#2F86FF 100%);color:#fff;text-align:left;font-family:inherit;cursor:pointer;box-shadow:0 16px 30px -18px rgba(0,98,224,.95)}
.wa-atalho-ic{flex:none;width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.wa-atalho-ic svg{width:26px;height:26px}
.wa-atalho-t{flex:1;display:flex;flex-direction:column;gap:2px}
.wa-atalho-t b{font-size:16px;font-weight:800}
.wa-atalho-t small{font-size:12.5px;opacity:.88}
.wa-atalho-ar{width:22px;height:22px;flex:none}
.wa-atalho:active{scale:.985}
.wa-atalho:focus-visible{outline:3px solid #8FC1FF;outline-offset:3px}

/* porta: cada estado vira um cartão */
.wa .ap-porta{display:block}
.wa .ap-porta > .pp-st{background:#fff;border-radius:22px;padding:20px 16px;box-shadow:0 12px 30px -24px rgba(0,40,110,.55),inset 0 0 0 1px #E6EBF1;max-width:none}
.wa .ap-dist{margin:0 0 10px}
.wa-cadeado{width:78px;height:78px;border-radius:26px;background:#EAF2FF;color:#0062E0;display:grid;place-items:center;margin:2px auto 14px}
.wa-cadeado svg{width:40px;height:40px}
.is-perto .wa-cadeado{background:#E8F8EE;color:#157A3E}
.wa .ap-ir{min-height:56px;font-size:16px}
.wa .pp-st-instalar .pp-inst{box-shadow:none;padding:0;background:transparent}
.wa .ap-porta > .wa-frame-tela{padding:0;overflow:hidden}
.wa-frame-tela .pp-frame iframe{height:calc(100dvh - 62px - 74px - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:520px}

.wa-assina{text-align:center;margin:22px 0 2px}

/* abas */
.wa-abas{position:fixed;left:50%;width:min(100%,430px);translate:-50% 0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.95);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid #E6EBF1}
.wa-aba{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;border:0;background:none;padding:4px;color:#7B8591;font:700 10.5px/1.15 Montserrat,Arial,sans-serif;text-decoration:none;cursor:pointer;border-radius:16px}
.wa-aba svg{width:25px;height:25px;padding:3px 12px;box-sizing:content-box;border-radius:99px;transition:background-color .2s ease}
.wa-aba[aria-current="page"]{color:#0062E0}
.wa-aba[aria-current="page"] svg{background:#EAF2FF}
.wa-aba:focus-visible{outline:3px solid #8FC1FF;outline-offset:-3px}

@media (prefers-reduced-motion:reduce){.wa-tela{animation:none}.wa-vivo i{animation:none}}
.wa [data-estado="porta"] > .ap-dist{display:none}

/* ===== Rodada 13 ===== */
.wa-aba span{white-space:nowrap}
@media (max-width:359px){.wa-aba{font-size:9.5px}.wa-aba svg{padding:3px 8px}}

/* /porta: sem barra de abas; escolha, cadastro e porta em cartão; máquinas logo abaixo */
body.wa-sem-abas{padding-bottom:max(16px,env(safe-area-inset-bottom))}
.pp-acesso > .pp-st{background:#fff;border-radius:22px;padding:20px 16px;box-shadow:0 12px 30px -24px rgba(0,40,110,.55),inset 0 0 0 1px #E6EBF1;max-width:none}
.pp-acesso > .wpt-st-form{padding:16px 14px 18px}
.pp-escolha{align-items:stretch!important;text-align:left!important}
.pp-pergunta{margin:0 0 12px;font-size:16px;font-weight:800;letter-spacing:-.01em;color:#14181D}
.pp-escolha .wpt-op{min-height:84px}
.pp-escolha .pp-mini{align-self:center;text-align:center}
.wpt-tem-op{border:0;background:none;cursor:pointer;font-family:inherit}
.pp-nota{margin:0;padding:12px 14px;background:#EAF2FF;color:#0B3B8C;font-size:13.5px;font-weight:700;line-height:1.45;text-align:center;border-bottom:1px solid #DCE6F5}
.is-novo .pp-nota{background:#E8F8EE;color:#14532D;border-color:#CDEFD8}
.pp-acesso > .wa-frame-tela{padding:0;overflow:hidden}
.ap-st .pp-link{border:0;background:none;font-family:inherit;cursor:pointer}
.wa-maq{margin-top:22px}
.wa-maq-h{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}
.wa-h2{margin:0;font-size:19px;font-weight:900;letter-spacing:-.02em;color:#14181D}

/* aba Instruções */
.wa-inst-app{display:grid;grid-template-columns:46px minmax(0,1fr);gap:4px 12px;align-items:center;margin-bottom:14px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#0047B3 0%,#0062E0 60%,#2F86FF 100%);color:#fff;box-shadow:0 16px 30px -18px rgba(0,98,224,.95)}
.wa-inst-app img{width:46px;height:46px;border-radius:13px;background:#fff}
.wa-inst-app div{display:flex;flex-direction:column;gap:2px}
.wa-inst-app b{font-size:15px;font-weight:800}
.wa-inst-app span{font-size:12px;line-height:1.4;opacity:.9}
.wa-inst-btn{grid-column:1/-1;margin-top:10px;min-height:46px;border:0;border-radius:99px;background:#fff;color:#0062E0;font:800 14px/1.2 Montserrat,Arial,sans-serif;cursor:pointer}
.wa-inst-btn:focus-visible{outline:3px solid #8FC1FF;outline-offset:2px}
.wg-no-app .so-navegador{display:none}
.wa-passos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wa-passos li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:18px;padding:14px;box-shadow:0 10px 24px -20px rgba(0,40,110,.6),inset 0 0 0 1px #E6EBF1}
.wa-pn{flex:none;width:30px;height:30px;border-radius:50%;background:#0062E0;color:#fff;font-weight:900;font-size:14px;display:grid;place-items:center}
.wa-passos h2{margin:3px 0 4px;font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:#14181D}
.wa-passos p{margin:0;font-size:13px;line-height:1.5;color:#4A525C}
.wa-passos p + p{margin-top:6px}
.wa-passos a{color:#0062E0;font-weight:700}
.wa-p-mini{font-size:12px!important;color:#6B7480!important}
.wa-espera{margin-top:14px;padding:16px}
.wa-espera h2{margin:0 0 8px;font-size:15.5px;font-weight:800;color:#14181D}
.wa-espera ul{margin:0;padding:0 0 0 18px;display:grid;gap:6px;font-size:13px;line-height:1.45;color:#4A525C}
.wa-espera b{color:#14181D}

/* /porta#app: cadastro + baixar o app (botão "App Wash Go" da Portlink) */
.pp-sub-app{margin:-6px 2px 14px;font-size:14px;line-height:1.5;color:#4A525C}
.pp-sub-app[hidden]{display:none}
.pp-baixar-ic{position:relative;display:block;margin:4px auto 14px;width:76px;height:76px}
.pp-baixar-ic img{width:76px;height:76px;border-radius:22px;box-shadow:0 14px 28px -14px rgba(0,98,224,.85)}
.pp-baixar-ok{position:absolute;right:-8px;bottom:-6px;width:30px;height:30px;border-radius:50%;background:#16893F;color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
.pp-baixar-ok[hidden]{display:none}
.pp-baixar-ok svg{width:17px;height:17px}
.pp-baixar .pp-btn{margin-top:18px}
.pp-horario{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#F1F5FB;color:#33425A;font-size:12.5px;line-height:1.45;text-align:center}
.pp-horario b{color:#14181D}
button.pp-link{border:0;background:none;font-family:inherit;cursor:pointer}

/* rodada 15: entrada do app (primeira vez pela tela inicial): cadastro ou CPF */
.wa-entrada[hidden]{display:none}
.wa-com-entrada .wa-tela{display:none!important}
.wa-com-entrada .wa-abas{display:none}
.wa-com-entrada{padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
.wa-boas{text-align:center;margin:6px 0 16px}
.wa-boas img{width:72px;height:72px;border-radius:21px;display:block;margin:0 auto 12px;box-shadow:0 14px 28px -14px rgba(0,98,224,.85)}
.wa-boas .wa-h{margin:0 0 6px}
.wa-boas p{margin:0 auto;max-width:330px;font-size:14px;line-height:1.5;color:#4A525C}
.wpt-tem-volta{border:0;background:none;cursor:pointer;font-family:inherit}
.wpt-tem-volta::after{content:none!important}
.wpt-tem-volta::before{content:"←";margin-right:6px}
.wa-conta{margin:14px 0 0;font-size:12px;color:#6B7480;text-align:center}
.wa-conta[hidden]{display:none}
.wa-conta button{border:0;background:none;padding:4px 6px;color:#0062E0;font:700 12px/1 Montserrat,Arial,sans-serif;cursor:pointer;text-decoration:underline}
/* rodada 16: a moldura da Sislav ganha a altura do topo cortado (ver porta-pagina.css) */
.wa-frame-tela .pp-frame iframe{height:calc(100dvh - 62px - 74px - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom) + var(--corte,0px));min-height:calc(520px + var(--corte,0px))}
.wa-wifi{display:inline-block;margin-left:2px;border:0;background:none;padding:2px 0;color:#0062E0;font:700 13px/1.4 Montserrat,Arial,sans-serif;text-decoration:underline;cursor:pointer}
/* Rodada 20: "Olá, Nome!" no começo do app, para quem já entrou */
.wa-ola{margin:2px 2px 2px;font-size:17px;line-height:1.3;font-weight:600;color:#3A4350;letter-spacing:-.01em}
.wa-ola b{font-weight:900;color:#0062E0}
.wa-ola[hidden]{display:none}
/* Rodada 22: quem já tem o app (Android avisa) não vê o cartão de pôr o app na tela inicial */
.wg-tem-app .so-navegador{display:none}
