/* Standalone app shell: only loaded on the three program pages. */
html{margin:0!important;padding:0;height:auto;min-height:0;}
body.fidelidadqr-webapp{margin:0!important;padding:0!important;height:auto!important;min-height:0!important;background:var(--app-bg,#fff);color:var(--app-ink,#151515);font-family:Arial,Helvetica,sans-serif;line-height:1.5;}
.fidelidadqr-webapp #fidelidadqr-app{display:block;width:100%;margin:0;padding:0;}
.fidelidadqr-webapp .fidelidadqr,.fidelidadqr-webapp .fidelidadqr[data-mode=card]{width:100%;max-width:540px;margin:0 auto;border:0;border-radius:0;box-shadow:none;padding:24px 16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));}
.fidelidadqr-webapp .fidelidadqr-qr-panel{flex-direction:column;border:0;padding:12px 0;gap:10px;}
.fidelidadqr-webapp .fidelidadqr-qr-copy{text-align:center;width:100%;}
.fidelidadqr-webapp .fidelidadqr-qr-panel .fidelidadqr-qr{width:220px;padding:16px;}
.fidelidadqr-webapp .fidelidadqr-daily-note{font-size:12px;opacity:.65;margin:20px 0;}
.fidelidadqr-webapp .fidelidadqr>p:last-child{padding:14px 0;margin-top:20px;border-top:1px solid var(--fqr-border,#8882);}
.fidelidadqr-webapp .fidelidadqr>p:last-child a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;}
@media(min-width:600px){.fidelidadqr-webapp .fidelidadqr,.fidelidadqr-webapp .fidelidadqr[data-mode=card]{padding:28px 24px;}}
@media print{body.fidelidadqr-webapp{min-height:0;}.fidelidadqr-webapp .fidelidadqr,.fidelidadqr-webapp .fidelidadqr[data-mode=card]{position:static;max-width:540px;margin:0 auto;}}

.fidelidadqr-webapp [data-mode=home] header{margin-bottom:20px;}
.fidelidadqr-webapp [data-mode=home] .fidelidadqr-eyebrow{display:none;}
.fidelidadqr-home h1{font:600 24px/1.3 Arial,Helvetica,sans-serif;color:var(--fidelidadqr-ink);margin:12px 0;}
.fidelidadqr-home-links{display:grid;gap:22px;margin:22px 0;}
.fidelidadqr .fidelidadqr-home-links .fidelidadqr-btn{margin:0;padding:12px 20px;}
.fidelidadqr-home-links span{display:block;font-size:13px;font-weight:400;line-height:1.5;margin-top:6px;}

/* The standalone app uses viewport breakpoints without layout containment. */
.fidelidadqr-webapp .fidelidadqr{container-type:normal;container-name:none;}
@media(min-width:340px){
 .fidelidadqr-webapp .fidelidadqr-prize-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .fidelidadqr-webapp [data-reward-count="1"] .fidelidadqr-prize-grid{grid-template-columns:1fr;}
}
@media(min-width:420px){
 .fidelidadqr-webapp .fidelidadqr-tools{flex-direction:row;flex-wrap:wrap;}
 .fidelidadqr-webapp .fidelidadqr-tools button{flex:1 1 120px;width:auto;}
 .fidelidadqr-webapp .fidelidadqr-reward{grid-template-columns:32px minmax(0,1fr) auto;}
 .fidelidadqr-webapp .fidelidadqr-reward button{grid-column:auto;width:auto;max-width:150px;}
 .fidelidadqr-webapp .fidelidadqr-stamps{gap:14px 10px;}
}

/* Compact installation help; never reserves a viewport or expands closed details. */
.fidelidadqr-webapp .fidelidadqr-install{padding-top:0;padding-bottom:max(16px,env(safe-area-inset-bottom));font-size:13px;}
.fidelidadqr-install summary{cursor:pointer;opacity:.8;min-height:44px;display:list-item;list-style-position:inside;}
.fidelidadqr-install p{text-align:left;}
#fidelidadqr-install[hidden],#fidelidadqr-install-button[hidden]{display:none!important;}
@media print{#fidelidadqr-install{display:none!important;}}

/* Small, readable installation instructions with an accessible disclosure target. */
#fidelidadqr-install{font-size:12px;line-height:1.55;}
#fidelidadqr-install summary{font-size:13px;font-weight:500;}
#fidelidadqr-install p,#fidelidadqr-install li{font-size:12px;line-height:1.55;}
#fidelidadqr-install ol{text-align:left;padding-left:20px;margin:8px 0 16px;}
#fidelidadqr-install li{margin:6px 0;}

.fidelidadqr-webapp .fidelidadqr>p.fidelidadqr-staff-access{border:0;}

#fidelidadqr-install .fidelidadqr-install-platform{text-align:left;margin:16px 0;padding:0;}
#fidelidadqr-install h3{font-size:14px;font-weight:600;line-height:1.4;margin:0 0 12px;}
#fidelidadqr-install h4{font-size:12px;font-weight:600;line-height:1.4;margin:12px 0 6px;color:inherit;}
#fidelidadqr-install .fidelidadqr-install-platform+.fidelidadqr-install-platform{border-top:1px solid var(--fqr-border,#8882);padding-top:16px;margin-top:20px;}

/* Closed installation help and empty placeholders must not reserve space. */
.fidelidadqr-webapp details:not([open])>:not(summary){display:none!important;}
.fidelidadqr-webapp .fidelidadqr[hidden],.fidelidadqr-webapp .fidelidadqr [hidden]{display:none!important;}
.fidelidadqr-webapp #fidelidadqr-app,.fidelidadqr-webapp #fidelidadqr-app>.fidelidadqr{height:auto!important;min-height:0!important;contain:none!important;contain-intrinsic-size:none!important;content-visibility:visible!important;}
.fidelidadqr-webapp #fidelidadqr-card:empty,.fidelidadqr-webapp #fidelidadqr-message:empty{display:none;}

/* Compact customer QR, with a white margin for scanning. */
.fidelidadqr[data-mode=card] .fidelidadqr-qr-panel .fidelidadqr-qr{box-sizing:border-box;width:152px!important;max-width:100%;padding:12px!important;margin:10px auto;flex-shrink:0;}
.fidelidadqr[data-mode=card] .fidelidadqr-qr-panel .fidelidadqr-qr canvas,.fidelidadqr[data-mode=card] .fidelidadqr-qr-panel .fidelidadqr-qr img{display:block;width:100%!important;height:auto!important;aspect-ratio:1;}
