* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: radial-gradient(circle at top left, color-mix(in srgb,var(--secondary) 15%,transparent), transparent 38%), linear-gradient(180deg,#fff,var(--background)); -webkit-font-smoothing: antialiased; }
.public-shell { min-height:100vh; display:flex; justify-content:center; align-items:flex-start; padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
.public-card { width:min(100%,520px); }
.public-header { text-align:center; padding:8px 12px 24px; }
.public-logo { width:112px; height:112px; object-fit:contain; display:block; margin:0 auto 18px; padding:10px; border-radius:50%; background:#fff; box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 18%,transparent); }
.public-logo-placeholder { display:grid; place-items:center; padding:0; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; font-size:40px; }
.public-header h1 { margin:0; color:var(--primary); font-size:clamp(1.65rem,7vw,2.15rem); font-weight:800; letter-spacing:-.035em; }
.public-header p { margin:10px auto 0; max-width:400px; color:color-mix(in srgb,var(--text) 65%,#fff); line-height:1.55; }
.public-links { display:grid; gap:12px; }
.public-link { width:100%; min-height:76px; display:grid; grid-template-columns:50px minmax(0,1fr) 18px; align-items:center; gap:14px; padding:12px 16px; border:1px solid color-mix(in srgb,var(--primary) 9%,transparent); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(31,53,84,.08); color:var(--text); text-align:left; text-decoration:none; transition:transform .16s ease, box-shadow .16s ease; }
.public-link:hover { color:var(--text); transform:translateY(-2px); box-shadow:0 12px 30px rgba(31,53,84,.12); }
.public-link:active { transform:scale(.985); }
.public-button { appearance:none; font:inherit; cursor:pointer; }
.public-link-icon { --link-color:var(--primary); width:50px; height:50px; display:grid; place-items:center; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--link-color),var(--secondary)); font-size:1.3rem; }
.public-icons-degrade .public-link-icon { background:linear-gradient(135deg,var(--link-color),var(--secondary)); }
.public-icons-solido .public-link-icon { background:var(--link-color); }
.public-link-text { min-width:0; display:flex; flex-direction:column; gap:3px; }
.public-link-text strong { font-size:1rem; }
.public-link-text small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:color-mix(in srgb,var(--text) 60%,#fff); font-size:.79rem; }
.public-link > i { color:#9ba8b8; font-size:.82rem; }
.public-footer { text-align:center; padding:26px 12px 4px; color:color-mix(in srgb,var(--text) 50%,#fff); font-size:.74rem; }
.public-model-compacto .public-header { padding-bottom:16px; }
.public-model-compacto .public-logo { width:86px; height:86px; }
.public-model-compacto .public-link { min-height:62px; border-radius:15px; }
.public-model-compacto .public-link-icon { width:42px; height:42px; border-radius:12px; }
.public-model-cartoes .public-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-model-cartoes .public-link { min-height:150px; grid-template-columns:1fr; grid-template-rows:auto auto; justify-items:center; text-align:center; }
.public-model-cartoes .public-link > i { display:none; }
.public-model-cartoes .public-link-text small { white-space:normal; }
.pix-modal-content { text-align:left; }
.pix-code { padding:12px; border:1px dashed #bbb; border-radius:12px; background:#fafafa; overflow-wrap:anywhere; font:700 .78rem ui-monospace,monospace; }
.pix-qr { display:grid; place-items:center; margin:16px 0; }
.pix-qr canvas,.pix-qr img { max-width:100%; height:auto!important; }
.pix-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.pix-actions button { border:0; border-radius:10px; padding:10px 12px; font-weight:700; cursor:pointer; }
@media(min-width:768px){.public-shell{align-items:center;padding-block:40px}.public-card{padding:30px;border:1px solid color-mix(in srgb,var(--primary) 9%,transparent);border-radius:30px;background:rgba(255,255,255,.75);box-shadow:0 24px 70px rgba(31,53,84,.12);backdrop-filter:blur(12px)}}
@media(max-width:520px){.public-model-cartoes .public-links{grid-template-columns:1fr}.public-model-cartoes .public-link{min-height:105px}}
