/* Casca de página do protótipo /conta: corpo opaco, tela cheia, campos reais e estados de clique. */
html,body{margin:0;background:#F5F1E9;color-scheme:light}
.m{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.m>.main{flex:1;width:100%}
.m>.tabs{margin-top:auto;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.m input.input{font:inherit;width:100%;outline:none;-webkit-appearance:none;appearance:none}
.m input.input:focus{border-color:var(--b500);box-shadow:0 0 0 4px rgba(169,133,72,.14)}
.m input.input::placeholder{color:var(--mute)}
.m [data-go],.m .chip,.m .dl-sel,.m .seg span,.m .dt-tabs span,.m .dt-d.v,.m .pk,.m .fp,.m .av,.m .logo{cursor:pointer}
.m .deal{transition:border-color .15s,transform .15s}
.m .deal:hover{border-color:var(--b300);transform:translateY(-1px)}
.m .pk{transition:border-color .15s}
.m [hidden]{display:none !important}
.m .btn:focus-visible,.m a:focus-visible,.m [tabindex]:focus-visible{outline:2px solid var(--b500);outline-offset:2px}

/* faixa do protótipo */
.proto{position:fixed;left:16px;bottom:16px;z-index:50;font:500 12px Inter,system-ui,sans-serif}
.proto>button{height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(58,43,22,.14);background:rgba(33,28,21,.9);color:#F5F1E9;font:inherit;cursor:pointer;box-shadow:0 10px 30px -10px rgba(33,28,21,.5)}
.proto ul{position:absolute;left:0;bottom:42px;margin:0;padding:8px;list-style:none;min-width:230px;background:#fff;border:1px solid #E3DCCC;border-radius:14px;box-shadow:0 20px 50px -20px rgba(33,28,21,.45)}
.proto li a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;color:#211C15;text-decoration:none}
.proto li a:hover,.proto li a.on{background:#F3EAD9}
.proto li a small{color:#999083;font:11px 'DM Mono',monospace}
.proto li.sep{height:1px;background:#E3DCCC;margin:6px 4px}
.proto li.cap{margin:4px 10px 6px;color:#999083;font-size:11px}
@media (max-width:640px){.toast{bottom:124px}.proto{left:auto;right:12px;bottom:76px}.proto ul{left:auto;right:0}.proto>button{height:30px;padding:0 12px}}

.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:#211C15;color:#F5F1E9;padding:10px 16px;border-radius:999px;font:500 13px Inter,system-ui,sans-serif;z-index:60;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}

/* Marcas oficiais (marcas.js): SVG em currentColor; monograma só quando o app não tem a marca. */
.mk{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}
.mk svg{display:block}
.mk.mk-mono b{font:600 11px Inter,sans-serif;letter-spacing:.4px;color:var(--b700);line-height:1}
.mk-air{width:22px;height:22px;color:var(--ink)}
.mk-air.mk-mono{border-radius:7px;background:var(--panel);border:1px solid var(--line)}
.mk-air.mk-mono b{font-size:9px}
.mk-p{height:16px;margin-right:7px;vertical-align:-3px;color:var(--ink)}
.mk-p.mk-mono{display:none}
.tr-mk .mk-mono,.tp-mk .mk-mono{width:40px;height:40px;border-radius:12px;background:var(--panel)}
/* fd.js: nada da página aparece antes de a sessão (login + 2FA) ser decidida e o doc e os dados da página
   chegarem (data-fd-tela), senão a conta pisca pra quem vai pro entrar e a tela entra em ondas.
   Falha ou demora no 2FA mantém o conteúdo privado escondido */
html:not([data-fd=proto]):not([data-fd-tela]) .m{visibility:hidden}
html[data-fd=erro]:not([data-fd-tela]) .m{animation:none}

/* fd.js: nome/saldo fictícios do HTML só aparecem no protótipo; no live, só depois do doc do usuário */
html:not([data-fd=proto]):not([data-fd-doc]) :is(.hb-desde, [data-hb=ano], [data-hb=transf], .who .fp, .av, .pf-av, .hb-cnome, .pf-head .h1, .pf-row b, .pf-head .small, .pf-plan .sub, .tp-tit .ink, .tr-lib, .main > .between .h1, [data-saldo], .pill.dark){visibility:hidden}
/* fp-live.js: Pix, pronto e contagem de transferências fictícios; o JS marca data-fd-ok quando pinta o real (ou falha) */
html:not([data-fd=proto]) :is(.px-card, .pr, [data-transf]):not([data-fd-ok]){visibility:hidden}
html[data-fd=erro] .main, html[data-fd=erro] .who{visibility:hidden}
/* deals-live.js: deals fictícios do HTML só no protótipo; no live, o JS marca data-dl ao pintar (ou ao falhar) */
html:not([data-fd=proto]) :is(.deals, .dt-grid, .in-dh .pill, [data-screen-label=Deals] p.sub, .dl-bar):not([data-dl]){visibility:hidden}
.m button.dt-d, .m button.chip{font:inherit;cursor:pointer;appearance:none}
.m button.dt-d:not(.v){border:0;background:none}
.fd-falha{position:sticky;top:0;z-index:50;padding:10px 16px;background:#B4462F;color:#fff;font:500 13px/1.4 Inter,sans-serif;text-align:center}
.fd-falha a{color:#fff;text-decoration:underline;font-weight:600}
/* busca-live.js: formulário, cota e voos fictícios do Buscar só no protótipo; no live, o JS marca data-bs ao pintar */
html:not([data-fd=proto]) [data-screen-label=Buscar] :is(.bs-form, .bs-head, .bs-head + .between, .card.fl, .main .h1 + .small):not([data-bs]){visibility:hidden}
.ac{position:relative}
.ac-lista{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);min-width:240px;max-height:320px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(58,43,22,.14)}
.ac-lista li{display:flex;align-items:baseline;gap:8px;padding:9px 10px;border-radius:9px;font-size:14px;color:var(--ink);cursor:pointer}
.ac-lista li b{font:600 13px Inter,sans-serif;min-width:34px}
.ac-lista li small{margin-left:auto;font-size:12px;color:var(--muted,#8A8072)}
.ac-lista li[aria-selected=true]{background:var(--panel,#F4EFE7)}
.ac-lista li.ac-vazio{cursor:default;color:var(--muted,#8A8072)}
.bs-in{all:unset;box-sizing:border-box;width:100%;min-width:0;font:600 15px Inter,sans-serif;color:var(--ink);line-height:1.4}
.bs-in::placeholder{color:var(--muted,#8A8072);font-weight:500}
.bs-f label,.bs-f > span{font-size:12px;color:var(--muted,#8A8072)}
.bs-f:focus-within{box-shadow:0 0 0 2px var(--ink) inset}
.bs-cp{display:flex;gap:10px}
.bs-cp select{cursor:pointer;width:auto}
.bs-cp select:first-child{flex:1}
.bs-go:disabled{opacity:.6;cursor:progress}
.bs-msg{margin:8px 4px 0;color:#B4462F}
.bs-carregando{display:flex;flex-direction:column;gap:10px;padding:20px}
.bs-carregando i{display:block;height:14px;border-radius:7px;background:var(--panel,#F4EFE7);animation:bs-pulsa 1.2s ease-in-out infinite}
.bs-carregando i + i{width:60%}
@keyframes bs-pulsa{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.bs-carregando i{animation:none}}
/* Estoque à venda (fp-live.js): pacote que não cabe e botão esgotado */
.m .pk.pk-off{opacity:.45;cursor:not-allowed;position:relative}
.m .pk.pk-off .radio,.m .pk.pk-off .pk-tag{visibility:hidden}
.m .pk-esgotado{position:absolute;top:-11px;right:20px;font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:#B4462F;color:#fff}
.m .btn.is-off{opacity:.5;pointer-events:none}

/* Bandeja do avatar (prototipo.js): Conta, MCP, Sair */
.m .top{position:relative;z-index:30}
.m .who{position:relative}
.m .av[aria-expanded=true]{border-color:var(--b500);box-shadow:0 0 0 3px rgba(169,133,72,.16)}
.m .av:focus-visible{outline:2px solid var(--b500);outline-offset:2px}
.av-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:196px;padding:6px;border-radius:14px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 18px 40px -14px rgba(33,28,21,.28),0 2px 6px rgba(33,28,21,.06);display:flex;flex-direction:column;animation:av-in .14s ease-out}
.av-menu[hidden]{display:none}
.av-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--ink)}
.av-menu a svg{color:var(--b600);flex:none}
.av-menu a:hover,.av-menu a:focus-visible{background:var(--b100);color:var(--ink);outline:none}
.av-menu a.on{font-weight:650}
.av-menu a[data-sair],.av-menu a[data-sair] svg{color:#9a3b2e}
.av-menu a[data-sair]:hover,.av-menu a[data-sair]:focus-visible{background:#f6e5df;color:#7d2d22}
.av-sep{height:1px;margin:5px 6px;background:var(--line)}
@keyframes av-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.av-menu{animation:none}}
