.kiosk-page{margin:0;min-height:100dvh;display:grid;place-items:center;background:#f6f8fc;color:#172033;font-family:system-ui,sans-serif;padding:28px 16px}.kiosk-page main{width:100%;max-width:940px;text-align:center}.kiosk-page main>img{display:block;margin:0 auto 22px;border-radius:13px}.kiosk-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#64748b}.kiosk-page h1{font-size:clamp(26px,4vw,38px);font-weight:750;margin:10px 0}.kiosk-page main>p:not(.kiosk-eyebrow){color:#64748b;line-height:1.6;margin:12px 0}.kiosk-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;margin:32px auto;max-width:780px}.kiosk-profile{display:flex;flex-direction:column;align-items:center;gap:16px;background:#fff;border:2px solid #e2e8f0;border-radius:18px;padding:24px 14px;color:inherit;cursor:pointer;min-width:0}.kiosk-profile:hover,.kiosk-profile:focus-visible{border-color:#2563eb;background:#eff6ff;outline:3px solid #bfdbfe}.kiosk-profile strong{font-size:15px;overflow-wrap:anywhere}.kiosk-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#dbeafe;color:#1d4ed8;font-size:30px;font-weight:700}.tone-1{background:#ede9fe;color:#6d28d9}.tone-2{background:#d1fae5;color:#047857}.tone-3{background:#fef3c7;color:#b45309}.tone-4{background:#fce7f3;color:#be185d}.kiosk-page small{display:block;color:#64748b;font-size:12px}.kiosk-dashboard-link{display:block;color:#2563eb;font-size:13px;margin-top:24px}.kiosk-page dialog{margin:auto;border:0;border-radius:20px;padding:28px;width:min(380px,calc(100% - 24px));box-shadow:0 25px 90px #17203340}.kiosk-page dialog::backdrop{background:#17203388;backdrop-filter:blur(3px)}#pin-form{position:relative;text-align:center}#pin-form h2{font-size:22px;font-weight:700;overflow-wrap:anywhere;padding-right:20px}#pin-form>p{font-size:13px;color:#64748b;margin:10px 0 16px}.kiosk-close{position:absolute;right:-10px;top:-16px;width:34px;height:34px;border:0;background:transparent;font-size:27px;cursor:pointer}#pin-input{width:100%;box-sizing:border-box;text-align:center;letter-spacing:10px;font-size:28px;min-height:58px;border:2px solid #cbd5e1;border-radius:10px;padding:10px;margin-bottom:18px}.kiosk-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kiosk-keypad button{min-height:52px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;font-size:20px;cursor:pointer}.kiosk-keypad button[data-key=Effacer]{font-size:12px}.kiosk-keypad button:hover{background:#dbeafe}.kiosk-primary{display:block;width:100%;min-height:46px;border:0;background:#2563eb;color:white;border-radius:10px;margin-top:18px;font-weight:650;cursor:pointer}.kiosk-primary:disabled{opacity:.5}#pin-error{color:#b91c1c!important}.kiosk-page [hidden]{display:none}

/* Fast keypad taps must not trigger double-tap zoom; pinch zoom stays available. */
.kiosk-page,.kiosk-page button,#pin-input{touch-action:manipulation}
.kiosk-keypad button,.kiosk-profile{-webkit-user-select:none;user-select:none}

/* Tablet interaction: suppress double-tap zoom throughout the app, retaining pinch and scrolling. */
html,body,body *{touch-action:manipulation}
@media (any-pointer:coarse){
    input:not(#pin-input),select,textarea{font-size:16px!important}
}
