.jax-loading-spinner{width:38px;height:38px;margin:24px auto;border:4px solid #dbe3ed;border-top-color:#172033;border-radius:50%;animation:jax-loading-spin .9s linear infinite}
@keyframes jax-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.jax-loading-spinner{animation-duration:2.5s}}
.jax-consent{display:flex;align-items:flex-start;gap:12px;text-align:left;margin:20px 0;line-height:1.5}
.jax-consent input{width:20px;min-width:20px;height:20px;margin-top:3px}
.jax-signup-screen [data-error]{color:#b91c1c}
.jax-owner-auth-overlay.jax-owner-signup-screen{background:#f5f7fa;z-index:2147483100;padding:24px;overflow:auto;align-items:start}
.jax-owner-signup-screen .jax-owner-auth-card{margin:24px auto;max-height:none;width:min(660px,100%)}
.view-ownerComms .grid>*{min-width:0}
.view-ownerComms .card{min-width:0;overflow-wrap:anywhere}
.view-ownerComms .row{flex-wrap:wrap;gap:12px}
.view-ownerComms .row>div{min-width:0}
.view-ownerComms input,.view-ownerComms select,.view-ownerComms textarea{max-width:100%;box-sizing:border-box}
.view-ownerComms .card p,.view-ownerComms .card small{white-space:normal;height:auto;max-height:none;overflow:visible}

.jax-marketplace-choice{display:inline-block;flex:0 0 16px;width:16px;height:16px;margin:6px 14px 0 0;border:1.5px solid #64748b;border-radius:50%;box-sizing:border-box}
.jax-mkt-prod-plan.is-chosen .jax-marketplace-choice{border:5px solid #2563eb;background:white}
.jax-mkt-prod-plan:focus-visible{outline:3px solid #2563eb;outline-offset:3px}

/* Brand loading state: scoped so login, signup, and error screens remain interactive. */
#app>.login[role="status"][aria-busy="true"]{box-sizing:border-box;position:fixed;inset:0;z-index:2147482900;width:100%;max-width:none;min-height:100dvh;margin:0;border:0;border-radius:0;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 30%,#214b82 0%,#132d50 42%,#0d192d 100%);color:#fff;box-shadow:none}
#app>.login[role="status"] .login-logo{width:132px;height:132px;object-fit:contain;padding:16px;border-radius:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 60px #06132560;margin:0 0 20px}
#app>.login[role="status"] h1{color:#fff;margin:0;font-size:30px;letter-spacing:-.02em}
#app>.login[role="status"] p{color:#e3efff;max-width:340px;margin:10px 0;line-height:1.5}
#app>.login[role="status"] p.muted{color:#a9c2df;font-size:13px}
#app>.login[role="status"] .jax-loading-spinner{width:30px;height:30px;border-width:3px;border-color:#ffffff25;border-top-color:#91c9ff;margin:26px auto 12px}
.jax-tote-qr-overlay{position:fixed;inset:0;z-index:2147483100;background:rgba(15,23,42,.72);display:grid;place-items:center;padding:16px;box-sizing:border-box}
.jax-tote-qr-dialog{box-sizing:border-box;width:min(100%,430px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;text-align:center;min-width:0}
.jax-tote-qr-canvas{width:244px;max-width:100%;min-height:244px;padding:12px;box-sizing:border-box;margin:16px auto;background:#fff;display:grid;place-items:center}
.jax-tote-qr-canvas img,.jax-tote-qr-canvas canvas{max-width:100%;height:auto}
.jax-tote-qr-actions{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:-24px;background:#fff;padding:14px 0 4px}
.jax-tote-qr-actions .btn{flex:1;min-height:48px;min-width:110px}
@media(max-width:600px){.qr-single-layout{display:flex!important;flex-direction:column}.qr-single-actions{order:-1}.qr-single-actions .btn{min-height:48px}}

.jax-more-panel-nav{display:none!important}
@media(max-width:899px){
  .jax-more-panel{--jax-panel-nav-height:calc(66px + env(safe-area-inset-bottom,0px));padding-bottom:var(--jax-panel-nav-height)!important;box-sizing:border-box}
  .jax-more-panel>.psa-shell,.jax-more-panel>.signon-admin-shell{min-height:0!important;max-height:calc(100dvh - var(--jax-panel-nav-height))!important;width:100%}
  .jax-more-panel>.jax-more-panel-nav{display:flex!important;position:fixed!important;inset:auto 0 0!important;z-index:10!important;min-height:66px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:#fff;border-top:1px solid #dbe3ed;gap:4px}
  .jax-more-panel-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;border:0;border-radius:12px;background:transparent;color:#64748b;font:inherit;font-size:12px}
  .jax-more-panel-nav button.active{color:#1d4ed8;background:#eff6ff}
}
