/* Layout: app de celular (máx. 480px), barra de vidro no topo, céu animado no início, abas de vidro embaixo */
:root{
  --bg:#F6F7FA; --surface:#FFFFFF; --surface2:#EEF1F6; --fg:#0B1E3F; --muted:#56627A; --line:#DDE2EC;
  --accent:#C8961E; --accent-strong:#8A6411; --accent-soft:#F3EAD2; --btn1:#173466; --btn2:#0B1E3F; --btn-ink:#FBF3DC; --accent-ink:#FBF3DC;
  --gold1:#F2D27A; --gold2:#C8961E;
  --gold:#E2B341; --gold-bg:#FBF0CF; --gold-ink:#5F4500; --urgent:#E5482E; --ok:#15803D; --ok-bg:#DCFCE7;
  --glass:rgba(255,255,255,.8); --chrome:#0B1E3F; --chrome-fg:#FBF3DC; --chrome-muted:#B9C2D6;
  --sky1:#173466; --sky2:#0B1E3F; --sky3:#071530; --cloud:rgba(242,210,122,.10); --hero-ink:#FBF3DC; --hero-k:#F2D27A;
  --map-bg:#ECEFF5; --map-road:#FFFFFF; --map-block:#DCE1EC; --map-park:#D6EBD9; --map-water:#A9C4E8;
  --shadow:0 1px 2px rgba(11,30,63,.05),0 10px 28px -12px rgba(11,30,63,.18);
  --display:"Geist", "Inter", "Segoe UI", system-ui, sans-serif;
  --body:"Geist", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r:20px; --ease:cubic-bezier(.2,.8,.2,1);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#061024; --surface:#0D1B36; --surface2:#132647; --fg:#F1ECDF; --muted:#9DA8BF; --line:#203459;
  --accent:#E2B341; --accent-strong:#F2D27A; --accent-soft:#2A2616; --btn1:#F2D27A; --btn2:#C8961E; --btn-ink:#0B1E3F; --accent-ink:#0B1E3F;
  --gold1:#F2D27A; --gold2:#C8961E;
  --gold:#E2B341; --gold-bg:#3A3018; --gold-ink:#F1D27A; --urgent:#F0654B; --ok:#4ADE80; --ok-bg:#0E2D1B;
  --glass:rgba(6,16,36,.8); --chrome:#020812; --chrome-fg:#F1ECDF; --chrome-muted:#8E9AB3;
  --sky1:#132C58; --sky2:#0B1E3F; --sky3:#0D1B36; --cloud:rgba(242,210,122,.07); --hero-ink:#FBF3DC; --hero-k:#F2D27A;
  --map-bg:#0E1C36; --map-road:#1B3056; --map-block:#13264A; --map-park:#12321F; --map-water:#1C3E70;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 28px -12px rgba(0,0,0,.55); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#061024; --surface:#0D1B36; --surface2:#132647; --fg:#F1ECDF; --muted:#9DA8BF; --line:#203459;
  --accent:#E2B341; --accent-strong:#F2D27A; --accent-soft:#2A2616; --btn1:#F2D27A; --btn2:#C8961E; --btn-ink:#0B1E3F; --accent-ink:#0B1E3F;
  --gold1:#F2D27A; --gold2:#C8961E;
  --gold:#E2B341; --gold-bg:#3A3018; --gold-ink:#F1D27A; --urgent:#F0654B; --ok:#4ADE80; --ok-bg:#0E2D1B;
  --glass:rgba(6,16,36,.8); --chrome:#020812; --chrome-fg:#F1ECDF; --chrome-muted:#8E9AB3;
  --sky1:#132C58; --sky2:#0B1E3F; --sky3:#0D1B36; --cloud:rgba(242,210,122,.07); --hero-ink:#FBF3DC; --hero-k:#F2D27A;
  --map-bg:#0E1C36; --map-road:#1B3056; --map-block:#13264A; --map-park:#12321F; --map-water:#1C3E70;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 28px -12px rgba(0,0,0,.55); color-scheme:dark }
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.45}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15;letter-spacing:-.015em}
h2{font-size:19px;font-weight:700}
h3{font-size:16px;font-weight:700}
p{margin:0}
.app{max-width:480px;margin:0 auto;min-height:100%;background:var(--bg);position:relative;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid var(--line);color:var(--fg);display:flex;align-items:center;gap:10px;min-height:60px;padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top .ttl{flex:1;min-width:0;font-family:var(--display);font-weight:700;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.brand b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.brand small{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-strong);font-weight:700;margin-top:-1px}
.iconbtn{width:44px;height:44px;border-radius:14px;border:0;background:transparent;color:inherit;display:grid;place-items:center;transition:background .2s,transform .15s}
.top .iconbtn:hover{background:var(--accent-soft)}
.chip-loc{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;min-height:38px;max-width:46%;box-shadow:var(--shadow)}
.chip-loc svg{color:var(--accent)}
.chip-loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page{padding-block:18px 24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:24px}
.sec{display:flex;flex-direction:column;gap:12px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.link{background:none;border:0;color:var(--accent-strong);font-weight:700;padding:6px 0;min-height:36px}
.muted{color:var(--muted)}
.small{font-size:13px}
.tiny{font-size:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.row{display:flex;align-items:center;gap:12px}
.col{display:flex;flex-direction:column;gap:8px}
.grow{flex:1;min-width:0}
/* botões e toque */
.btn,.cat,.pro,.chipb,.urgent,.offer,.tab,.menu-it,.card[data-a]{position:relative;overflow:hidden;transition:transform .18s var(--ease),box-shadow .25s,filter .2s,background .2s}
.btn:active,.cat:active,.pro:active,.chipb:active,.urgent:active,.offer:active,.card[data-a]:active{transform:scale(.97)}
.rip{position:absolute;border-radius:50%;transform:scale(0);background:currentColor;opacity:.22;pointer-events:none;animation:rip .65s ease-out forwards}
@keyframes rip{to{transform:scale(1);opacity:0}}
.btn{border:0;border-radius:16px;min-height:50px;padding:0 20px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn-p{background:linear-gradient(135deg,var(--btn1),var(--btn2));color:var(--btn-ink);box-shadow:0 10px 22px -10px rgba(11,30,63,.55)}
.btn-p:hover{filter:brightness(1.07);box-shadow:0 14px 26px -10px rgba(11,30,63,.65)}
.btn-d{background:var(--fg);color:var(--bg)}
.btn-o{background:var(--surface);border:1.5px solid var(--line);color:var(--fg)}
.btn-u{background:linear-gradient(135deg,#F2704F,#D63B22);color:#fff;box-shadow:0 10px 22px -10px rgba(214,59,34,.7)}
.btn-ok{background:linear-gradient(135deg,#22A055,#15803D);color:#fff}
.btn-sm{min-height:42px;padding:0 14px;border-radius:13px;font-size:14px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.p-open{background:var(--ok-bg);color:var(--ok)}
.p-open::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.8s infinite}
.p-closed{background:var(--surface2);color:var(--muted)}
.p-gold{background:var(--gold-bg);color:var(--gold-ink)}
.p-acc{background:var(--accent-soft);color:var(--accent-strong)}
.p-urg{background:var(--urgent);color:#fff}
@keyframes blink{50%{opacity:.35}}
.demo{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}
/* céu do início */
.hero{position:relative;overflow:hidden;border-radius:28px;padding:22px 18px 18px;background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 62%,var(--sky3) 100%);box-shadow:var(--shadow)}
.hero .sun{position:absolute;top:-40px;right:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(242,210,122,.75) 0%,rgba(200,150,30,.3) 40%,transparent 70%);animation:glow 6s ease-in-out infinite}
.hero .cl{position:absolute;height:26px;border-radius:999px;background:var(--cloud);filter:blur(.5px);animation:drift linear infinite}
.hero .cl::before,.hero .cl::after{content:"";position:absolute;background:inherit;border-radius:50%}
.hero .cl::before{width:44%;height:180%;left:16%;bottom:20%}
.hero .cl::after{width:30%;height:140%;left:52%;bottom:25%}
.hero .c1{width:110px;top:26px;left:-120px;animation-duration:38s}
.hero .c2{width:80px;top:70px;left:-90px;animation-duration:52s;animation-delay:-20s;opacity:.8}
.hero .c3{width:140px;top:8px;left:-150px;animation-duration:64s;animation-delay:-40s;opacity:.65}
@keyframes drift{to{transform:translateX(640px)}}
@keyframes glow{50%{transform:scale(1.08);opacity:.85}}
.hero-in{position:relative;display:flex;flex-direction:column;gap:4px}
.hero-k{font-size:12.5px;font-weight:700;color:var(--hero-k);letter-spacing:.02em}
.hero h1{font-size:28px;font-weight:800;color:var(--hero-ink)}
.hero-in>p:not(.hero-k){color:var(--hero-ink);opacity:.82;margin-bottom:14px}
:root[data-theme="dark"] .hero-k,:root[data-theme="dark"] .hero h1,:root[data-theme="dark"] .hero-in>p{color:var(--fg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .hero-k,:root:not([data-theme="light"]) .hero h1,:root:not([data-theme="light"]) .hero-in>p{color:var(--fg)}}
/* urgente */
.urgent{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;border-radius:20px;padding:14px 16px;background:linear-gradient(135deg,#F2704F,#D63B22);color:#fff;min-height:76px;box-shadow:0 14px 28px -14px rgba(214,59,34,.8);overflow:visible}
.urgent::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:ring 2.4s infinite;pointer-events:none}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(229,72,46,.55)}70%{box-shadow:0 0 0 14px rgba(229,72,46,0)}100%{box-shadow:0 0 0 0 rgba(229,72,46,0)}}
.urgent .ic{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex:none}
.urgent .ic svg{animation:zap 2.4s infinite}
@keyframes zap{0%,80%,100%{transform:none}85%{transform:rotate(-12deg) scale(1.15)}90%{transform:rotate(10deg) scale(1.1)}}
.urgent b{font-family:var(--display);font-size:18px;font-weight:800;display:block}
.urgent span{font-size:13.5px;opacity:.94}
/* categorias */
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;font-weight:700;font-size:13.5px;line-height:1.2;min-height:116px;justify-content:center;box-shadow:var(--shadow)}
.cat .ill{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -6px 12px rgba(0,0,0,.12),0 10px 18px -10px var(--c2);transition:transform .35s var(--ease)}
.cat .ill svg{filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.cat:hover{transform:translateY(-3px);border-color:var(--accent)}
.cat:hover .ill{transform:rotate(-6deg) scale(1.06)}
.ill-sm{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 16px -10px var(--c2)}
/* ofertas */
.offers{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;scrollbar-width:none}
.offers::-webkit-scrollbar{display:none}
.offer{flex:0 0 80%;scroll-snap-align:start;border-radius:22px;padding:18px;background:linear-gradient(135deg,#D9A62E 0%,#F3D57E 50%,#E2B341 100%);color:#2B2000;display:flex;flex-direction:column;gap:4px;border:0;text-align:left;box-shadow:0 12px 24px -14px rgba(160,110,0,.8)}
.offer::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:shine 4.5s infinite}
.offer:nth-child(2)::after{animation-delay:1.5s}.offer:nth-child(3)::after{animation-delay:3s}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.offer b{font-family:var(--display);font-size:20px;font-weight:800}
.offer span{font-size:13.5px}
.offer em{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;opacity:.75}
/* profissionais */
.pro{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;box-shadow:var(--shadow)}
.pro:hover{transform:translateY(-2px);border-color:var(--accent)}
.av{width:52px;height:52px;border-radius:16px;flex:none;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:17px;color:#0B1E33;background-image:linear-gradient(145deg,rgba(255,255,255,.45),rgba(0,0,0,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 14px -8px rgba(0,0,0,.4);position:relative}
.av.on::after{content:"";position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;background:#22C55E;border:3px solid var(--surface)}
.pro .nm{font-weight:700;font-size:15.5px}
.meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--muted);align-items:center}
.meta .st{color:var(--fg);font-weight:700;display:inline-flex;align-items:center;gap:3px}
.meta .st svg{color:var(--gold)}
.from{font-size:13px}
.from b{font-weight:800}
/* subtipos */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chipb{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 13px;min-height:46px;text-align:left;display:flex;flex-direction:column;line-height:1.2}
.chipb small{color:var(--muted);font-size:12px}
.chipb[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
/* mapa */
.map{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--map-bg);box-shadow:var(--shadow)}
.map > svg{display:block;width:100%;height:auto}
.pinG{animation:drop .55s var(--ease) both;transform-box:fill-box;transform-origin:50% 100%}
@keyframes drop{from{transform:translateY(-24px) scale(.6);opacity:0}to{transform:none;opacity:1}}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:-1px}
/* forms */
label.l,span.l{font-weight:700;font-size:14px;display:block;margin-bottom:6px}
.inp{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;min-height:50px;padding:10px 13px;transition:border-color .2s,box-shadow .2s}
textarea.inp{min-height:100px;resize:vertical}
.inp:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.err{color:var(--urgent);font-size:13px;font-weight:600;animation:shake .35s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.seg{display:flex;background:var(--surface2);border-radius:16px;padding:4px;gap:4px}
.seg button{flex:1;border:0;background:transparent;border-radius:12px;min-height:42px;font-weight:700;font-size:14px;color:var(--muted);transition:background .25s,color .25s,box-shadow .25s}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 2px 8px -2px rgba(11,37,64,.25)}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumb{width:76px;height:76px;border-radius:14px;object-fit:cover;border:1px solid var(--line);animation:pop .35s var(--ease)}
.addph{width:76px;height:76px;border-radius:14px;border:1.5px dashed var(--accent);display:grid;place-items:center;color:var(--accent-strong);cursor:pointer;background:var(--accent-soft);position:relative}
.addph input{position:absolute;width:1px;height:1px;opacity:0}
/* etapas */
.steps{display:flex;flex-direction:column;gap:0}
.step{display:flex;gap:12px;align-items:flex-start;position:relative;padding-bottom:14px}
.step:not(:last-child)::after{content:"";position:absolute;left:13px;top:28px;bottom:2px;width:2px;background:var(--line)}
.step.done:not(:last-child)::after{background:linear-gradient(var(--accent),var(--btn2))}
.step .b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;border:2px solid var(--line);background:var(--surface);font-size:12px;font-weight:800;color:var(--muted)}
.step.done .b{background:linear-gradient(135deg,var(--btn1),var(--btn2));border-color:transparent;color:#fff}
.step.now .b{border-color:var(--accent);color:var(--accent-strong);animation:ping 1.8s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.step .t{font-weight:700;padding-top:3px}
.step:not(.done):not(.now) .t{color:var(--muted);font-weight:500}
.typing{display:inline-flex;gap:4px;align-items:center;margin-right:8px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:bounce 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
/* orçamento */
.qline{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.qline span:last-child,.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.qtotal{display:flex;justify-content:space-between;font-weight:800;font-size:17px;padding-top:10px}
.tag{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:6px}
/* conversa */
.chat{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:4px 0}
.msg{max-width:82%;padding:9px 13px;border-radius:18px;font-size:14px;animation:pop .3s var(--ease)}
.msg.me{align-self:flex-end;background:linear-gradient(135deg,var(--btn1),var(--btn2));color:var(--btn-ink);border-bottom-right-radius:6px}
.msg.me time{color:rgba(255,255,255,.8)}
.msg.them{align-self:flex-start;background:var(--surface2);border-bottom-left-radius:6px}
.msg time{display:block;font-size:11px;color:var(--muted);margin-top:2px}
/* abas */
.tabbar{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:calc(100% - 20px);max-width:460px;z-index:25;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 32px -12px rgba(11,37,64,.35);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px}
.tab{border:0;background:transparent;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);border-radius:18px}
.tab .ti{width:46px;height:30px;border-radius:15px;display:grid;place-items:center;transition:background .3s var(--ease),transform .3s var(--ease)}
.tab[aria-current="page"]{color:var(--accent-strong)}
.tab[aria-current="page"] .ti{background:var(--accent-soft);transform:translateY(-1px)}
.badge{position:absolute;top:6px;left:calc(50% + 8px);min-width:18px;height:18px;border-radius:9px;background:var(--urgent);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px;animation:pop .4s var(--ease)}
/* números */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.stat b{display:block;font-family:var(--display);font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--muted)}
/* posts e antes/depois */
.post{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.bas{position:relative;height:190px;--p:50%;user-select:none;overflow:hidden}
.bas .lay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:10px}
.bas .lay.a{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.bas .lay.b{justify-content:flex-end}
.bas i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;padding:3px 8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bas .hd{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.4);pointer-events:none}
.bas .hd::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:#fff;color:#0B1E33;display:grid;place-items:center;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.bas input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.post .pb{padding:14px;display:flex;flex-direction:column;gap:8px}
/* agenda */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal .dh{font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}
.cal button{border:1px solid transparent;background:var(--surface);border-radius:12px;min-height:44px;font-size:13.5px;font-variant-numeric:tabular-nums;position:relative;transition:background .2s,transform .15s}
.cal button.out{opacity:.35}
.cal button.today{border-color:var(--accent)}
.cal button[aria-pressed="true"]{background:linear-gradient(135deg,var(--btn1),var(--btn2));color:var(--btn-ink)}
.cal button .dots{position:absolute;bottom:5px;left:0;right:0;display:flex;justify-content:center;gap:2px}
.cal button .dots i{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.cal button[aria-pressed="true"] .dots i{background:#fff}
.ev{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.ev .tm{font-weight:800;font-variant-numeric:tabular-nums;min-width:52px;color:var(--accent-strong)}
/* janelas */
.scrim{position:fixed;inset:0;background:rgba(4,16,28,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;display:flex;align-items:flex-end;justify-content:center}
.scrim.new{animation:fade .25s}
.scrim.new .sheet{animation:sheet .4s var(--ease)}
.sheet{width:100%;max-width:480px;max-height:92%;overflow-y:auto;background:var(--bg);border-radius:28px 28px 0 0;padding-top:12px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:14px}
.sheet::before{content:"";width:40px;height:5px;border-radius:3px;background:var(--line);align-self:center}
@keyframes fade{from{opacity:0}}
@keyframes sheet{from{transform:translateY(100%)}}
.sheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* vídeo */
.video{position:relative;aspect-ratio:9/12;max-width:100%;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#0B3B5E,#06121E);color:#E8F3FC;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.video::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 30% 20%,rgba(56,189,248,.45),transparent 45%),radial-gradient(circle at 80% 60%,rgba(14,165,233,.3),transparent 40%);animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.video .scene-ic{position:absolute;top:26%;left:50%;transform:translate(-50%,-50%);width:124px;height:124px;border-radius:36px;background:linear-gradient(145deg,#7DD3FC,#0284C7);color:#fff;display:grid;place-items:center;animation:popc .55s var(--ease);box-shadow:0 20px 40px -14px rgba(14,165,233,.8),inset 0 1px 0 rgba(255,255,255,.6)}
.video .scene-ic svg{animation:float 3s ease-in-out infinite}
.video h3,.video p,.video .col{position:relative}
.video h3{font-size:24px;font-weight:800;animation:up .5s .1s var(--ease) both}
.video p{color:#A9C3DA;margin-top:6px;animation:up .5s .2s var(--ease) both}
.vbars{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:4px;z-index:1}
.vbars span{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.vbars span i{display:block;height:100%;background:#fff;width:0}
@keyframes popc{from{transform:translate(-50%,-40%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes float{50%{transform:translateY(-6px)}}
.stars{display:flex;gap:4px}
.stars button{border:0;background:none;width:44px;height:44px;display:grid;place-items:center;color:var(--line);transition:transform .2s var(--ease),color .2s}
.stars button.on{color:var(--gold);transform:scale(1.12)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:16px;font-weight:600;z-index:60;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.25);animation:toast .4s var(--ease)}
@keyframes toast{from{opacity:0;transform:translate(-50%,16px) scale(.95)}}
.stock{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.qty{display:flex;align-items:center;gap:4px}
.qty button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;transition:transform .15s}
.qty button:active{transform:scale(.9)}
.qty b{min-width:30px;text-align:center;font-variant-numeric:tabular-nums}
.qrow{display:grid;grid-template-columns:118px minmax(0,1fr) 96px 40px;gap:6px;align-items:center}
@media (max-width:400px){.qrow{grid-template-columns:100px minmax(0,1fr) 84px 40px}}
.bar{height:12px;border-radius:6px;background:var(--surface2);overflow:hidden}
.bar>div{height:100%;border-radius:6px;transform-origin:left;animation:grow .9s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
.cover{height:130px;border-radius:24px;position:relative;display:flex;align-items:flex-end;padding:14px;box-shadow:var(--shadow);overflow:visible}
.cover .av{width:76px;height:76px;font-size:26px;border:4px solid var(--bg);position:absolute;bottom:-32px;left:16px;border-radius:22px}
.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.works div{aspect-ratio:1;border-radius:14px;display:flex;align-items:flex-end;padding:6px;font-size:11px;font-weight:700;color:#fff;max-width:100%;text-shadow:0 1px 3px rgba(0,0,0,.6);transition:transform .3s var(--ease)}
.works div:hover{transform:scale(1.04)}
.sticky-cta{position:sticky;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:5}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);min-height:56px}
.tg{width:52px;height:30px;border-radius:15px;border:0;background:var(--line);position:relative;flex:none;transition:background .25s}
.tg::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:left .3s var(--ease)}
.tg[aria-pressed="true"]{background:var(--ok)}
.tg[aria-pressed="true"]::after{left:25px}
.menu-it{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;padding:14px 4px;border-bottom:1px solid var(--line);min-height:56px;font-weight:600}
.menu-it>svg:first-child{color:var(--accent-strong)}
.code{font-family:ui-monospace,Menlo,monospace;font-size:18px;font-weight:700;letter-spacing:.06em;background:var(--surface2);padding:10px 14px;border-radius:14px;user-select:all}
/* entrada das telas */
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
main.anim .page>*{animation:up .55s var(--ease) both;animation-delay:calc(var(--i,0)*55ms)}
main.anim .cat{animation:pop .5s var(--ease) both;animation-delay:calc(120ms + var(--i,0)*50ms)}
main.anim .sec>.pro{animation:up .5s var(--ease) both;animation-delay:calc(160ms + var(--i,0)*60ms)}
.confetti{position:fixed;top:-12px;width:9px;height:14px;border-radius:2px;z-index:70;pointer-events:none;animation:fall 1.6s cubic-bezier(.3,.6,.4,1) forwards}
@keyframes fall{to{transform:translate(var(--x),105vh) rotate(var(--r));opacity:.9}}
.msg.sys{align-self:center;max-width:94%;background:var(--gold-bg);color:var(--gold-ink);font-size:12.5px;border-radius:14px;display:flex;gap:6px;align-items:flex-start}
.msg.sys svg{flex:none;margin-top:2px}
.msg .via{display:block;font-size:10.5px;font-weight:700;opacity:.85;margin-bottom:2px}
.qrs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.qrs::-webkit-scrollbar{display:none}
.qr{flex:none;border:1px solid var(--line);background:var(--surface2);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;min-height:38px;transition:transform .15s,background .2s}
.qr:hover{background:var(--accent-soft)}.qr:active{transform:scale(.95)}
.mic{width:46px;height:46px;border-radius:14px;border:0;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;flex:none;transition:transform .15s}
.mic:active{transform:scale(.9)}
.recbar{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:50px;padding:0 12px;border-radius:14px;background:var(--surface2)}
.recdot{width:10px;height:10px;border-radius:50%;background:var(--urgent);animation:blink 1s infinite;flex:none}
.aud{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aud .via,.aud time{flex-basis:100%}
.ap{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(255,255,255,.25);color:inherit;flex:none}
.msg.them .ap{background:var(--accent);color:#fff}
.wave{display:flex;gap:2px;align-items:center;height:26px}
.wave i{width:3px;border-radius:2px;background:currentColor;opacity:.4}
.aud.on .wave i{animation:lit var(--d) linear forwards;animation-delay:calc(var(--d) * var(--k) / 24)}
@keyframes lit{to{opacity:1}}
.push{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);width:calc(100% - 20px);max-width:440px;z-index:80;background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 40px -12px rgba(0,0,0,.4);padding:10px 14px 12px;animation:pushin .55s var(--ease)}
@keyframes pushin{from{transform:translate(-50%,-140%)}}
.push .ph{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:600}
.push .pic{width:24px;height:24px;border-radius:7px;background:var(--chrome);display:grid;place-items:center;color:#fff;flex:none}
.push.wa .pic{background:#1F9D47}
.pbody{display:flex;flex-direction:column;gap:2px;text-align:left;border:0;background:none;padding:2px 0 0;width:100%;color:var(--fg)}
.pbody span{font-size:14px}
.protect{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:12px;border-radius:14px;background:var(--ok-bg);font-size:13px}
.protect svg{color:var(--ok);flex:none}
.callav{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--btn1),var(--btn2));animation:ping 1.4s infinite}
/* tipografia executiva: pesos contidos, espaçamento justo */
body{font-feature-settings:"ss01","cv11";letter-spacing:-.005em}
h1{font-weight:650!important;letter-spacing:-.03em}
h2,h3,.top .ttl{font-weight:600!important;letter-spacing:-.02em}
.brand b,.hero h1,.offer b,.urgent b{font-weight:650;letter-spacing:-.025em}
.stat b,.qtotal,.code{font-weight:600}
.k,.demo,.hero-k,.offer em,.brand small{letter-spacing:.12em}
b,strong,.nm{font-weight:600}
.btn{font-weight:600;letter-spacing:-.005em}
/* gradiente */
.app{background:linear-gradient(180deg,var(--accent-soft) 0,var(--bg) 520px,var(--bg) 100%)}
.tab[aria-current="page"] .ti{background:linear-gradient(135deg,var(--btn1),var(--btn2));color:var(--btn-ink);box-shadow:0 6px 14px -6px var(--btn2)}
.tab[aria-current="page"]{color:var(--accent-strong)}
.top{background:linear-gradient(180deg,var(--glass),var(--glass))}
.sec-h h2,.page>.sec>h2{background:linear-gradient(120deg,var(--fg) 40%,var(--accent-strong));-webkit-background-clip:text;background-clip:text;color:transparent}
.card.rec,.stat:first-child{background-image:linear-gradient(160deg,var(--surface) 55%,var(--accent-soft))}
/* marinho e ouro */
.btn-p{box-shadow:inset 0 0 0 1.5px var(--gold2),0 10px 22px -10px rgba(11,30,63,.55)}
.tab[aria-current="page"] .ti{background:linear-gradient(135deg,var(--gold1),var(--gold2));color:#0B1E3F;box-shadow:0 6px 14px -6px var(--gold2)}
.tab[aria-current="page"]{color:var(--fg)}
.brand b{background:linear-gradient(120deg,var(--fg) 55%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{box-shadow:0 18px 40px -18px rgba(11,30,63,.7),inset 0 0 0 1px rgba(242,210,122,.18)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold1),var(--gold2),transparent);opacity:.8}
.chip-loc svg,.menu-it>svg:first-child{color:var(--accent)}
.cal button.today{border-color:var(--accent)}
.p-acc{background:var(--accent-soft);color:var(--accent-strong)}
.trackwrap{display:flex;flex-direction:column}
.trackmap{height:min(56vh,470px);position:relative;background:var(--map-bg);overflow:hidden}
.trackmap > svg{width:100%;height:100%;display:block}
.tsheet{position:relative;margin-top:-28px;background:var(--surface);border-radius:28px 28px 0 0;padding-top:12px;padding-bottom:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));box-shadow:0 -12px 30px -14px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:14px;animation:sheet .45s var(--ease)}
.tsheet::before{content:"";width:40px;height:5px;border-radius:3px;background:var(--line);align-self:center}
.srchbar{height:4px;border-radius:2px;background:var(--surface2);overflow:hidden;position:relative}
.srchbar i{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:slide 1.3s infinite}
@keyframes slide{from{left:-40%}to{left:100%}}
.avs{display:flex;flex:none}.avs .av{width:40px;height:40px;font-size:13px;border:3px solid var(--surface);margin-right:-12px;border-radius:50%}
.eta{text-align:right;flex:none}.eta b{display:block;font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.eta span{font-size:12px;color:var(--muted)}
.tbadges{display:flex;flex-wrap:wrap;gap:6px}
.incwrap{position:fixed;inset:0;z-index:75;background:radial-gradient(circle at 50% 28%,#1B3B72,#071530 72%);color:#FBF3DC;display:flex;align-items:center;justify-content:center;padding-block:24px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));animation:fade .3s;overflow-y:auto}
.inc{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;animation:popc2 .45s var(--ease)}
@keyframes popc2{from{transform:scale(.92);opacity:0}}
.inc h2{font-size:26px;color:#fff}
.ring{position:relative;width:150px;height:150px;display:grid;place-items:center}
.ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.rbg{fill:none;stroke:rgba(255,255,255,.12);stroke-width:8}
.rfg{fill:none;stroke:#F2D27A;stroke-width:8;stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:0;animation:count 15s linear forwards}
@keyframes count{to{stroke-dashoffset:339.3}}
.ring b{position:absolute;bottom:0;right:8px;background:#F2D27A;color:#0B1E3F;border-radius:999px;padding:2px 10px;font-size:14px;font-variant-numeric:tabular-nums}
.incgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.incgrid div{background:rgba(255,255,255,.08);border:1px solid rgba(242,210,122,.18);border-radius:14px;padding:10px 6px}
.incgrid b{display:block;font-size:17px;color:#fff}.incgrid span{font-size:12px;opacity:.75}
.incok{background:linear-gradient(135deg,#F2D27A,#C8961E);color:#0B1E3F;animation:goldring 1.6s infinite}
@keyframes goldring{0%{box-shadow:0 0 0 0 rgba(242,210,122,.6)}100%{box-shadow:0 0 0 16px rgba(242,210,122,0)}}
.inc .btn-o{background:transparent;color:#FBF3DC;border-color:rgba(255,255,255,.3)}
.urgnow{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:18px;padding:14px 16px;text-align:left;color:#FBF3DC;background:linear-gradient(135deg,#173466,#0B1E3F);box-shadow:inset 0 0 0 1.5px #C8961E}
.urgnow b{display:block;font-size:16px}.urgnow span{font-size:13px;opacity:.85}
.queue{display:flex;flex-direction:column;gap:8px}
.qi{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--surface);transition:opacity .3s,transform .3s}
.qi .av{width:38px;height:38px;font-size:13px;border-radius:12px}
.qi.chamando{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
.qi.recusou,.qi.naoresp{opacity:.55}
.qi.recusou b,.qi.naoresp b{text-decoration:line-through}
.qi.aceitou{border-color:var(--ok)}
.pill.pulse{animation:blink 1.1s infinite}
/* cartões de categoria dourados com ilustrações pretas */
.cat{background:linear-gradient(145deg,#F8E6AD 0%,#E8C060 48%,#C8961E 100%);border:1px solid rgba(200,150,30,.55);color:#14110A;box-shadow:0 12px 24px -14px rgba(160,110,0,.7),inset 0 1px 0 rgba(255,255,255,.6)}
.cat .ill{background:rgba(255,255,255,.3)!important;color:#0E0E0E;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px -8px rgba(90,60,0,.5)!important}
.cat .ill svg{filter:none}
.cat::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-70%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .6s var(--ease)}
.cat:hover::after{left:130%}
.cat:hover{border-color:#B8862B}
:root{--map-ave:#FBE7B0;--map-avec:#E2C373;--map-casing:#D3D9E3;--map-bld:rgba(11,30,63,.07)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--map-ave:#5A4A1F;--map-avec:#7A6528;--map-casing:#0A1830;--map-bld:rgba(255,255,255,.05)}}
:root[data-theme="dark"]{--map-ave:#5A4A1F;--map-avec:#7A6528;--map-casing:#0A1830;--map-bld:rgba(255,255,255,.05)}
.mapsw{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:600;font-size:13px;color:var(--fg);box-shadow:var(--shadow)}
.pickmap{height:180px;cursor:crosshair}
.pickmap > svg{width:100%;height:100%}
.pickmap g{transition:transform .25s var(--ease)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ===== app real: complementos ===== */
.sr{position:absolute;left:-9999px}
.rmph{position:absolute;top:-10px;right:-10px;width:30px;height:30px;background:var(--fg);color:var(--bg);border-radius:50%}
.lmap{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--map-bg);z-index:0}
.trackmap{height:min(56vh,480px)}
.leaflet-container{font-family:var(--body)}
.mapsw{z-index:500}
.mk-eu{width:22px;height:22px;border-radius:50%;background:#4F46E5;border:3px solid #fff;box-shadow:0 0 0 0 rgba(79,70,229,.5);animation:mkpulse 2s infinite}
@keyframes mkpulse{0%{box-shadow:0 0 0 0 rgba(79,70,229,.55)}100%{box-shadow:0 0 0 22px rgba(79,70,229,0)}}
.mk-casa{width:34px;height:34px;border-radius:12px;background:#E5482E;color:#fff;border:3px solid #fff;display:grid;place-items:center;box-shadow:0 6px 14px rgba(0,0,0,.4)}
.mk-pro{width:40px;height:40px;border-radius:50%;background:#0B1E3F;border:3px solid #F2D27A;color:#F2D27A;display:grid;place-items:center;font-weight:700;font-size:12px;box-shadow:0 6px 14px rgba(0,0,0,.45)}
.mk-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(145deg,#F2D27A,#C8961E);border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.4);display:grid;place-items:center}
.mk-pin.off{filter:grayscale(1)}
.mk-pin b{transform:rotate(45deg);font-size:10px;color:#0B1E3F}
/* radar: o círculo já nasce grande (280 px) e encolhido; o Safari do iPhone desenha certo assim */
.mk-radar{position:relative;width:20px;height:20px;pointer-events:none}
.mk-radar span{position:absolute;left:50%;top:50%;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;
  box-sizing:border-box;border:3px solid rgba(200,150,30,.9);background:radial-gradient(circle,rgba(242,210,122,0) 55%,rgba(242,210,122,.22) 100%);
  transform:scale(.07);opacity:0;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mkrad 3s ease-out infinite}
.mk-radar span:nth-child(2){animation-delay:1s}.mk-radar span:nth-child(3){animation-delay:2s}
@keyframes mkrad{0%{transform:scale(.07);opacity:.95}100%{transform:scale(1);opacity:0}}
.leaflet-marker-icon{overflow:visible}
@media (prefers-reduced-motion:reduce){.mk-radar span{animation:none;opacity:.5;transform:scale(.4)}}
.scene-ic{width:124px;height:124px;border-radius:36px;background:linear-gradient(145deg,#F2D27A,#C8961E);color:#0B1E3F;display:grid;place-items:center;margin:18px auto 6px;box-shadow:0 20px 40px -14px rgba(200,150,30,.7)}
.vbars{display:flex;gap:4px}
.vbars span{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.vbars span i{display:block;height:100%;background:#F2D27A;width:0}
/* tela de entrada (cartão) */
.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-block:28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:radial-gradient(circle at 20% 10%,#1B3B72 0,#0B1E3F 45%,#050D1C 100%)}
.auth{width:100%;max-width:440px;border-radius:30px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.7);border:1px solid rgba(242,210,122,.18)}
.auth-top{position:relative;text-align:center;color:#FBF3DC;padding:30px 22px 24px;background:radial-gradient(circle at 50% 0%,#24497F 0,#173466 40%,#0B1E3F 100%)}
.auth-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,#F2D27A,#C8961E,transparent)}
.auth-logo{width:118px;height:118px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;color:#F7F1E3;background:radial-gradient(circle at 35% 30%,#24497F,#071530 70%);border:3px solid #C8961E;box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 0 0 7px rgba(242,210,122,.14)}
.auth h1{font-size:34px;letter-spacing:.08em;text-transform:uppercase;color:#fff;font-weight:700!important}
.auth-tag{margin-top:6px;color:#F2D27A;letter-spacing:.24em;text-transform:uppercase;font-size:12.5px;font-weight:700}
.auth-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px}
.auth-chips span{border:1px solid rgba(242,210,122,.28);background:rgba(255,255,255,.06);border-radius:999px;padding:6px 12px;font-size:13px;color:#E9EEF7}
.auth-body{background:#081428;color:#E9EEF7;padding:22px 22px 26px;display:flex;flex-direction:column;gap:16px}
.auth-h{font-size:22px;color:#fff}
.auth .l{color:#C7D0E0}
.auth .inp{background:#0D1E3B;border-color:#22385F;color:#fff}
.auth .inp::placeholder{color:#7F8BA3}
.auth .inp:focus{border-color:#C8961E;box-shadow:0 0 0 4px rgba(200,150,30,.2)}
.auth-seg{background:#0F2142}
.auth-seg button{color:#AEB8CC}
.auth-seg button[aria-pressed="true"]{background:linear-gradient(135deg,#F2D27A,#C8961E);color:#0B1E3F;box-shadow:none}
.auth-msg{border:1px solid rgba(242,210,122,.35);background:rgba(242,210,122,.08);border-radius:14px;padding:12px 14px;font-size:14px;color:#F7EBC9}
.auth-btn{background:linear-gradient(135deg,#F2D27A,#C8961E);color:#0B1E3F;box-shadow:0 12px 26px -12px rgba(200,150,30,.8)}
.auth-link{color:#F2D27A;align-self:center}
.passwrap{position:relative}
.passwrap .inp{padding-right:84px}
.vergbtn{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 12px;border-radius:10px;border:0;background:#1A2F55;color:#fff;font-weight:600}
.sheet .vergbtn,.page .vergbtn{background:var(--surface2);color:var(--fg)}
.thumb-load{display:inline-block;background:linear-gradient(90deg,var(--surface2),var(--line),var(--surface2));background-size:200% 100%;animation:shimmer 1.2s infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
/* aceites e textos legais */
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;cursor:pointer}
.check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:#C8961E}
.link-in{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--accent-strong);text-decoration:underline;cursor:pointer}
.auth .link-in{color:#F2D27A}
.auth .check{color:#E9EEF7}
.legal{display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.55;max-width:68ch}
.legal h3{margin-top:10px;font-size:16px}
.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.legal a{color:var(--accent-strong)}
details summary{min-height:36px;display:flex;align-items:center}

.chip-ic{width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);flex:none}
.top .chip-loc{max-width:58%}

.cap{min-height:65px;display:flex;justify-content:center}

/* Registro (admin) */
.reg-chip{min-height:38px;padding:7px 11px}
.reg-it{gap:8px;border-left:4px solid var(--line)}
.reg-it.reg-imp{border-left-color:var(--gold2)}
.reg-dt{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.reg-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px}
.reg-dl dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.reg-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.reg-p{background:var(--surface2);color:var(--fg)}
.reg-admin,.reg-denuncia{background:var(--gold-bg);color:var(--gold-ink)}
.reg-urgente{background:color-mix(in srgb,var(--urgent) 14%,transparent);color:var(--urgent)}
.reg-privacidade{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.reg-sistema{background:var(--surface2);color:var(--muted)}
@media (max-width:420px){.reg-dl{grid-template-columns:1fr}.reg-dl dt{padding-top:6px}}

/* exclusão de conta: confirmação forte */
.perigo{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--urgent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--urgent) 28%,transparent)}
.perigo p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.perigo-ic{flex:none;width:28px;height:28px;border-radius:8px;background:var(--urgent);color:#fff;display:grid;place-items:center;font-weight:800}
.opcao-antes{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:12px 0;padding:14px 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--fg);font-weight:700;font-size:14px;text-align:left}
.frase{font-weight:800;color:var(--fg);user-select:all}
.inp.inp-ok{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}
.btn-perigo{background:var(--urgent);color:#fff}
.btn-perigo:disabled{opacity:.45;cursor:not-allowed}

.contato-l{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:14px;margin:12px 0}
.sel{user-select:all;overflow-wrap:anywhere}

/* a bandeirinha e os ícones do Leaflet ficam sempre no tamanho deles */
.leaflet-control-attribution svg{width:12px!important;height:8px!important;display:inline!important}

/* avaliações */
.aval-box{gap:12px;margin-top:16px}
.estrelas{display:inline-flex;gap:1px;color:var(--line)}
.estrelas .on{color:#E2A93B}
.aval-resumo{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.aval-media{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px}
.aval-media b{font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.aval-barras{flex:1;min-width:170px;display:flex;flex-direction:column;gap:4px}
.aval-bar{display:grid;grid-template-columns:10px 14px 1fr 26px;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.aval-bar svg{color:#E2A93B}
.aval-bar i{height:7px;border-radius:99px;background:var(--surface2);overflow:hidden;display:block}
.aval-bar i b{display:block;height:100%;background:linear-gradient(90deg,#F2D27A,#C8961E);border-radius:99px}
.aval-bar span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.aval-it{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--line)}
.aval-it p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.aval-resp{background:var(--surface2);border-radius:12px;padding:10px 12px;font-size:13px}
.aval-resp p{margin:4px 0 0;font-size:13px}

/* avaliação do app */
.avapp-stars{justify-content:center}
.avapp-stars button{width:52px;height:52px}
.avapp-ok{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--ok);animation:pop .4s var(--ease) both}
.fb-it{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:14px}
.fb-it p{margin:0;font-size:14px}
.chipb.on{border-color:#C8961E;background:color-mix(in srgb,#F2D27A 22%,var(--surface))}
.stbtn{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:600 12px var(--body);cursor:pointer}
.stbtn.on{background:#0B1E3F;color:#F2D27A;border-color:#0B1E3F}

/* ---------- Relatórios, ganhos e indicadores ---------- */
:root{--k1:#B07F12;--k2:#2E5AAC;--k3:#008C7A;--k4:#D9603B;--k5:#7C5CC4;--r-up:#15803D;--r-down:#B45309}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--k1:#C99A2E;--k2:#5E8FE0;--k3:#24A69C;--k4:#E0704E;--k5:#9B7FE0;--r-up:#4ADE80;--r-down:#F5B65A}}
:root[data-theme="dark"]{--k1:#C99A2E;--k2:#5E8FE0;--k3:#24A69C;--k4:#E0704E;--k5:#9B7FE0;--r-up:#4ADE80;--r-down:#F5B65A}
.r-card,.r-rosca,.r-anel,.r-hero{--c1:var(--k1);--c2:var(--k2);--c3:var(--k3);--c4:var(--k4);--c5:var(--k5)}
.seg4 button{font-size:13px;padding:0 4px}
.r-mes{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:4px}
.r-mes b{font-size:16px;font-variant-numeric:tabular-nums}
.r-mes .iconbtn:disabled{opacity:.3;cursor:default}
.r-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:24px;color:var(--hero-ink);
  background:linear-gradient(150deg,var(--sky1) 0%,var(--sky2) 70%);border:1px solid rgba(226,178,74,.28);box-shadow:var(--shadow)}
.r-glow{position:absolute;right:-50px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(242,210,122,.34),rgba(242,210,122,0) 70%);animation:rGlow 3s ease-in-out infinite;pointer-events:none}
@keyframes rGlow{50%{opacity:.5;transform:scale(1.08)}}
.r-k{font-size:13px;color:var(--chrome-muted);font-weight:600}
.r-big{font-size:clamp(32px,10vw,42px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05;color:#fff}
.r-big.neg{color:#F5B65A}
.r-split{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--chrome-muted)}
.r-split b{color:#fff;font-variant-numeric:tabular-nums}
.r-delta{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.r-delta small{font-weight:500;opacity:.8;font-size:11px}
.r-delta.up{background:var(--ok-bg);color:var(--r-up)} .r-delta.down{background:var(--gold-bg);color:var(--r-down)}
.r-hero .r-delta.up{background:rgba(52,195,143,.18);color:#5BD6A6} .r-hero .r-delta.down{background:rgba(240,162,59,.18);color:#F5B65A}
.r-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.r-tiles2{grid-template-columns:1fr;gap:10px}
.r-tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:3px;min-width:0;box-shadow:var(--shadow)}
.r-ic{font-size:15px;font-weight:800;color:var(--accent);line-height:1.2}
.r-tile b{font-size:clamp(17px,5vw,21px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-tile>span:last-child{font-size:11.5px;color:var(--muted);line-height:1.25}
.r-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.r-card{gap:10px}
.r-card h3{font-size:16px}
.r-svg{display:block;width:100%;height:auto;overflow:visible}
.r-base{stroke:var(--line);stroke-width:1}
.r-bar{fill:var(--k2);opacity:.55;transition:opacity .25s,fill .25s}
.r-bar.on{fill:var(--k1);opacity:1}
.r-tip{font:700 12px var(--body);fill:var(--fg);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.r-mm{fill:none;stroke:var(--fg);stroke-width:2;stroke-dasharray:5 4;opacity:.75}
.r-mmdot{fill:var(--surface);stroke:var(--fg);stroke-width:2}
.r-area{opacity:1}
.r-line{fill:none;stroke:var(--k1);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.r-guide{stroke:var(--k1);stroke-dasharray:3 4;opacity:.45}
.r-dot{fill:var(--surface);stroke:var(--k1);stroke-width:3;transition:cx .35s var(--ease),cy .35s var(--ease)}
.r-leg{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted)}
.r-leg span{display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-block;width:12px;height:12px;border-radius:4px;flex:none}
.sw-bar{background:var(--k1)} .sw-line{height:3px;border-radius:2px;background:var(--k1)}
.sw-mm{height:0;width:16px;border-radius:0;border-top:2px dashed var(--fg);opacity:.75}
.r-rot{display:grid;gap:2px}
.r-rot button,.r-rot span{border:0;background:transparent;min-height:36px;border-radius:10px;font-size:12px;font-weight:600;color:var(--muted);display:grid;place-items:center;transition:background .2s,color .2s}
.r-rot button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-strong)}
.r-rosca{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.r-rosca svg{width:132px;height:132px;flex:none}
.r-seg{fill:none;stroke-width:16}
.r-rc-n{font:800 17px var(--body);fill:var(--fg)} .r-rc-l{font:600 9.5px var(--body);fill:var(--muted)}
.r-rl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px}
.r-rl li{display:grid;grid-template-columns:12px minmax(0,1fr) auto 36px;align-items:center;gap:8px;font-size:13px}
.r-rl li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-rl li b{font-variant-numeric:tabular-nums} .r-rl li small{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.r-anel svg{width:110px;height:110px;display:block}
.r-anel-f{fill:none;stroke:var(--surface2);stroke-width:12}
.r-anel-v{fill:none;stroke:var(--k1);stroke-width:12;stroke-linecap:round}
.r-anel-v.ok{stroke:var(--ok)}
.r-prog{display:flex;flex-direction:column;gap:6px}
.r-prog>i{display:block;height:10px;border-radius:99px;background:var(--surface2);overflow:hidden}
.r-prog>i>b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold2),var(--gold1));transition:width .8s var(--ease)}
.r-pros{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.r-pros li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.r-pros li:first-child{border-top:0}
.r-pos{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;flex:none;font-weight:800;font-size:13px;background:var(--surface2);color:var(--muted)}
.r-pros li:first-child .r-pos{background:linear-gradient(145deg,var(--gold1),var(--gold2));color:#0B1E3F}
.r-nome{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-pros .grow{display:flex;flex-direction:column;gap:2px}
.r-pago{border:0;min-height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--gold-bg);color:var(--gold-ink);white-space:nowrap;display:inline-flex;align-items:center;transition:background .25s,color .25s,transform .15s}
button.r-pago:active{transform:scale(.95)}
.r-pago.ok{background:var(--ok-bg);color:var(--ok)}
.r-logo{width:48px;height:48px;border-radius:16px;flex:none;display:grid;place-items:center;font-weight:900;font-size:20px;color:#0B1E3F;background:linear-gradient(145deg,var(--gold1),var(--gold2))}
.r-cfg summary{list-style:none;text-align:left;align-items:flex-start;cursor:pointer;display:flex;flex-direction:column;gap:2px;position:relative;padding-right:28px}
.r-cfg summary::-webkit-details-marker{display:none}
.r-cfg summary::after{content:"";position:absolute;right:4px;top:6px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s}
.r-cfg[open] summary::after{transform:rotate(-135deg);top:10px}
.r-skel{display:flex;flex-direction:column;gap:12px}
.r-skel i{display:block;height:110px;border-radius:22px;background:linear-gradient(90deg,var(--surface2),var(--surface),var(--surface2));background-size:200% 100%;animation:rSk 1.2s linear infinite}
.r-skel i:first-child{height:150px}
@keyframes rSk{to{background-position:-200% 0}}
/* entrada animada só quando o relatório abre */
.r-in.va{animation:rIn .6s var(--ease) both}
.r-in.va:nth-of-type(2){animation-delay:.06s} .r-in.va:nth-of-type(3){animation-delay:.12s} .r-in.va:nth-of-type(4){animation-delay:.18s}
@keyframes rIn{from{opacity:0;transform:translateY(14px)}}
.r-in.va .r-bar{transform-box:fill-box;transform-origin:50% 100%;animation:rBar .8s var(--ease) both;animation-delay:calc(var(--i) * 60ms + .15s)}
@keyframes rBar{from{transform:scaleY(0)}}
.r-in.va .r-line{stroke-dasharray:1;animation:rDraw 1.1s var(--ease) both .15s}
@keyframes rDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.r-in.va .r-area,.r-in.va .r-mm,.r-in.va .r-mmdot,.r-in.va .r-dot,.r-in.va .r-tip{animation:rFade .6s ease both .7s}
@keyframes rFade{from{opacity:0}}
.r-in.va .r-seg{animation:rFade .5s ease both;animation-delay:calc(var(--i) * 90ms + .2s)}
.r-in.va .r-anel-v{animation:rRing 1.1s var(--ease) both .2s}
@keyframes rRing{from{stroke-dasharray:0 100}}
.r-in.va .r-grow,.r-in.va .r-prog>i>b{animation:rW .9s var(--ease) both .2s;transform-origin:left}
@keyframes rW{from{transform:scaleX(0)}}
@media (max-width:360px){.r-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
