/* Cortex · identidade "Modern Cortex" (azul elétrico, rosa, tinta escura, chanfros, sinapses).
   Fontes servidas daqui mesmo (Space Grotesk, Space Mono, Bricolage Grotesque, Chakra Petch). Só tema claro, como no modelo. */
@font-face{font-family:"Space Grotesk";src:url(fontes/spacegrotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Space Mono";src:url(fontes/spacemono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Mono";src:url(fontes/spacemono-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(fontes/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fontes/chakrapetch-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fontes/chakrapetch-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --ink:#1e0508; --electric:#3b3bff; --brand:#ff8fb1; --mist:#ececf2; --confirm:#a9a9ff;
  --ink-10:rgba(30,5,8,.10); --ink-15:rgba(30,5,8,.15); --ink-40:rgba(30,5,8,.40); --ink-60:rgba(30,5,8,.60); --ink-70:rgba(30,5,8,.70);
  --pink-50:#fdf2f8; --pink-100:#fce7f3; --pink-300:#f9a8d4; --pink-700:#be185d; --pink-800:#9d174d; --pink-950:#500724;
  --blue-50:#eff6ff; --blue-700:#1d4ed8; --violet-50:#f5f3ff; --violet-100:#ede9fe; --violet-600:#7c3aed; --violet-700:#6d28d9;
  --slate-900:#0f172a; --slate-300:#cbd5e1; --red-50:#fef2f2; --red-500:#ef4444;
  --f-sans:"Space Grotesk",system-ui,sans-serif; --f-mono:"Space Mono",ui-monospace,monospace; --f-display:"Bricolage Grotesque","Space Grotesk",sans-serif; --f-brand:"Chakra Petch","Space Grotesk",sans-serif;
  --sombra:0 1px 2px rgba(15,27,30,.04),0 8px 24px -12px rgba(15,27,30,.08);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light}
body{margin:0;background:var(--mist);color:var(--ink);font:16px/1.5 var(--f-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);margin:0}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
svg.ico{flex:none;display:block}
.chanfro{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== estrutura ===== */
.app{min-height:100vh}
.lado{display:none;position:fixed;inset:0 auto 0 0;z-index:20;width:256px;flex-direction:column;background:var(--ink);color:#fff;padding:16px}
.lado-marca{display:flex;align-items:center;gap:12px;padding:8px 8px 28px;text-decoration:none}
.lado nav{flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto;scrollbar-width:none}
.lado nav::-webkit-scrollbar{display:none}
.nav-i{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:rgba(255,255,255,.6);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:500;text-align:left;text-decoration:none;transition:background .15s,color .15s}
.nav-i:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-i[aria-current=page]{background:var(--electric);color:#fff}
.nav-i .n{margin-left:auto;border-radius:99px;background:rgba(255,143,177,.15);color:var(--pink-300);font-size:11px;font-weight:700;padding:2px 8px}
.nav-i .n.zero{background:rgba(255,255,255,.12);color:#fff}
.usuario{display:flex;align-items:center;gap:12px;width:100%;border:0;text-align:left;background:rgba(255,255,255,.05);color:#fff;border-radius:12px;padding:12px}
.avatar{width:36px;height:36px;border-radius:99px;background:var(--brand);color:var(--ink);display:grid;place-items:center;font-size:14px;font-weight:700;flex:none}
.usuario .nome{font-size:14px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.st-linha{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.55)}
.st-linha i{width:6px;height:6px;border-radius:99px;background:var(--electric);flex:none;box-shadow:0 0 0 2px rgba(59,59,255,.35)}
.st-linha[data-e=salvando] i{background:var(--brand)}
.st-linha[data-e=erro] i{background:var(--red-500)}
.st-linha[data-e=erro]{color:#fecaca}
.topo-m{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;overflow-x:auto;background:var(--ink);padding:12px;scrollbar-width:none}
.topo-m::-webkit-scrollbar{display:none}
.topo-m .pil{flex:none;border:0;background:transparent;color:rgba(255,255,255,.7);border-radius:99px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.topo-m .pil[aria-current=page]{background:var(--brand);color:var(--ink)}
.topo-m .st-linha{flex:none;margin-left:auto;padding-left:8px}
@media (min-width:1024px){
  .app{padding-left:256px}
  .lado{display:flex}
  .topo-m{display:none}
}
.pagina{max-width:1024px;margin:0 auto;padding:24px 16px 96px}
@media (min-width:640px){.pagina{padding:40px 24px 96px}}
@media (min-width:1024px){.pagina{padding:40px 40px 96px}}
.pilha>*+*{margin-top:20px}

/* ===== cabeçalho de página ===== */
.cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:32px}
.cab .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:12px;font:400 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--electric)}
.cab .eyebrow i{display:block;height:1px;width:48px;background:var(--brand)}
.cab h1{font-size:clamp(28px,6vw,36px);font-weight:800;line-height:1;letter-spacing:-.025em}
.cab p{margin-top:8px;max-width:36rem;font-size:15px;line-height:1.6;color:var(--ink-60)}

/* ===== cartões ===== */
.cartao{background:#fff;border-radius:12px;padding:24px;box-shadow:var(--sombra),0 0 0 1px var(--ink-10)}
.cartao h2{font-size:18px;font-weight:700}
.cartao.rosa{background:rgba(253,242,248,.6);box-shadow:0 0 0 1px var(--pink-100)}
.sub{color:var(--ink-60);font-size:14px}
.mt{margin-top:20px}.mt2{margin-top:32px}.mt-s{margin-top:8px}
.linha-h{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.espaco{flex:1}
.cartao .sec-t{font-size:20px;font-weight:700;margin:0}
h2.sec-t{font-size:20px;font-weight:700;padding-top:12px}

/* ===== botões ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink-15);background:#fff;color:var(--ink);border-radius:12px;padding:10px 16px;min-height:42px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--ink-40)}
.btn.mini{min-height:32px;padding:4px 12px;font-size:12px;border-radius:10px}
.btn.perigo{color:var(--red-500)}
.btn.perigo:hover{background:var(--red-50);border-color:#fecaca}
.btn.rosa{background:var(--brand);border-color:var(--brand);color:var(--ink)}
.btn.rosa:hover{background:#ff7aa2}
.btn.ink,.btn-ink{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--ink);color:#fff;padding:10px 16px;min-height:42px;font-size:14px;font-weight:600;transition:background .15s}
.btn.ink:hover,.btn-ink:hover{background:#000}
.btn[disabled]{opacity:.5;cursor:default}
.rm{display:grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--ink-40);transition:background .15s,color .15s}
.rm:hover{background:var(--red-50);color:var(--red-500)}

/* ===== selos ===== */
.selo{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .15s}
.selo.ok{background:var(--blue-50);color:var(--blue-700)}
.selo.miss{background:var(--pink-50);color:var(--pink-700)}
.selo.conf{background:var(--violet-50);color:var(--violet-600)}
button.selo.conf:hover{background:var(--violet-100)}
.selo.cinza{background:rgba(30,5,8,.05);color:var(--ink-60)}
.selo.rosa-s{background:var(--brand);color:var(--pink-950);font-weight:700}
.selo[disabled]{cursor:default}

/* ===== progresso ===== */
.prog{display:flex;height:8px;gap:2px;overflow:hidden;border-radius:99px;background:rgba(30,5,8,.05)}
.prog i{display:block;min-width:0}
.prog .a{background:var(--electric)}.prog .b{background:var(--confirm)}.prog .c{background:var(--brand)}
.leg{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:12px;color:var(--ink-60)}
.leg.p{font-size:11px}
.leg span{display:flex;align-items:center;gap:6px}
.leg i{width:6px;height:6px;border-radius:99px}
.leg i.a{background:var(--electric)}.leg i.b{background:var(--confirm)}.leg i.c{background:var(--brand)}
.leg b{font-weight:600;color:var(--slate-900)}
.anel{position:relative;width:144px;height:144px;margin:0 auto}
.anel svg{transform:rotate(-90deg);width:100%;height:100%}
.anel .meio{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.anel .pct{font-size:30px;font-weight:800;letter-spacing:-.025em;line-height:1.1}
.anel .rot{font-size:11px;color:var(--ink-60)}

/* ===== início ===== */
.heroi{position:relative;overflow:hidden;border-radius:16px;background:var(--electric);color:#fff;padding:32px}
@media (min-width:768px){.heroi{padding:48px}}
.heroi canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7;pointer-events:none}
.heroi .campo-pontos{position:absolute;left:0;right:0;bottom:0;height:160px;width:100%;opacity:.9;pointer-events:none}
.heroi-in{position:relative;max-width:36rem;padding-bottom:96px}
.heroi .marca-g{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.badge-v{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;background:var(--brand);color:var(--ink);padding:6px 12px;font:700 11px var(--f-mono);text-transform:uppercase}
.heroi h1{font-size:clamp(34px,8vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.025em}
.heroi h1 .tr{display:inline-block;height:3px;width:40px;margin-right:12px;transform:translateY(-8px);background:var(--brand);vertical-align:middle}
.heroi p{margin-top:20px;line-height:1.6;color:rgba(255,255,255,.8)}
.heroi .go{display:inline-flex;align-items:center;gap:8px;margin-top:28px;border:0;background:#fff;color:var(--electric);padding:12px 20px;font-size:14px;font-weight:700;transition:background .15s,color .15s}
.heroi .go:hover{background:var(--brand);color:var(--ink)}
.g5{display:grid;gap:20px}
@media (min-width:768px){.g5{grid-template-columns:repeat(5,1fr)}.g5 .c3{grid-column:span 3}.g5 .c2{grid-column:span 2}}
.passos{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:16px}
.passos li{display:flex;gap:16px;font-size:14px;line-height:1.6;color:var(--ink-70)}
.passos li b{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--pink-50);color:var(--electric);font-size:12px;font-weight:700}
.decidido{display:flex;gap:16px}
.decidido .ic{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--brand);color:var(--ink)}
.decidido h2{font-size:16px}
.decidido ul{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--ink-70)}
.decidido li+li{margin-top:4px}
.grade{display:grid;gap:16px}
.g3{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.sec-card{display:block;border:0;text-align:left;background:#fff;border-radius:16px;padding:20px;text-decoration:none;box-shadow:0 1px 2px rgba(15,27,30,.04),0 0 0 1px var(--ink-10);transition:transform .2s,box-shadow .2s}
.sec-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(131,24,67,.10),0 0 0 1px rgba(255,143,177,.4)}
.sec-card .topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sec-card .ib{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(30,5,8,.05);color:#334155;transition:background .15s,color .15s}
.sec-card:hover .ib{background:var(--brand);color:var(--ink)}
.sec-card .seta{color:var(--slate-300);transition:transform .15s,color .15s}
.sec-card:hover .seta{transform:translateX(4px);color:var(--brand)}
.sec-card h3{font-size:16px;font-weight:700;font-family:var(--f-sans)}
.sec-card p{margin:4px 0 16px;min-height:40px;font-size:14px;line-height:1.35;color:var(--ink-60)}

/* ===== campos ===== */
.campos{display:grid;gap:28px 24px}
@media (min-width:768px){.campos{grid-template-columns:repeat(3,1fr)}.campos.c2{grid-template-columns:repeat(2,1fr)}}
.campo-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.campo-topo label,.campo-topo .rot{font-size:14px;font-weight:600}
.campo-topo .ob{color:var(--brand)}
.dica{margin-bottom:8px;border-radius:8px;background:var(--pink-50);padding:8px 12px;font-size:12px;line-height:1.6;color:var(--pink-800)}
.entrada{width:100%;border:1px solid var(--ink-15);border-radius:12px;background:rgba(236,236,242,.6);padding:10px 14px;font-size:14px;outline:0;transition:box-shadow .15s,border-color .15s}
.entrada::placeholder{color:var(--ink-40)}
.entrada:hover{border-color:rgba(30,5,8,.3)}
.entrada:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(255,143,177,.15)}
textarea.entrada{resize:vertical;min-height:88px;line-height:1.5}
.entrada[readonly]{opacity:.65}
.campo.s-falta .entrada{border-color:#f9a8d4;background:rgba(253,242,248,.3)}
.campo .fonte{margin-top:6px;font-size:11px;color:var(--ink-40)}
.campo .fonte a{color:var(--electric)}
.busca{position:relative;flex:1;min-width:220px}
.busca svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-40)}
.busca .entrada{background:#fff;padding:14px 14px 14px 44px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.tags{display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--ink-15);border-radius:12px;background:rgba(236,236,242,.6);padding:7px}
.tags:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(255,143,177,.15)}
.tags .t{display:inline-flex;align-items:center;gap:4px;border-radius:99px;background:var(--violet-50);color:var(--violet-600);padding:3px 6px 3px 11px;font-size:12px;font-weight:600}
.tags .t button{border:0;background:transparent;color:inherit;font-size:16px;line-height:1;padding:0 4px}
.tags input{flex:1;min-width:140px;border:0;background:transparent;outline:0;padding:5px;font-size:14px}
.grupo-t{font-size:18px;font-weight:700;margin-bottom:20px}

/* ===== imóveis ===== */
.card-im{display:block;overflow:hidden;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(15,27,30,.04),0 0 0 1px var(--ink-10);transition:transform .2s,box-shadow .2s}
.card-im:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(15,23,42,.10),0 0 0 1px var(--ink-10)}
.card-im .capa{position:relative;height:176px;overflow:hidden;background:#e2e8f0}
.card-im .capa img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card-im:hover .capa img{transform:scale(1.05)}
.card-im .cod{position:absolute;left:12px;top:12px;border-radius:99px;background:rgba(255,255,255,.9);backdrop-filter:blur(4px);padding:4px 10px;font-size:11px;font-weight:700}
.card-im .falt{position:absolute;right:12px;top:12px}
.card-im .corpo{padding:20px}
.card-im h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;font:700 14px/1.35 var(--f-sans)}
.card-im .preco{margin-top:8px;font-size:20px;font-weight:800;letter-spacing:-.025em;font-family:var(--f-sans)}
.card-im .meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;color:var(--ink-60)}
.card-im .meta span{display:flex;align-items:center;gap:4px}
.card-im .pr{margin-top:16px}
.card-im .duvida{margin-top:10px}
.titulo-im{font-size:clamp(24px,5vw,32px);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin:20px 0}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.foto{position:relative;overflow:hidden;border-radius:12px;background:#e2e8f0;aspect-ratio:4/3;border:2px solid transparent}
.foto img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.foto.fora{opacity:.35}
.foto.capa-f{border-color:var(--brand)}
.foto .barra{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:4px;padding:4px;background:linear-gradient(transparent,rgba(30,5,8,.7))}
.foto .barra button{min-height:26px;border:0;border-radius:6px;background:rgba(255,255,255,.92);color:var(--ink);padding:4px 7px;font-size:12px;font-weight:700}
.foto .tag-c{position:absolute;left:6px;top:6px;border-radius:99px;background:var(--brand);color:var(--ink);padding:1px 8px;font-size:10px;font-weight:800}
.soltar{border:2px dashed var(--ink-15);border-radius:16px;padding:20px;text-align:center;font-size:14px;color:var(--ink-60);cursor:pointer;transition:background .15s,border-color .15s}
.soltar:hover,.soltar.sobre{border-color:var(--brand);background:var(--pink-50)}
.obs-r{display:grid;gap:8px;border-radius:12px;background:var(--pink-50);padding:16px 20px;box-shadow:0 0 0 1px var(--pink-100)}
.obs-r h3{display:flex;align-items:center;gap:8px;font:700 14px var(--f-sans);color:var(--pink-800)}
.obs-r ul{margin:0;padding-left:18px;font-size:14px;color:var(--pink-800)}
.obs-r li+li{margin-top:4px}

/* ===== divulgação, regras, listas ===== */
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcoes label{display:inline-flex;align-items:center;border:1px solid var(--ink-15);border-radius:99px;padding:8px 14px;font-size:12px;font-weight:500;color:var(--ink-70);cursor:pointer;transition:background .15s,border-color .15s}
.opcoes label:hover{border-color:rgba(30,5,8,.3);background:#f8fafc}
.opcoes input{position:absolute;opacity:0;pointer-events:none}
.opcoes label:has(input:checked){border-color:var(--brand);background:var(--brand);color:var(--ink)}
.opcoes label:has(input:focus-visible){outline:3px solid var(--electric);outline-offset:2px}
.sugestao{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;border-radius:12px;background:rgba(245,243,255,.7);padding:16px;font-size:14px}
.sugestao b{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--violet-700)}
.sugestao p{margin-top:4px;color:var(--ink-70)}
.sugestao button{flex:none;border:0;border-radius:8px;background:#fff;color:var(--violet-700);padding:8px 12px;font-size:12px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05),0 0 0 1px var(--violet-100)}
.sugestao button:hover{background:var(--violet-100)}
@media (max-width:540px){.sugestao{flex-direction:column;align-items:flex-start}}
.cab-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cab-card h3{font:700 16px var(--f-sans)}
.cartao.decid-card{box-shadow:var(--sombra),0 0 0 1px var(--ink-10),inset 4px 0 0 var(--electric)}
.nota-pequena{margin-bottom:12px;font-size:12px;color:var(--ink-40)}
.lin-edit{display:flex;align-items:flex-end;gap:12px;padding:20px}
.lin-edit .cols{flex:1;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.lin-edit.larga .cols{grid-template-columns:1fr}
.lin-edit label{font-size:12px;font-weight:600;color:var(--ink-70)}
.lin-edit .entrada{margin-top:6px;font-weight:400;color:var(--slate-900)}
.lista-pend{margin:0;padding:0;list-style:none}
.lista-pend li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 0;font-size:14px}
.lista-pend li+li{border-top:1px solid var(--ink-10)}
.lista-pend a{font-weight:600;text-decoration:none}
.lista-pend a:hover{color:var(--electric)}
.lista-pend .sel{display:flex;flex-wrap:wrap;gap:8px}
.barra-enviar{position:sticky;bottom:16px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-top:20px;border-radius:16px;background:var(--ink);color:#fff;padding:16px 16px 16px 24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.35)}
.barra-enviar .tx{font-size:14px;color:rgba(255,255,255,.7)}
.barra-enviar .bt{display:flex;flex-wrap:wrap;gap:12px}
.barra-enviar .b2{display:flex;align-items:center;gap:8px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none}
.barra-enviar .b2:hover{background:rgba(255,255,255,.2)}
.barra-enviar .b3{display:flex;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--brand);color:var(--ink);padding:10px 16px;font-size:14px;font-weight:600}
.barra-enviar .b3:hover{background:#f9a8d4}

/* ===== sobreposição ===== */
.sobreposicao{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(30,5,8,.72);padding:16px}
.modal{width:100%;max-width:460px;border-radius:16px;background:#fff;padding:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.4)}
.modal h2{font-size:20px;font-weight:800;margin-bottom:8px}
.modal p{margin-bottom:12px;font-size:14px;color:var(--ink-70)}
.visor{display:grid;gap:8px;justify-items:center;max-width:min(96vw,1200px);max-height:92vh}
.visor img{max-width:100%;max-height:82vh;border-radius:12px}
.visor .ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.aviso{position:fixed;left:50%;bottom:24px;z-index:60;transform:translateX(-50%);max-width:92vw;border-radius:99px;background:var(--ink);color:#fff;padding:10px 18px;font-size:14px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.aviso.erro{background:var(--red-500)}
/* ===== sair ===== */
.sair{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.55);padding:8px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}
.sair:hover{background:rgba(255,255,255,.05);color:#fff}
.topo-m button.pil{font:inherit;font-size:12px;font-weight:600}

/* ===== tela de login ===== */
.pag-login{background:var(--electric)}
.login{position:relative;overflow:hidden;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px;background:var(--electric)}
.login canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7;pointer-events:none}
#login-pontos{position:absolute;left:0;right:0;bottom:0;height:200px;pointer-events:none}
#login-pontos .campo-pontos{display:block;width:100%;height:100%;opacity:.9}
.login-cartao{position:relative;width:100%;max-width:420px;border-radius:20px;background:#fff;padding:32px;box-shadow:0 30px 60px -20px rgba(10,10,90,.55)}
.login-marca{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.login-cartao .eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 12px;font:400 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--electric)}
.login-cartao .eyebrow i{display:block;height:1px;width:48px;background:var(--brand)}
.login-cartao h1{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.025em}
.login-sub{margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink-60)}
#form-login{margin-top:24px}
.campo-l{display:block;margin-top:16px;font-size:14px;font-weight:600}
.campo-l .entrada{display:block;margin-top:6px;padding:12px 14px;font-weight:400}
.senha-box{position:relative;display:block}
.senha-box .entrada{padding-right:48px}
.olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--ink-60)}
.olho:hover{background:rgba(30,5,8,.06);color:var(--ink)}
.login-erro{margin:16px 0 0;border-radius:8px;background:var(--pink-50);color:var(--pink-800);padding:10px 12px;font-size:13px;line-height:1.4}
.entrar{display:block;width:100%;margin-top:20px;border:0;background:var(--ink);color:#fff;padding:14px 20px;font-size:14px;font-weight:700;transition:background .15s,color .15s}
.entrar:hover:not([disabled]){background:var(--brand);color:var(--ink)}
.entrar[disabled]{opacity:.6;cursor:default}
.login-rodape{margin-top:24px;text-align:center;font:400 11px var(--f-mono);color:var(--ink-40)}
@media (max-width:480px){.login{padding:16px}.login-cartao{padding:24px}}
@media print{.lado,.topo-m,.btn,.aviso{display:none}.app{padding:0}}
