/* One mark, motion and scale across POS, Admin, AI and public booking/order pages. */
.zuno-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px;vertical-align:middle;font-size:inherit;line-height:1.4;color:inherit;max-width:100%}.zuno-loading-mark{--zuno-loader-size:24px;position:relative;isolation:isolate;display:inline-grid;place-items:center;flex:0 0 var(--zuno-loader-size);width:var(--zuno-loader-size);height:var(--zuno-loader-size);margin:4px}.zuno-loading-mark img{position:static!important;inset:auto!important;display:block;width:100%;height:100%;object-fit:contain;animation:zuno-loader-breathe 1.8s ease-in-out infinite}.zuno-loading-mark:before,.zuno-loading-mark:after{content:'';position:absolute;inset:-4px;border:2px solid rgba(16,179,160,.45);border-radius:50%;animation:zuno-loader-pulse 1.8s ease-out infinite;pointer-events:none}.zuno-loading-mark:after{animation-delay:.9s}.zuno-loading--panel{padding:16px 0;gap:14px}.zuno-loading--panel .zuno-loading-mark{--zuno-loader-size:32px}.zuno-loading--page{flex-direction:column;padding:24px;gap:20px}.zuno-loading--page .zuno-loading-mark{--zuno-loader-size:56px}.zuno-loading>span:last-child{overflow-wrap:anywhere}button .zuno-loading{gap:8px}button .zuno-loading-mark{--zuno-loader-size:18px;margin:3px}button[aria-busy=true]{cursor:wait}
@keyframes zuno-loader-pulse{0%{opacity:0;transform:scale(.55)}35%{opacity:.7}100%{opacity:0;transform:scale(1.55)}}@keyframes zuno-loader-breathe{0%,100%{transform:scale(.98);opacity:.88}50%{transform:scale(1.02);opacity:1}}
/* Compatibility for existing state machines: only their pending class is restyled. */
.btn-inline-spinner,.zuno-critical-flow-spinner,.org-choice-opening i,.device-verify-spinner,.email-link-spinner,.verify-orb--waiting{display:inline-block!important;border:0!important;background: url('/images/logos/zuno-apps-icon--transparent-192.png') center/contain no-repeat!important;border-radius:0!important;animation:zuno-loader-breathe 1.8s ease-in-out infinite!important;position:relative;min-width:20px;min-height:20px;box-shadow:none!important}.btn-inline-spinner:before,.zuno-critical-flow-spinner:before,.org-choice-opening i:before,.device-verify-spinner:before,.email-link-spinner:before,.verify-orb--waiting:before{content:'';position:absolute;inset:-4px;border:2px solid rgba(16,179,160,.45);border-radius:50%;animation:zuno-loader-pulse 1.8s ease-out infinite}
#zuno-busy .zb-mark>.zuno-loading-mark{--zuno-loader-size:56px;margin:10px}#zuno-busy.is-done .zb-mark>.zuno-loading-mark{display:none}
.dark .zp select,.dark .zp input{background:#1f2937;color:#f9fafb;border-color:#475569}
@media(prefers-reduced-motion:reduce){.zuno-loading-mark img,.zuno-loading-mark:before,.zuno-loading-mark:after,.btn-inline-spinner,.zuno-critical-flow-spinner,.org-choice-opening i,.device-verify-spinner,.email-link-spinner,.verify-orb--waiting,.btn-inline-spinner:before,.zuno-critical-flow-spinner:before,.org-choice-opening i:before,.device-verify-spinner:before,.email-link-spinner:before,.verify-orb--waiting:before{animation:none!important}}
.loading-logo-wrap:before,.loading-logo-wrap:after{content:none!important}.loading-logo-wrap{width:auto!important;min-height:90px!important}.loading-logo-wrap .zuno-loading-mark img{width:100%!important;height:100%!important;max-width:none!important}

.btn-inline-spinner:after,.zuno-critical-flow-spinner:after,.org-choice-opening i:after,.device-verify-spinner:after,.email-link-spinner:after,.verify-orb--waiting:after{content:'';position:absolute;inset:-4px;border:2px solid rgba(16,179,160,.45);border-radius:50%;pointer-events:none;animation:zuno-loader-pulse 1.8s ease-out .9s infinite}
@media(prefers-reduced-motion:reduce){.btn-inline-spinner:after,.zuno-critical-flow-spinner:after,.org-choice-opening i:after,.device-verify-spinner:after,.email-link-spinner:after,.verify-orb--waiting:after{animation:none!important}}

/* Initial public-page loading belongs to the viewport, never the menu column. */
.boot[data-zuno-loading][data-loading-size="page"]{position:fixed;inset:0;box-sizing:border-box;display:grid;place-items:center;width:auto;max-width:none;min-height:100vh;min-height:100dvh;margin:0;padding:24px;text-align:center}
