/* ===== Dinheiro no celular: céu, gráfico do Início e cartões de lançamentos ===== */
.dn { display: none; }
@media (max-width: 959px) { .fin-grande { display: none; } .dn { display: block; } .conteudo:has(.dn) .topo-app { display: none; } }
body:has(.dn) { background: radial-gradient(70% 16% at 12% 7%, rgb(255 255 255 / 0.9), transparent 72%), radial-gradient(55% 13% at 88% 15%, rgb(255 255 255 / 0.85), transparent 72%), radial-gradient(80% 15% at 28% 36%, rgb(255 255 255 / 0.6), transparent 72%), radial-gradient(60% 12% at 90% 50%, rgb(255 255 255 / 0.5), transparent 72%), linear-gradient(180deg, #86BDE5 0%, #B2D5EE 26%, #D9EAF6 52%, #F2F8FC 78%, #FFFFFF 100%); background-attachment: fixed; }
:root[data-tema="escuro"] body:has(.dn) { background: radial-gradient(70% 14% at 15% 8%, rgb(120 160 210 / 0.25), transparent 72%), linear-gradient(180deg, #14304D 0%, #0B1B2E 40%, #000000 90%); background-attachment: fixed; }
.dn { --pn-card: #F3F3F5; --pn-txt: #0B0B0F; --pn-sub: #6F7580; --pn-v: #00873A; --pn-vt: #00762F; --pn-r: #D92D20; --pn-rt: #B80012; --pn-l: #E86A00; --pn-lt: #9A4C00; padding-bottom: 150px; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; }
:root[data-tema="escuro"] .dn { --pn-card: #1C1C1E; --pn-txt: #FFFFFF; --pn-sub: #98989F; --pn-v: #30D158; --pn-vt: #30D158; --pn-r: #FF453A; --pn-rt: #FF6259; --pn-l: #FF9F0A; --pn-lt: #FFB04D; }
.dn__topo { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.dn__topo h1 { font-size: 2rem; font-weight: 700; letter-spacing: -0.04em; } .dn__topo span { color: #4D6378; font-size: 0.875rem; font-weight: 500; }
:root[data-tema="escuro"] .dn__topo span { color: #98989F; }
.dn__chips { margin-top: 0; } .dn__chips .cm__chip { display: inline-flex; align-items: center; gap: 6px; } .dn__chips .ic { width: 15px; height: 15px; }
.dn .cm__chip { border-color: transparent; background: rgb(255 255 255 / 0.85); }
:root[data-tema="escuro"] .dn .cm__chip { background: #1C1C1E; }
.dn .cm__chip--on { background: #0F1F1A; color: #FFFFFF; } :root[data-tema="escuro"] .dn .cm__chip--on { background: #FFFFFF; color: #000000; }
.dn__cart { display: grid; justify-items: center; margin-top: 14px; padding: 16px 12px 8px; border: 1px solid rgb(255 255 255 / 0.7); border-radius: 30px; background: rgb(255 255 255 / 0.74); -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 10px 34px rgb(40 90 140 / 0.14); color: var(--pn-txt); text-align: center; }
:root[data-tema="escuro"] .dn__cart { border-color: rgb(255 255 255 / 0.08); background: rgb(28 28 30 / 0.8); }
.dn__miolo { display: grid; justify-items: center; width: 100%; padding-bottom: 14px; }
.dn__vazio { gap: 6px; padding: 18px 8px 22px; } .dn__vazio b { font-size: 1.25rem; font-weight: 700; } .dn__vazio span { color: var(--pn-sub); font-size: 0.9375rem; }
.dn__data { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 8px 0 14px; border: 0; border-radius: 999px; background: var(--pn-card); color: var(--pn-txt); font: inherit; font-size: 0.9375rem; font-weight: 700; cursor: pointer; } .dn__data .ic { width: 16px; height: 16px; } .dn__data em { padding: 4px 10px; border-radius: 999px; background: #C9F4D9; color: #006B2D; font-size: 0.75rem; font-style: normal; font-weight: 700; }
.dn__busca { display: flex; align-items: center; gap: 10px; min-height: 52px; margin-top: 16px; padding: 0 18px; border-radius: 999px; background: rgb(255 255 255 / 0.95); box-shadow: 0 4px 18px rgb(40 90 140 / 0.1); }
.dn__busca .ic { width: 20px; height: 20px; color: #6F7580; } .dn__busca input { flex: 1; min-width: 0; border: 0; background: none; color: #0B0B0F; font: inherit; font-size: 1rem; outline: none; }
:root[data-tema="escuro"] .dn__busca { background: #1C1C1E; } :root[data-tema="escuro"] .dn__busca input { color: #FFFFFF; }
.dn__lista { display: grid; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.dn__lista li { animation: seq-entra 420ms var(--suave-sai) backwards; animation-delay: calc(var(--k, 0) * 45ms); }
.dn__c { display: grid; gap: 12px; width: 100%; padding: 14px 16px; border: 0; border-radius: 22px; background: #FFFFFF; box-shadow: 0 4px 18px rgb(40 90 140 / 0.1); color: #0B0B0F; font: inherit; text-align: left; cursor: pointer; transition: transform 160ms var(--ios); }
.dn__c:active { transform: scale(0.98); }
:root[data-tema="escuro"] .dn__c { background: #1C1C1E; color: #FFFFFF; box-shadow: none; }
.dn__c-topo { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px dashed #DADDE3; }
:root[data-tema="escuro"] .dn__c-topo { border-color: #3A3A3C; }
.dn__av { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: #F3F3F5; font-size: 0.9375rem; font-weight: 700; }
.dn__nome { display: grid; flex: 1; min-width: 0; gap: 1px; } .dn__nome b { overflow: hidden; font-size: 1.0625rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; } .dn__nome span { overflow: hidden; color: #6F7580; font-size: 0.875rem; text-overflow: ellipsis; white-space: nowrap; }
.dn__val { font-size: 1.1875rem; font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.dn__c-pe { display: flex; align-items: center; gap: 10px; color: #6F7580; font-size: 0.8125rem; }
.dn__forma { display: inline-flex; align-items: center; gap: 6px; } .dn__forma .ic { width: 15px; height: 15px; }
.dn__data:not(button) { margin-left: auto; }
.dn__c-pe .dn__data { margin-left: auto; padding: 0; background: none; min-height: 0; font-weight: 500; }
.dn__pill { padding: 3px 12px; border: 1px solid; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; }
.dn__pill--ok { border-color: #BDE8CD; background: #D3F7E1; color: #0A7A3F; } .dn__pill--ab { border-color: #F2DC9A; background: #FFEDB0; color: #8A5A00; } .dn__pill--cai { border-color: #F5C1C1; background: #FFD3D0; color: #B42318; }
:root[data-tema="escuro"] .dn__pill--ok { border-color: #1F6B47; background: #0F4A2B; color: #30D158; } :root[data-tema="escuro"] .dn__pill--ab { border-color: #7A5A12; background: #3A2D0C; color: #FFC857; } :root[data-tema="escuro"] .dn__pill--cai { border-color: #7A2A2F; background: #5E1510; color: #FF7A70; }
.dn__mais { display: block; width: 100%; min-height: 50px; margin-top: 14px; border: 0; border-radius: 999px; background: rgb(255 255 255 / 0.9); color: #0B0B0F; font: inherit; font-weight: 700; cursor: pointer; }
.agm-cal__d--faixa span { border-radius: 0; background: #C9F4D9; width: 100%; }
.agm-cal__d--futuro { opacity: 0.3; }
.agm-cal__res { margin: 10px 2px 8px; color: var(--suave); font-size: 0.9375rem; text-align: center; }
.cf__ok:disabled { opacity: 0.35; cursor: default; }

/* ===== Resumo rápido (puxar o Início para baixo) ===== */
body.hub-aberto { overflow: hidden; }
body:has(.pn) { overscroll-behavior-y: contain; }
.hub { --p: 0; position: fixed; inset: 0; z-index: 90; display: flex; flex-direction: column; background: rgb(8 11 16 / 0.8); -webkit-backdrop-filter: blur(30px) saturate(1.4); backdrop-filter: blur(30px) saturate(1.4); color: #FFFFFF; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; will-change: transform; border-radius: 0 0 34px 34px; box-shadow: 0 30px 80px rgb(0 0 0 / 0.45); overscroll-behavior: contain; }
.hub__x { align-self: center; display: grid; place-items: center; flex: none; width: 56px; height: 56px; margin-top: calc(env(safe-area-inset-top) + 28px); border: 0; border-radius: 50%; background: none; color: rgb(255 255 255 / 0.6); cursor: pointer; opacity: var(--p); }
.hub__in { display: grid; align-content: start; gap: 12px; flex: 1; width: 100%; max-width: 520px; margin: 0 auto; padding: 14px 16px calc(28px + env(safe-area-inset-bottom)); overflow-y: auto; }
.hub__in > * { opacity: 0; transform: translate3d(0, 24px, 0) scale(0.96); transition: opacity 520ms ease, transform 640ms cubic-bezier(0.32, 0.72, 0, 1); }
.hub--aberto .hub__in > * { opacity: 1; transform: none; }
.hub--aberto .hub__in > :nth-child(2) { transition-delay: 90ms; } .hub--aberto .hub__in > :nth-child(3) { transition-delay: 170ms; } .hub--aberto .hub__in > :nth-child(4) { transition-delay: 250ms; }
.hub__topo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hub__cal, .hub__fotos { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 30px; color: #FFFFFF; text-decoration: none; transition: transform 180ms cubic-bezier(0.32, 0.72, 0, 1); }
.hub__cal:active, .hub__fotos:active, .hub__card a:active { transform: scale(0.97); }
.hub__cal { display: grid; align-content: center; justify-items: center; background: linear-gradient(180deg, #1B1B1D, #101011); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08), 0 8px 24px rgb(0 0 0 / 0.35); }
.hub__cal-t { margin-top: 4px; color: #9C9CA3; font-size: 1.625rem; font-weight: 700; letter-spacing: -0.02em; } .hub__cal-t em { color: #FF5A52; font-style: normal; }
.hub__cal b { margin-top: -6px; font-size: 6.75rem; font-weight: 700; letter-spacing: -0.05em; line-height: 1.05; }
.hub__pal { position: absolute; inset: 0; overflow: hidden; background: #222; }
.hub__slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; will-change: transform; }
.hub__fotos-v { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 0.5) 0%, transparent 38%, transparent 55%, rgb(0 0 0 / 0.62) 100%); }
.hub__fotos-t { position: absolute; top: 14px; left: 16px; font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em; text-shadow: 0 2px 10px rgb(0 0 0 / 0.5); }
.hub__fotos-n { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 10px; }
.hub__fotos-ic { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 50%; background: rgb(255 255 255 / 0.28); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); } .hub__fotos-ic .ic { width: 26px; height: 26px; }
.hub__fotos-n small { display: block; font-size: 0.8125rem; opacity: 0.85; line-height: 1; } .hub__fotos-n b { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; text-shadow: 0 2px 10px rgb(0 0 0 / 0.5); }
.hub__card { padding: 16px; border-radius: 28px; background: rgb(255 255 255 / 0.11); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.06); }
.hub__card a { color: inherit; text-decoration: none; transition: transform 180ms cubic-bezier(0.32, 0.72, 0, 1); }
.hub__cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.hub__cab h2 { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.03em; }
.hub__cab span { display: inline-flex; align-items: center; color: rgb(255 255 255 / 0.6); font-size: 0.875rem; font-weight: 500; } .hub__cab svg { width: 16px; height: 16px; }
.hub__lista-l { display: block; } .hub__card ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hub__card li { display: flex; align-items: center; gap: 12px; min-height: 56px; }
.hub__av { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: rgb(255 255 255 / 0.2); font-size: 0.9375rem; font-weight: 700; }
.hub__txt { display: grid; flex: 1; min-width: 0; gap: 1px; } .hub__txt b { font-size: 1.0625rem; font-weight: 700; line-height: 1.25; } .hub__txt span { overflow: hidden; color: rgb(255 255 255 / 0.62); font-size: 0.875rem; text-overflow: ellipsis; white-space: nowrap; }
.hub__hora { flex: none; align-self: flex-start; margin-top: 4px; color: rgb(255 255 255 / 0.62); font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.hub__mais { display: block; margin-top: 8px; color: rgb(255 255 255 / 0.62); font-size: 0.875rem; font-weight: 500; }
.hub__vazio { display: block; padding: 10px 0 4px; color: rgb(255 255 255 / 0.62); font-size: 0.9375rem; }
.hub__av-l { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; }
.hub__ic { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; color: #FFFFFF; background: rgb(255 255 255 / 0.2); } .hub__ic .ic { width: 20px; height: 20px; stroke-width: 2; }
.hub__av-l--ok .hub__ic { background: #00873A; } .hub__av-l--cai .hub__ic { background: #D92D20; } .hub__av-l--atencao .hub__ic { background: #E86A00; }
.hub__av-l .hub__txt b { font-size: 0.9375rem; font-weight: 600; }
.hub__campo { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 16px; border-radius: 999px; background: rgb(255 255 255 / 0.14); }
.hub__campo .ic { width: 20px; height: 20px; flex: none; opacity: 0.7; }
.hub__campo input { flex: 1; min-width: 0; border: 0; background: none; color: #FFFFFF; font: inherit; font-size: 1.0625rem; outline: none; } .hub__campo input::placeholder { color: rgb(255 255 255 / 0.55); }
.hub__campo:focus-within { box-shadow: 0 0 0 2px rgb(255 255 255 / 0.5); }
.hub__res { margin-top: 6px !important; } .hub__res:empty { display: none; }
.hub__res li { min-height: 0; } .hub__res a { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; padding: 0 8px; border-radius: 14px; font-size: 1rem; font-weight: 600; } .hub__res a:active { background: rgb(255 255 255 / 0.12); }
.hub__res em { color: rgb(255 255 255 / 0.55); font-size: 0.8125rem; font-style: normal; font-weight: 500; } .hub__nada { padding: 12px 8px; color: rgb(255 255 255 / 0.6); font-size: 0.9375rem; }
@media (prefers-reduced-motion: reduce) { .hub__in > * { transition: none; } }

/* ===== Barra de baixo: Início, Agenda, Clientes e menu ===== */
.baixo__abas { grid-template-columns: repeat(4, 1fr); }
.dock-btn { font-family: inherit; }
.dock { position: fixed; inset: 0; z-index: 70; }
.dock__fundo { position: absolute; inset: 0; background: rgb(0 0 0 / 0); transition: background-color 300ms ease; }
.dock--on .dock__fundo { background: rgb(0 0 0 / 0.22); }
.dock__card { position: absolute; right: 14px; bottom: calc(env(safe-area-inset-bottom) + 86px); width: min(318px, calc(100vw - 28px)); max-height: 70dvh; overflow-y: auto; padding: 6px 4px 8px; border-radius: 24px; background: rgb(250 250 252 / 0.9); -webkit-backdrop-filter: blur(28px) saturate(1.6); backdrop-filter: blur(28px) saturate(1.6); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.05), 0 22px 60px rgb(0 0 0 / 0.28); color: #0B0B0F; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; transform-origin: bottom right; opacity: 0; transform: translate3d(0, 18px, 0) scale(0.7); transition: opacity 220ms ease, transform 460ms cubic-bezier(0.34, 1.4, 0.5, 1); }
.dock--on .dock__card { opacity: 1; transform: none; }
:root[data-tema="escuro"] .dock__card { background: rgb(36 36 40 / 0.88); color: #FFFFFF; box-shadow: 0 0 0 1px rgb(255 255 255 / 0.08), 0 22px 60px rgb(0 0 0 / 0.5); }
.dock__grp { margin: 10px 16px 2px; color: #8A8A93; font-size: 0.8125rem; font-weight: 600; }
.dock__card ul { margin: 0; padding: 0; list-style: none; }
.dock__card li + li { margin: 0 14px; border-top: 1px solid rgb(0 0 0 / 0.1); }
:root[data-tema="escuro"] .dock__card li + li { border-color: rgb(255 255 255 / 0.12); }
.dock__card a { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 16px; color: inherit; text-decoration: none; border-radius: 14px; transition: background-color 140ms; }
.dock__card li + li a { margin: 0 -14px; padding: 8px 30px; } .dock__card li a:active { background: rgb(0 0 0 / 0.07); }
:root[data-tema="escuro"] .dock__card li a:active { background: rgb(255 255 255 / 0.1); }
.dock__txt { display: grid; flex: 1; min-width: 0; gap: 1px; } .dock__txt b { font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; } .dock__txt span { color: #8A8A93; font-size: 0.8125rem; }
.dock__val { color: #8A8A93; font-size: 1rem; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .dock__card, .dock__fundo { transition: none; } }

/* ===== Topo do Início ===== */
.pn__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pn__top-dir { display: flex; align-items: center; gap: 10px; }
.pn__btn { position: relative; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--pn-card); color: var(--pn-txt); cursor: pointer; transition: transform 160ms var(--ios); }
.pn__btn:active, .pn__foto:active { transform: scale(0.92); } .pn__btn .ic { width: 22px; height: 22px; stroke-width: 1.9; }
.pn__ponto { position: absolute; top: 10px; right: 11px; width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 2.5px var(--pn-card); }
.pn__ponto--cai { background: #FF3B30; } .pn__ponto--atencao { background: #FF9500; } .pn__ponto--ok { background: #34C759; }
.pn__foto { display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; transition: transform 160ms var(--ios); }
.pn__foto .avatar { width: 48px; height: 48px; font-size: 0.9375rem; box-shadow: 0 0 0 2px var(--cream), 0 0 0 3.5px #00873A; }

/* ===== Menu da conta como popover ===== */
.mc-pop { position: fixed; inset: 0; z-index: 80; }
.mc-pop__fundo { position: absolute; inset: 0; background: rgb(0 0 0 / 0); transition: background-color 300ms ease; } .mc-pop--on .mc-pop__fundo { background: rgb(0 0 0 / 0.2); }
.mc-pop__card { position: absolute; right: 14px; width: min(340px, calc(100vw - 28px)); max-height: calc(100dvh - 120px); overflow-y: auto; border-radius: 28px; transform-origin: top right; opacity: 0; transform: translate3d(0, -12px, 0) scale(0.8); transition: opacity 200ms ease, transform 460ms cubic-bezier(0.34, 1.4, 0.5, 1); }
.mc-pop--on .mc-pop__card { opacity: 1; transform: none; }
.mc-pop .mc { padding: 8px; border-radius: 28px; background: #FCFCFC; color: #111114; box-shadow: 0 0 0 1px rgb(0 0 0 / 0.05), 0 22px 60px rgb(0 0 0 / 0.3); font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; }
:root[data-tema="escuro"] .mc-pop .mc { background: #1C1C1E; color: #FFFFFF; }
@media (prefers-reduced-motion: reduce) { .mc-pop__card, .mc-pop__fundo { transition: none; } }

/* ===== Minha conta: topo simples ===== */
.p3__topo { display: block; text-align: center; margin-bottom: 16px; }

/* ===== Resumo rápido: busca com resultados em cima ===== */
.hub__busca { display: flex; flex-direction: column-reverse; }
.hub__res { margin: 0 0 8px !important; }

/* ===== Lente de vidro em todas as abas e faixas de dias ===== */
.pn__semana, .agm__faixa { position: relative; }
.pn__semana > :not(.lente), .agm__faixa > :not(.lente) { position: relative; z-index: 1; }
.pn__semana .lente { top: 8px; bottom: 8px; border-radius: 18px; background: #00873A; box-shadow: none; }
:root[data-tema="escuro"] .pn__semana .lente { background: #1E2A3D; }
.pn__d--sel { background: none !important; }
.agm__faixa .lente { top: 0; bottom: 14px; border-radius: 16px; background: var(--sup); box-shadow: 0 4px 14px rgb(0 0 0 / 0.1), inset 0 0 0 1.5px var(--borda); }
.agm__d--sel { background: none !important; border-color: transparent !important; box-shadow: none !important; }
.lg-toque > .lente { z-index: 2; background: radial-gradient(120% 100% at 50% 50%, rgb(255 255 255 / 0.1) 0%, rgb(255 255 255 / 0.2) 58%, rgb(255 255 255 / 0.42) 100%) !important; -webkit-backdrop-filter: blur(2px) saturate(1.9) brightness(1.06); backdrop-filter: blur(2px) saturate(1.9) brightness(1.06); box-shadow: inset 0 1.5px 1px rgb(255 255 255 / 0.95), inset 0 -1.5px 2px rgb(255 255 255 / 0.55), inset 1px 0 1px rgb(255 255 255 / 0.4), inset -1px 0 1px rgb(255 255 255 / 0.4), inset 0 0 0 0.5px rgb(0 0 0 / 0.18), 0 8px 22px rgb(0 0 0 / 0.22) !important; }
.pn__semana.lg-toque .pn__d--sel, .pn__semana.lg-toque .pn__d--sel em { color: var(--pn-txt) !important; }
.lg-sob { color: #00873A !important; } :root[data-tema="escuro"] .lg-sob { color: #30D158 !important; }
.pn__semana, .agm__faixa { touch-action: none; -webkit-user-select: none; user-select: none; }
.dock-btn[aria-expanded="true"] { color: var(--ocean); font-weight: 600; }

/* ===== Topo das páginas: voltar sozinho à esquerda ===== */
@media (max-width: 959px) {
  .volta-bar { justify-content: flex-start; }
  .volta-bar--sobre { margin-bottom: -52px; }
  .topo-app [data-acao="ver-pendentes"], .topo-app__conta, .topo-app .alterna-menu { display: none !important; }
  .topo-app { justify-content: flex-end; } .topo-app .novo { margin-left: auto; order: 3; }
}

/* ===== Notificações: botão Lidas ===== */
.ilha-n__pe { display: flex; gap: 8px; } .ilha-n__pe .ilha-n__mais { flex: 1; }
.ilha-n__lidas { min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px; background: rgb(255 255 255 / 0.16); color: #FFFFFF; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; transition: transform 160ms var(--ios); } .ilha-n__lidas:active { transform: scale(0.96); }

/* ===== Troca de página com movimento: vai para a direita, volta para a esquerda ===== */
.conteudo.entra > :not(.topo-app):not(.volta-bar) { animation: nav-vai 460ms var(--ios) backwards; }
html[data-nav="volta"] .conteudo.entra > :not(.topo-app):not(.volta-bar) { animation-name: nav-volta; }
@keyframes nav-vai { from { opacity: 0.45; transform: translate3d(40px, 0, 0); } }
@keyframes nav-volta { from { opacity: 0.45; transform: translate3d(-40px, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .conteudo.entra > :not(.topo-app):not(.volta-bar) { animation: none; } }

/* ===== Pedem atenção e Serviços: fonte do SaaS, cor, negrito e hierarquia ===== */
.conteudo:has(.at2-tudo), .conteudo:has(.sv), .conteudo:has(.sv__nums) { font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; }
.conteudo:has(.at2-tudo) .topo-tela .t1, .conteudo:has(.sv) .topo-tela .t1 { font-size: 2.125rem; font-weight: 700; letter-spacing: -0.045em; line-height: 1.08; }
.conteudo:has(.at2-tudo) .topo-tela p, .conteudo:has(.sv) .topo-tela p { font-size: 1rem; font-weight: 500; line-height: 1.4; }
.at2-grupo { gap: 14px; }
.at2-grupo__topo h2 { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.03em; }
.at2-ponto { width: 14px; height: 14px; }
.at2 { --c: #D92D20; border-radius: 28px; box-shadow: 0 10px 28px rgb(0 0 0 / 0.08); }
.at2--atraso { --c: #D92D20; } .at2--vence { --c: #E86A00; } .at2--estoque { --c: #C2358A; } .at2--retorno { --c: #0A7EA4; } .at2--neutro { --c: #5B6470; }
.at2__topo { padding: 20px; background: var(--c); color: #FFFFFF; border-bottom: 0; }
.at2__ic { width: 48px; height: 48px; border-radius: 16px; background: rgb(255 255 255 / 0.95); color: var(--c); } .at2__ic .ic { width: 24px; height: 24px; }
.at2__tit h3 { font-size: 1.1875rem; font-weight: 700; } .at2__tit p { color: rgb(255 255 255 / 0.9); font-size: 0.875rem; font-weight: 500; }
.at2__num { color: #FFFFFF; font-size: 1.875rem; font-weight: 800; letter-spacing: -0.04em; }
.at2__lista { padding: 6px 16px; }
.at2-linha { gap: 14px; min-height: 72px; }
.at2-linha .linha__ic { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; font-size: 0.9375rem; font-weight: 800; }
.at2__lista li:nth-child(5n+1) .linha__ic { background: #CFE8FF; color: #005BD1; } .at2__lista li:nth-child(5n+2) .linha__ic { background: #F1D6FF; color: #7B28B5; } .at2__lista li:nth-child(5n+3) .linha__ic { background: #FFE2B8; color: #9A4C00; } .at2__lista li:nth-child(5n+4) .linha__ic { background: #C9F4D9; color: #00873A; } .at2__lista li:nth-child(5n+5) .linha__ic { background: #E0D9FF; color: #4A2FC2; }
.at2-linha .linha__txt b { font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.015em; }
.at2-linha .linha__txt span { font-size: 0.875rem; font-weight: 500; }
.at2-fim { flex-direction: column; align-items: flex-end; gap: 6px; }
.at2-fim b { color: var(--c); font-size: 1.1875rem; font-weight: 800; letter-spacing: -0.02em; }
.at2-zap { min-height: 36px; padding: 0 18px; font-size: 0.875rem; font-weight: 700; background: #00873A; }
.at2__rodape { padding: 8px; gap: 8px; border-top: 1px solid var(--borda); }
.at2__ver { min-height: 50px; padding: 0 18px; border: 0; border-radius: 16px; background: color-mix(in srgb, var(--c) 14%, transparent); color: var(--c); font-size: 1rem; font-weight: 700; }
.at2__ver:hover { background: color-mix(in srgb, var(--c) 22%, transparent); }
.at2__disp { min-height: 50px; border: 0; border-radius: 16px; font-weight: 600; }
:root[data-tema="escuro"] .at2--atraso { --c: #FF453A; } :root[data-tema="escuro"] .at2--vence { --c: #FF9F0A; } :root[data-tema="escuro"] .at2--estoque { --c: #E86AB4; } :root[data-tema="escuro"] .at2--retorno { --c: #38BDF8; }
:root[data-tema="escuro"] .at2__topo { background: color-mix(in srgb, var(--c) 72%, #000); }
:root[data-tema="escuro"] .at2-fim b { color: color-mix(in srgb, var(--c) 100%, #fff 15%); }
:root[data-tema="escuro"] .at2__lista li:nth-child(5n+1) .linha__ic { background: #0B3A6B; color: #64D2FF; } :root[data-tema="escuro"] .at2__lista li:nth-child(5n+2) .linha__ic { background: #3A1F45; color: #E0A8F0; } :root[data-tema="escuro"] .at2__lista li:nth-child(5n+3) .linha__ic { background: #5A3300; color: #FFC58A; } :root[data-tema="escuro"] .at2__lista li:nth-child(5n+4) .linha__ic { background: #0F4A2B; color: #30D158; } :root[data-tema="escuro"] .at2__lista li:nth-child(5n+5) .linha__ic { background: #2A2350; color: #C0B4FF; }

/* Serviços */
.sv__nums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.sv__n { display: grid; align-content: start; gap: 3px; padding: 16px; border-radius: 24px; color: #0B0B0F; }
.sv__n span { font-size: 0.875rem; font-weight: 600; opacity: 0.8; } .sv__n b { font-size: 1.875rem; font-weight: 800; letter-spacing: -0.04em; line-height: 1.1; font-variant-numeric: tabular-nums; } .sv__n small { font-size: 0.8125rem; font-weight: 600; opacity: 0.75; }
.sv__n-txt { font-size: 1.25rem !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; }
.sv__n--a { background: #C9F4D9; color: #0A3D2D; } .sv__n--b { background: #CFE8FF; color: #0B3B4A; } .sv__n--c { grid-column: 1 / -1; background: #FFE2B8; color: #5A2E00; }
:root[data-tema="escuro"] .sv__n--a { background: #0F4A2B; color: #D3F5E6; } :root[data-tema="escuro"] .sv__n--b { background: #0B3A6B; color: #CFE8FF; } :root[data-tema="escuro"] .sv__n--c { background: #5A3300; color: #FFE3C2; }
.sv { padding: 0 !important; background: none !important; box-shadow: none !important; }
.sv__lista { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.sv__lista li { animation: seq-entra 420ms var(--suave-sai) backwards; animation-delay: calc(var(--k, 0) * 45ms); }
.sv__c { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 16px; border: 1px solid var(--borda); border-radius: 24px; background: var(--sup); color: inherit; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 6px 20px rgb(0 0 0 / 0.05); transition: transform 160ms var(--ios); }
.sv__c:active { transform: scale(0.98); } .sv__c--pausa { opacity: 0.72; }
.sv__ic { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 18px; font-size: 1.75rem; }
.sv__ic--0 { background: #CFE8FF; } .sv__ic--1 { background: #F1D6FF; } .sv__ic--2 { background: #FFE2B8; } .sv__ic--3 { background: #C9F4D9; } .sv__ic--4 { background: #E0D9FF; }
:root[data-tema="escuro"] .sv__ic--0 { background: #0B3A6B; } :root[data-tema="escuro"] .sv__ic--1 { background: #3A1F45; } :root[data-tema="escuro"] .sv__ic--2 { background: #5A3300; } :root[data-tema="escuro"] .sv__ic--3 { background: #0F4A2B; } :root[data-tema="escuro"] .sv__ic--4 { background: #2A2350; }
.sv__txt { display: grid; flex: 1; min-width: 0; gap: 2px; } .sv__txt b { font-size: 1.1875rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; } .sv__txt > span:not(.sv__tags) { color: var(--suave); font-size: 0.875rem; font-weight: 500; }
.sv__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; } .sv__tags em { padding: 3px 10px; border-radius: 999px; background: #C9F4D9; color: #006B2D; font-size: 0.75rem; font-style: normal; font-weight: 700; } .sv__tags .sv__pausa { background: #FFEDB0; color: #8A5A00; }
:root[data-tema="escuro"] .sv__tags em { background: #0F4A2B; color: #30D158; } :root[data-tema="escuro"] .sv__tags .sv__pausa { background: #3A2D0C; color: #FFC857; }
.sv__fim { display: grid; flex: none; justify-items: end; gap: 6px; } .sv__fim > b { color: #00762F; font-size: 1.3125rem; font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
:root[data-tema="escuro"] .sv__fim > b { color: #30D158; }
.sv__ver { display: inline-flex; align-items: center; color: var(--suave); font-size: 0.8125rem; font-weight: 600; } .sv__ver svg { width: 14px; height: 14px; }
@media (min-width: 960px) { .sv__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sv__nums { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sv__n--c { grid-column: auto; } }
@media (prefers-reduced-motion: reduce) { .sv__lista li { animation: none; } }

/* ===== Dinheiro: troca suave das abas ===== */
.dn-troca { animation: dn-troca 520ms var(--ios) backwards; }
@keyframes dn-troca { from { opacity: 0; transform: translate3d(var(--dx, 0px), var(--dy, 0px), 0); } }
.dn__chips { position: relative; }
.dn__chips > :not(.lente) { position: relative; z-index: 1; }
.dn__chips .lente { top: 0; bottom: 4px; border-radius: 999px; background: #0F1F1A; box-shadow: 0 6px 16px rgb(0 0 0 / 0.2); }
:root[data-tema="escuro"] .dn__chips .lente { background: #FFFFFF; }
.dn .dn__chips .cm__chip--on { background: transparent !important; color: #FFFFFF; }
:root[data-tema="escuro"] .dn .dn__chips .cm__chip--on { color: #000000; }
.dn__chips.lg-toque .cm__chip--on { color: var(--pn-txt) !important; }
.dn__chips { touch-action: pan-x pan-y; }
@media (prefers-reduced-motion: reduce) { .dn-troca { animation: none; } }
:root[data-tema="escuro"] .lc__p { border-color: rgb(48 209 88 / 0.3); }
@media (max-width: 430px) { .lc__p { width: auto; aspect-ratio: 1; height: auto; } }

/* ===== Segurar para confirmar (sair e excluir a conta) ===== */
.hold { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; border: 0; border-radius: 999px; background: #F2F2F4; color: #0B0B0F; font: inherit; font-size: 1rem; font-weight: 600; overflow: hidden; touch-action: none; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; cursor: pointer; transition: transform 160ms var(--ios); }
.hold--preso { transform: scale(0.985); } .hold--feito { animation: hold-ok 260ms var(--ios); }
@keyframes hold-ok { 40% { transform: scale(1.03); } }
.hold__base, .hold__topo { display: flex; align-items: center; justify-content: center; gap: 10px; }
.hold__topo { position: absolute; inset: 0; background: #FFD3D0; color: #B80012; clip-path: inset(0 100% 0 0); }
.hold--neutro .hold__topo { background: #D7DAE0; color: #0B0B0F; }
:root[data-tema="escuro"] .hold { background: #2C2C2E; color: #FFFFFF; } :root[data-tema="escuro"] .hold__topo { background: #5E1510; color: #FF7A70; } :root[data-tema="escuro"] .hold--neutro .hold__topo { background: #48484A; color: #FFFFFF; }
.p3__grupo--hold { display: grid; gap: 10px; padding: 14px 16px 16px; } .p3__dica { color: var(--pn-sub, #8A8A93); font-size: 0.8125rem; font-weight: 500; text-align: center; }
.mc__hold { padding: 4px 4px 2px; } .mc__hold .hold { min-height: 50px; }

/* ===== Verificação de senha e de código ===== */
.vf { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-height: 22px; margin-top: 8px; }
.vf__p { width: 18px; height: 8px; border-radius: 99px; background: rgb(128 128 128 / 0.25); transition: background-color 200ms; animation: vf-pop 260ms var(--ios); }
.vf__p--ok { background: #34C759; } .vf__p--erro { background: #FF3B30; }
@keyframes vf-pop { from { transform: scale(0.4); opacity: 0; } }
.vf__txt { flex-basis: 100%; font-size: 0.8125rem; font-weight: 700; } .vf__txt--ok { color: #00762F; } .vf__txt--erro { color: #B80012; }
:root[data-tema="escuro"] .vf__txt--ok { color: #30D158; } :root[data-tema="escuro"] .vf__txt--erro { color: #FF6259; }
input.vf--ok { border-color: #34C759 !important; box-shadow: 0 0 0 3px rgb(52 199 89 / 0.25) !important; } input.vf--erro { border-color: #FF3B30 !important; box-shadow: 0 0 0 3px rgb(255 59 48 / 0.2) !important; }
.vf--treme, .cod--treme { animation: vf-treme 360ms var(--ios); }
@keyframes vf-treme { 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(3px); } }
.pc-cod input.cod--ok { border-color: #34C759 !important; background: rgb(52 199 89 / 0.16) !important; color: #00762F; } .pc-cod input.cod--erro { border-color: #FF3B30 !important; background: rgb(255 59 48 / 0.14) !important; color: #B80012; }
:root[data-tema="escuro"] .pc-cod input.cod--ok { color: #30D158; } :root[data-tema="escuro"] .pc-cod input.cod--erro { color: #FF6259; }
@media (prefers-reduced-motion: reduce) { .vf__p, .vf--treme, .cod--treme, .hold--feito { animation: none; } }

/* ===== Perfil com foto grande ===== */
.hp { display: none; }
@media (max-width: 959px) { .hp { display: block; } .conteudo:has(.hp) .topo-app { display: none; } }
.hp { --hp-bg: #0B0E13; margin-bottom: 120px; overflow: hidden; border-radius: 34px; background: var(--hp-bg); color: #FFFFFF; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; box-shadow: 0 20px 60px rgb(0 0 0 / 0.25); }
.hp__hero { position: relative; height: min(66svh, 520px); min-height: 400px; overflow: hidden; }
.hp__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; animation: hp-zoom 1100ms var(--ios) backwards; }
.hp__img--sem { display: grid; place-items: center; background: linear-gradient(150deg, #00873A, #05290F); font-size: 6rem; font-weight: 800; }
@keyframes hp-zoom { from { transform: scale(1.12); opacity: 0.4; } }
.hp__fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgb(11 14 19 / 0.35) 0%, rgb(11 14 19 / 0) 22%, rgb(11 14 19 / 0) 42%, rgb(11 14 19 / 0.6) 72%, #0B0E13 100%); }
.hp__bt { position: absolute; top: 14px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(255 255 255 / 0.22); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); color: #FFFFFF; text-decoration: none; cursor: pointer; transition: transform 160ms var(--ios); }
.hp__bt:active { transform: scale(0.9); } .hp__x { left: 14px; } .hp__mais { right: 14px; }
.hp__nome { position: absolute; left: 18px; right: 18px; bottom: 22px; display: grid; justify-items: center; gap: 3px; text-align: center; animation: hp-sobe 700ms var(--ios) 250ms backwards; }
@keyframes hp-sobe { from { opacity: 0; transform: translate3d(0, 24px, 0); } }
.hp__nome h1 { font-size: 2.5rem; font-weight: 800; letter-spacing: -0.045em; line-height: 1.05; text-shadow: 0 2px 18px rgb(0 0 0 / 0.45); }
.hp__loja { font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.01em; color: rgb(255 255 255 / 0.92); }
.hp__meta { color: rgb(255 255 255 / 0.7); font-size: 1rem; font-weight: 500; }
.hp__add { margin-top: 6px; min-height: 34px; padding: 0 16px; border: 1px solid rgb(255 255 255 / 0.3); border-radius: 999px; background: rgb(255 255 255 / 0.12); color: #FFFFFF; font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; }
.hp__acoes { display: flex; gap: 10px; padding: 4px 16px 0; }
.hp__pill { flex: 1; min-height: 56px; border: 0; border-radius: 999px; background: #FFFFFF; color: #0B0B0F; font: inherit; font-size: 1.0625rem; font-weight: 700; cursor: pointer; transition: transform 160ms var(--ios); } .hp__pill:active, .hp__redondo:active { transform: scale(0.96); }
.hp__redondo { position: relative; display: grid; place-items: center; flex: none; width: 56px; height: 56px; border: 1px solid rgb(255 255 255 / 0.22); border-radius: 50%; background: rgb(255 255 255 / 0.1); color: #FFFFFF; cursor: pointer; transition: transform 160ms var(--ios); } .hp__redondo .ic { width: 24px; height: 24px; }
.hp__redondo input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.hp__nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 22px 16px 6px; text-align: center; }
.hp__nums b { display: block; font-size: 1.75rem; font-weight: 800; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; } .hp__nums span { color: rgb(255 255 255 / 0.6); font-size: 0.875rem; font-weight: 500; }
.hp__sobre { margin: 14px 16px 0; padding: 16px; border-radius: 22px; background: rgb(255 255 255 / 0.08); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); font-size: 1rem; line-height: 1.45; }
.hp__lista { padding: 14px 12px 14px; }
.hp .p3__grupo { margin: 0; background: rgb(255 255 255 / 0.08); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); }
.hp .p3__row { color: #FFFFFF; } .hp .p3__ic { color: rgb(255 255 255 / 0.65); } .hp .p3__val { color: rgb(255 255 255 / 0.6); } .hp .p3__chev { color: rgb(255 255 255 / 0.55); } .hp .p3__row + .p3__row { border-color: rgb(255 255 255 / 0.12); }
.hp__acoes, .hp__nums, .hp__sobre, .hp__lista { animation: hp-sobe 600ms var(--ios) 350ms backwards; }
@media (prefers-reduced-motion: reduce) { .hp__img, .hp__nome, .hp__acoes, .hp__nums, .hp__sobre, .hp__lista { animation: none; } }

/* ===== Perfil em tela cheia, compartilhar e símbolos de verificação ===== */
@media (max-width: 959px) { body:has(.hp) { background: #0B0E13; } }
@media (max-width: 959px) { .hp { margin: -10px -16px -64px; border-radius: 0; box-shadow: none; padding-bottom: 110px; min-height: 100svh; } .hp__hero { min-height: 420px; } }
.p3__ok { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; color: #FFFFFF; }
.p3__ok--sim { background: #34C759; } .p3__ok--nao { background: #FF3B30; }
.p3__val { max-width: 44%; }
/* compartilhar */
.sh { display: grid; gap: 14px; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; }
.sh__tit { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.03em; }
.sh__card { position: relative; height: 330px; overflow: hidden; border-radius: 30px; background: #0B0E13; color: #FFFFFF; box-shadow: 0 14px 40px rgb(0 0 0 / 0.25); }
.sh__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; } .sh__foto--sem { background: linear-gradient(150deg, #00873A, #05290F); }
.sh__fade { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 35%, rgb(11 14 19 / 0.7) 72%, #0B0E13 100%); }
.sh__txt { position: absolute; left: 20px; right: 20px; bottom: 18px; display: grid; gap: 4px; }
.sh__txt h3 { display: flex; align-items: center; gap: 8px; font-size: 1.625rem; font-weight: 700; letter-spacing: -0.03em; } .sh__txt p { color: rgb(255 255 255 / 0.8); font-size: 0.9375rem; }
.sh__ver .p3__ok { width: 24px; height: 24px; background: #FFFFFF; color: #0B0E13; }
.sh__nums { display: flex; align-items: center; gap: 16px; margin-top: 6px; font-size: 1rem; font-weight: 600; } .sh__nums span { display: inline-flex; align-items: center; gap: 6px; } .sh__nums .ic { width: 18px; height: 18px; }
.sh__nums b { margin-left: auto; padding: 10px 18px; border-radius: 999px; background: #FFFFFF; color: #0B0B0F; font-size: 1rem; }
.sh__sub { margin-top: 4px; color: var(--suave); font-size: 0.875rem; font-weight: 600; }
.sh__ops { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 6px; }
.sh__op { display: grid; justify-items: center; gap: 6px; padding: 4px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 0.75rem; font-weight: 600; text-align: center; cursor: pointer; transition: transform 160ms var(--ios); } .sh__op:active { transform: scale(0.92); }
.sh__ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--c); color: #FFFFFF; box-shadow: 0 6px 16px rgb(0 0 0 / 0.18); }

/* fechamento impresso: sempre preto no branco, em qualquer tema */
#impressao { display: none; }
@media print {
  @page { size: A4; margin: 14mm; }
  html, body { background: #fff !important; }
  body > *:not(#impressao) { display: none !important; }
  #impressao { display: block; color: #000; font-size: 10.5pt; line-height: 1.35; }
  .imp__topo { padding-bottom: 10pt; border-bottom: 1.5pt solid #000; }
  .imp__topo h1 { font-size: 20pt; font-weight: 700; }
  .imp__per { font-size: 13pt; font-weight: 600; }
  #impressao section { margin-top: 14pt; }
  #impressao h2 { margin-bottom: 5pt; font-size: 12pt; font-weight: 700; break-after: avoid; }
  .imp__nums { display: flex; gap: 22pt; margin-bottom: 7pt; break-inside: avoid; }
  .imp__nums dt { font-size: 9pt; }
  .imp__nums dd { margin: 0; font-size: 12.5pt; font-weight: 700; font-variant-numeric: tabular-nums; }
  #impressao table { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
  #impressao thead { display: table-header-group; }
  #impressao tr { break-inside: avoid; }
  #impressao th { padding: 3pt 5pt 3pt 0; border-bottom: 1pt solid #000; font-weight: 600; text-align: left; }
  #impressao td { padding: 3pt 5pt 3pt 0; border-bottom: 0.5pt solid #bbb; vertical-align: top; }
  #impressao tfoot td { border-top: 1pt solid #000; border-bottom: 0; font-weight: 700; }
  #impressao .v { padding-right: 0; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .imp__pe { margin-top: 16pt; font-size: 8.5pt; }
}

.agm__res { align-items: center; } .agm__res b { font-size: 1.0625rem; } .agm__res { white-space: nowrap; } .agm__res b { white-space: normal; }
.entrada__form .btn--contorno, .entrada__duas .btn--contorno { border: 0; }
.pn__delta { justify-content: center; font-size: 0.9375rem; text-align: center; }

.cm, .fm { width: 100%; min-width: 0; contain: inline-size; }
.dock__card li + li { margin: 0 16px; }
.dock__card li + li a { margin: 0 -16px; padding: 8px 32px; }
.dock__card li:first-child a { padding: 8px 16px; }
.dock__card li a { padding-left: 16px; padding-right: 16px; }
.dock__card li + li a { padding-left: 32px; padding-right: 32px; }
.p3__topo { padding-top: 10px; }
.dock__card li + li a, .dock__card li:first-child a { padding-left: 16px; padding-right: 16px; }


/* ===== Hold: vermelho que cresce, nicho de excluir, Plano novo, fluxo de saída ===== */
.p3__row--perigo .p3__rot, .p3__row--perigo .p3__ic { color: #D92D20; } :root[data-tema="escuro"] .p3__row--perigo .p3__rot, :root[data-tema="escuro"] .p3__row--perigo .p3__ic { color: #FF453A; }
.hp__perigo { margin-top: 14px; }
.campo select { width: 100%; min-height: 48px; padding: 0 14px; border-radius: 14px; border: 1px solid rgb(0 0 0 / 0.18); background: #fff; color: #0B0B0F; font: inherit; }
:root[data-tema="escuro"] .campo select { background: #1C1C1E; color: #fff; border-color: rgb(255 255 255 / 0.2); }
.pl, .sx, .pl button, .sx button { font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; }
.pl, .sx { --c: #F3F3F5; --t: #0B0B0F; --s: #6B6B73; --v: #00873A; --vt: #00762F; --vf: #DFF7E7; --r: #D92D20; --rt: #B80012; display: grid; gap: 16px; color: var(--t); padding-bottom: 130px; }
:root[data-tema="escuro"] .pl, :root[data-tema="escuro"] .sx { --c: #1C1C1E; --t: #FFFFFF; --s: #9A9AA2; --v: #30D158; --vt: #30D158; --vf: #12301D; --r: #FF453A; --rt: #FF6B61; }
@keyframes pl-in { from { opacity: 0; transform: translateY(16px) scale(0.985); } to { opacity: 1; transform: none; } }
.pl > * { animation: pl-in 560ms var(--ios, cubic-bezier(.2,.8,.2,1)) both; animation-delay: calc(var(--k, 0) * 80ms); }
.pl__topo h1 { margin: 0; font-size: 1.75rem; font-weight: 700; letter-spacing: -0.02em; } .pl__topo p { margin: 4px 0 0; color: var(--s); font-size: 0.9375rem; }
.pl__hero { position: relative; overflow: hidden; padding: 22px; border-radius: 28px; color: #fff; background: linear-gradient(155deg, #00A046 0%, #00762F 60%, #004D1F 100%); }
.pl__hero::after { content: ""; position: absolute; inset: -40% -20% auto auto; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / 0.22), transparent 65%); animation: pl-brilho 6s ease-in-out infinite alternate; pointer-events: none; }
@keyframes pl-brilho { to { transform: translate(-30px, 24px) scale(1.15); } }
.pl__hero--cancelada { background: linear-gradient(155deg, #6B6B73, #3A3A3F); }
.pl__hero-topo { display: flex; align-items: center; justify-content: space-between; }
.pl__chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; background: rgb(255 255 255 / 0.2); font-size: 0.8125rem; font-weight: 600; }
.pl__chip i { width: 8px; height: 8px; border-radius: 50%; background: #9BFFB8; }
.pl__rot { font-size: 0.8125rem; font-weight: 500; opacity: 0.8; }
.pl__hero h2 { margin: 18px 0 0; font-size: 1.125rem; font-weight: 600; opacity: 0.92; }
.pl__preco { display: flex; align-items: baseline; gap: 8px; margin: 4px 0 0; } .pl__preco b { font-size: 2.5rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1; } .pl__preco span { font-size: 0.875rem; color: var(--s); font-weight: 500; }
.pl__preco--g b { font-size: 3.5rem; } .pl__preco--g span { color: rgb(255 255 255 / 0.78); }
.pl__fatos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgb(255 255 255 / 0.22); }
.pl__fatos span { display: block; font-size: 0.75rem; opacity: 0.78; } .pl__fatos b { display: block; margin-top: 3px; font-size: 1.0625rem; font-weight: 700; } @keyframes pl-barra { from { transform: scaleX(0); } }
.pl__sec h2, .pl__saida h2 { margin: 0 0 10px; font-size: 1.1875rem; font-weight: 700; letter-spacing: -0.01em; } .pl__nota { margin: -4px 0 10px; color: var(--s); font-size: 0.8125rem; }
@media (max-width: 959px) { .pl__p { scroll-snap-align: center; } }
@media (min-width: 960px) { .pl { max-width: 820px; } }
.pl__p { display: grid; gap: 14px; align-content: start; padding: 22px; border-radius: 26px; background: var(--c); box-shadow: inset 0 0 0 2px transparent; transition: transform 240ms var(--ios, ease); } .pl__p:active { transform: scale(0.985); }
.pl__p--atual { box-shadow: inset 0 0 0 2px var(--v); }
.pl__p header { display: flex; align-items: center; justify-content: space-between; } .pl__p h3 { margin: 0; font-size: 1rem; font-weight: 600; color: var(--s); }
.pl__tag { padding: 4px 10px; border-radius: 99px; background: var(--v); color: #fff; font-size: 0.75rem; font-weight: 700; } :root[data-tema="escuro"] .pl__tag { color: #04260F; }
.pl__p ul { display: grid; gap: 12px; margin: 4px 0 0; padding: 0; list-style: none; } .pl__p li { display: flex; align-items: center; gap: 12px; font-size: 1rem; font-weight: 500; opacity: 0; animation: pl-in 480ms var(--ios, ease) forwards; animation-delay: calc(500ms + var(--k) * 90ms); }
.pl__ck { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--v); color: #fff; } :root[data-tema="escuro"] .pl__ck { color: #04260F; }
.pl__bt { min-height: 52px; border: 0; border-radius: 999px; background: var(--t); color: var(--c); font-size: 1rem; font-weight: 600; cursor: pointer; transition: transform 160ms var(--ios, ease); } .pl__bt:active { transform: scale(0.97); }
.pl__atual { margin: 0; text-align: center; color: var(--s); font-size: 0.875rem; }
.pl__fat { display: grid; gap: 2px; margin: 0; padding: 6px 16px; list-style: none; border-radius: 24px; background: var(--c); } .pl__fat li { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; } .pl__fat li + li { box-shadow: 0 -1px 0 rgb(128 128 128 / 0.18); }
.pl__fm b, .pl__fv b { display: block; font-size: 1rem; font-weight: 600; } .pl__fm span { display: block; margin-top: 2px; color: var(--s); font-size: 0.8125rem; } .pl__fv { text-align: right; }
.pl__pago { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 2px 9px; border-radius: 99px; background: var(--vf); color: var(--vt); font-style: normal; font-size: 0.75rem; font-weight: 700; }
.pl__saida { padding: 20px; border-radius: 26px; background: var(--c); } .pl__saida p { margin: 0 0 12px; color: var(--s); font-size: 0.9375rem; line-height: 1.45; }
.pl__lin { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; padding: 0; border: 0; border-top: 1px solid rgb(128 128 128 / 0.2); background: none; color: var(--rt); font-size: 1rem; font-weight: 600; cursor: pointer; transition: opacity 160ms; } .pl__lin:active { opacity: 0.55; }
.pl__reativar { min-height: 50px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--v); color: #fff; font-weight: 600; margin-bottom: 8px; }

.sx { padding-bottom: 60px; min-height: 80svh; align-content: start; gap: 14px; }
.sx__topo { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sx__volta { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--c); color: var(--t); cursor: pointer; transition: transform 160ms var(--ios, ease); } .sx__volta:active { transform: scale(0.92); }
.sx__prog { flex: 1; display: flex; gap: 5px; } .sx__prog i { flex: 1; height: 4px; border-radius: 99px; background: rgb(128 128 128 / 0.28); position: relative; overflow: hidden; } .sx__prog i::after { content: ""; position: absolute; inset: 0; background: var(--r); transform: scaleX(0); transform-origin: left; transition: transform 500ms var(--ios, ease); } .sx__prog i.on::after { transform: none; }
.sx__pas { margin: 8px 0 0; color: var(--s); font-size: 0.875rem; font-weight: 600; }
.sx__t { margin: 0; font-size: 1.875rem; font-weight: 700; letter-spacing: -0.025em; line-height: 1.12; }
.sx__txt { margin: 0; color: var(--s); font-size: 1.0625rem; line-height: 1.45; }
.sx__ops { display: grid; gap: 10px; margin-top: 12px; }
.sx__op { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 18px; border: 0; border-radius: 20px; background: var(--c); color: var(--t); font-size: 1.0625rem; font-weight: 500; text-align: left; cursor: pointer; opacity: 0; animation: pl-in 420ms var(--ios, ease) forwards; animation-delay: calc(var(--k) * 55ms); transition: background 220ms, transform 160ms var(--ios, ease), color 220ms; }
.sx__op:active { transform: scale(0.98); } .sx__op i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: transparent; color: transparent; box-shadow: inset 0 0 0 2px rgb(128 128 128 / 0.4); transition: all 240ms var(--ios, ease); }
.sx__op--on { background: var(--r); color: #fff; } .sx__op--on i { background: #fff; color: var(--r); box-shadow: none; transform: scale(1.1); }
.sx__pula { justify-self: center; margin-top: 8px; padding: 10px 16px; border: 0; background: none; color: var(--s); font-size: 0.9375rem; font-weight: 500; cursor: pointer; }
.sx__obg { display: grid; justify-items: start; gap: 12px; margin-top: 18px; } @keyframes sx-gira { to { transform: rotate(360deg); } }
.sx__dias { display: flex; align-items: baseline; gap: 10px; margin: 10px 0 0; } .sx__dias b { font-size: 4.5rem; font-weight: 700; letter-spacing: -0.04em; line-height: 1; } .sx__dias span { color: var(--s); font-size: 1.125rem; font-weight: 600; }
.sx__tempo { margin: 0; font-size: 1.0625rem; font-weight: 600; color: var(--vt); }
.sx__nums { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; margin-top: 14px; } .sx__nums div { padding: 16px; border-radius: 22px; background: var(--c); } .sx__nums b { display: block; font-size: 1.75rem; font-weight: 700; } .sx__nums span { color: var(--s); font-size: 0.8125rem; }
.sx__bt { margin-top: 18px; min-height: 56px; border: 0; border-radius: 999px; background: var(--t); color: var(--c); font-size: 1.0625rem; font-weight: 600; cursor: pointer; transition: transform 160ms var(--ios, ease); } .sx__bt:active { transform: scale(0.97); }
.sx__hold { display: grid; gap: 10px; margin-top: 18px; } .sx__dica { margin: 0; text-align: center; color: var(--s); font-size: 0.8125rem; }
.sx__fica { justify-self: center; padding: 12px; color: var(--t); font-weight: 600; text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .pl > *, .pl__p li, .sx__op { animation: none; opacity: 1; } .pl__hero::after, .pl__chip i { animation: none; } }


/* ===== Login com foto, cadastro por vínculo, planos com seletor, logo ===== */
.entrada__quadro, .entrada__quadro:is(*) { background: linear-gradient(180deg, rgb(8 12 16 / 0.55) 0%, rgb(8 12 16 / 0.18) 38%, rgb(8 12 16 / 0.12) 62%, rgb(8 12 16 / 0.4) 100%), url("../fotos/login.jpg") center top / cover no-repeat #4A4F52; }
@media (min-width: 900px) { .entrada__quadro { background: linear-gradient(180deg, rgb(8 12 16 / 0.5), rgb(8 12 16 / 0.2)), url("../fotos/login.jpg") center / cover no-repeat #4A4F52; } }
.sx__logo { display: grid; place-items: center; width: 48px; height: 48px; color: var(--t); } .sx__logo .asten { width: 44px; height: 44px; stroke-width: 2; }
.pg__auto { display: grid; justify-items: start; gap: 6px; padding: 22px; border-radius: 24px; background: var(--preench, #F2F2F4); } .pg__auto b { font-size: 1.5rem; } .pg__auto > span:last-child { color: var(--suave, #6B6B73); } .pg__auto-ic { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 6px; } .pg__auto-ic .asten { width: 40px; height: 40px; }
.pl__outros { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 20px; border-radius: 20px; background: var(--c); color: var(--t); font-weight: 600; font-size: 1.0625rem; text-decoration: none; transition: transform 160ms var(--ios, ease); } .pl__outros:active { transform: scale(0.98); }
/* seletor do vídeo: pílula preta que desliza com mola */
.sgw { display: grid; gap: 18px; }
.sg { --sg-bg: #FFFFFF; --sg-pil: #0B0B0F; --sg-on: #FFFFFF; --sg-off: #B5B5BB; position: relative; display: grid; grid-template-columns: repeat(var(--n), 1fr); padding: 6px; border-radius: 999px; background: var(--sg-bg); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.07), 0 18px 40px rgb(0 0 0 / 0.14); touch-action: manipulation; }
:root[data-tema="escuro"] .sg { --sg-bg: #1C1C1E; --sg-pil: #FFFFFF; --sg-on: #000000; --sg-off: #6E6E75; box-shadow: 0 0 0 1px rgb(255 255 255 / 0.1), 0 18px 40px rgb(0 0 0 / 0.5); }
.sg__pil { position: absolute; top: 6px; bottom: 6px; left: 6px; width: calc((100% - 12px) / var(--n)); border-radius: 999px; background: var(--sg-pil); transform: translateX(calc(var(--i) * 100%)); transition: transform 560ms cubic-bezier(0.34, 1.35, 0.5, 1); }
.sg__b { position: relative; z-index: 1; display: grid; place-items: center; align-content: center; gap: 1px; min-height: 62px; padding: 0 8px; border: 0; background: none; color: var(--sg-off); font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; cursor: pointer; transition: color 300ms; }
.sg__b span { font-size: 1.125rem; font-weight: 700; } .sg__b small { font-size: 0.75rem; font-weight: 500; opacity: 0.9; } .sg__b[aria-selected="true"] { color: var(--sg-on); }
/* cartões premium dos planos */
.pc { position: relative; overflow: hidden; display: grid; gap: 16px; padding: 26px 24px; border-radius: 32px; color: #fff; font-family: "IBM Plex Sans", Inter, system-ui, sans-serif; box-shadow: 0 24px 50px rgb(0 0 0 / 0.22), inset 0 0 0 1px rgb(255 255 255 / 0.12); }
.pc--essencial { background: linear-gradient(160deg, #3A3F45 0%, #1B1E22 55%, #0C0D0F 100%); }
.pc--profissional { background: linear-gradient(160deg, #00B24E 0%, #007A32 55%, #00481C 100%); }
.pc__brilho { position: absolute; inset: -30% -10% auto auto; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / 0.25), transparent 65%); pointer-events: none; animation: pl-brilho 7s ease-in-out infinite alternate; }
.pc header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 10px; } .pc h3 { margin: 0; font-size: 1.125rem; font-weight: 600; opacity: 0.9; }
.pc__tag { padding: 5px 12px; border-radius: 99px; background: rgb(255 255 255 / 0.22); font-size: 0.75rem; font-weight: 700; }
.pc__preco { position: relative; display: flex; align-items: baseline; gap: 8px; margin: 0; } .pc__preco b { font-size: 3.5rem; font-weight: 700; letter-spacing: -0.035em; line-height: 1; } .pc__preco span { opacity: 0.78; font-weight: 500; }
.pc ul { position: relative; display: grid; gap: 14px; margin: 6px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 0.2); }
.pc li { display: flex; align-items: center; gap: 12px; font-size: 1.0625rem; font-weight: 500; opacity: 0; animation: pl-in 480ms var(--ios, ease) forwards; animation-delay: calc(180ms + var(--k) * 80ms); }
.pc__ck { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgb(255 255 255 / 0.9); color: #0B0B0F; }
.pc__bt { position: relative; min-height: 56px; border: 0; border-radius: 999px; background: #fff; color: #0B0B0F; font: 600 1.0625rem "IBM Plex Sans", Inter, system-ui, sans-serif; cursor: pointer; transition: transform 160ms var(--ios, ease); } .pc__bt:active { transform: scale(0.97); }
.pc__nota { position: relative; margin: 0; text-align: center; opacity: 0.8; font-size: 0.9375rem; }
@media (prefers-reduced-motion: reduce) { .pc li { animation: none; opacity: 1; } .pc__brilho { animation: none; } .sg__pil { transition: none; } }


/* ===== Seletor de tags: a opção voa para o campo e volta ===== */
.tg { display: grid; gap: 10px; }
.tg__rot { font-size: 0.8125rem; font-weight: 600; color: var(--suave, #6B6B73); }
.tg__campo { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; min-height: 62px; padding: 10px; border-radius: 20px; background: var(--sup, #fff); box-shadow: 0 0 0 1px var(--linha, rgb(0 0 0 / 0.12)), 0 10px 26px rgb(0 0 0 / 0.07); }
.tg__campo:empty::before { content: attr(data-vazio); align-self: center; padding-left: 6px; color: var(--suave, #8A8A93); font-size: 0.9375rem; }
.tg__lista { display: flex; flex-wrap: wrap; gap: 10px 8px; padding: 14px; border-radius: 22px; background: var(--sup, #fff); box-shadow: 0 0 0 1px var(--linha, rgb(0 0 0 / 0.1)), 0 14px 34px rgb(0 0 0 / 0.09); }
.tg__c { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 15px; border: 0; border-radius: 13px; background: var(--preench, #F2F2F4); color: var(--tinta, #0B0B0F); font: 500 0.9375rem "IBM Plex Sans", Inter, system-ui, sans-serif; cursor: pointer; will-change: transform; touch-action: manipulation; }
.tg__c:active { filter: brightness(0.94); }
.tg__c--on { background: var(--tinta, #0B0B0F); color: var(--sup, #fff); padding-right: 12px; box-shadow: 0 6px 14px rgb(0 0 0 / 0.2); }
.tg__x { opacity: 0.75; }


/* ===== Papéis ===== */
.baixo__abas { grid-template-columns: repeat(var(--abas, 4), 1fr); }
.pn__ola { padding: 4px 4px 2px; } .pn__ola p { margin: 0; color: var(--pn-sub); font-size: 0.9375rem; font-weight: 600; } .pn__ola h1 { margin: 2px 0 0; font-size: 2rem; font-weight: 700; letter-spacing: -0.03em; }
.p3__funcao { display: grid; gap: 2px; margin: 14px 0 0; padding: 18px 20px; border-radius: 24px; background: #FFFFFF; } .p3__funcao b { font-size: 1.125rem; } .p3__funcao span { color: #6B6B73; }
:root[data-tema="escuro"] .p3__funcao { background: #1C1C1E; } :root[data-tema="escuro"] .p3__funcao span { color: #9A9AA2; }


/* ===== Ajustes: espaço do Excluir, login mais alto, gênero, perdas do plano, tela cheia ===== */
.hp .hp__perigo { margin-top: 26px; }
@media (max-width: 899px) {
  .entrada__quadro { background-image: linear-gradient(180deg, rgb(8 12 16 / 0.5) 0%, rgb(8 12 16 / 0.12) 40%, rgb(8 12 16 / 0.1) 62%, rgb(8 12 16 / 0.35) 100%), url("../fotos/login.jpg"); background-size: 100% 100%, auto 112%; background-position: 0 0, 50% 100%; background-repeat: no-repeat; }
}
@media (max-width: 899px) and (min-aspect-ratio: 63/100) { .entrada__quadro { background-size: 100% 100%, cover; background-position: 0 0, 50% 30%; } }
.gen-lista { display: grid; gap: 8px; margin: 14px 0 10px; padding: 0; list-style: none; }
.gen-lista button, .gen-nr { width: 100%; min-height: 54px; padding: 0 18px; border: 0; border-radius: 18px; background: rgb(128 128 128 / 0.16); color: inherit; font: 500 1.0625rem "IBM Plex Sans", Inter, system-ui, sans-serif; text-align: left; cursor: pointer; transition: transform 160ms var(--ios, ease), background 200ms; }
.gen-lista button:active, .gen-nr:active { transform: scale(0.98); background: rgb(128 128 128 / 0.3); }
.gen-nr { margin-bottom: 6px; text-align: center; color: #6B6B73; background: none; box-shadow: inset 0 0 0 1px rgb(128 128 128 / 0.35); }
.pc__perde { position: relative; display: grid; gap: 12px; margin-top: 4px; padding: 16px; border-radius: 22px; background: rgb(0 0 0 / 0.22); }
.pc__perde p { margin: 0; font-weight: 700; font-size: 0.9375rem; } .pc__perde ul { margin: 0; padding: 0; border: 0; gap: 10px; } .pc__perde li { font-size: 0.9375rem; opacity: 0.88; }
.pc__ck--x { background: rgb(255 255 255 / 0.22); color: #fff; }
@media (max-width: 959px) { .topo-app .novo { display: none; } }
/* tela cheia: sem limites de largura em tablet e computador */
.perf, .pf, .ed { max-width: none; }
.conteudo { max-width: none; }


/* ===== Rodapé em passos (vídeo): pílula de pontos, Voltar que entra, Continuar vira Finalizar ===== */
@property --sp-i { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --sp-b { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --sp-f { syntax: '<number>'; inherits: true; initial-value: 0; }
.sp { --sp-c: #00873A; display: grid; gap: 16px; width: 100%; transition: --sp-i 560ms cubic-bezier(0.34, 1.3, 0.5, 1), --sp-b 480ms cubic-bezier(0.2, 0.8, 0.2, 1), --sp-f 380ms ease; }
.sx .sp { --sp-c: #D92D20; }
.sx { padding-bottom: 190px; }
.sx__livre { display: grid; gap: 8px; margin-top: 4px; } .sx__livre span { color: var(--s); font-size: 0.875rem; font-weight: 600; }
.sx__livre textarea { width: 100%; padding: 14px 16px; border: 0; border-radius: 18px; background: var(--c); color: var(--t); font: 400 1rem "IBM Plex Sans", Inter, system-ui, sans-serif; resize: none; box-shadow: inset 0 0 0 1px rgb(128 128 128 / 0.25); } .sx__livre textarea:focus { outline: 2px solid var(--r); }
@media (prefers-reduced-motion: reduce) { .sp { transition: none; } }
html, body { overflow-x: clip; }

/* fotos dos clientes */
.cm__foto, .cli-t__foto, .cli__foto, .fm__foto, .ag-card__foto, .hub__av { overflow: hidden; }
.cm__foto img, .cli-t__foto img, .cli__foto img, .fm__foto img, .ag-card__foto img, .hub__av img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; border-radius: inherit; }

/* sem rodapé em passos: clique confirma */
.sx { padding-bottom: 60px; }
.sx__env { justify-self: stretch; min-height: 52px; border: 0; border-radius: 999px; background: var(--r); color: #fff; font: 600 1rem "IBM Plex Sans", Inter, system-ui, sans-serif; cursor: pointer; } .sx__env[hidden] { display: none; }


/* foto da cliente em tela cheia */
.fm__foto img, .cli__foto img { cursor: zoom-in; }
.lbx { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; padding: 24px; }
.lbx__fundo { position: absolute; inset: 0; background: rgb(6 8 12 / 0.82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.lbx__fig { position: relative; display: grid; gap: 14px; justify-items: center; margin: 0; max-width: 100%; }
.lbx__img { display: block; width: min(86vw, 460px, 64svh * 0.75); aspect-ratio: 3 / 4; object-fit: cover; object-position: center 22%; border-radius: 28px; box-shadow: 0 30px 80px rgb(0 0 0 / 0.5); will-change: transform; }
.lbx figcaption { color: #fff; font: 600 1.125rem "IBM Plex Sans", Inter, system-ui, sans-serif; }

.cmf__pe { position: sticky; bottom: 0; z-index: 2; padding: 12px 0 calc(10px + env(safe-area-inset-bottom)); background: inherit; box-shadow: 0 -14px 14px -6px var(--cmf-bg, rgb(255 255 255 / 0.96)); }
:root[data-tema="escuro"] .cmf__pe { --cmf-bg: rgb(28 28 30 / 0.96); }


/* fotos das clientes no lugar dos ícones */
.pn__av-ic--foto, .hub__ic--foto { background: none !important; overflow: visible; }
.fe { position: relative; display: block; width: 100%; height: 100%; }
.fe > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; border-radius: 50%; }
.fe__st { position: absolute; right: -3px; bottom: -3px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #fff; box-shadow: 0 0 0 2px var(--pn-card, #1C1C1E); }
.fe__st .ic { width: 10px !important; height: 10px !important; stroke-width: 2.6 !important; }
.pn__av--cai .fe__st, .hub__av-l--cai .fe__st { background: #D92D20; } .pn__av--ok .fe__st, .hub__av-l--ok .fe__st { background: #00873A; } .pn__av--atencao .fe__st, .hub__av-l--atencao .fe__st { background: #E86A00; }
.hub__ic .fe__st { box-shadow: 0 0 0 2px #1C1C1E; }
.linha__ic--foto, .dn__av, .at2-linha .linha__ic, .rk__alto .linha__ic { overflow: hidden; }
.linha__ic--foto .fe { overflow: visible; } .linha__ic--foto .fe__st { background: var(--ocean, #00762F); box-shadow: 0 0 0 2px #fff; }
.linha__ic img, .dn__av img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; border-radius: 50%; }
.linha__ic--foto:has(.fe) { overflow: visible; }


