/* MambaHub V234 · Tablet App Mode + layout professionale portrait/landscape */
:root{--kiosk-safe-top:env(safe-area-inset-top,0px);--kiosk-safe-right:env(safe-area-inset-right,0px);--kiosk-safe-bottom:env(safe-area-inset-bottom,0px);--kiosk-safe-left:env(safe-area-inset-left,0px)}
html,body[data-page="kiosk"]{min-height:100dvh!important;background:#eef1f5!important}
body[data-page="kiosk"]{overflow-x:hidden!important}
body[data-page="kiosk"] .auth-logo{display:none!important}
body[data-page="kiosk"] .privacy-footer{display:none!important}
body[data-page="kiosk"] .shell{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important;padding:max(14px,var(--kiosk-safe-top)) max(16px,var(--kiosk-safe-right)) max(16px,var(--kiosk-safe-bottom)) max(16px,var(--kiosk-safe-left))!important}
body[data-page="kiosk"] .kiosk{box-sizing:border-box!important;width:min(100%,1180px)!important;min-height:calc(100dvh - 30px)!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body[data-page="kiosk"] .kiosk-lockbar{box-sizing:border-box!important;width:100%!important;min-height:58px!important;margin:0 0 16px!important;padding:10px 16px!important;border-radius:16px!important;box-shadow:0 10px 30px #0001!important}
body[data-page="kiosk"] .kiosk-lockbar img{width:42px!important;height:42px!important;flex:0 0 42px!important}
body[data-page="kiosk"] .kiosk-lockbar strong{font-size:14px!important}
body[data-page="kiosk"] .kiosk-lockbar span{font-size:12px!important}
body[data-page="kiosk"] .kiosk-heading{box-sizing:border-box!important;width:100%!important;margin:0 0 16px!important;padding:18px 20px!important;display:flex!important;align-items:center!important;gap:16px!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 32px #0f172a12!important;text-align:left!important}
body[data-page="kiosk"] .kiosk-heading img{width:64px!important;height:64px!important;flex:0 0 64px!important}
body[data-page="kiosk"] .kiosk-heading h1{margin:0!important;font-size:clamp(29px,4vw,44px)!important;line-height:1.02!important}
body[data-page="kiosk"] .kiosk-heading p{margin:6px 0 0!important;font-size:clamp(15px,1.8vw,19px)!important;line-height:1.35!important;color:#454b55!important}
body[data-page="kiosk"] #tablet-home.tablet-home-actions{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:20px!important;border-radius:20px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;background:#fff!important;box-shadow:0 12px 34px #0f172a16!important}
body[data-page="kiosk"] #tablet-home>h2,body[data-page="kiosk"] #tablet-home>p{grid-column:1/-1!important;text-align:center!important}
body[data-page="kiosk"] #tablet-home>h2{margin:0!important;font-size:28px!important}
body[data-page="kiosk"] #tablet-home>p{margin:0 0 4px!important;font-size:15px!important;color:#525866!important}
body[data-page="kiosk"] #tablet-home .face-kiosk-choice{display:contents!important}
body[data-page="kiosk"] #tablet-home .face-kiosk-choice>button,body[data-page="kiosk"] #tablet-home>.tablet-action{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:94px!important;margin:0!important;padding:15px 14px!important;border-radius:15px!important;font-size:clamp(17px,2vw,22px)!important;font-weight:950!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
body[data-page="kiosk"] #tablet-home>.tablet-action.booking{background:#111!important;color:#fff!important}
body[data-page="kiosk"] #tablet-home>.tablet-action.payment{background:#b91c1c!important;color:#fff!important}

/* QR: scanner proprietario pulito, nessun controllo/link della libreria. */
body[data-page="kiosk"] #qr-reader a,body[data-page="kiosk"] #qr-reader button,body[data-page="kiosk"] #qr-reader select,body[data-page="kiosk"] #qr-reader img,body[data-page="kiosk"] #qr-reader [id*="dashboard"],body[data-page="kiosk"] #qr-reader [id*="file_selection"]{display:none!important}
body[data-page="kiosk"] #qr-reader{padding:0!important;border:0!important;background:#090a0c!important;overflow:hidden!important}
body[data-page="kiosk"] #qr-reader video{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#090a0c!important}

/* Conferme/results */
body[data-page="kiosk"] .kiosk-confirm{box-sizing:border-box!important;width:100%!important;margin:0!important;padding:20px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 34px #0f172a16!important}
body[data-page="kiosk"] .kiosk-welcome,body[data-page="kiosk"] .kiosk-payment-result{box-sizing:border-box!important;width:100%!important;margin:0 0 14px!important;border-radius:18px!important}

/* Modalità APP tablet: guida installazione one-shot. */
.kiosk-app-install{position:fixed;inset:0;z-index:110000;display:grid;place-items:center;padding:22px;background:#07080be6;backdrop-filter:blur(10px)}
.kiosk-app-install[hidden]{display:none!important}.kiosk-app-install-card{width:min(92vw,620px);box-sizing:border-box;padding:30px;border-radius:26px;background:#fff;color:#111;text-align:center;box-shadow:0 30px 100px #0009;border-top:7px solid #d71920}.kiosk-app-install-card img{width:90px;height:90px;object-fit:contain}.kiosk-app-install-card h2{font-size:32px;margin:12px 0 8px}.kiosk-app-install-card p{font-size:17px;line-height:1.45;color:#4b5563}.kiosk-app-install-actions{display:grid;gap:10px;margin-top:20px}.kiosk-app-install-actions button{min-height:62px;font-size:17px;font-weight:950;border-radius:13px}.kiosk-app-install-actions .skip{background:#e5e7eb;color:#111}.kiosk-app-badge{position:fixed;right:max(10px,var(--kiosk-safe-right));bottom:max(10px,var(--kiosk-safe-bottom));z-index:1000;padding:9px 12px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:900;box-shadow:0 8px 24px #0003}.kiosk-app-badge[hidden]{display:none!important}

/* Landscape 10": due pannelli veri, niente riga minuscola al centro. */
@media (orientation:landscape) and (min-width:760px){
 body[data-page="kiosk"] .shell{display:flex!important;align-items:center!important;justify-content:center!important;padding:max(10px,var(--kiosk-safe-top)) max(14px,var(--kiosk-safe-right)) max(10px,var(--kiosk-safe-bottom)) max(14px,var(--kiosk-safe-left))!important}
 body[data-page="kiosk"] .kiosk{min-height:calc(100dvh - 20px)!important;display:grid!important;grid-template-columns:minmax(330px,.82fr) minmax(500px,1.18fr)!important;grid-template-rows:auto minmax(0,1fr)!important;gap:18px 22px!important;align-items:stretch!important}
 body[data-page="kiosk"] .kiosk-lockbar{grid-column:1/-1!important;grid-row:1!important;margin:0!important;min-height:54px!important}
 body[data-page="kiosk"] .kiosk-heading{grid-column:1!important;grid-row:2!important;margin:0!important;min-height:0!important;padding:28px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:16px!important}
 body[data-page="kiosk"] .kiosk-heading img{width:96px!important;height:96px!important;flex-basis:96px!important}
 body[data-page="kiosk"] .kiosk-heading h1{font-size:clamp(32px,4.1vw,50px)!important}
 body[data-page="kiosk"] .kiosk-heading p{font-size:clamp(16px,1.8vw,21px)!important}
 body[data-page="kiosk"] #tablet-home.tablet-home-actions{grid-column:2!important;grid-row:2!important;margin:0!important;padding:22px!important;align-content:center!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
 body[data-page="kiosk"] #tablet-home .face-kiosk-choice>button,body[data-page="kiosk"] #tablet-home>.tablet-action{min-height:110px!important;font-size:clamp(18px,2.2vw,25px)!important;padding:16px!important}
 body[data-page="kiosk"] .kiosk-confirm{grid-column:2!important;grid-row:2!important;align-self:center!important;display:grid!important;grid-template-columns:130px minmax(0,1fr)!important;gap:18px!important;align-items:center!important}
 body[data-page="kiosk"] .kiosk-confirm>img{width:120px!important;height:120px!important;object-fit:cover!important;border-radius:18px!important}
 body[data-page="kiosk"] .kiosk-confirm form{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
 body[data-page="kiosk"] .kiosk-welcome,body[data-page="kiosk"] .kiosk-payment-result{grid-column:1/-1!important}
 /* QR */
 body[data-page="kiosk"] #scanner-area:not([hidden]){position:fixed!important;inset:0!important;z-index:99990!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr)!important;grid-template-rows:auto auto 1fr!important;gap:14px 20px!important;align-items:center!important;padding:max(14px,var(--kiosk-safe-top)) max(16px,var(--kiosk-safe-right)) max(14px,var(--kiosk-safe-bottom)) max(16px,var(--kiosk-safe-left))!important;background:#eef1f5!important;overflow:hidden!important}
 body[data-page="kiosk"] #scanner-area .qr-reader{grid-column:1!important;grid-row:1/4!important;width:100%!important;height:min(88dvh,690px)!important;margin:0!important;border-radius:22px!important;box-shadow:0 18px 48px #0002!important}
 body[data-page="kiosk"] #scanner-area .scan-result{grid-column:2!important;grid-row:1!important;width:100%!important;margin:0!important;padding:16px!important;font-size:clamp(18px,2vw,24px)!important;text-align:center!important}
 body[data-page="kiosk"] #scanner-area>p{grid-column:2!important;grid-row:2!important;width:100%!important;margin:0!important;font-size:15px!important;line-height:1.5!important;text-align:center!important}
 body[data-page="kiosk"] #scanner-area #close-scanner{grid-column:2!important;grid-row:3!important;align-self:start!important;width:100%!important;min-height:60px!important;margin:0!important;font-size:16px!important}
 /* Face */
 body[data-page="kiosk"] .face-scanner{padding:max(14px,var(--kiosk-safe-top)) max(16px,var(--kiosk-safe-right)) max(14px,var(--kiosk-safe-bottom)) max(16px,var(--kiosk-safe-left))!important;overflow:hidden!important}
 body[data-page="kiosk"] .face-scanner-card{box-sizing:border-box!important;width:min(97vw,1180px)!important;max-width:1180px!important;max-height:94dvh!important;padding:16px!important;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr)!important;grid-template-areas:"video title" "video status" "video progress" "video capture" "video close"!important;grid-template-rows:auto auto auto minmax(60px,auto) minmax(56px,auto)!important;gap:10px 20px!important;align-items:center!important;text-align:left!important;overflow:hidden!important}
 body[data-page="kiosk"] .face-scanner-card>h2{grid-area:title!important;margin:0!important;font-size:32px!important;text-align:left!important}
 body[data-page="kiosk"] .face-scanner-card>#face-kiosk-status{grid-area:status!important;margin:0!important;font-size:18px!important;line-height:1.4!important;text-align:left!important}
 body[data-page="kiosk"] .face-scanner-card>.face-progress{grid-area:progress!important;justify-content:flex-start!important;margin:3px 0!important}
 body[data-page="kiosk"] .face-scanner-card>#face-kiosk-video{grid-area:video!important;width:100%!important;height:min(88dvh,690px)!important;object-fit:cover!important;object-position:center!important;border-radius:20px!important;margin:0!important;background:#111!important}
 body[data-page="kiosk"] .face-scanner-card>#face-kiosk-capture{grid-area:capture!important;width:100%!important;min-height:60px!important;margin:0!important;font-size:16px!important}
 body[data-page="kiosk"] .face-scanner-card>#face-kiosk-close{grid-area:close!important;width:100%!important;min-height:56px!important;margin:0!important;font-size:15px!important}
}

@media (orientation:landscape) and (min-width:760px) and (max-height:650px){
 body[data-page="kiosk"] .kiosk{gap:10px 16px!important}.kiosk-lockbar{min-height:46px!important}.kiosk-heading{padding:18px!important}.kiosk-heading img{width:70px!important;height:70px!important;flex-basis:70px!important}.kiosk-heading h1{font-size:34px!important}.kiosk-heading p{font-size:15px!important}body[data-page="kiosk"] #tablet-home.tablet-home-actions{padding:16px!important;gap:10px!important}body[data-page="kiosk"] #tablet-home .face-kiosk-choice>button,body[data-page="kiosk"] #tablet-home>.tablet-action{min-height:82px!important;font-size:18px!important}
}
/* V235 install status */
.kiosk-app-install-actions .confirm{background:#0f8a3b!important;color:#fff!important;margin-top:10px}
.kiosk-app-badge.is-installed{background:#0f8a3b!important;color:#fff!important;border-color:#0f8a3b!important}
#kiosk-app-install-status{margin:14px 0;font-weight:800;line-height:1.45}

/* V240 · selettore identificazione QR / Face per prenotazioni e pagamenti */
body[data-page="kiosk"] .kiosk-id-modal{
 position:fixed!important;inset:0!important;z-index:100200!important;
 display:grid!important;place-items:center!important;padding:22px!important;
 background:rgba(5,5,7,.88)!important;box-sizing:border-box!important;
}
body[data-page="kiosk"] .kiosk-id-modal[hidden]{display:none!important}
body[data-page="kiosk"] .kiosk-id-card{
 width:min(92vw,720px)!important;background:#fff!important;color:#111!important;
 border-radius:24px!important;padding:28px!important;text-align:center!important;
 box-shadow:0 24px 90px rgba(0,0,0,.5)!important;box-sizing:border-box!important;
}
body[data-page="kiosk"] .kiosk-id-card h2{margin:0 0 10px!important;font-size:clamp(24px,4vw,40px)!important}
body[data-page="kiosk"] .kiosk-id-card p{font-size:clamp(16px,2.2vw,22px)!important;margin:0 0 22px!important}
body[data-page="kiosk"] .kiosk-id-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
body[data-page="kiosk"] .kiosk-id-actions button{
 min-height:100px!important;border:0!important;border-radius:18px!important;
 font-size:clamp(18px,2.4vw,27px)!important;font-weight:950!important;padding:16px!important;
}
body[data-page="kiosk"] .kiosk-id-actions .qr{background:#166534!important;color:#fff!important}
body[data-page="kiosk"] .kiosk-id-actions .face{background:#111!important;color:#fff!important}
body[data-page="kiosk"] #kiosk-id-cancel{margin-top:16px!important;width:100%!important;min-height:62px!important}
@media(max-width:650px){body[data-page="kiosk"] .kiosk-id-actions{grid-template-columns:1fr!important}}
