/* SOPH v4.15.8 • Preview fiel ao app + viewport rolável */
.simulador-canvas{overflow:auto!important;align-items:flex-start!important;justify-content:center!important;padding:22px!important}
.sim-device-stage{margin:auto;contain:none!important}
.sim-device{--sim-surface:#fff;--sim-accent:#ff7043;position:absolute;isolation:isolate}
.sim-screen{overflow-y:scroll!important;overflow-x:hidden!important;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sim-primary) 55%,#9aa4b2) transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sim-screen::-webkit-scrollbar{width:7px}
.sim-screen::-webkit-scrollbar-track{background:transparent}
.sim-screen::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sim-primary) 58%,#98a2b3);border-radius:99px;border:2px solid transparent;background-clip:content-box}
.sim-screen::-webkit-scrollbar-thumb:hover{background:var(--sim-primary);border:1px solid transparent;background-clip:content-box}

/* Estrutura realista da Home: mesma arquitetura, paleta do tema selecionado. */
.sim-fidelity-home{min-height:100%;background:var(--sim-bg);color:var(--sim-text);padding:0 14px 18px;display:grid;gap:14px}
.sim-fidelity-top{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:6px 2px 2px;gap:8px}
.sim-fidelity-top .sim-logo{max-width:148px;max-height:56px;margin:auto}
.sim-fidelity-top .sim-logo-fallback{margin:auto;width:54px;height:54px;font-size:9px}
.sim-round-action{width:40px;height:40px;border:1px solid color-mix(in srgb,var(--sim-text) 10%,transparent);background:var(--sim-surface);color:var(--sim-text);border-radius:50%;display:grid;place-items:center;box-shadow:0 7px 22px rgba(0,0,0,.07);position:relative}
.sim-round-action .sim-svg{width:20px;height:20px}.sim-round-action i{position:absolute;right:1px;top:1px;width:7px;height:7px;border-radius:50%;background:var(--sim-accent)}
.sim-fidelity-greeting{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 4px 2px}
.sim-fidelity-greeting small{display:block;color:var(--sim-accent);font-weight:900;font-size:13px}.sim-fidelity-greeting h2{margin:2px 0 3px;font-size:23px;line-height:1.05}.sim-fidelity-greeting p{margin:0;font-size:10px;opacity:.62}
.sim-net-pill{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:color-mix(in srgb,#19b96d 11%,var(--sim-surface));color:#11a85f;font-weight:800;font-size:9px}.sim-net-pill:before{content:'';width:7px;height:7px;background:#13af62;border-radius:50%}
.sim-real-card{background:var(--sim-surface);color:var(--sim-text);border:1px solid color-mix(in srgb,var(--sim-text) 9%,transparent);border-radius:19px;box-shadow:0 8px 26px rgba(18,36,66,.07)}
.sim-fidelity-contract{padding:14px}.sim-fidelity-contract-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid color-mix(in srgb,var(--sim-text) 9%,transparent)}.sim-fidelity-contract-id{display:grid;grid-template-columns:34px auto;column-gap:8px;align-items:center}.sim-fidelity-contract-id>i{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--sim-accent) 12%,var(--sim-surface));color:var(--sim-accent);display:grid;place-items:center}.sim-fidelity-contract-id small{font-size:9px;opacity:.62}.sim-fidelity-contract-id strong{font-size:20px}.sim-fidelity-contract-id .sim-pill{margin-left:4px;vertical-align:middle}.sim-swap-real{border:1px solid color-mix(in srgb,var(--sim-primary) 22%,transparent);background:var(--sim-surface);color:var(--sim-primary);border-radius:11px;padding:9px 10px;font-size:9px;font-weight:800;display:flex;align-items:center;gap:5px}.sim-swap-real .sim-svg{width:15px}
.sim-fidelity-contract-body{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;padding-top:11px}.sim-fidelity-contract-body>div{min-width:0}.sim-fidelity-contract-body>div+div{border-left:1px solid color-mix(in srgb,var(--sim-text) 9%,transparent);padding-left:10px}.sim-fidelity-contract-body small{display:block;font-size:8px;opacity:.56;margin-bottom:3px}.sim-fidelity-contract-body strong{display:block;font-size:11px;line-height:1.3}.sim-fidelity-contract-body span{display:block;font-size:8px;opacity:.58;margin-top:2px}

.sim-fidelity-invoice{border-radius:20px;padding:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--sim-primary) 88%,#2459d9),color-mix(in srgb,var(--sim-primary) 75%,#073a9e));color:#fff;box-shadow:0 16px 34px color-mix(in srgb,var(--sim-primary) 24%,transparent);display:grid;grid-template-columns:1fr auto;gap:12px}.sim-fidelity-invoice small{font-size:9px;opacity:.8}.sim-fidelity-invoice h3{font-size:10px;margin:0 0 10px;letter-spacing:.04em}.sim-fidelity-invoice .sim-invoice-value{font-size:27px;font-weight:900;line-height:1;margin:7px 0 8px}.sim-fidelity-invoice .sim-invoice-due{font-size:9px;opacity:.82}.sim-fidelity-invoice .sim-invoice-status{display:inline-flex;width:max-content;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.14);font-size:8px;font-weight:800}.sim-fidelity-invoice .sim-pay-real{margin-top:12px;border:0;border-radius:11px;background:#fff;color:var(--sim-primary);padding:10px 13px;font-weight:900;font-size:10px;min-width:130px}.sim-fidelity-invoice-side{min-width:104px;border-left:1px solid rgba(255,255,255,.18);padding-left:12px;display:grid;align-content:center;gap:8px}.sim-fidelity-invoice-side b{font-size:9px}.sim-fidelity-invoice-side button{border:0;background:transparent;color:#fff;text-align:left;padding:0;font-size:9px;font-weight:800}
.sim-fidelity-title{display:flex;justify-content:space-between;align-items:center;padding:0 2px}.sim-fidelity-title strong{font-size:14px}.sim-fidelity-title button{border:0;background:transparent;color:var(--sim-primary);font-size:9px;font-weight:800}
.sim-fidelity-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sim-fidelity-quick button{min-width:0;border:1px solid color-mix(in srgb,var(--sim-text) 8%,transparent);background:var(--sim-surface);color:var(--sim-text);border-radius:17px;padding:11px 6px 10px;display:grid;justify-items:center;gap:5px;box-shadow:0 6px 20px rgba(18,36,66,.05)}.sim-fidelity-quick i{width:39px;height:39px;border-radius:12px;background:color-mix(in srgb,var(--sim-primary) 10%,var(--sim-surface));color:var(--sim-primary);display:grid;place-items:center}.sim-fidelity-quick button:nth-child(even) i{background:color-mix(in srgb,var(--sim-accent) 11%,var(--sim-surface));color:var(--sim-accent)}.sim-fidelity-quick .sim-svg{width:23px;height:23px}.sim-fidelity-quick b{font-size:9px;line-height:1.15;text-align:center}
.sim-fidelity-connection{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:11px 12px}.sim-fidelity-connection>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,#ff3333 10%,var(--sim-surface));color:#ef3131}.sim-fidelity-connection small{display:block;font-size:8px;opacity:.6}.sim-fidelity-connection strong{font-size:10px}.sim-fidelity-connection em{font-style:normal;color:#ef3131;font-size:9px;font-weight:800}
.sim-fidelity-more{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sim-fidelity-service{border:1px solid color-mix(in srgb,var(--sim-text) 8%,transparent);background:var(--sim-surface);color:var(--sim-text);border-radius:15px;padding:10px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;text-align:left}.sim-fidelity-service>i{width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--sim-primary) 10%,var(--sim-surface));color:var(--sim-primary);display:grid;place-items:center}.sim-fidelity-service:nth-child(even)>i{background:color-mix(in srgb,var(--sim-accent) 10%,var(--sim-surface));color:var(--sim-accent)}.sim-fidelity-service .sim-svg{width:18px}.sim-fidelity-service b{font-size:9px}.sim-fidelity-service small{display:block;font-size:7px;opacity:.58;margin-top:2px}.sim-fidelity-service>span{font-size:16px;opacity:.55}
.sim-fidelity-push{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;padding:11px 12px;background:color-mix(in srgb,var(--sim-primary) 7%,var(--sim-surface))}.sim-fidelity-push>i{color:var(--sim-primary)}.sim-fidelity-push b{font-size:9px}.sim-fidelity-push small{display:block;font-size:7px;opacity:.58;margin-top:2px}.sim-fidelity-push button{border:0;background:var(--sim-primary);color:#fff;border-radius:10px;padding:9px 12px;font-size:8px;font-weight:900}

/* Tema claro e escuro obedecem integralmente às variáveis do catálogo. */
.sim-template-soph-clear{--sim-bg:#F0EFEB!important;--sim-surface:#FFFFFF!important;--sim-text:#202020!important;--sim-primary:#4A7FF8!important;--sim-accent:#FF7648!important}
.sim-template-soph-lunar{--sim-bg:#07131F!important;--sim-surface:#0D1B2B!important;--sim-text:#EAF1FF!important;--sim-primary:#4A7FF8!important;--sim-accent:#FF7648!important}
.sim-template-soph-we{--sim-surface:#fff}
.sim-template-soph-dark-lime{--sim-bg:#11171A!important;--sim-surface:#1A2326!important;--sim-text:#F3F6F5!important;--sim-primary:#A8E063!important;--sim-accent:#61D7A8!important}
.sim-template-soph-aurora-dark{--sim-bg:#101621!important;--sim-surface:#171F2B!important;--sim-text:#FFFFFF!important;--sim-primary:#4F7DF3!important;--sim-accent:#FF7A45!important}
.sim-template-soph-aurora-light{--sim-bg:#F6F7F9!important;--sim-surface:#FFFFFF!important;--sim-text:#20242A!important;--sim-primary:#4A76F3!important;--sim-accent:#FF7043!important}
.sim-template-soph-lunar .sim-real-card,.sim-template-soph-dark-lime .sim-real-card,.sim-template-soph-aurora-dark .sim-real-card{box-shadow:none}
.sim-template-soph-lunar .sim-round-action,.sim-template-soph-dark-lime .sim-round-action,.sim-template-soph-aurora-dark .sim-round-action{box-shadow:none}
.sim-template-soph-dark-lime .sim-fidelity-invoice{background:linear-gradient(135deg,#27372E,#1B2A23);border:1px solid #3D5647;color:#F3F6F5;box-shadow:none}.sim-template-soph-dark-lime .sim-fidelity-invoice .sim-pay-real{color:#11171A;background:#A8E063}

/* bottom nav, somente quando o provedor escolher navbar bottom */
.sim-fidelity-home>.sim-real-bottom{position:sticky;bottom:-18px;margin:0 -14px -18px;border-top-color:color-mix(in srgb,var(--sim-text) 10%,transparent);background:color-mix(in srgb,var(--sim-surface) 94%,transparent);backdrop-filter:blur(10px);z-index:5}
.sim-fidelity-home>.sim-real-bottom button{color:var(--sim-text);opacity:.7}.sim-fidelity-home>.sim-real-bottom button:first-child{color:var(--sim-primary);opacity:1;font-weight:900}
@media(max-width:760px){.simulador-canvas{padding:12px!important}.sim-fidelity-quick{grid-template-columns:repeat(4,1fr)}}
