/* ASPA iOS/mobile viewport and form fixes. */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
.aspa-shell,.aspa-appt,.dash,.aspa-mem,.aspa-exp,.aspa-manager-dashboard,.aspa-stats,.aspa-agenda,.aspa-customer-native,.aspa-customer-add,.aspa-employee-schedule{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.aspa-shell *,.aspa-appt *,.dash *,.aspa-mem *,.aspa-exp *,.aspa-manager-dashboard *,.aspa-stats *,.aspa-agenda *,.aspa-customer-native *,.aspa-customer-add *,.aspa-employee-schedule *{box-sizing:border-box;min-width:0}
.aspa-shell input,.aspa-shell select,.aspa-shell textarea,.aspa-appt input,.aspa-appt select,.aspa-appt textarea,.dash input,.dash select,.dash textarea,.aspa-mem input,.aspa-mem select,.aspa-mem textarea,.aspa-exp input,.aspa-exp select,.aspa-exp textarea,.aspa-stats input,.aspa-stats select,.aspa-stats textarea,.aspa-agenda input,.aspa-agenda select,.aspa-agenda textarea,.aspa-customer-native input,.aspa-customer-native select,.aspa-customer-native textarea,.aspa-customer-add input,.aspa-customer-add select,.aspa-customer-add textarea,.aspa-employee-schedule input,.aspa-employee-schedule select,.aspa-employee-schedule textarea{font-size:16px!important;line-height:1.35;max-width:100%}
.aspa-login-card,.aspa-portal-dialog,.agenda-dialog{width:min(100%,560px);max-width:calc(100vw - 24px);margin-left:auto;margin-right:auto}
.aspa-customer-native>header,.aspa-login-card{transform:none!important}
.aspa-portal-modal,.agenda-modal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
#aspa-update-overlay{position:fixed;z-index:2147483647;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.82);font-family:Arial,sans-serif;color:#172033}#aspa-update-overlay>div{width:min(430px,100%);padding:28px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.35)}#aspa-update-overlay strong{display:block;margin:12px 0 6px;font-size:20px}#aspa-update-overlay p{margin:0 0 8px;color:#526077}#aspa-update-overlay small{color:#7c8798}#aspa-update-overlay span{display:inline-block;width:34px;height:34px;border:4px solid #dbe3ff;border-top-color:#3658e8;border-radius:50%;animation:aspa-spin .7s linear infinite}@keyframes aspa-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.aspa-customer-native,.aspa-agenda,.dash,.aspa-mem,.aspa-exp,.aspa-stats,.aspa-customer-add,.aspa-employee-schedule,.aspa-shell,.aspa-appt{padding-left:8px!important;padding-right:8px!important;margin-left:auto!important;margin-right:auto!important}.aspa-login-card{padding:20px 16px}.aspa-customer-native h1{font-size:34px}.aspa-package-head,.aspa-appointment{overflow-wrap:anywhere}.aspa-welcome{width:100%}}
#aspa-loading-overlay{position:fixed;z-index:2147483646;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}#aspa-loading-overlay[hidden]{display:none!important}#aspa-loading-overlay>div{width:min(360px,calc(100vw - 32px));padding:24px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.3)}#aspa-loading-overlay span{display:inline-block;width:40px;height:40px;border:4px solid #dbe3ff;border-top-color:#3658e8;border-radius:50%;animation:aspa-spin .7s linear infinite}#aspa-loading-overlay strong,#aspa-loading-overlay small{display:block}#aspa-loading-overlay strong{margin:13px 0 5px;font-size:17px;color:#172033}#aspa-loading-overlay small{color:#64748b}.aspa-is-loading{overflow:hidden}.aspa-summary-modal{position:fixed;z-index:100005;inset:0;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.6)}.aspa-summary-modal[hidden]{display:none!important}.aspa-summary-dialog{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;padding:24px;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.3)}.aspa-summary-dialog h3{margin:0 36px 18px 0}.aspa-summary-close{position:absolute;right:12px;top:8px;border:0!important;background:transparent!important;color:#172033!important;font-size:30px!important;padding:4px!important}.aspa-summary-content .aspa-summary{display:block!important;margin:0}.aspa-summary-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}.aspa-summary-actions .aspa-confirm{display:block!important}.aspa-summary-back{background:#eef2ff!important;color:#243b86!important}@media(max-width:600px){.aspa-summary-dialog{padding:20px 15px}.aspa-summary-actions{display:grid}.aspa-summary-actions>*{width:100%!important}}
