/* V75.135 — Perfil do cliente. Mesma linha da V75.130: fundo cinza do app, cartões brancos, bordas neutras com sombra; a cor do app só nos destaques. */
body.perfil-v2 { padding-bottom: 86px; }
.pf-topo { display: flex; align-items: center; gap: 14px; padding: 22px 18px 18px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.pf-avatar { flex: none; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: #f2f2f2; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.pf-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-ola { min-width: 0; }
.pf-ola h1 { margin: 0; font-size: 1.25rem; color: #222; overflow-wrap: anywhere; }
.pf-ola p { margin: 3px 0 0; font-size: .82rem; color: #777; overflow-wrap: anywhere; }

.pf-main { max-width: 600px; margin: 0 auto; padding: 8px 16px 16px; }
.pf-grupo { margin-top: 18px; }
.pf-grupo[hidden], [data-logado][hidden] { display: none !important; }
.pf-grupo h2 { margin: 0 0 8px 4px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a8a8a; }
.pf-cartao { background: #fff; border: 1px solid #ececec; border-radius: 16px; box-shadow: 0 1px 4px rgba(0,0,0,.05); overflow: hidden; }
.pf-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 14px; border: 0; border-bottom: 1px solid #f0f0f0; background: #fff; color: #222; font: inherit; text-align: left; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.pf-item:last-child { border-bottom: 0; }
.pf-item[hidden] { display: none !important; }
.pf-item:active { background: #fafafa; }
.pf-ic { flex: none; width: 36px; height: 36px; border-radius: 10px; background: #f5f5f5; color: var(--cor-primaria-texto); display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.pf-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pf-tx strong { font-size: .95rem; font-weight: 600; color: #222; }
.pf-tx small { font-size: .78rem; color: #808080; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-seta { flex: none; color: #c4c4c4; font-size: .8rem; }
.pf-item-texto { cursor: default; }
.pf-item-texto .pf-tx small { white-space: normal; }

/* interruptor */
.pf-switch { flex: none; appearance: none; -webkit-appearance: none; width: 46px; height: 28px; border-radius: 999px; background: #d6d6d6; position: relative; cursor: pointer; transition: background .15s; margin: 0; }
.pf-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .15s; }
.pf-switch:checked { background: var(--cor-primaria); }
.pf-switch:checked::after { transform: translateX(18px); }
.pf-switch:disabled { opacity: .5; cursor: not-allowed; }
.pf-switch:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 2px; }

.pf-entrar { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin-top: 16px; border: 1px solid #e6e6e6; border-radius: 14px; background: #fff; color: #222; font: inherit; font-weight: 700; box-shadow: 0 2px 8px rgba(0,0,0,.06); cursor: pointer; }
.pf-entrar[hidden] { display: none; }
.pf-sair { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px; margin: 22px 0 6px; border: 1px solid #ececec; border-radius: 14px; background: #fff; color: #c62828; font: inherit; font-weight: 700; cursor: pointer; }
.pf-sair[hidden] { display: none; }

/* sub-telas */
.pf-tela { position: fixed; inset: 0; z-index: 1200; overflow-y: auto; background: #f7f7f7; padding: 0 16px calc(24px + env(safe-area-inset-bottom)); }
.pf-tela[hidden] { display: none; }
body.pf-subtela { overflow: hidden; }
.pf-tela > *:not(.pf-tela-topo) { max-width: 600px; margin-left: auto; margin-right: auto; }
.pf-tela-topo { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 8px; margin: 0 -16px 16px; padding: 12px 12px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.pf-tela-topo h1 { margin: 0; font-size: 1.1rem; color: #222; }
.pf-voltar { width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #222; font-size: 1.05rem; cursor: pointer; }
.pf-voltar:active { background: #f2f2f2; }

.pf-form { display: flex; flex-direction: column; gap: 14px; }
.pf-form[hidden] { display: none; }
.pf-form label { display: flex; flex-direction: column; gap: 6px; font-size: .82rem; font-weight: 600; color: #555; }
.pf-form input:not([type=radio]) { min-height: 48px; padding: 0 14px; border: 1px solid #e2e2e2; border-radius: 12px; background: #fff; font: inherit; font-size: 1rem; color: #222; box-shadow: inset 0 1px 2px rgba(0,0,0,.03); }
.pf-form input:focus { outline: none; border-color: #bdbdbd; box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
.pf-form input[aria-invalid="true"] { border-color: #c62828; }
.pf-form small { font-weight: 400; color: #888; }
.pf-erro { margin: -4px 0 0; min-height: 1em; font-size: .82rem; color: #c62828; }
.pf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 18px; border: 0; border-radius: 14px; background: var(--cor-primaria); color: var(--cor-sobre-primaria); font: inherit; font-weight: 700; cursor: pointer; }
.pf-btn:disabled { opacity: .6; cursor: wait; }
.pf-btn-leve { background: #fff; color: var(--cor-primaria-texto); border: 1px solid #e6e6e6; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
#end-novo { width: 100%; margin-top: 12px; }
#end-novo[hidden] { display: none; }
.pf-cartao-form { margin-top: 14px; padding: 16px; background: #fff; border: 1px solid #ececec; border-radius: 16px; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
.pf-cartao-form h2 { margin: 0; font-size: 1rem; color: #222; }
.pf-acoes { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; }
.pf-rotulos { display: flex; gap: 8px; flex-wrap: wrap; }
.pf-rotulos label { flex-direction: row; }
.pf-rotulos input { position: absolute; opacity: 0; pointer-events: none; }
.pf-rotulos span { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid #e6e6e6; border-radius: 999px; background: #fff; color: #444; font-weight: 600; cursor: pointer; }
.pf-rotulos input:checked + span { border-color: #d6d6d6; box-shadow: 0 3px 10px rgba(0,0,0,.1); color: var(--cor-primaria-texto); }
.pf-rotulos input:focus-visible + span { outline: 2px solid var(--cor-primaria); outline-offset: 2px; }

.pf-end { display: flex; align-items: center; gap: 10px; padding: 12px 8px 12px 14px; border-bottom: 1px solid #f0f0f0; }
.pf-end:last-child { border-bottom: 0; }
.pf-end .pf-tx small { white-space: normal; }
.pf-end-acoes { flex: none; display: flex; gap: 2px; }
.pf-end-acoes button { width: 40px; height: 40px; border: 0; border-radius: 10px; background: transparent; color: #8a8a8a; cursor: pointer; }
.pf-end-acoes button:hover, .pf-end-acoes button:focus-visible { background: #f4f4f4; color: #222; }
.pf-end-acoes button[data-apagar]:hover { color: #c62828; background: #fdecea; }
.pf-vazio { margin: 0; padding: 18px; text-align: center; color: #777; font-size: .9rem; }
.pf-nota { margin: 0 0 14px; font-size: .84rem; line-height: 1.45; color: #666; }

.pf-formas label { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 10px 14px; border-bottom: 1px solid #f0f0f0; cursor: pointer; }
.pf-formas label:last-child { border-bottom: 0; }
.pf-formas input { position: absolute; opacity: 0; pointer-events: none; }
.pf-formas .pf-marca { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #c4c4c4; background: #fff; }
.pf-formas input:checked ~ .pf-marca { border-color: var(--cor-primaria); background: var(--cor-primaria); box-shadow: inset 0 0 0 4px #fff; }
.pf-formas input:focus-visible ~ .pf-marca { outline: 2px solid var(--cor-primaria); outline-offset: 2px; }

.pf-sobre-logo { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 8px auto 18px; text-align: center; }
.pf-sobre-logo img { border-radius: 18px; box-shadow: 0 4px 14px rgba(0,0,0,.12); margin-bottom: 6px; }
.pf-sobre-logo strong { font-size: 1.05rem; color: #222; }
.pf-sobre-logo small { color: #888; font-size: .8rem; }

/* V75.140 — vindo do sino da home: o item de avisos pisca de leve */
.pf-item.pf-destaque{animation:pf-destaque 1s ease-in-out 2}
@keyframes pf-destaque{50%{background:var(--cor-primaria-suave,#fff4e0)}}
/* V75.145 — Meus saldos */
.pf-ajuda{margin:0 2px 12px;font-size:.88rem;line-height:1.45;color:#5f6368}
.pf-saldo-valor{flex:none;font-weight:800;color:#1f8a4c;font-size:1rem}
/* V75.206 — links dos termos no "Sobre" */
a.pf-item{text-decoration:none}
