/* Public invitation presentation. Existing account, consent and Shop forms remain owners. */
.sv-invite-trigger{font:inherit;cursor:pointer}.sv-bottom-nav{display:none}.sv-invite-entry{display:inline-flex;align-items:center;gap:9px;border:1px solid #72dce0;border-radius:13px;background:#e7f9f9;color:#006b78;padding:12px 17px;font:inherit;font-weight:600;cursor:pointer}.sv-invite-entry svg{width:20px;height:20px}
.sv-dialog{box-sizing:border-box;border:1px solid #d5e7e8;padding:0;margin:auto;width:min(890px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;border-radius:28px;background:#fff;color:#082f38;box-shadow:0 24px 100px #002d3840}.sv-dialog::backdrop{background:#0028319c;backdrop-filter:blur(5px)}.sv-dialog *{box-sizing:border-box}.sv-dialog [hidden]{display:none!important}.sv-dialog svg,.sv-bottom-nav svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;flex-shrink:0}.sv-dialog button,.sv-dialog a{font:inherit}.sv-dialog :focus-visible,.sv-bottom-nav :focus-visible{outline:3px solid #00aebb;outline-offset:3px}
.sv-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px 18px;border-bottom:1px solid #e8f1f2}.sv-dialog-head img{width:174px;height:auto;max-width:65%}.sv-close{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#f0f7f7;color:#24464d;font-size:26px!important;cursor:pointer}.sv-dialog-intro{padding:22px 28px 0}.sv-dialog-intro h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0}.sv-dialog-intro p{font-size:15px;line-height:1.5;color:#63818b;margin:10px 0 0}.sv-invite-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:24px;padding:24px 28px 28px}.sv-roles{display:flex;flex-direction:column;gap:12px}.sv-role{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;align-items:center;gap:14px;min-height:98px;padding:16px;text-align:start;border:1px solid #d2e6e9;border-radius:18px;background:#fff;color:#08323b;cursor:pointer;transition:border-color .18s,background .18s}.sv-role[aria-pressed=true]{background:#eafafa;border-color:#00aaba;box-shadow:inset 0 0 0 1px #00aaba}.sv-role-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#e8f8f9;color:#0093a4}.sv-role[aria-pressed=true] .sv-role-icon{background:#c9f3f2}.sv-role strong{display:block;font-size:18px;line-height:1.3}.sv-role small{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:#6c8791}.sv-chevron{font-size:24px;color:#0096a7}.sv-role[aria-pressed=true] .sv-chevron{font-size:0}.sv-role[aria-pressed=true] .sv-chevron::after{content:'✓';font-size:19px}.sv-detail{min-width:0;background:linear-gradient(145deg,#f0faf9,#f7fbfc);border:1px solid #d4e8ea;border-radius:21px;padding:22px}.sv-detail h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:0 0 18px}.sv-detail h3 span{display:block;font-size:13px;letter-spacing:0;color:#64818b;font-weight:400;margin-bottom:5px}.sv-link-label{display:block;font-size:13px;color:#64818b;margin-bottom:8px}.sv-link{width:100%;border:1px solid #c9e0e4;border-radius:12px;padding:12px 13px;height:54px;background:#fff;color:#204c59;font:14px/1.5 system-ui,sans-serif;direction:ltr;text-align:left;overflow:auto;resize:none;white-space:nowrap}.sv-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.sv-action{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;border:1px solid #b9dfe3;border-radius:12px;padding:10px 12px;background:#fff;color:#007989;text-decoration:none;text-align:center;cursor:pointer;font-size:14px!important;line-height:1.3;overflow-wrap:anywhere}.sv-primary{background:#00a6b6;border-color:#00a6b6;color:#fff}.sv-action svg{width:18px;height:18px}.sv-open{grid-column:1/-1}.sv-action:disabled{opacity:.45;cursor:default}.sv-action[aria-disabled=true]{pointer-events:none;opacity:.45}.sv-note{font-size:13px;line-height:1.5;color:#6a858c;margin:12px 0}.sv-note:empty{display:none}.sv-qr{margin-top:20px;padding-top:20px;border-top:1px solid #d6e8ea;text-align:center}.sv-qr h4{font-size:14px;line-height:1.4;margin:0 0 12px}.sv-qr img{display:block;margin:auto;width:176px;height:176px;background:#fff;padding:8px;border-radius:15px;max-width:100%}.sv-qr button{margin:10px auto 0;border:0;background:none;color:#008494;padding:10px;min-height:44px;cursor:pointer;font-size:13px}.sv-identity{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#008493;font-size:12px}.sv-identity::before{content:'';width:6px;height:6px;border-radius:50%;background:#00b7ac}.sv-guest{margin:0;padding:0}.sv-guest p{font-size:15px;line-height:1.6;color:#526f79}.sv-guest .sv-actions{margin-top:18px}.sv-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:22px}.sv-menu-grid [data-sv-menu]{display:flex;text-decoration:none;min-width:0;gap:12px;align-items:center;min-height:58px;padding:14px;background:#f4faf9;border:1px solid #d9eaeb;border-radius:14px;text-align:start;color:#0d3c45;cursor:pointer;font-size:15px}.sv-menu-grid [data-sv-menu] svg{color:#0097a8}.sv-menu-registration{grid-column:1/-1;display:grid;gap:8px;padding-top:10px}.sv-menu-registration>span{color:#65818a;font-size:12px;padding:2px 4px}.sv-menu-grid .sv-menu-partner{background:#e3f7f6;border-color:#8bd5d5}.sv-menu-brand{display:block;padding:0 24px 24px;font-size:12px;color:#729098}.sv-status{min-height:0;font-size:13px;color:#007786;line-height:1.4;margin:12px 0 0}.sv-status:empty{display:none}
@media(max-width:760px){body.sv-has-mobile-nav{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.sv-has-mobile-nav #chatToggle{display:none!important}.sv-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset-inline:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:85;min-height:66px;padding:7px 5px;border:1px solid #d6e5e6;border-radius:21px;background:#fffffff0;box-shadow:0 5px 30px #002a321c;backdrop-filter:blur(16px)}.sv-bottom-nav [data-sv-bottom]{text-decoration:none;border:0;background:none;color:#647e85;padding:4px 2px;min-height:50px;min-width:0;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;font:10.5px/1.15 system-ui,sans-serif;overflow-wrap:anywhere}.sv-bottom-nav .sv-bottom-invite{background:#dff7f5;color:#007d86}.sv-bottom-nav [data-sv-bottom] span{max-width:100%;text-align:center}.sv-bottom-nav [data-sv-bottom] svg{width:23px;height:23px}.sv-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:25px}.sv-dialog-head{padding:16px 18px 14px}.sv-dialog-head img{width:160px}.sv-dialog-intro{padding:19px 20px 0}.sv-dialog-intro h2{font-size:25px}.sv-invite-layout{display:grid;grid-template-columns:minmax(0,1fr);padding:19px 18px 22px;gap:20px}.sv-roles{gap:10px}.sv-role{min-height:80px;padding:13px 14px;gap:12px;border-radius:16px}.sv-role strong{font-size:17px}.sv-role small{font-size:12px;margin-top:4px}.sv-role-icon{width:42px;height:42px}.sv-detail{padding:19px 16px;border-radius:18px}.sv-detail h3{font-size:21px}.sv-actions{gap:8px}.sv-action{font-size:13px!important;padding:10px 8px}.sv-menu-grid{padding:18px;gap:8px}.sv-menu-grid [data-sv-menu]{font-size:14px;min-height:62px;padding:12px;gap:8px}.sv-menu-grid [data-sv-menu] svg{width:21px;height:21px}.sv-menu-brand{padding:0 20px 22px}.sv-dialog-open .sv-bottom-nav,.vim-support-modal-open .sv-bottom-nav{visibility:hidden}.has-cookie-banner .sv-bottom-nav{visibility:hidden}.sv-invite-entry{font-size:14px}.sv-keyboard-open .sv-bottom-nav{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.sv-role{transition:none}.sv-dialog::backdrop{backdrop-filter:none}}
@media(max-width:760px){[data-sv-copy] svg{display:none}}
/* Shop registration branding and a separate foreground link/QR step on phones. */
.sv-shop-registration .sv-dialog-head{padding:13px 22px}.sv-shop-registration .sv-dialog-head img{width:150px;max-width:65%;height:auto}.sv-page-share .sv-invite-layout{grid-template-columns:minmax(0,1fr)}
.sv-mobile-detail{width:min(430px,calc(100% - 24px));border-radius:23px}.sv-mobile-detail .sv-dialog-head{padding:10px 16px}.sv-mobile-detail .sv-dialog-head img{width:136px;height:auto}.sv-mobile-detail .sv-close{width:38px;height:38px;flex-basis:38px;font-size:24px!important}.sv-mobile-detail-body .sv-detail{padding:16px 18px 18px;border:0;border-radius:0;background:#fff}.sv-mobile-detail .sv-detail h3{font-size:21px;margin-bottom:12px}.sv-mobile-detail .sv-detail h3 span{font-size:12px;margin-bottom:3px}.sv-mobile-detail .sv-link-label{font-size:12px;margin-bottom:6px}.sv-mobile-detail .sv-link{height:44px;padding:10px 11px;font-size:12px}.sv-mobile-detail .sv-actions{margin-top:10px;gap:8px}.sv-mobile-detail .sv-action{min-height:42px;padding:9px 8px;font-size:13px!important}.sv-mobile-detail .sv-identity{font-size:11px;margin-top:9px}.sv-mobile-detail .sv-qr{padding-top:12px;margin-top:13px}.sv-mobile-detail .sv-qr h4{font-size:12px;margin-bottom:8px}.sv-mobile-detail .sv-qr img{width:clamp(112px,21dvh,152px);height:clamp(112px,21dvh,152px);padding:6px;border:1px solid #edf4f4;border-radius:12px}.sv-mobile-detail .sv-qr button{font-size:12px;margin-top:4px;padding:6px;min-height:36px}
@media(max-width:760px){#svInvite.sv-shop-registration .sv-dialog-head{padding:10px 18px}#svInvite.sv-shop-registration .sv-dialog-head img{width:140px}#svInvite .sv-dialog-intro{padding-top:15px}#svInvite .sv-dialog-intro h2{font-size:23px}#svInvite .sv-invite-layout{padding-top:16px;padding-bottom:20px}#svInvite .sv-role{min-height:72px;padding:11px 13px}#svInvite .sv-role strong{font-size:16px}#svInvite .sv-role small{font-size:11px}#svInvite .sv-role-icon{width:39px;height:39px}}
@media(max-width:760px) and (max-height:650px){.sv-mobile-detail .sv-dialog-head{padding:8px 14px}.sv-mobile-detail .sv-dialog-head img{width:118px}.sv-mobile-detail .sv-mobile-detail-body .sv-detail{padding:12px 14px}.sv-mobile-detail .sv-detail h3{font-size:19px;margin-bottom:9px}.sv-mobile-detail .sv-detail h3 span{font-size:11px;margin-bottom:2px}.sv-mobile-detail .sv-link-label{font-size:11px;margin-bottom:4px}.sv-mobile-detail .sv-link{height:40px;padding:8px 10px;font-size:11px}.sv-mobile-detail .sv-actions{margin-top:8px;gap:6px}.sv-mobile-detail .sv-action{min-height:38px;font-size:12px!important;padding:8px 7px}.sv-mobile-detail .sv-identity{margin-top:6px;font-size:10px}.sv-mobile-detail .sv-qr{margin-top:8px;padding-top:8px}.sv-mobile-detail .sv-qr h4{display:none}.sv-mobile-detail .sv-qr button{min-height:32px;padding:5px}}

/* A clear self-registration entry, independent of invitation QR sharing. */
.sv-menu-grid .sv-menu-join{grid-column:1/-1;justify-content:center;min-height:48px;background:#009aab;border-color:#009aab;color:#fff;font-weight:600}.sv-menu-grid .sv-menu-join svg{color:inherit}.sv-register-error{margin:12px 22px 20px;color:#a12828;font-size:14px;line-height:1.45}

/* Five quiet app actions, including support, with iPhone home-indicator clearance. */
.sv-bottom-nav[hidden]{display:none!important}
@media(max-width:760px){
 body.sv-has-mobile-nav{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .sv-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));left:10px;right:10px;inset-inline:10px;margin-inline:auto;width:auto;max-width:560px;min-height:64px;padding:5px 4px;border-radius:22px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
 .sv-bottom-nav [data-sv-bottom]{min-height:52px;gap:5px;padding:5px 1px;font-size:10px;line-height:1.15;letter-spacing:-.015em;-webkit-tap-highlight-color:transparent}
 .sv-bottom-nav [data-sv-bottom] svg{width:22px;height:22px}
 .sv-bottom-nav [data-sv-bottom] span{display:flex;align-items:center;justify-content:center;min-height:23px;width:100%;hyphens:auto;overflow-wrap:anywhere}
 .sv-bottom-nav [data-sv-bottom]:focus-visible{outline:2px solid #009daa;outline-offset:-2px}
 .sv-bottom-nav [data-sv-bottom]:active{background:#e6f7f6;color:#007d86}
 body.sv-authenticated [data-open-auth="signup"]:not([data-product]),body.sv-account-unknown [data-open-auth="signup"]:not([data-product]){display:none!important}
 #nav .login-link{flex:0 0 auto;min-width:46px;max-width:92px;white-space:nowrap;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:360px){.sv-bottom-nav{left:8px;right:8px;inset-inline:8px;padding-inline:3px}.sv-bottom-nav [data-sv-bottom]{font-size:9.3px}.sv-bottom-nav [data-sv-bottom] svg{width:21px;height:21px}}

/* Readable mobile sharing: keep the QR large and let short screens scroll. */
@media(max-width:760px){
 .sv-mobile-detail{width:min(480px,calc(100% - 24px));margin:16px auto auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin-top:calc(16px + env(safe-area-inset-top,0px));overflow:auto;overscroll-behavior:contain;font-size:16px;line-height:1.5}
 .sv-mobile-detail .sv-dialog-head{position:sticky;top:0;z-index:2;background:#fff;padding:14px 18px;gap:14px}
 .sv-mobile-detail .sv-dialog-head img{width:160px;max-width:calc(100% - 62px)}
 .sv-mobile-detail .sv-close{width:48px;height:48px;flex-basis:48px;font-size:28px!important}
 .sv-mobile-detail .sv-mobile-detail-body .sv-detail{padding:20px 18px 24px}
 .sv-mobile-detail .sv-detail h3{font-size:24px;line-height:1.3;margin-bottom:18px;overflow-wrap:anywhere}
 .sv-mobile-detail .sv-detail h3 span{font-size:15px;margin-bottom:6px}
 .sv-mobile-detail .sv-link-label{font-size:16px;line-height:1.5;color:#315d65;margin-bottom:8px}
 .sv-mobile-detail .sv-link{height:52px;padding:12px;font-size:16px;line-height:1.5}
 .sv-mobile-detail .sv-actions{margin-top:14px;gap:10px}
 .sv-mobile-detail .sv-action{min-height:52px;padding:12px 10px;font-size:16px!important;line-height:1.4}
 .sv-mobile-detail .sv-identity{font-size:14px;line-height:1.5;margin-top:12px}
 .sv-mobile-detail .sv-status{font-size:16px;line-height:1.5}
 .sv-mobile-detail .sv-qr{padding-top:18px;margin-top:18px}
 .sv-mobile-detail .sv-qr h4{display:block;font-size:16px;line-height:1.4;margin-bottom:12px}
 .sv-mobile-detail .sv-qr img{width:min(240px,100%);height:auto;aspect-ratio:1/1;padding:8px;border:1px solid #dce9eb;border-radius:14px}
 .sv-mobile-detail .sv-qr button{font-size:16px;line-height:1.4;min-height:48px;padding:12px;margin-top:10px}
}
@media(max-width:340px){.sv-mobile-detail .sv-actions{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px) and (max-height:500px){.sv-mobile-detail .sv-dialog-head{position:relative}}

/* A thumb-friendly menu: account/help on the right, clear press feedback and a guest Join flow. */
#svMobileMenu{width:min(590px,calc(100% - 20px));overscroll-behavior:contain}
#svMobileMenu .sv-dialog-head{position:sticky;top:0;z-index:2;background:#fff}
#svMobileMenu .sv-dialog-head img{height:auto}
#svMobileMenu .sv-menu-grid{direction:ltr;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:24px}
#svMobileMenu [data-sv-menu]{min-height:76px;font-size:17px;font-weight:600;line-height:1.35;padding:13px 11px;gap:9px;overflow-wrap:anywhere;touch-action:manipulation;transition:background-color .12s,border-color .12s,color .12s,transform .12s,box-shadow .12s}
#svMobileMenu [data-sv-menu] svg{width:22px;height:22px}
#svMobileMenu [data-sv-menu=personal],#svMobileMenu [data-sv-menu=support],#svMobileMenu [data-sv-menu=faq]{background:#eef9f8;border-color:#c2e4e3}
#svMobileMenu [data-sv-menu=register]{background:#008f9f;border-color:#008f9f;color:#fff}
#svMobileMenu [data-sv-menu=register] svg{color:inherit}
#svMobileMenu .sv-registration-choices{padding:8px 22px 26px}
#svMobileMenu .sv-menu-back{display:inline-flex;align-items:center;gap:8px;border:1px solid #c7e3e5;border-radius:999px;background:#f2faf9;color:#006e7b;font-size:16px;min-height:44px;padding:9px 15px;margin:6px 0 18px;cursor:pointer}
#svMobileMenu .sv-role{text-decoration:none;min-height:90px;padding:16px;gap:14px;touch-action:manipulation;transition:background-color .12s,border-color .12s,transform .12s,box-shadow .12s}
#svMobileMenu .sv-role strong{font-size:19px;line-height:1.35}
#svMobileMenu .sv-role small{font-size:15px;line-height:1.45;color:#476b74;margin-top:5px}
#svMobileMenu .sv-role[aria-disabled=true]{opacity:.55}
#svMobileMenu :is([data-sv-menu],[data-sv-self-register],[data-sv-menu-back],[data-sv-menu-close]):is(:active,.sv-is-pressed){background:#c7efeb;border-color:#0096a2;color:#064e58;transform:scale(.97);box-shadow:inset 0 0 0 1px #0096a2}
#svMobileMenu [data-sv-menu=register]:is(:active,.sv-is-pressed){background:#006b78;color:#fff}
@media(hover:hover) and (pointer:fine){#svMobileMenu :is([data-sv-menu],[data-sv-self-register],[data-sv-menu-back]):hover{background:#dcf4f1;border-color:#58b9bd;color:#065562;box-shadow:0 3px 10px #0738440d}#svMobileMenu [data-sv-menu=register]:hover{background:#007585;color:#fff}}
@media(max-width:360px){#svMobileMenu .sv-menu-grid{padding-inline:12px;gap:8px}#svMobileMenu [data-sv-menu]{padding-inline:8px;gap:7px}#svMobileMenu .sv-registration-choices{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){#svMobileMenu [data-sv-menu],#svMobileMenu .sv-role{transition:none}#svMobileMenu :is(:active,.sv-is-pressed){transform:none}}

/* General Join uses the same role links as the phone menu, without the menu-only Back control. */
#svMobileMenu.sv-registration-direct{width:min(560px,calc(100% - 24px))}
#svMobileMenu.sv-registration-direct .sv-registration-choices{padding-top:22px}
#svMobileMenu.sv-registration-direct .sv-dialog-intro h2{letter-spacing:0}
#svMobileMenu.sv-registration-direct .sv-role strong{overflow-wrap:anywhere}
