/* STCB Blue Membership Suite, styles limited to .stbm-app */
.stbm-app,.stbm-app *{box-sizing:border-box}.stbm-app{--stbm-primary:#204b83;--stbm-accent:#4160b6;--stbm-text:#152d4d;--stbm-border:#e1e9f4;--stbm-sub:#61758f;--stbm-bg:#f5f8fd;color:var(--stbm-text);font:400 15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;max-width:1180px;margin:30px auto 45px;background:#fff;border:1px solid #e9edf5;border-radius:19px;padding:24px 32px 38px;box-shadow:0 16px 52px rgba(30,55,105,.07)}.stbm-app h2,.stbm-app h3,.stbm-app p,.stbm-app strong{font-family:inherit}.stbm-app h2{font-weight:800;line-height:1.22}.stbm-app h3{font-size:20px;font-weight:750;color:#152b48}.stbm-app a{color:var(--stbm-accent);text-decoration:none}.stbm-app a:hover{text-decoration:underline}.stbm-app .stbm-brand{display:flex;gap:13px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--stbm-border);margin-bottom:22px}.stbm-brandmark{width:51px;height:51px;border-radius:13px;background:#f1f5fb;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}.stbm-brandmark img{width:100%;height:100%;object-fit:contain}.stbm-monogram{font-size:17px;font-weight:900;font-style:italic;color:var(--stbm-primary)}.stbm-app .stbm-brand b{display:block;font-size:17px;font-weight:850;letter-spacing:.025em}.stbm-app .stbm-brand small{display:block;font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--stbm-sub)}.stbm-title{font-size:29px;text-align:center;margin:25px 0 12px}.stbm-lead{text-align:center;color:var(--stbm-sub)}.stbm-auth{max-width:455px;margin:30px auto 4px}.stbm-field{display:block;color:#173455;font-size:13px;font-weight:650;margin-bottom:20px;min-width:0}.stbm-field>span{display:block;margin-bottom:7px}.stbm-field em{color:#e13e5b;font-style:normal}.stbm-app input:not([type=checkbox]):not([type=radio]):not([type=color]),.stbm-app select,.stbm-app textarea{display:block;width:100%;min-height:45px;border:1px solid #ccd8e8;border-radius:9px;padding:11px 13px;background:#fff;color:#173455;font:inherit;font-size:14px;outline:none;box-shadow:none;transition:border-color .2s,box-shadow .2s}.stbm-app input:focus,.stbm-app select:focus,.stbm-app textarea:focus{border-color:var(--stbm-accent)!important;box-shadow:0 0 0 3px rgba(65,96,182,.10)!important}.stbm-app input[readonly]{background:#f2f5fa!important;color:#62728c!important}.stbm-form-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 0 20px;flex-wrap:wrap}.stbm-check{display:flex;align-items:center;gap:8px;font-size:13px}.stbm-btn,.stbm-app button.stbm-btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:7px;border-radius:10px;background:linear-gradient(115deg,var(--stbm-primary),var(--stbm-accent));color:#fff!important;font-size:14px;font-weight:760;padding:12px 19px;min-height:46px;line-height:1.4;text-decoration:none!important;cursor:pointer;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 16px rgba(30,75,131,.16)}.stbm-btn:hover{transform:translateY(-1px);box-shadow:0 8px 19px rgba(30,75,131,.2)}.stbm-btn-block{width:100%}.stbm-center{text-align:center;font-size:14px;margin-top:20px}.stbm-app .stbm-chip{display:inline-flex;padding:5px 12px;color:var(--stbm-primary);background:#ecf2fc;border-radius:25px;font-weight:850;letter-spacing:.11em;font-size:10px}.stbm-registration{padding:8px 0}.stbm-register-head{text-align:center;margin:13px 0 32px}.stbm-register-head h2{font-size:32px;margin:12px 0 6px}.stbm-register-head p{color:var(--stbm-sub);margin:0}.stbm-register-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:22px}.stbm-reg-section{border:1px solid var(--stbm-border);background:#fcfdff;border-radius:16px;padding:23px;min-width:0}.stbm-reg-section h3{font-size:16px;font-weight:840;color:var(--stbm-accent);margin:0 0 19px;display:flex;align-items:center;gap:10px}.stbm-reg-section h3 span{font-size:17px;color:#152e52}.stbm-reg-section h3:not(:first-child){border-top:1px solid var(--stbm-border);padding-top:22px;margin-top:26px}.stbm-two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stbm-plan-list{display:grid;gap:11px}.stbm-app .stbm-plan{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1.5px solid var(--stbm-border);border-radius:11px;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}.stbm-app .stbm-plan:has(input:checked){border-color:var(--stbm-accent);background:#f2f6ff;box-shadow:inset 0 0 0 1px rgba(65,96,182,.12)}.stbm-app .stbm-plan input[type=radio]{margin:5px 1px 0;accent-color:var(--stbm-accent)}.stbm-plan-content{display:block;flex:1;min-width:0}.stbm-plan-main{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#132e52;line-height:1.3}.stbm-plan-main strong{font-size:15px;color:var(--stbm-primary)}.stbm-plan-duration{display:block;font-size:12px;color:#73839a;margin:6px 0}.stbm-plan-desc{display:block;font-size:13px;color:#496079;line-height:1.75}.stbm-bank-choice{border:1px solid #b8c9e6;border-radius:11px;padding:16px;background:#edf3ff;font-weight:850;color:var(--stbm-primary);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.stbm-bank-choice span{font-size:11px;font-weight:600;color:#536c91}.stbm-help{font-size:12px;line-height:1.8;color:#657890;margin:13px 0}.stbm-register-submit{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:22px 0 8px}.stbm-register-submit p{font-size:13px;margin:0;color:#64748b}.stbm-honey{position:absolute!important;left:-99999px!important;opacity:0!important}.stbm-error{background:#fff1f0;border:1px solid #ffcbcb;color:#b32430;padding:12px 15px;border-radius:9px}.stbm-alert{padding:12px 16px;border-radius:10px;margin-bottom:18px;border:1px solid #bce8d0;background:#effbf2;color:#166b3a}.stbm-thankyou{max-width:720px;padding:32px 23px;margin:24px auto;text-align:center;background:#fff;box-shadow:0 10px 38px rgba(18,50,85,.08);border:1px solid #ebeff5;border-radius:17px}.stbm-success-symbol{height:60px;width:60px;background:#e3f9e9;border-radius:50%;color:#15924b;font-size:31px;display:grid;place-items:center;margin:0 auto 12px}.stbm-thankyou>p{color:#637793}.stbm-bank-details{text-align:left;background:#f3f6fb;padding:21px;border:1px solid #e8edf6;border-radius:13px;margin:26px 0}.stbm-bank-details h3{font-size:17px;margin:0 0 12px}.stbm-bank-details>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e0e6ef;padding:10px 0;font-size:13px}.stbm-bank-details>div span{color:#64748b}.stbm-bank-details>div b{text-align:right;overflow-wrap:anywhere}.stbm-member-head{background:linear-gradient(108deg,#eff4fc,#fdfdff);border:1px solid #e7edf6;padding:23px 26px;border-radius:14px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin:12px 0 25px}.stbm-member-head h2{font-size:26px;margin:9px 0 3px}.stbm-member-head p{margin:0;color:#687c93;font-size:13px}.stbm-account{display:grid;grid-template-columns:235px minmax(0,1fr);gap:23px}.stbm-account-nav{background:#f4f6fa;padding:25px 15px;border-radius:15px;display:flex;flex-direction:column;align-items:stretch;gap:4px}.stbm-avatar{background:linear-gradient(135deg,#2a5fa0,#183b6a);border-radius:50%;color:white;display:grid;place-items:center;font-weight:800;font-size:29px;width:61px;height:61px;margin:0 auto 7px}.stbm-account-nav>strong{text-align:center;color:#162f50;font-size:14px;overflow-wrap:anywhere}.stbm-account-nav>small{text-align:center;overflow-wrap:anywhere;color:#7689a0;padding-bottom:17px;border-bottom:1px solid #e2e9f2;margin-bottom:10px}.stbm-account-nav>a{padding:12px 14px;border-radius:8px;display:block;color:#284665!important;font-size:14px;font-weight:580;text-decoration:none!important}.stbm-account-nav>a:hover{background:white}.stbm-account-nav>a.selected{border-left:3px solid var(--stbm-accent);background:white;color:var(--stbm-accent)!important;font-weight:780}.stbm-account-content{border:1px solid #e9eef5;background:white;border-radius:15px;padding:23px;min-width:0;min-height:340px}.stbm-content-title{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e7ecf4;margin:0 0 22px;padding-bottom:14px;flex-wrap:wrap}.stbm-content-title h3{font-size:21px;margin:0}.stbm-content-title>span{color:#7a8ca4;font-size:12px}.stbm-badge{display:inline-flex;border-radius:8px;padding:4px 10px;font-weight:750;letter-spacing:.01em;font-size:11px;background:#fff3e8;color:#b77518;white-space:nowrap}.stbm-badge.stbm-active,.stbm-badge.stbm-completed{background:#dcfce7;color:#187d43}.stbm-badge.stbm-suspended,.stbm-badge.stbm-rejected,.stbm-badge.stbm-expired,.stbm-badge.stbm-failed,.stbm-badge.stbm-canceled{background:#fee4e2;color:#ae3030}.stbm-id-card{--stbm-card:#173e70;position:relative;width:min(100%,500px);aspect-ratio:1.64/1;padding:23px 24px;border-radius:17px;color:#fff;background:linear-gradient(118deg,#102b50,var(--stbm-primary) 65%,#235e9c);box-shadow:0 16px 33px rgba(16,45,82,.24);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start}.stbm-id-card:before{content:"";position:absolute;inset:auto -95px -180px auto;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;pointer-events:none}.stbm-id-card:after{content:"";position:absolute;right:-45px;top:-65px;width:250px;height:250px;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.stbm-card-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;z-index:1}.stbm-card-brand b{display:block;font-size:13px;font-weight:850;letter-spacing:.12em}.stbm-card-brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.15em;color:#d0dfef}.stbm-card-logo{max-width:50px;height:50px;object-fit:contain}.stbm-small-stb{border:1px solid #a5c6e6;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:15px}.stbm-card-label{font-size:9px;letter-spacing:.16em;color:#c2d8ee;margin:6px 0}.stbm-member-name{font-size:clamp(17px,2.4vw,23px);font-weight:800;line-height:1.16;z-index:1;word-break:break-word}.stbm-member-number{font-size:14px;letter-spacing:.09em;margin-top:7px;font-weight:650;color:#ebf4fd}.stbm-card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;z-index:1}.stbm-card-bottom>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.stbm-card-bottom small{font-size:9px;color:#bed3e7;letter-spacing:.1em;margin-top:6px}.stbm-card-bottom b{font-size:12px;color:#fff}.stbm-id-card .stbm-badge{padding:4px 9px;font-size:10px}.stbm-qr{background:#fff;border-radius:6px;padding:5px;min-width:91px;min-height:91px;display:grid;place-items:center}.stbm-qr canvas{display:block;width:88px;height:88px;image-rendering:pixelated}.stbm-card-outer{display:flex;justify-content:center;padding:5px 0 20px}.stbm-share{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 25px}.stbm-app .stbm-btn-sm,.stbm-app button.stbm-btn-sm{display:inline-flex;justify-content:center;align-items:center;min-height:39px;border-radius:8px;padding:9px 12px;font-weight:700;font-size:12px;color:#fff!important;background:var(--stbm-primary);border:0;cursor:pointer;text-decoration:none!important;line-height:1.3}.stbm-app .stbm-whatsapp{background:#168e58}.stbm-details{margin-top:20px;border:1px solid #e8edf5;border-radius:12px;padding:18px 20px}.stbm-details h3{font-size:19px;margin:0 0 12px}.stbm-details-row{display:grid;grid-template-columns:minmax(120px,33%) minmax(0,1fr);gap:15px;padding:13px 8px;border-bottom:1px solid #edf0f4;font-size:13px}.stbm-details-row:last-child{border:0}.stbm-details-row span{color:#687993}.stbm-details-row b{font-weight:680;overflow-wrap:anywhere;color:#253b57}.stbm-pending-card{background:#f3f7fd;border:1px dashed #c6d5ea;border-radius:15px;text-align:center;padding:32px 25px;margin:0 0 20px}.stbm-pending-card h3{margin:9px 0 3px}.stbm-pending-card p{color:#6f8198;margin:8px auto 15px;max-width:420px}.stbm-pending-icon{font-size:34px}.stbm-scroll{overflow-x:auto;max-width:100%}.stbm-table{width:100%;border-collapse:collapse;min-width:580px;font-size:13px}.stbm-table th{text-align:left;padding:13px 11px;background:#f3f6fa;color:#587087;font-weight:700}.stbm-table td{border-bottom:1px solid #edf1f6;padding:13px 11px;vertical-align:middle;overflow-wrap:anywhere}.stbm-payment-box{background:#f6f8fc;border-radius:13px;border:1px solid #e4ebf5;padding:22px;margin-top:27px}.stbm-payment-box h3{margin:0;font-size:19px}.stbm-payment-box>p{color:#6c7e91;font-size:13px}.stbm-payment-box .stbm-form{max-width:500px}.stbm-payment-box input[type=file]{font-size:12px!important}.stbm-verify{max-width:620px;padding:30px 23px;margin:25px auto;text-align:center;border:1px solid var(--stbm-border);border-radius:13px;background:#fafcff}.stbm-verify h3{font-size:28px;margin:7px 0 14px}.stbm-verify-badge{color:#087743;font-size:13px;font-weight:780}.stbm-verify .stbm-details{text-align:left;background:#fff}.stbm-verify>.stbm-badge{font-size:14px;padding:7px 16px}
@media(max-width:920px){.stbm-app{padding:20px;margin:15px}.stbm-register-grid{grid-template-columns:1fr}.stbm-account{grid-template-columns:205px minmax(0,1fr)}.stbm-reg-section{padding:18px}}@media(max-width:680px){.stbm-app{padding:17px 13px 24px;border-radius:13px;margin:12px auto}.stbm-register-head h2{font-size:26px}.stbm-two-inputs{grid-template-columns:1fr;gap:0}.stbm-register-submit{align-items:stretch;flex-direction:column}.stbm-register-submit>.stbm-btn{width:100%}.stbm-account{grid-template-columns:1fr}.stbm-account-nav{display:grid;grid-template-columns:1fr 1fr;padding:12px;gap:6px}.stbm-account-nav>strong,.stbm-account-nav>small,.stbm-account-nav>.stbm-avatar{display:none}.stbm-account-nav>a{font-size:12px;padding:10px;border-radius:7px;text-align:center}.stbm-account-content{padding:16px 12px}.stbm-member-head{padding:17px;align-items:flex-start}.stbm-member-head h2{font-size:22px}.stbm-reg-section{padding:16px 12px}.stbm-share{justify-content:flex-start}.stbm-details-row{grid-template-columns:95px minmax(0,1fr);gap:7px;padding:12px 0}.stbm-id-card{padding:16px;min-height:220px}.stbm-card-brand b{font-size:11px}.stbm-member-name{font-size:17px}.stbm-member-number{font-size:11px}.stbm-qr{min-width:74px;min-height:74px;padding:3px}.stbm-qr canvas{width:69px;height:69px}.stbm-card-bottom b{font-size:11px}.stbm-brand b{font-size:13px}.stbm-bank-details>div{display:block}.stbm-bank-details>div b{display:block;text-align:left}.stbm-thankyou{padding:22px 13px}}
@media print{body *{visibility:hidden!important}.stbm-id-card,.stbm-id-card *{visibility:visible!important}.stbm-id-card{position:absolute!important;top:10px!important;left:10px!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important;box-shadow:none!important}}
/* Optional admin-selectable horizontal account navigation */
.stbm-account.stbm-layout-horizontal{grid-template-columns:minmax(0,1fr)}.stbm-account.stbm-layout-horizontal .stbm-account-nav{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 16px;gap:7px}.stbm-account.stbm-layout-horizontal .stbm-account-nav .stbm-avatar,.stbm-account.stbm-layout-horizontal .stbm-account-nav>strong,.stbm-account.stbm-layout-horizontal .stbm-account-nav>small{display:none}.stbm-account.stbm-layout-horizontal .stbm-account-nav>a{font-size:13px;padding:10px 14px}.stbm-account.stbm-layout-horizontal .stbm-account-nav>a.selected{border-left:0;border-bottom:3px solid var(--stbm-accent)}

/* QR Membership 1.0v — responsive refinements, original layout retained */
.stbm-app .stbm-register-grid{align-items:start}
.stbm-app .stbm-reg-section{align-self:start;min-width:0;height:auto}
.stbm-app .stbm-field textarea{min-height:96px;height:auto;resize:vertical}
.stbm-app .stbm-name-title{font-size:14px;color:#173455;font-weight:800;margin:5px 0 10px}
.stbm-app .stbm-name-title em{color:#e13e5b;font-style:normal}
.stbm-app .stbm-phone-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:15px}
.stbm-app .stbm-phone-grid .stbm-field{min-width:0}
.stbm-app .stbm-phone-grid select{min-width:0;max-width:100%;font-size:13px}
.stbm-app .stbm-benefit-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.stbm-app .stbm-benefit-list li{display:flex;align-items:flex-start;gap:7px;font-weight:500;font-size:13px;line-height:1.5}
.stbm-app .stbm-benefit-list li:before{content:'✓';color:#0a9952;font-weight:900;flex:0 0 auto}
.stbm-app .stbm-register-submit .stbm-turnstile-wrap{flex:1 0 100%;min-width:0}
.stbm-app .stbm-turnstile-wrap{margin:10px 0 16px;max-width:100%;overflow-x:auto}
.stbm-app .stbm-replace-slip{margin-top:13px;border:1px solid #d2deed;border-radius:10px;padding:12px 15px;background:#fff}
.stbm-app .stbm-replace-slip>summary{font-weight:700;color:var(--stbm-primary);cursor:pointer}
.stbm-app .stbm-replace-slip .stbm-form{margin-top:18px}
.stbm-app .stbm-btn,.stbm-app button.stbm-btn,.stbm-app .stbm-btn-sm,.stbm-app button.stbm-btn-sm{transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.stbm-app .stbm-btn:hover,.stbm-app button.stbm-btn:hover,.stbm-app .stbm-btn-sm:hover,.stbm-app button.stbm-btn-sm:hover{background:var(--stbm-hover,#163967)!important;color:#fff!important;transform:translateY(-1px)}
.stbm-app .stbm-btn:focus-visible,.stbm-app .stbm-btn-sm:focus-visible,.stbm-app a:focus-visible{outline:3px solid var(--stbm-accent);outline-offset:3px}
.stbm-app .stbm-qr{padding:1px;min-width:0;min-height:0;border-radius:5px}
.stbm-app .stbm-qr canvas{max-width:100%;height:auto}
.stbm-app .stbm-action-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:18px auto 0}
.stbm-app .stbm-action-row .stbm-btn-sm{color:#fff;background:var(--stbm-primary);padding:11px 15px;border-radius:9px;text-decoration:none;font-weight:700}
.stbm-app .stbm-verification-heading{text-align:center;margin:4px 0 12px}
.stbm-app .stbm-verification-heading h2{font-size:clamp(26px,3vw,34px);margin:10px 0 5px;color:var(--stbm-text)}
.stbm-app .stbm-verification-heading p{color:#647991;margin:0;font-size:14px}
.stbm-app .stbm-live-date{font-size:11px;letter-spacing:.02em;text-align:center;color:#8290a6;margin:17px auto 4px}
.stbm-app .stbm-public-card{width:100%;max-width:475px;min-height:240px;aspect-ratio:1.64/1;margin:20px auto 0;text-align:left;box-shadow:0 7px 24px rgba(16,45,82,.14)}
.stbm-app .stbm-public-card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:12px;align-items:end;position:relative;z-index:1;font-size:11px;color:#ecf5ff}
.stbm-app .stbm-public-card-foot span{word-break:break-word;text-align:right}
.stbm-app .stbm-id-card .stbm-public-card-foot .stbm-badge{flex:0 0 auto}
.stbm-auth-links{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
.stbm-auth-links a{text-decoration:none;font-weight:650}
@media(max-width:680px){
 .stbm-app .stbm-phone-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .stbm-app .stbm-reg-section{min-width:0}
 .stbm-app .stbm-action-row{flex-direction:column;align-items:stretch}
 .stbm-app .stbm-action-row a{width:100%;text-align:center}
 .stbm-app .stbm-id-card{min-height:225px;aspect-ratio:auto}
 .stbm-app .stbm-public-card{max-width:100%;padding:18px;min-height:220px}
 .stbm-app .stbm-public-card-foot{font-size:10px}
 .stbm-app .stbm-register-submit .stbm-turnstile-wrap{max-width:100%}
}
@media(max-width:380px){.stbm-app .stbm-verify{padding:19px 12px}.stbm-app .stbm-card-bottom{gap:8px}.stbm-app .stbm-qr canvas{width:61px;height:61px}}
@media(prefers-reduced-motion:reduce){.stbm-app .stbm-btn,.stbm-app .stbm-btn-sm{transition:none!important;transform:none!important}}

.stbm-manual-payment-link{margin-top:26px}
.stbm-payment-dashboard-link{display:inline-flex;padding:12px 20px;border-radius:9px;color:#fff!important;background:var(--stbm-primary,#204b83);font-weight:750;text-decoration:none!important}
.stbm-payment-dashboard-link:hover{background:var(--stbm-hover,#163967)!important}

/* 1.0.3: news cards, renewal alerts, verified public card */
.stbm-app .stbm-renew-alert{background:#fff8ec;border:1px solid #f4d7a5;border-radius:12px;padding:17px 20px;margin:15px 0 20px;color:#8d510d}
.stbm-app .stbm-renew-alert>strong{font-size:17px;color:#874700}
.stbm-app .stbm-renew-alert p{margin:4px 0 12px;color:#915d26}
.stbm-app .stbm-renew-alert .stbm-btn{display:inline-block}
.stbm-app .stbm-renew-page{max-width:680px;margin:15px auto;min-height:210px;padding:20px}
.stbm-app .stbm-bank-heading{font-size:14px;margin:23px 0 7px;text-align:left;color:#244e82}
.stbm-app .stbm-notices-list{display:grid;gap:13px}
.stbm-app .stbm-notice-item{border:1px solid #dfe9f3;background:#f8fbff;border-radius:12px;padding:16px 18px;min-width:0}
.stbm-app .stbm-notice-item h4{font-size:17px;margin:7px 0 3px;color:#153c6c;overflow-wrap:anywhere}
.stbm-app .stbm-notice-item p{font-size:13px;line-height:1.65;margin:8px 0 0;color:#475f7b;overflow-wrap:anywhere}
.stbm-app .stbm-notice-type{background:#e2ecfc;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:750;color:#1e4d80}
.stbm-app .stbm-notice-time{color:#607c9c;font-size:12px;font-weight:600}
.stbm-app .stbm-empty-notice{padding:26px;border:1px dashed #b9cce1;text-align:center;border-radius:11px;color:#64748b}
.stbm-app .stbm-public-card{margin:20px auto;min-height:295px}
.stbm-app .stbm-public-card .stbm-public-qr{position:absolute;right:16px;bottom:15px;z-index:3}
.stbm-app .stbm-public-card .stbm-public-qr canvas{width:80px;height:80px}
.stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:96px;max-width:100%}
.stbm-app .stbm-verify-badge{color:#087e47;font-weight:800;display:inline-block;padding:7px 12px;background:#e9fff2;border-radius:30px}
.stbm-app .stbm-public-benefits{padding:14px 20px;background:#fff;border:1px solid #dce9f5;border-radius:11px;margin:20px auto;text-align:left}
.stbm-app .stbm-public-benefits h4{margin:4px 0 12px}
@media(max-width:680px){.stbm-app .stbm-public-card{min-height:260px}.stbm-app .stbm-public-card .stbm-public-qr canvas{width:66px;height:66px}.stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:78px}}
.stbm-app .stbm-dashboard-alerts{margin:0 0 20px;padding:14px 20px;background:#f0f7ff;border:1px solid #d3e3f6;border-radius:13px}
.stbm-app .stbm-dashboard-alert-title{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;color:#144470}
.stbm-app .stbm-dashboard-alert-title a{font-size:12px;text-decoration:none}
.stbm-app .stbm-dashboard-alerts p{margin:8px 0 0;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stbm-app .stbm-dashboard-alerts p small{color:#6e839b}
.stbm-app .stbm-verify-shield{display:inline-block;vertical-align:-5px;margin-right:5px}

/* QR Membership 1.0v — 1.0.4 responsive/accessibility update */
/* A solid color (rather than swapping a gradient for a solid on hover)
   makes the hover state genuinely interpolatable instead of blinking. */
.stbm-app .stbm-btn,
.stbm-app button.stbm-btn,
.stbm-app a.stbm-btn,
.stbm-app .stbm-btn-sm,
.stbm-app button.stbm-btn-sm,
.stbm-app a.stbm-btn-sm{
  background-image:none!important;
  background-color:var(--stbm-primary,#204b83)!important;
  color:#fff!important;
  transition:background-color .32s ease,color .24s ease,box-shadow .32s ease,transform .32s ease,border-color .32s ease!important;
  -webkit-tap-highlight-color:transparent;
}
.stbm-app .stbm-btn:hover,
.stbm-app button.stbm-btn:hover,
.stbm-app a.stbm-btn:hover,
.stbm-app .stbm-btn-sm:hover,
.stbm-app button.stbm-btn-sm:hover,
.stbm-app a.stbm-btn-sm:hover{
  background-image:none!important;
  background-color:var(--stbm-hover,#163967)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(18,47,83,.22);
  transform:translateY(-1px);
  text-decoration:none!important;
}
.stbm-app .stbm-btn:active,
.stbm-app .stbm-btn-sm:active{transform:translateY(0);box-shadow:0 3px 8px rgba(18,47,83,.14)}
.stbm-app a.stbm-whatsapp{background-color:#157347!important}
.stbm-app a.stbm-whatsapp:hover{background-color:#0e5938!important}
.stbm-app .stbm-account-nav>a{
  transition:background-color .28s ease,color .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
.stbm-app .stbm-account-nav>a:hover{background-color:#e4edf7;color:#173e70!important}
.stbm-app .stbm-register-grid .stbm-two-inputs,
.stbm-app .stbm-registration .stbm-phone-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;
}
.stbm-app .stbm-register-grid .stbm-field,
.stbm-app .stbm-registration .stbm-phone-grid .stbm-field{
  min-width:0;margin-bottom:18px;
}
.stbm-app .stbm-register-grid .stbm-field>span{color:#1c385d;font-size:13px;line-height:1.4;font-weight:720;min-height:19px}
.stbm-app .stbm-register-grid .stbm-phone-grid select{
  appearance:none;-webkit-appearance:none;padding-right:35px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232b507c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-size:15px 15px;background-repeat:no-repeat;background-position:right 13px center;
  text-overflow:ellipsis;
}
.stbm-app .stbm-registration .stbm-reg-section h3 span{color:#17395f}
.stbm-app .stbm-registration .stbm-reg-section{overflow:visible;min-width:0}
.stbm-app .stbm-registration .stbm-reg-section input,
.stbm-app .stbm-registration .stbm-reg-section select,
.stbm-app .stbm-registration .stbm-reg-section textarea{
  width:100%;min-width:0;max-width:100%;border-radius:10px;min-height:48px;
}
.stbm-app .stbm-share{justify-content:center;align-items:center;gap:9px}
.stbm-app .stbm-share>*{flex:0 1 auto;white-space:normal;text-align:center}
.stbm-app .stbm-verify .stbm-verify-status{margin:7px auto 19px;display:flex;justify-content:center}
.stbm-app .stbm-verify .stbm-verify-status .stbm-badge{
  font-size:19px;line-height:1.2;font-weight:850;padding:11px 25px;border-radius:11px;
  letter-spacing:.025em;box-shadow:0 3px 10px rgba(27,82,59,.09);
}
.stbm-app .stbm-public-card .stbm-public-card-foot .stbm-badge{
  font-size:13px;line-height:1.3;padding:6px 11px;
}
.stbm-app .stbm-public-card .stbm-public-qr{
  position:absolute;right:15px;bottom:15px;z-index:5;
  width:121px;min-width:0;min-height:0;padding:4px;border-radius:8px;background:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.24);
}
.stbm-app .stbm-public-card .stbm-public-qr canvas{
  width:100%;max-width:100%;height:auto;aspect-ratio:1/1;display:block;image-rendering:pixelated;
}
.stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:133px;min-height:39px}
.stbm-app .stbm-public-card{min-height:330px;overflow:hidden}
.stbm-app .stbm-public-qr-standalone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;max-width:210px;margin:17px auto 22px;
  padding:12px 14px 10px;border:1px solid #dce7f3;border-radius:13px;background:#fff;
}
.stbm-app .stbm-public-qr-standalone .stbm-qr{
  background:#fff;padding:2px;width:153px;height:153px;
  display:flex;align-items:center;justify-content:center;
}
.stbm-app .stbm-public-qr-standalone .stbm-qr canvas{display:block;width:149px;height:149px;image-rendering:pixelated}
.stbm-app .stbm-public-qr-standalone small{color:#526a87;font-size:11px;text-align:center}
.stbm-app .stbm-renew-alert-expired{
  background:#fff8eb;border:1px solid #edce97;box-shadow:0 6px 19px rgba(95,52,8,.07);
}
.stbm-app .stbm-renew-alert-title{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px}
.stbm-app .stbm-renew-alert-expired .stbm-btn{min-height:45px}
.stbm-app .stbm-renew-inline{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px;
  margin:15px 0 21px;padding:15px 17px;background:#fff8e8;border:1px solid #eed6a8;
  border-radius:12px;color:#75460b;
}
.stbm-app .stbm-renew-inline strong{font-weight:800;color:#75460b}
.stbm-app .stbm-renew-inline p{flex-basis:100%;margin:0;color:#875f24;font-size:13px}
.stbm-app .stbm-renew-inline .stbm-btn{min-height:42px}

@media(max-width:920px){
 .stbm-app .stbm-reg-section{padding:19px 17px}
 .stbm-app .stbm-account{gap:14px}
}
@media(max-width:680px){
 .stbm-app{width:auto;max-width:100%;min-width:0;margin:12px 7px 24px;padding:15px 12px 24px;border-radius:15px;overflow-wrap:anywhere}
 .stbm-app .stbm-registration{padding:2px 0 8px}
 .stbm-app .stbm-register-head{margin:10px 0 21px}
 .stbm-app .stbm-register-head h2{font-size:clamp(23px,6vw,29px);line-height:1.25}
 .stbm-app .stbm-register-head p{font-size:13px;line-height:1.5}
 .stbm-app .stbm-register-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
 .stbm-app .stbm-reg-section{padding:18px 14px;border-radius:13px;width:100%;min-width:0}
 .stbm-app .stbm-reg-section h3{font-size:15px;gap:8px;margin-bottom:18px}
 .stbm-app .stbm-reg-section h3 span{font-size:16px;line-height:1.3}
 .stbm-app .stbm-register-grid .stbm-two-inputs,
 .stbm-app .stbm-registration .stbm-phone-grid{
   grid-template-columns:minmax(0,1fr);gap:0;width:100%;
 }
 .stbm-app .stbm-register-grid .stbm-field,
 .stbm-app .stbm-registration .stbm-phone-grid .stbm-field{width:100%;min-width:0;margin:0 0 17px}
 .stbm-app .stbm-register-grid .stbm-field>span{margin-bottom:6px;min-height:0}
 .stbm-app .stbm-registration .stbm-reg-section input:not([type=checkbox]):not([type=radio]),
 .stbm-app .stbm-registration .stbm-reg-section select,
 .stbm-app .stbm-registration .stbm-reg-section textarea{
   width:100%!important;min-width:0!important;max-width:100%!important;
   min-height:48px;padding:11px 13px;font-size:16px!important;
 }
 .stbm-app .stbm-registration .stbm-reg-section textarea{min-height:102px!important}
 .stbm-app .stbm-register-submit{margin-top:17px;gap:11px}
 .stbm-app .stbm-register-submit>.stbm-btn{width:100%;max-width:100%;white-space:normal;text-align:center}
 .stbm-app .stbm-member-head{padding:17px 15px;margin:7px 0 17px;border-radius:12px;gap:10px;flex-wrap:wrap}
 .stbm-app .stbm-member-head h2{font-size:clamp(19px,5.5vw,24px);line-height:1.25}
 .stbm-app .stbm-member-head p{font-size:12px}
 .stbm-app .stbm-account{grid-template-columns:minmax(0,1fr);gap:14px}
 .stbm-app .stbm-account-nav,
 .stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav{
   display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;
   gap:8px;padding:11px;background:#edf2f8;border:1px solid #e1e9f4;border-radius:14px;
 }
 .stbm-app .stbm-account-nav>a,
 .stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a{
   min-width:0;min-height:44px;display:flex;justify-content:center;align-items:center;
   padding:10px 8px;font-size:12px;line-height:1.35;text-align:center;
   background:#fff;color:#1d4269!important;border:1px solid #dce7f2;border-radius:9px;
   box-shadow:none;
 }
 .stbm-app .stbm-account-nav>a.selected,
 .stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a.selected{
   background-color:#183d6a!important;color:#fff!important;
   border:1px solid #183d6a!important;border-left:1px solid #183d6a!important;border-bottom:1px solid #183d6a!important;
   box-shadow:0 4px 9px rgba(18,56,98,.18);font-weight:800;
 }
 .stbm-app .stbm-account-nav>a:not(.selected):hover{background-color:#d8e5f4;color:#153b66!important}
 .stbm-app .stbm-account-content{padding:17px 13px;min-width:0;min-height:260px}
 .stbm-app .stbm-content-title{gap:6px;margin-bottom:17px}
 .stbm-app .stbm-content-title h3{font-size:clamp(18px,5vw,21px)}
 .stbm-app .stbm-share{justify-content:center!important;align-items:center;gap:8px;width:100%;margin:0 auto 23px}
 .stbm-app .stbm-share>.stbm-btn-sm,
 .stbm-app .stbm-share>button.stbm-btn-sm{min-height:43px;font-size:12px;flex:0 1 auto;max-width:100%;padding:9px 12px}
 .stbm-app .stbm-verify{width:100%;min-width:0;padding:22px 14px;margin:17px auto;border-radius:13px}
 .stbm-app .stbm-verify h3{font-size:clamp(21px,6vw,27px);overflow-wrap:anywhere}
 .stbm-app .stbm-verify .stbm-verify-status .stbm-badge{font-size:18px;padding:10px 20px}
 .stbm-app .stbm-public-card{width:100%;max-width:100%;min-height:300px;aspect-ratio:auto;padding:16px;border-radius:14px}
 .stbm-app .stbm-public-card .stbm-public-qr{width:103px;right:11px;bottom:12px;padding:3px}
 .stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:111px}
 .stbm-app .stbm-public-card .stbm-public-card-foot .stbm-badge{font-size:12px}
 .stbm-app .stbm-public-card-foot span{font-size:10px}
 .stbm-app .stbm-renew-alert{padding:16px 14px}
 .stbm-app .stbm-renew-alert-expired .stbm-btn,
 .stbm-app .stbm-renew-inline .stbm-btn{width:100%;max-width:100%;text-align:center}
 .stbm-app .stbm-renew-inline{gap:10px}
 .stbm-app .stbm-details{padding:14px 12px}
 .stbm-app .stbm-details-row{grid-template-columns:minmax(90px,40%) minmax(0,1fr);gap:7px;font-size:12px}
 .stbm-app .stbm-notice-item{padding:14px 12px}
 .stbm-app .stbm-account-content .stbm-phone-grid{grid-template-columns:minmax(0,1fr);gap:0}
}
@media(max-width:390px){
 .stbm-app{margin:8px 4px 22px;padding:12px 10px 20px}
 .stbm-app .stbm-reg-section{padding:16px 11px}
 .stbm-app .stbm-account-nav{padding:8px;gap:6px}
 .stbm-app .stbm-account-nav>a{font-size:11px;padding:9px 5px}
 .stbm-app .stbm-account-content{padding:15px 10px}
 .stbm-app .stbm-public-card .stbm-public-qr{width:89px;right:9px;bottom:9px}
 .stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:94px}
}
@media(prefers-reduced-motion:reduce){
 .stbm-app .stbm-btn,.stbm-app .stbm-btn-sm,.stbm-app .stbm-account-nav>a{transition:none!important;transform:none!important}
}


/* QR Membership 1.0.5 */
.stbm-app .stbm-member-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stbm-app .stbm-head-bell{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#eef4ff;border:1px solid #d6e3f8;color:#183d6a!important;font-weight:800;text-decoration:none!important;line-height:1}
.stbm-app .stbm-head-bell:hover{background:#e3edfb;text-decoration:none!important}
.stbm-app .stbm-head-bell-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#204b83;color:#fff;font-size:11px}
.stbm-app .stbm-plan-benefits{margin-top:18px;padding:18px 20px;background:#fff;border:1px solid #dde8f3;border-radius:13px}
.stbm-app .stbm-plan-benefits h3{margin:0 0 12px;font-size:24px;color:#18385f}
.stbm-app .stbm-plan-benefits .stbm-benefit-list{margin:0;padding-left:0;list-style:none}
.stbm-app .stbm-plan-benefits .stbm-benefit-list li{position:relative;padding-left:20px;margin:8px 0;color:#2d4c6e}
.stbm-app .stbm-plan-benefits .stbm-benefit-list li:before{content:'✓';position:absolute;left:0;top:0;color:#12814c;font-weight:800}
.stbm-app .stbm-id-card{width:min(100%,420px)}
.stbm-app .stbm-card-outer{padding:0 0 16px;margin:0 auto}
.stbm-app .stbm-verify .stbm-public-card{width:min(100%,420px);margin:18px auto 10px}
/* Public benefits visibility is controlled server-side by public_benefits setting. */
@media(max-width:680px){
 .stbm-app .stbm-account-content{padding:14px 8px;border-radius:14px}
 .stbm-app .stbm-card-outer{padding:0;margin:0 auto 14px}
 .stbm-app .stbm-id-card{width:100%;max-width:348px;aspect-ratio:1.58/1;min-height:0;padding:15px 16px;border-radius:18px}
 .stbm-app .stbm-id-card .stbm-badge{font-size:10px;padding:4px 8px}
 .stbm-app .stbm-card-brand b{font-size:12px}
 .stbm-app .stbm-card-brand small{font-size:9px}
 .stbm-app .stbm-card-logo{max-width:44px;height:44px}
 .stbm-app .stbm-member-name{font-size:16px}
 .stbm-app .stbm-member-number{font-size:12px}
 .stbm-app .stbm-card-bottom small{font-size:8px}
 .stbm-app .stbm-card-bottom b{font-size:11px}
 .stbm-app .stbm-qr{min-width:72px;min-height:72px;padding:3px}
 .stbm-app .stbm-qr canvas{width:66px;height:66px}
 .stbm-app .stbm-share{justify-content:center!important}
 .stbm-app .stbm-member-head-actions{width:100%;justify-content:space-between}
 .stbm-app .stbm-head-bell{padding:7px 10px;font-size:12px}
 .stbm-app .stbm-plan-benefits{padding:15px 14px}
 .stbm-app .stbm-plan-benefits h3{font-size:20px}
}

/* QR Membership 1.0.7 — clean edge-to-edge page treatment */
.stbm-app{
  max-width:1180px;
  margin:8px auto 22px;
  padding:16px 20px 24px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.stbm-app .stbm-title{margin:8px auto 8px}
.stbm-app .stbm-auth{margin:13px auto 4px}
.stbm-app .stbm-verification-heading{margin:4px auto 8px}
.stbm-app .stbm-verification-heading h2{margin:7px 0 4px}
.stbm-app .stbm-verify{
  border:0;
  background:transparent;
  box-shadow:none;
  padding:12px 12px 18px;
  margin:7px auto 8px;
}
.stbm-app .stbm-verify-badge{padding:5px 12px}
.stbm-app .stbm-live-date{margin:8px auto 0}
.stbm-app .stbm-readonly-username{margin-bottom:14px}
.stbm-app .stbm-readonly-username .stbm-field{margin:0}
.stbm-app .stbm-readonly-username input[readonly]{cursor:default;background:#eef3fa!important;color:#234669!important}
.stbm-app .stbm-readonly-username small{display:block;margin-top:5px;color:#6b7c91;font-size:11px}
.stbm-app .stbm-head-bell-count[hidden]{display:none!important}
@media(max-width:680px){
  .stbm-app{
    box-sizing:border-box;
    width:100vw;
    max-width:100vw;
    min-width:0;
    margin:0 calc(50% - 50vw) 14px;
    padding:6px 9px 14px;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .stbm-app .stbm-title{margin:3px auto 6px;font-size:clamp(22px,6vw,28px)}
  .stbm-app .stbm-auth{width:100%;max-width:460px;margin:10px auto 2px;padding:0 7px}
  .stbm-app .stbm-verification-heading{margin:3px auto 7px;padding:0 2px}
  .stbm-app .stbm-verification-heading h2{font-size:clamp(21px,6.2vw,27px);margin:7px 0 4px}
  .stbm-app .stbm-verification-heading p{font-size:12px;line-height:1.5}
  .stbm-app .stbm-verify{width:100%;max-width:100%;min-width:0;margin:5px auto 8px;padding:10px 3px 12px;border:0;border-radius:0;background:transparent}
  .stbm-app .stbm-verify h3{margin:5px auto 9px}
  .stbm-app .stbm-verify .stbm-verify-status{margin:4px auto 12px}
  .stbm-app .stbm-verify .stbm-public-card{width:100%;max-width:min(100%,420px);margin:10px auto 8px}
  .stbm-app .stbm-verify .stbm-details{margin-top:12px}
  .stbm-app .stbm-live-date{margin:6px auto}
  .stbm-app .stbm-account-content{padding:12px 8px;border:0;border-radius:0;box-shadow:none}
  .stbm-app .stbm-member-head{margin:5px 0 11px}
  .stbm-app .stbm-account-nav{margin:0 0 8px}
  .stbm-app .stbm-card-outer{margin:0 auto 12px}
}
/* 1.0.7 responsive hardening: scope all presentation to membership containers. */
.stbm-app,
.stbm-app :where(.stbm-registration,.stbm-account,.stbm-account-content,.stbm-verify,.stbm-auth,.stbm-reg-section,.stbm-register-grid,.stbm-two-inputs,.stbm-phone-grid,.stbm-card-outer,.stbm-details){
  min-width:0;
}
.stbm-app{
  box-sizing:border-box;
  width:100%;
  max-width:min(1180px,100%);
  margin:10px auto 18px;
  padding:14px clamp(10px,2vw,24px) 20px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.stbm-app :where(input,textarea,select,button){max-width:100%}
.stbm-app .stbm-reg-section{width:100%;min-width:0}
.stbm-app .stbm-register-grid{width:100%;min-width:0}
.stbm-app .stbm-register-grid .stbm-two-inputs,
.stbm-app .stbm-register-grid .stbm-phone-grid{min-width:0}
.stbm-app .stbm-card-outer{width:100%;padding:0 0 12px}
.stbm-app .stbm-id-card{
  box-sizing:border-box;
  width:min(100%,420px);
  max-width:100%;
  aspect-ratio:1.586 / 1;
  min-height:0;
  margin-inline:auto;
  overflow:hidden;
}
.stbm-app .stbm-verify .stbm-public-card{
  width:min(100%,420px);
  max-width:100%;
  aspect-ratio:1.586 / 1;
  min-height:0;
  margin:10px auto 12px;
}
.stbm-app .stbm-id-card .stbm-member-name{overflow-wrap:anywhere}
.stbm-app .stbm-public-card .stbm-public-card-foot{min-width:0}
.stbm-app .stbm-verify{box-sizing:border-box;width:100%;max-width:640px;min-width:0;padding:10px 12px 14px;margin:8px auto 10px}
.stbm-app .stbm-verification-heading{margin:5px auto 8px;padding:0 4px}
.stbm-app .stbm-verify-badge{font-size:12px}
.stbm-app .stbm-account-content{min-width:0}
.stbm-app .stbm-details-row{min-width:0}
.stbm-app .stbm-share{justify-content:center!important;max-width:100%}
.stbm-app .stbm-share>*{flex:0 0 auto}
@media (min-width:681px) and (max-width:1050px){
 .stbm-app{padding:14px 16px 20px}
 .stbm-app .stbm-account{grid-template-columns:minmax(165px,205px) minmax(0,1fr);gap:14px}
 .stbm-app .stbm-account-content{padding:18px 15px}
 .stbm-app .stbm-reg-section{padding:18px 16px}
}
@media (max-width:680px){
 .stbm-app{
  width:100%;max-width:100%;min-width:0;
  margin:0 auto 12px;
  padding:4px 8px 12px;
  overflow-wrap:anywhere;
  border:0;border-radius:0;box-shadow:none;background:transparent;
 }
 .stbm-app .stbm-registration{padding:0}
 .stbm-app .stbm-register-head{margin:4px 0 15px}
 .stbm-app .stbm-register-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .stbm-app .stbm-reg-section{padding:16px 12px;border-radius:12px}
 .stbm-app .stbm-register-grid .stbm-two-inputs,
 .stbm-app .stbm-registration .stbm-phone-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .stbm-app .stbm-reg-section .stbm-field{min-width:0}
 .stbm-app .stbm-member-head{margin:5px 0 10px;padding:12px 12px;gap:8px}
 .stbm-app .stbm-member-head-actions{width:auto;align-self:center;flex:0 0 auto;gap:7px}
 .stbm-app .stbm-account{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .stbm-app .stbm-account-nav,
 .stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav{margin:0 0 4px;padding:9px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .stbm-app .stbm-account-content{padding:10px 5px 14px;border:0;box-shadow:none;border-radius:0}
 .stbm-app .stbm-content-title{margin-bottom:13px;padding-bottom:9px}
 .stbm-app .stbm-card-outer{margin:0 auto 12px;padding:0}
 .stbm-app .stbm-id-card{width:min(100%,358px);max-width:100%;min-height:0;aspect-ratio:1.586 / 1;padding:clamp(12px,3.4vw,16px);border-radius:15px}
 .stbm-app .stbm-public-card{min-height:0}
 .stbm-app .stbm-verify .stbm-public-card{width:min(100%,420px);aspect-ratio:1.586 / 1;min-height:0;padding:clamp(12px,3.4vw,16px)}
 .stbm-app .stbm-verify{padding:8px 1px 12px;margin:5px auto 8px;max-width:100%;border:0;border-radius:0;background:transparent}
 .stbm-app .stbm-verify h3{font-size:clamp(21px,5.8vw,27px);overflow-wrap:anywhere}
 .stbm-app .stbm-public-card .stbm-public-qr{width:clamp(70px,20vw,92px);right:10px;bottom:10px;padding:3px}
 .stbm-app .stbm-public-card .stbm-public-card-foot{padding-right:clamp(78px,23vw,101px);gap:6px;align-items:end;min-height:0}
 .stbm-app .stbm-public-card-foot span{font-size:clamp(8px,2.3vw,10px)}
 .stbm-app .stbm-id-card .stbm-member-name{font-size:clamp(15px,4vw,19px)}
 .stbm-app .stbm-id-card .stbm-member-number{font-size:clamp(10px,2.7vw,12px)}
 .stbm-app .stbm-card-brand b{font-size:clamp(10px,2.8vw,12px);letter-spacing:.07em}
 .stbm-app .stbm-card-brand small{font-size:8px;letter-spacing:.08em}
 .stbm-app .stbm-card-logo{max-width:clamp(33px,10vw,44px);height:clamp(33px,10vw,44px)}
 .stbm-app .stbm-card-label{font-size:8px;margin:4px 0}
 .stbm-app .stbm-card-bottom{gap:5px}
 .stbm-app .stbm-card-bottom small{font-size:8px}
 .stbm-app .stbm-card-bottom b{font-size:10px;overflow-wrap:anywhere}
 .stbm-app .stbm-card-bottom .stbm-qr{flex-shrink:0;min-width:0;min-height:0;width:clamp(60px,19vw,77px);padding:2px}
 .stbm-app .stbm-card-bottom .stbm-qr canvas{width:100%;height:auto}
 .stbm-app .stbm-verify .stbm-details{padding:12px 10px;margin-top:10px}
 .stbm-app .stbm-details-row{grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:8px}
 .stbm-app .stbm-plan-benefits{padding:13px 11px}
 .stbm-app .stbm-share{margin:0 auto 18px;gap:7px}
 .stbm-app .stbm-share .stbm-btn-sm{min-height:39px;padding:8px 10px;font-size:11px}
 .stbm-app .stbm-title{margin:4px auto 5px}
 .stbm-app .stbm-auth{width:100%;max-width:470px;margin:7px auto 5px;padding:0 4px}
 .stbm-app .stbm-verification-heading{margin:2px auto 7px;padding:0}
 .stbm-app .stbm-verification-heading h2{margin:6px 0 4px}
 .stbm-app .stbm-live-date{margin:7px auto 2px}
}
@media (max-width:360px){
 .stbm-app{padding-inline:5px}
 .stbm-app .stbm-id-card{padding:11px 12px}
 .stbm-app .stbm-public-card .stbm-public-card-foot .stbm-badge{font-size:10px;padding:4px 7px}
 .stbm-app .stbm-verify-status .stbm-badge{font-size:16px}
 .stbm-app .stbm-verify .stbm-details{padding:10px 7px}
 .stbm-app .stbm-member-head-actions{gap:5px}
 .stbm-app .stbm-account-nav>a{font-size:11px;padding:9px 6px}
}
/* Protect radio inputs from generic theme / plugin full-width input rules. */
.stbm-app .stbm-registration .stbm-reg-section .stbm-plan input[type="radio"]{
  appearance:auto!important;
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  max-width:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:3px 2px 0 0!important;
  padding:0!important;
  flex:0 0 18px;
  border-radius:50%;
}
.stbm-app .stbm-registration .stbm-reg-section .stbm-plan-content{
  min-width:0!important;
  flex:1 1 auto;
  overflow-wrap:anywhere;
}

/* v1.0.9: dashboard colors, meeting cards, mobile profile form. */
.stbm-app .stbm-account-nav,.stbm-app .stbm-member-head{background:var(--stbm-dashboard-background,#f3f7fc)}
.stbm-app .stbm-account-content,.stbm-app .stbm-details,.stbm-app .stbm-plan-benefits{background:var(--stbm-dashboard-surface,#fff)}
.stbm-app .stbm-account-content,.stbm-app .stbm-member-head h2,.stbm-app .stbm-account-nav strong,.stbm-app .stbm-content-title h3{color:var(--stbm-dashboard-text,#152d4d)}
.stbm-app .stbm-account-nav>a.selected,.stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a.selected{background:var(--stbm-dashboard-active,#183d6a)!important;color:#fff!important;border-color:var(--stbm-dashboard-active,#183d6a)!important}
.stbm-app .stbm-head-bell.has-alert{background:#d62d43!important;border-color:#bd1630!important;color:#fff!important;animation:stbm-bell-pop .35s ease-out}
.stbm-app .stbm-head-bell.has-alert .stbm-head-bell-count{background:#fff;color:#b71936}
@keyframes stbm-bell-pop{from{transform:scale(.85)}to{transform:scale(1)}}
.stbm-app .stbm-notice-item .stbm-notice-layout{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;align-items:start}
.stbm-app .stbm-event-calendar{border:1px solid #bcd1e9;border-radius:12px;background:#fff;display:grid;justify-items:center;overflow:hidden;width:76px;box-shadow:0 4px 12px rgba(13,45,88,.06)}
.stbm-app .stbm-cal-month{display:block;background:#1c4a80;color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;text-align:center;width:100%;padding:3px}
.stbm-app .stbm-event-calendar>strong{font-size:30px;line-height:1.15;font-weight:850;color:#18385d;padding-top:5px}
.stbm-app .stbm-cal-symbol{font-size:14px;color:#45678d;margin-bottom:5px}
.stbm-app .stbm-event-schedule{font-size:12px;color:#4a6482;line-height:1.55;overflow-wrap:anywhere;margin-top:9px}
.stbm-app .stbm-event-schedule div{margin:3px 0}
.stbm-app .stbm-event-schedule strong{font-size:11px;color:#1e446b}
.stbm-app .stbm-notice-copy{grid-column:2;grid-row:1 / span 2;min-width:0}
.stbm-app .stbm-notice-copy h4{font-size:clamp(17px,2vw,20px);color:#0d335e;font-weight:850;line-height:1.35;margin:6px 0 9px}
.stbm-app .stbm-notice-copy p{margin:7px 0 0;white-space:normal}
.stbm-app .stbm-readonly-username{margin-bottom:14px}
.stbm-app .stbm-account-content .stbm-field{display:block;width:100%;min-width:0;margin-bottom:14px}
.stbm-app .stbm-account-content .stbm-field input,.stbm-app .stbm-account-content .stbm-field select,.stbm-app .stbm-account-content .stbm-field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin-top:3px}
.stbm-app .stbm-account-content .stbm-two-inputs,.stbm-app .stbm-account-content .stbm-phone-grid{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.stbm-app .stbm-bank-revisit{margin-top:17px;border:1px solid #c9d9eb;background:#f8fbff;border-radius:12px;overflow:hidden}
.stbm-app .stbm-bank-revisit summary{padding:13px 15px;color:#1c497a;font-weight:800;cursor:pointer}
.stbm-app .stbm-bank-revisit-body{border-top:1px solid #d6e3f2;padding:14px 15px}
.stbm-app .stbm-bank-revisit-account{padding:12px;background:#fff;border:1px solid #e0e9f4;border-radius:10px;margin-bottom:10px}
.stbm-app .stbm-bank-revisit-account strong{color:#173c66}
.stbm-app .stbm-bank-revisit-account p{font-size:13px;margin:3px 0;overflow-wrap:anywhere}
.stbm-app .stbm-bank-revisit-account span{color:#657d97}
@media(max-width:680px){
 .stbm-app .stbm-account-content .stbm-two-inputs,.stbm-app .stbm-account-content .stbm-phone-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .stbm-app .stbm-account-content .stbm-field{margin:0 0 14px!important}
 .stbm-app .stbm-account-content .stbm-field>span{display:block;min-height:0;margin:0 0 7px;line-height:1.4;font-size:13px}
 .stbm-app .stbm-account-content .stbm-field input,.stbm-app .stbm-account-content .stbm-field select,.stbm-app .stbm-account-content .stbm-field textarea{width:100%!important;max-width:100%!important;min-height:48px!important;box-sizing:border-box;margin:0!important}
 .stbm-app .stbm-notice-item .stbm-notice-layout{grid-template-columns:65px minmax(0,1fr);gap:10px}
 .stbm-app .stbm-event-calendar{width:64px;border-radius:9px}
 .stbm-app .stbm-event-calendar>strong{font-size:25px}
 .stbm-app .stbm-event-schedule{font-size:11px}
 .stbm-app .stbm-notice-copy h4{font-size:17px}
 .stbm-app .stbm-notice-item{padding:13px 10px}
}
/* Keep the calendar compact while placing the complete meeting schedule alongside it. */
.stbm-app .stbm-notice-layout>.stbm-event-calendar{grid-column:1;grid-row:1 / span 2;align-self:start}
.stbm-app .stbm-notice-layout>.stbm-notice-copy{grid-column:2;grid-row:1;align-self:start}
.stbm-app .stbm-notice-layout>.stbm-event-schedule{grid-column:2;grid-row:2;min-width:0;margin:0 0 2px;line-height:1.5}
@media(max-width:680px){.stbm-app .stbm-notice-layout>.stbm-event-schedule{font-size:11px;overflow-wrap:normal;word-break:normal}.stbm-app .stbm-notice-layout>.stbm-event-schedule time{display:inline}}

/* v1.0.9: tighter phone side padding without 100vw overflow, preserve tap targets. */
@media(max-width:680px){
 .stbm-app{padding-inline:clamp(4px,1.2vw,7px)!important;margin-inline:0!important;max-width:100%!important;box-sizing:border-box!important}
 .stbm-app .stbm-registration{padding-inline:0!important}
 .stbm-app .stbm-reg-section{padding-inline:clamp(10px,3vw,15px)!important}
 .stbm-app .stbm-member-head{padding-inline:12px!important}
 .stbm-app .stbm-account-content{padding-inline:7px!important}
 .stbm-app .stbm-verify{padding-inline:8px!important}
 .stbm-app .stbm-auth{padding-inline:4px!important}
}

/* QR Membership 1.1.0 – mobile navigation, bank cards and event schedule */
.stbm-app .stbm-login-error{display:block;max-width:100%;margin:8px 0 18px;padding:13px 15px;border:1px solid #f5b9c0;border-left:4px solid #c6283c;border-radius:9px;background:#fff0f2;color:#8d1830;font-size:13px;line-height:1.55}
.stbm-app .stbm-login-error strong{display:block;color:#8d1830;font-size:14px;margin-bottom:2px}
.stbm-app .stbm-bank-details{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;text-align:left}
.stbm-app .stbm-bank-details h3{margin:0 0 15px;color:#17385d}
.stbm-app .stbm-bank-details>.stbm-bank-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:15px;padding:0;border:0;align-items:stretch}
.stbm-app .stbm-bank-card{min-width:0;background:#f4f8fd;border:1px solid #dbe6f3;border-radius:14px;padding:16px 18px;box-shadow:0 4px 14px rgba(19,55,104,.04)}
.stbm-app .stbm-bank-card h4{margin:0 0 10px;font-size:16px;color:#183e69;line-height:1.4;border-bottom:1px solid #cfdeef;padding-bottom:9px;overflow-wrap:anywhere}
.stbm-app .stbm-bank-card .stbm-bank-line{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:9px 0;border-bottom:1px solid #dfe8f2;font-size:13px}
.stbm-app .stbm-bank-card .stbm-bank-line:last-child{border-bottom:0}
.stbm-app .stbm-bank-line span{color:#607895;flex:0 0 38%}
.stbm-app .stbm-bank-line b{color:#122d50;text-align:right;min-width:0;overflow-wrap:anywhere}
.stbm-app .stbm-bank-details>.stbm-bank-amount{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:14px 0 0;padding:14px 18px;background:#edf4ff;border-radius:12px;font-size:14px}
.stbm-app .stbm-bank-amount span{color:#46688d}
.stbm-app .stbm-bank-amount b{font-size:17px;color:#123d73}
.stbm-app .stbm-action-row{display:flex;justify-content:center;align-items:stretch;gap:12px;flex-wrap:wrap}
.stbm-app .stbm-action-row > a.stbm-btn,.stbm-app .stbm-action-row > a.stbm-btn-sm{display:inline-flex;justify-content:center;align-items:center;width:240px;min-width:0;max-width:100%;min-height:47px;padding:12px 13px;font-size:13px;box-sizing:border-box;line-height:1.4;white-space:normal;text-align:center}
.stbm-app .stbm-notice-copy .stbm-event-schedule{margin:7px 0 11px;display:flex;flex-wrap:wrap;gap:6px 9px;align-items:center}
.stbm-app .stbm-notice-copy .stbm-event-schedule .stbm-date-highlight{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px;border:1px solid #cee0f7;border-radius:8px;padding:6px 9px;background:#eaf2ff;color:#1b4776;font-size:12px;font-weight:650;line-height:1.45}
.stbm-app .stbm-notice-copy .stbm-event-schedule .stbm-date-highlight strong{color:#173b6a;font-weight:800;font-size:12px}
.stbm-app .stbm-notice-copy .stbm-event-schedule time{font-size:12px;color:#184d85;font-weight:750}
.stbm-app .stbm-account-nav>a:not(.selected),.stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a:not(.selected){color:var(--stbm-dashboard-menu-text,#284665)!important}
.stbm-app .stbm-account-nav>a.selected,.stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a.selected{color:var(--stbm-dashboard-active-text,#ffffff)!important}
@media(max-width:680px){
 .stbm-app{padding-left:3px!important;padding-right:3px!important}
 .stbm-app .stbm-account,.stbm-app .stbm-account.stbm-layout-horizontal{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;width:100%;margin:0 auto!important}
 .stbm-app .stbm-account-nav,.stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;width:100%!important;max-width:100%;margin:0 auto 8px!important;padding:8px!important;gap:7px!important;border-radius:12px;box-sizing:border-box}
 .stbm-app .stbm-account-nav>a,.stbm-app .stbm-account.stbm-layout-horizontal .stbm-account-nav>a{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-width:0;width:100%;min-height:44px;padding:9px 6px!important;font-size:12px;line-height:1.35}
 .stbm-app .stbm-account-content{width:100%;margin-inline:auto;max-width:100%}
 .stbm-app .stbm-thankyou{padding:15px 7px;max-width:100%}
 .stbm-app .stbm-bank-card{padding:14px 12px}
 .stbm-app .stbm-bank-details>.stbm-bank-cards{grid-template-columns:minmax(0,1fr);gap:10px}
 .stbm-app .stbm-bank-card .stbm-bank-line{gap:8px;font-size:12px}
 .stbm-app .stbm-action-row{display:flex;flex-direction:column;align-items:center!important;gap:9px;padding-inline:0}
 .stbm-app .stbm-action-row > a.stbm-btn,.stbm-app .stbm-action-row > a.stbm-btn-sm{width:100%!important;max-width:360px!important;min-height:46px}
 .stbm-app .stbm-notice-copy .stbm-event-schedule .stbm-date-highlight{padding:5px 7px;font-size:11px}
}


/* QR Membership v1.1.1: centered, contained login on mobile / desktop. */
.stbm-app.stbm-login-page{box-sizing:border-box;display:flow-root;width:100%;max-width:min(100%,1180px);min-width:0;margin-inline:auto;overflow-wrap:anywhere;}
.stbm-app.stbm-login-page>.stbm-title{text-align:center!important;max-width:100%;line-height:1.2;margin:8px auto 10px!important;font-size:clamp(23px,4vw,32px);letter-spacing:-.02em;}
.stbm-app.stbm-login-page>.stbm-auth{display:block!important;width:100%!important;max-width:460px!important;margin:0 auto!important;padding:0 2px!important;min-width:0;text-align:left;}
.stbm-app.stbm-login-page .stbm-auth>.stbm-lead{text-align:center!important;margin:0 auto 24px!important;max-width:430px;line-height:1.55;}
.stbm-app.stbm-login-page .stbm-login-error{width:100%;margin:0 auto 18px!important;border-left:4px solid #c6283c;text-align:left!important;box-sizing:border-box;}
.stbm-app.stbm-login-page .stbm-auth>.stbm-form{max-width:100%;width:100%;margin:0 auto!important;min-width:0;}
.stbm-app.stbm-login-page .stbm-auth .stbm-field{display:block;width:100%;margin:0 0 16px!important;}
.stbm-app.stbm-login-page .stbm-auth .stbm-field>span{display:block;line-height:1.4;margin:0 0 7px;}
.stbm-app.stbm-login-page .stbm-auth input:not([type=checkbox]){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;margin:0!important;}
.stbm-app.stbm-login-page .stbm-form-foot{margin:17px 0 20px;align-items:center;}
.stbm-app.stbm-login-page .stbm-btn-block{display:flex;width:100%;min-height:46px;}
@media(max-width:680px){
 .stbm-app.stbm-login-page{border:0!important;box-shadow:none!important;border-radius:0!important;max-width:100%!important;margin:0 auto!important;padding:15px 7px 20px!important;background:transparent!important;}
 .stbm-app.stbm-login-page>.stbm-title{font-size:clamp(23px,6vw,29px)!important;margin:4px auto 12px!important;}
 .stbm-app.stbm-login-page>.stbm-auth{max-width:100%!important;padding:0 3px!important;margin:0 auto!important;}
 .stbm-app.stbm-login-page .stbm-auth>.stbm-lead{font-size:13px;margin-bottom:20px!important;}
 .stbm-app.stbm-login-page .stbm-form-foot{gap:10px;}
}
@media(max-width:360px){.stbm-app.stbm-login-page{padding-inline:4px!important;}.stbm-app.stbm-login-page>.stbm-auth{padding-inline:2px!important;}}


/* QR Membership 1.1.2: center ALL shortcode page layouts, not only Login. */
.stbm-app:not(.stbm-login-page){
 box-sizing:border-box!important;
 width:100%!important;
 max-width:1180px!important;
 min-width:0!important;
 margin-left:auto!important;
 margin-right:auto!important;
 overflow-wrap:anywhere;
}
.stbm-app:not(.stbm-login-page)>.stbm-registration,
.stbm-app:not(.stbm-login-page)>.stbm-member-head,
.stbm-app:not(.stbm-login-page)>.stbm-account,
.stbm-app:not(.stbm-login-page)>.stbm-verify,
.stbm-app:not(.stbm-login-page)>.stbm-thankyou,
.stbm-app:not(.stbm-login-page)>.stbm-renew-page,
.stbm-app:not(.stbm-login-page)>.stbm-auth,
.stbm-app:not(.stbm-login-page)>.stbm-verification-heading{
 box-sizing:border-box;max-width:100%;margin-left:auto;margin-right:auto;
}
.stbm-app .stbm-login-error[hidden],
.stbm-app .stbm-ajax-feedback[hidden]{display:none!important;}
.stbm-app .stbm-ajax-feedback:not([hidden]){
 display:block!important;opacity:1!important;visibility:visible!important;
 color:#921b2d!important;background:#fff1f2!important;
 border:1px solid #f2a8b3!important;border-left:4px solid #c6283c!important;
 border-radius:9px!important;padding:14px 16px!important;margin:4px 0 18px!important;
 font-weight:650!important;box-shadow:0 3px 12px rgba(172,29,45,.08)!important;
}
.stbm-app.stbm-login-page button:disabled{opacity:.72;cursor:wait;}
@media(max-width:680px){
 .stbm-app:not(.stbm-login-page){
  width:100%!important;max-width:100%!important;
  margin:0 auto 18px!important;
  padding:9px 5px 18px!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;
 }
 .stbm-app:not(.stbm-login-page) .stbm-register-grid,
 .stbm-app:not(.stbm-login-page) .stbm-registration,
 .stbm-app:not(.stbm-login-page) .stbm-account,
 .stbm-app:not(.stbm-login-page) .stbm-verification-heading,
 .stbm-app:not(.stbm-login-page) .stbm-thankyou{width:100%!important;min-width:0!important;margin-inline:auto!important;}
 .stbm-app:not(.stbm-login-page) .stbm-verify,
 .stbm-app:not(.stbm-login-page) .stbm-account-content{margin-inline:auto!important;max-width:100%!important;}
}


/* QR Membership 1.1.5 - verification details alignment */
/* Scope to the public verify shortcode only; do not change account/profile tables. */
.stbm-app.stbm-verification-page > .stbm-verification-heading {
  width:100%;max-width:700px;margin-left:auto!important;margin-right:auto!important;
}
.stbm-app.stbm-verification-page > .stbm-verify {
  width:100%!important;
  max-width:700px!important;
  margin:8px auto 12px!important;
  padding:12px 16px 18px;
  text-align:center;
}
.stbm-app.stbm-verification-page .stbm-verify > .stbm-details {
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:610px;
  margin:18px auto 8px!important;
  padding:12px 20px;
  text-align:left;
}
.stbm-app.stbm-verification-page .stbm-verify > .stbm-details .stbm-details-row {
  display:grid;
  grid-template-columns:minmax(0,40%) minmax(0,60%);
  align-items:center;
  column-gap:0;
  width:100%;
  min-width:0;
  padding:13px 10px;
  font-size:14px;
  line-height:1.55;
}
.stbm-app.stbm-verification-page .stbm-details-row > span {
  color:#556d8b;
  font-size:inherit;
}
.stbm-app.stbm-verification-page .stbm-details-row > b {
  display:block;
  min-width:0;
  padding-left:10px;
  overflow-wrap:anywhere;
  font-size:inherit;
  color:#16375f;
}
.stbm-app.stbm-verification-page .stbm-verify-details-status .stbm-badge {
  font-size:13px;
  font-weight:800;
  padding:5px 12px;
}
@media (max-width:680px) {
  .stbm-app.stbm-verification-page > .stbm-verify {
    max-width:100%!important;
    padding:9px 3px 13px!important;
  }
  .stbm-app.stbm-verification-page .stbm-verify > .stbm-details {
    max-width:100%;
    margin:14px auto 6px!important;
    padding:10px 11px!important;
    border-radius:11px;
  }
  .stbm-app.stbm-verification-page .stbm-verify > .stbm-details .stbm-details-row {
    grid-template-columns:minmax(0,39%) minmax(0,61%)!important;
    gap:0!important;
    padding:14px 5px;
    font-size:clamp(14px,3.8vw,15.5px)!important;
    line-height:1.55;
  }
  .stbm-app.stbm-verification-page .stbm-details-row > b {padding-left:8px;font-weight:750}
  .stbm-app.stbm-verification-page .stbm-verify-details-status .stbm-badge {
    font-size:clamp(14px,3.8vw,16px)!important;
    padding:6px 13px;
  }
}
@media (max-width:360px) {
  .stbm-app.stbm-verification-page .stbm-verify > .stbm-details {padding-inline:7px!important}
  .stbm-app.stbm-verification-page .stbm-verify > .stbm-details .stbm-details-row {padding-inline:2px}
  .stbm-app.stbm-verification-page .stbm-details-row > b {padding-left:6px}
}


/* QR Membership 1.1.6 – centered password reset and feedback */
.stbm-app.stbm-reset-page{
 box-sizing:border-box!important;
 display:flow-root!important;
 width:100%!important;
 max-width:960px!important;
 min-width:0!important;
 margin:18px auto 28px!important;
 padding:clamp(16px,3vw,29px)!important;
 overflow-wrap:anywhere;
}
.stbm-app.stbm-reset-page > .stbm-title{
 display:block;width:100%;max-width:100%;
 text-align:center!important;margin:8px auto 13px!important;
 line-height:1.25;font-size:clamp(24px,4vw,31px);
}
.stbm-app.stbm-reset-page > .stbm-auth{
 display:block!important;
 box-sizing:border-box!important;
 width:100%!important;
 max-width:460px!important;
 min-width:0!important;
 padding:0 3px!important;
 margin:0 auto!important;
 text-align:left!important;
}
.stbm-app.stbm-reset-page .stbm-auth > .stbm-lead{
 max-width:440px;margin:0 auto 23px!important;
 text-align:center!important;color:#647895;line-height:1.6;
}
.stbm-app.stbm-reset-page .stbm-form,
.stbm-app.stbm-reset-page .stbm-field{
 display:block;width:100%!important;min-width:0;max-width:100%!important;
}
.stbm-app.stbm-reset-page .stbm-field input{
 box-sizing:border-box!important;width:100%!important;
 max-width:100%!important;min-height:47px!important;
 font-size:16px!important;
}
.stbm-app.stbm-reset-page .stbm-btn-block{display:flex;width:100%;min-height:47px}
.stbm-app.stbm-reset-page .stbm-reset-error{
 display:block!important;width:100%;box-sizing:border-box;
 border:1px solid #f1aeb5!important;border-left:4px solid #c6283c!important;
 background:#fff0f2!important;color:#992039!important;
 border-radius:9px;padding:13px 15px;margin:0 0 18px;
 font-size:14px;line-height:1.55;
}
.stbm-app.stbm-reset-page .stbm-reset-success{
 display:block;width:100%;box-sizing:border-box;
 border-radius:9px;margin:0 0 18px;
 padding:13px 15px;font-size:14px;
}
@media(max-width:680px){
 .stbm-app.stbm-reset-page{
  width:100%!important;max-width:100%!important;
  margin:0 auto 15px!important;
  padding:14px clamp(3px,1.5vw,8px) 21px!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;background:transparent!important;
 }
 .stbm-app.stbm-reset-page > .stbm-title{margin:5px auto 11px!important}
 .stbm-app.stbm-reset-page > .stbm-auth{max-width:100%!important;padding:0 3px!important}
 .stbm-app.stbm-reset-page .stbm-auth > .stbm-lead{font-size:13px;margin-bottom:18px!important}
}


/* 1.1.7 — compact Login layout for laptop-height screens.
   Scoped to this shortcode; does not alter Register, Dashboard, Renew or Verify.
   Reduce empty space below the form and avoid needless page scrolling. */
.stbm-app.stbm-login-page{
  margin-top:8px!important;
  margin-bottom:10px!important;
  padding-top:12px!important;
  padding-bottom:14px!important;
}
.stbm-app.stbm-login-page > .stbm-title{
  margin:4px auto 7px!important;
}
.stbm-app.stbm-login-page .stbm-auth > .stbm-lead{
  margin-bottom:16px!important;
}
.stbm-app.stbm-login-page .stbm-auth .stbm-field{
  margin-bottom:12px!important;
}
.stbm-app.stbm-login-page .stbm-form-foot{
  margin:12px 0 14px!important;
}
.stbm-app.stbm-login-page .stbm-auth > .stbm-center{
  margin:12px auto 0!important;
}
/* Honor a compact mobile layout without compressing touch controls. */
@media(max-width:680px){
  .stbm-app.stbm-login-page{
    padding-top:10px!important;
    padding-bottom:12px!important;
    margin-top:5px!important;
    margin-bottom:9px!important;
  }
  .stbm-app.stbm-login-page .stbm-auth > .stbm-lead{
    margin-bottom:16px!important;
  }
  .stbm-app.stbm-login-page .stbm-form-foot{margin:13px 0 15px!important;}
}

/* v1.1.8: compact, centered Renew Membership layout. Scoped to the renewal shortcode. */
.stbm-app.stbm-renewal-view{
  display:flow-root!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:720px!important;
  min-width:0!important;
  margin:16px auto 24px!important;
  padding:clamp(18px,3vw,30px)!important;
  border-radius:16px;
  min-height:0!important;
}
.stbm-app.stbm-renewal-view>.stbm-title{
  font-size:clamp(24px,3vw,30px)!important;
  line-height:1.2!important;
  text-align:center!important;
  margin:4px auto 12px!important;
  padding:0!important;
}
.stbm-app.stbm-renewal-view>.stbm-renew-page{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:510px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:left!important;
}
.stbm-app.stbm-renewal-view .stbm-renew-lead{
  color:#627795;
  text-align:center;
  font-size:14px;
  line-height:1.65;
  margin:0 auto 22px!important;
}
.stbm-app.stbm-renewal-view .stbm-renew-page .stbm-form{
  width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;
}
.stbm-app.stbm-renewal-view .stbm-field{
  display:block;
  width:100%!important;
  margin:0 0 19px!important;
  font-weight:750;
  min-width:0;
}
.stbm-app.stbm-renewal-view .stbm-field>span{
  display:block;
  margin:0 0 8px!important;
}
.stbm-app.stbm-renewal-view .stbm-field select{
  display:block;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:49px!important;
  border-radius:10px;
  padding:11px 13px!important;
  font-size:14px!important;
  white-space:nowrap;
  text-overflow:ellipsis;
  background-color:#fff;
}
.stbm-app.stbm-renewal-view .stbm-renew-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
}
.stbm-app.stbm-renewal-view .stbm-renew-submit{
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
  padding:12px 14px!important;
  white-space:normal;
  text-align:center;
  line-height:1.35;
}
.stbm-app.stbm-renewal-view .stbm-renew-back{
  display:block;
  text-align:center;
  padding:5px 0;
  font-size:13px;
  font-weight:650;
}
.stbm-app.stbm-renewal-view .stbm-renew-info{
  display:flex;
  flex-direction:column;
  gap:17px;
  align-items:center;
  text-align:center;
  padding:12px 0 2px;
}
.stbm-app.stbm-renewal-view .stbm-renew-info p{margin:0;color:#536b86;line-height:1.7}
.stbm-app.stbm-renewal-view .stbm-renew-info .stbm-btn{max-width:100%;}
@media(max-width:680px){
  .stbm-app.stbm-renewal-view{
    margin:4px auto 14px!important;
    padding:12px 7px 18px!important;
    max-width:100%!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .stbm-app.stbm-renewal-view>.stbm-title{margin:3px auto 10px!important;}
  .stbm-app.stbm-renewal-view>.stbm-renew-page{
    max-width:100%!important;
    padding:0 2px!important;
  }
  .stbm-app.stbm-renewal-view .stbm-renew-lead{
    font-size:13px;margin-bottom:19px!important;
  }
  .stbm-app.stbm-renewal-view .stbm-field select{
    min-height:48px!important;
    font-size:14px!important;
  }
  .stbm-app.stbm-renewal-view .stbm-renew-actions{gap:11px;}
}

/* Renewal plan cards: long names, prices and duration remain readable on every screen. */
.stbm-app.stbm-renewal-view .stbm-renew-choice{margin:0 0 19px!important;padding:0!important;border:0!important;min-width:0!important;display:block!important}
.stbm-app.stbm-renewal-view .stbm-renew-choice legend{display:block!important;width:100%;float:none!important;margin:0 0 9px!important;padding:0!important;font-size:13px!important;color:#183b60;font-weight:760!important}
.stbm-app.stbm-renewal-view .stbm-renew-choice legend em{font-style:normal;color:#d33a59}
.stbm-app.stbm-renewal-view .stbm-renew-plans{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;}
.stbm-app.stbm-renewal-view label.stbm-renew-plan{display:flex!important;align-items:center!important;min-width:0!important;width:100%!important;max-width:100%!important;gap:12px!important;padding:14px 15px!important;margin:0!important;border:1px solid #d7e4f3!important;background:#fff!important;border-radius:12px!important;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}
.stbm-app.stbm-renewal-view label.stbm-renew-plan:has(input:checked){background:#eef5ff!important;border-color:var(--stbm-accent,#3464af)!important;box-shadow:0 0 0 1px var(--stbm-accent,#3464af)}
.stbm-app.stbm-renewal-view .stbm-renew-plan input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-height:18px!important;max-width:18px!important;padding:0!important;margin:0!important;border:0!important;accent-color:var(--stbm-primary,#204b83)!important}
.stbm-app.stbm-renewal-view .stbm-renew-plan-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.stbm-app.stbm-renewal-view .stbm-renew-plan-copy strong{font-size:15px;line-height:1.4;color:#17395f;font-weight:800}
.stbm-app.stbm-renewal-view .stbm-renew-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:5px 12px}
.stbm-app.stbm-renewal-view .stbm-renew-meta b{font-size:14px;color:#224c83}
.stbm-app.stbm-renewal-view .stbm-renew-meta small{font-size:12px;color:#5c7189}
@media(max-width:680px){.stbm-app.stbm-renewal-view label.stbm-renew-plan{padding:12px!important;gap:10px!important}.stbm-app.stbm-renewal-view .stbm-renew-plan-copy strong{font-size:14px}.stbm-app.stbm-renewal-view .stbm-renew-meta b{font-size:13px}}

/* v1.2.0: readable mobile public card, balanced profile edit action. */
.stbm-app .stbm-profile-title{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap;gap:12px!important}
.stbm-app .stbm-profile-title>.stbm-btn-sm{margin:0 0 0 auto!important;white-space:nowrap;flex:0 0 auto}
@media(max-width:680px){
 .stbm-app .stbm-profile-title{gap:10px!important}
 .stbm-app .stbm-profile-title>.stbm-btn-sm{margin:0!important;min-width:120px!important}
 .stbm-app .stbm-public-card .stbm-card-brand b{font-size:clamp(12px,3.6vw,15px)!important;line-height:1.3!important;letter-spacing:.055em!important}
 .stbm-app .stbm-public-card .stbm-card-brand small{font-size:clamp(9px,2.7vw,11px)!important;line-height:1.35!important}
 .stbm-app .stbm-public-card .stbm-card-label{font-size:clamp(9px,2.7vw,11px)!important;line-height:1.25!important;margin:5px 0!important}
 .stbm-app .stbm-public-card .stbm-member-name{font-size:clamp(18px,5.1vw,22px)!important;line-height:1.2!important}
 .stbm-app .stbm-public-card .stbm-member-number{font-size:clamp(13px,3.7vw,16px)!important;line-height:1.2!important;letter-spacing:.065em!important}
}
@media(max-width:380px){
 .stbm-app .stbm-profile-title{flex-direction:column!important;align-items:stretch!important;text-align:center}
 .stbm-app .stbm-profile-title>.stbm-btn-sm{width:100%!important;justify-content:center}
}

/* v1.2.1: rejected receipt explanation in payment history and upload area. */
.stbm-app .stbm-payment-reject-reason{margin:7px 0 0;color:#932626;font-size:12px;line-height:1.55;overflow-wrap:anywhere;white-space:normal;max-width:280px}
.stbm-app .stbm-rejection-alert{margin:14px 0;padding:13px 15px;color:#9b2b2b;border-radius:10px;overflow-wrap:anywhere}
.stbm-app .stbm-rejection-alert p{margin:6px 0 0}


/* v1.2.5 — STCB public verification card, optional benefits, compact mobile spacing */
.stbm-app.stbm-verification-page>.stbm-verification-heading {
  max-width:680px; margin:0 auto 4px!important; padding:0 4px;
}
.stbm-app.stbm-verification-page>.stbm-verification-heading h2 {
  font-size:clamp(21px,3vw,29px);line-height:1.25; margin:0 auto 4px!important;
}
.stbm-app.stbm-verification-page>.stbm-verification-heading p {
  font-size:clamp(12px,2vw,14px);line-height:1.45;margin:0 auto;
}
.stbm-app.stbm-verification-page>.stbm-verify {
  margin:3px auto 10px!important;padding-top:8px!important;padding-bottom:11px!important;
}
.stbm-app.stbm-verification-page .stbm-verify-badge {padding:4px 11px!important;}
.stbm-app.stbm-verification-page .stbm-verify>h3 {margin:4px auto 7px!important;line-height:1.2;}
.stbm-app.stbm-verification-page .stbm-verify-status {margin:5px auto 12px!important;}
.stbm-app.stbm-verification-page .stbm-public-card {margin:10px auto 14px!important;}
.stbm-app.stbm-verification-page .stbm-public-card-foot {
  display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;
  padding-right:135px!important;width:100%;position:relative;z-index:4;margin-top:auto;
}
.stbm-app.stbm-verification-page .stbm-public-card-status {
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;
}
.stbm-app.stbm-verification-page .stbm-public-card-status small {
  display:block;color:#c3d9ef;letter-spacing:.09em;font-size:10px;line-height:1.3;font-weight:650;
}
.stbm-app.stbm-verification-page .stbm-public-card-status strong {
  display:block;color:#fff;font-size:clamp(12px,1.8vw,15px);font-weight:800;line-height:1.35;overflow-wrap:anywhere;
}
.stbm-app.stbm-verification-page .stbm-public-card .stbm-public-qr {
  padding:2px!important;right:11px!important;bottom:11px!important;box-shadow:0 2px 8px rgba(0,0,0,.16);
}
.stbm-app.stbm-verification-page .stbm-public-card .stbm-public-qr canvas{width:100%!important;height:auto!important;display:block;}
.stbm-app.stbm-verification-page .stbm-public-benefits {
  display:block!important;width:100%;max-width:610px;margin:14px auto!important;
  padding:15px 19px!important;text-align:left;border-radius:12px;
  border:1px solid #dce9f5;background:#fff;
}
.stbm-app.stbm-verification-page .stbm-public-benefits h4 {font-size:17px;color:#16395f;margin:0 0 10px;}
.stbm-app.stbm-verification-page .stbm-public-benefits .stbm-benefit-list {padding-left:0;list-style:none;margin:0;}
.stbm-app.stbm-verification-page .stbm-public-benefits .stbm-benefit-list li {
  font-size:13px;line-height:1.6;position:relative;padding-left:20px;margin:6px 0;overflow-wrap:anywhere;
}
.stbm-app.stbm-verification-page .stbm-public-benefits .stbm-benefit-list li:before {
  content:'✓';position:absolute;left:0;color:#14844b;font-weight:900;
}
@media(max-width:680px){
  /* Plugin-controlled spacing. Parent theme/header padding may still need theme-specific adjustment. */
  .stbm-app.stbm-verification-page {padding-top:2px!important;margin-top:0!important;padding-bottom:8px!important;margin-bottom:5px!important;}
  .stbm-app.stbm-verification-page>.stbm-verification-heading {margin:0 auto 3px!important;}
  .stbm-app.stbm-verification-page>.stbm-verification-heading h2 {font-size:clamp(20px,5.7vw,25px);line-height:1.2;}
  .stbm-app.stbm-verification-page>.stbm-verify {padding-top:5px!important;margin-top:1px!important;}
  .stbm-app.stbm-verification-page .stbm-public-card {margin:7px auto 10px!important;}
  .stbm-app.stbm-verification-page .stbm-public-card-foot {padding-right:97px!important;}
  .stbm-app.stbm-verification-page .stbm-public-card-status strong {font-size:clamp(11px,3.5vw,14px);}
  .stbm-app.stbm-verification-page .stbm-public-card-status small {font-size:9px;}
  .stbm-app.stbm-verification-page .stbm-public-card .stbm-public-qr {width:88px!important;right:8px!important;bottom:8px!important;padding:2px!important;}
  .stbm-app.stbm-verification-page .stbm-public-benefits {padding:13px 14px!important;}
  .stbm-app.stbm-verification-page .stbm-live-date {margin-bottom:1px!important;}
  /* Other plugin pages: reduce only plugin container's mobile vertical padding. */
  .stbm-app:not(.stbm-login-page):not(.stbm-verification-page) {padding-top:4px!important;margin-top:0!important;}
}

/* QR Membership 1.2.6: branded, secure new-password page */
.stbm-app.stbm-new-password-page{margin-inline:auto!important}
.stbm-app.stbm-new-password-page .stbm-auth{max-width:460px!important;margin-inline:auto!important}
.stbm-app.stbm-new-password-page .stbm-reset-hint{margin:3px 0 18px;color:#637792;font-size:12px;line-height:1.6}
.stbm-app.stbm-new-password-page .stbm-field input{border-radius:9px!important;min-height:47px!important}
.stbm-app.stbm-new-password-page .stbm-btn-block{min-height:48px}
@media(max-width:680px){
 .stbm-app.stbm-new-password-page{max-width:100%!important;padding:14px 7px 22px!important;margin:0 auto!important}
 .stbm-app.stbm-new-password-page .stbm-auth{max-width:100%!important;padding:0 4px!important}
 .stbm-app.stbm-new-password-page .stbm-reset-hint{font-size:12px}
}

/* v1.3.2: Public card displays both dates; avoid QR overlap on narrow phones. */
.stbm-app.stbm-verification-page .stbm-public-card-status{gap:5px!important;max-width:100%;}
.stbm-app.stbm-verification-page .stbm-public-card-date{display:flex;flex-direction:column;gap:0;align-items:flex-start;min-width:0;}
.stbm-app.stbm-verification-page .stbm-public-card-date small{font-size:9px;line-height:1.15;}
.stbm-app.stbm-verification-page .stbm-public-card-date strong{font-size:clamp(10px,1.65vw,13px);line-height:1.35;}
.stbm-app.stbm-verification-page .stbm-public-card{min-height:286px;}
@media(max-width:680px){
 .stbm-app.stbm-verification-page .stbm-public-card{min-height:280px;}
 .stbm-app.stbm-verification-page .stbm-public-card-date strong{font-size:clamp(10px,3vw,12px);}
}

/* Registration validation remains in the public form; never show the wp-admin error page. */
.stbm-registration .stbm-registration-error{margin:16px 0 18px;padding:13px 16px;border-radius:10px;line-height:1.6;border:1px solid #f0b3b3;background:#fff1f1;color:#8b2222}


/* v1.3.7: two consistent, readable categories in member-facing event views.
   Meeting / Event = blue; Announcement / News = amber. Labels remain visible
   for people who cannot distinguish colors. No membership status colors change. */
.stbm-app .stbm-notice-item.stbm-notice-event{
 border-color:#b8d5f7;background:#f4f9ff;border-left:4px solid #2563a6;
}
.stbm-app .stbm-notice-item.stbm-notice-event .stbm-notice-type{
 display:inline-flex;align-items:center;background:#dceafe;color:#174a86;
}
.stbm-app .stbm-notice-item.stbm-notice-news{
 border-color:#f0d4a0;background:#fffaf1;border-left:4px solid #bd7417;
}
.stbm-app .stbm-notice-item.stbm-notice-news .stbm-notice-type{
 display:inline-flex;align-items:center;background:#fff0cd;color:#85500d;
}
.stbm-app .stbm-notice-item.stbm-notice-news .stbm-cal-month{background:#a86613}
.stbm-app .stbm-notice-item.stbm-notice-news .stbm-event-calendar{border-color:#ebcf99}
.stbm-app .stbm-notice-item.stbm-notice-news .stbm-notice-copy h4{color:#76460b}
.stbm-app .stbm-dashboard-alerts .stbm-alert-row{
 padding:8px 10px;border-radius:8px;gap:8px;min-width:0;
}
.stbm-app .stbm-dashboard-alerts .stbm-alert-row.stbm-alert-event{
 background:#e9f3ff;border-left:3px solid #2563a6;
}
.stbm-app .stbm-dashboard-alerts .stbm-alert-row.stbm-alert-news{
 background:#fff3db;border-left:3px solid #bd7417;
}
.stbm-app .stbm-dashboard-alerts .stbm-alert-type{
 display:inline-flex;border-radius:99px;padding:3px 8px;font-size:10px;
 font-weight:800;line-height:1.4;white-space:nowrap;
}
.stbm-app .stbm-dashboard-alerts .stbm-alert-event .stbm-alert-type{background:#d6e8fd;color:#174a86}
.stbm-app .stbm-dashboard-alerts .stbm-alert-news .stbm-alert-type{background:#fde6b9;color:#80500e}
.stbm-app .stbm-dashboard-alerts .stbm-alert-row strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:430px){
 .stbm-app .stbm-dashboard-alerts .stbm-alert-row{padding:8px;gap:6px}
}


/* v1.3.8: make the signed-in account link a real, centered membership CTA. */
.stbm-app .stbm-signed-in-message{margin:12px auto 14px;text-align:center;}
.stbm-app .stbm-account-cta{display:flex;justify-content:center;align-items:center;margin:16px auto 8px;text-align:center;}
.stbm-app .stbm-account-cta a.stbm-account-open-btn{
 display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
 min-height:46px;min-width:180px;max-width:100%;padding:12px 23px;
 background:var(--stbm-primary,#204b83);color:#fff!important;border-radius:9px;
 text-decoration:none!important;font-size:14px;font-weight:750;line-height:1.35;
 white-space:normal;text-align:center;
}
.stbm-app .stbm-account-cta a.stbm-account-open-btn:hover{
 background:var(--stbm-hover,#163967);color:#fff!important;
}
.stbm-app .stbm-account-cta a.stbm-account-open-btn:focus-visible{outline:3px solid var(--stbm-accent,#3878cb);outline-offset:3px;}
@media(max-width:430px){.stbm-app .stbm-account-cta a.stbm-account-open-btn{width:min(100%,320px);min-height:47px;padding:12px 15px;}}

/* v1.3.9: accessible, form-local registration feedback */
.stbm-registration .stbm-field-invalid input,
.stbm-registration .stbm-field-invalid textarea,
.stbm-registration .stbm-field-invalid select{
  border-color:#c93636!important;
  box-shadow:0 0 0 2px rgba(201,54,54,.1)!important;
}
.stbm-registration .stbm-field-error{display:block;color:#a52626;font-size:12px;line-height:1.45;margin-top:5px;font-weight:600;overflow-wrap:anywhere}
.stbm-registration .stbm-registration-error[hidden]{display:none!important}

/* v1.3.10: Empty registration feedback must never occupy space on first load. */
.stbm-app .stbm-registration .stbm-registration-error:empty,
.stbm-app .stbm-registration .stbm-registration-error[hidden]{display:none!important;}

/* Slightly enlarge the STCB monogram at the upper right of member and public QR cards.
   Keep a responsive cap so logo and name do not overlap at phone widths. */
.stbm-app .stbm-id-card .stbm-card-brand img.stbm-card-logo{
  display:block;width:clamp(46px,5.3vw,58px);max-width:58px;height:clamp(46px,5.3vw,58px);
  flex-shrink:0;object-fit:contain;
}
@media(max-width:430px){
  .stbm-app .stbm-id-card .stbm-card-brand img.stbm-card-logo{
    width:clamp(43px,12.5vw,50px);max-width:50px;height:clamp(43px,12.5vw,50px);
  }
}

/* v1.3.15 — Member history navigation. Scoped to the member account only. */
.stbm-app .stbm-member-history-note{font-size:12px;color:#637991;margin:-8px 0 14px;line-height:1.6}
.stbm-app .stbm-member-history-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:15px 0 20px;color:#536b88;font-size:12px}
.stbm-app .stbm-member-history-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.stbm-app .stbm-history-page-link,.stbm-app .stbm-history-page-current{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:7px 10px;border-radius:8px;border:1px solid #cfdaeb;text-decoration:none!important;line-height:1.2;font-weight:700;background:#fff;color:var(--stbm-primary)}
.stbm-app .stbm-history-page-link:hover,.stbm-app .stbm-history-page-link:focus-visible{background:#edf4ff;border-color:var(--stbm-primary)}
.stbm-app .stbm-history-page-current{background:var(--stbm-primary);color:#fff;border-color:var(--stbm-primary)}
.stbm-app .stbm-scroll[role=region]:focus-visible{outline:2px solid var(--stbm-primary);outline-offset:2px}
@media(max-width:600px){.stbm-app .stbm-member-history-pager{justify-content:center;text-align:center}.stbm-app .stbm-member-history-count{width:100%}.stbm-app .stbm-member-history-links{justify-content:center}.stbm-app .stbm-scroll[role=region]{-webkit-overflow-scrolling:touch}}

.stbm-app .stbm-history-swipe-hint{display:none;color:#617894;font-size:11px;margin:0 0 8px}
@media(max-width:700px){.stbm-app .stbm-history-swipe-hint{display:block}}

/* v1.3.20: distinguish a closed payment request without changing historical receipts. */
.stbm-app .stbm-badge.stbm-canceled{color:#6b3b14;background:#fff3e0;border-color:#f3d5ad}
.stbm-app .stbm-login-error p{margin:6px 0 0}

/* v1.3.23: compact account refresh controls; no layout shift on mobiles. */


/* v1.3.27 — Member Dashboard visual refresh only.
   Intentionally scoped so Register/Login, public QR verification and WordPress admin
   keep their current styling and behavior. All existing forms/links remain native. */
.stbm-app.stbm-member-dashboard{
  --stbm-member-navy:#103763;--stbm-member-navy-dark:#0b2d56;
  color:var(--stbm-dashboard-text,#152D4D);
  background:var(--stbm-dashboard-background,#eef5fd)!important;
  border:0!important;border-radius:18px;box-shadow:none!important;
  max-width:1180px!important;width:100%!important;
  padding:20px 19px 25px!important;
}
.stbm-app.stbm-member-dashboard .stbm-member-head{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;
  min-height:142px;padding:24px 33px!important;margin:0 0 18px!important;
  border-radius:15px!important;border:1px solid rgba(39,101,166,.18);
  color:#f6fbff!important;
  background:linear-gradient(125deg,#0a305d 0%,#15477f 58%,#205f9f 100%)!important;
  box-shadow:0 11px 25px rgba(21,68,117,.1);
}
.stbm-app.stbm-member-dashboard .stbm-member-head:before,
.stbm-app.stbm-member-dashboard .stbm-member-head:after{
  content:"";position:absolute;pointer-events:none;border:1px solid rgba(134,185,233,.14);
  width:660px;height:300px;border-radius:50%;transform:rotate(-23deg);z-index:-1;
}
.stbm-app.stbm-member-dashboard .stbm-member-head:before{right:-160px;top:-190px;background:rgba(75,146,214,.09)}
.stbm-app.stbm-member-dashboard .stbm-member-head:after{right:-230px;bottom:-240px}
.stbm-app.stbm-member-dashboard .stbm-member-head .stbm-chip{
  display:block;width:max-content;padding:0;background:transparent;color:#dcecff;
  font-size:11px;letter-spacing:.17em;line-height:1.5;font-weight:800;
}
.stbm-app.stbm-member-dashboard .stbm-member-head h2{
  color:#fff!important;font-size:clamp(23px,2.8vw,30px);line-height:1.2;
  margin:8px 0 6px;font-weight:850;letter-spacing:-.02em;
}
.stbm-app.stbm-member-dashboard .stbm-member-head p{color:#cfdef1!important;margin:0;font-size:13px}
.stbm-app.stbm-member-dashboard .stbm-member-head-actions{
  flex-wrap:nowrap;gap:12px;width:auto;justify-content:flex-end;align-self:center;
}
.stbm-app.stbm-member-dashboard .stbm-head-bell{
  min-height:43px;border:1px solid rgba(255,255,255,.18);border-radius:999px;
  color:#fff!important;background:rgba(6,26,58,.65)!important;
}
.stbm-app.stbm-member-dashboard .stbm-head-bell-count{background:#e72b4d!important;color:#fff!important;box-shadow:0 0 0 2px #fff}
.stbm-app.stbm-member-dashboard .stbm-head-bell.has-alert{background:#123a67!important}
.stbm-app.stbm-member-dashboard .stbm-current-status .stbm-badge{border-radius:999px;padding:8px 14px;white-space:nowrap}
/* Announcement preview becomes a distinct white feature card. */
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts{
  padding:16px 19px;margin:0 0 19px;
  background:var(--stbm-dashboard-surface,#fff)!important;
  border:1px solid #dae7f8;border-radius:16px;
  box-shadow:0 6px 17px rgba(22,60,104,.065);
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alert-title{
  color:#123d73;font-size:17px;padding:1px 0 8px;
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alert-title a{font-size:12px;font-weight:750}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-alert-row{
  background:#eff6fd;border:1px solid #e3effc;
  border-left:3px solid #69b0ff;border-radius:10px;margin:5px 0;
  padding:10px 12px;
}
/* Contain a tall, rich navy sidebar beside the white content panel. */
.stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal){
  display:grid!important;grid-template-columns:minmax(195px,225px) minmax(0,1fr)!important;
  gap:18px!important;align-items:stretch!important;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav{
  position:relative;isolation:isolate;overflow:hidden;display:flex!important;
  flex-direction:column!important;align-items:stretch!important;
  background:linear-gradient(155deg,#0b376e 0%,#123e71 55%,#082950 100%)!important;
  color:#fff!important;border:1px solid rgba(43,113,179,.45)!important;
  border-radius:15px!important;padding:24px 13px!important;
  box-shadow:0 7px 21px rgba(9,43,89,.1);margin:0!important;gap:5px!important;
  min-width:0;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav:after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  border-radius:50%;width:360px;height:210px;bottom:-115px;left:-80px;
  background:rgba(48,132,220,.10);transform:rotate(-25deg);
}
.stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>.stbm-avatar{
  width:67px!important;height:67px!important;margin:0 auto 6px!important;
  font-size:29px!important;font-weight:800;color:#fff!important;
  background:linear-gradient(145deg,#267bd6,#6cbeff)!important;
  box-shadow:0 8px 23px rgba(0,0,0,.15);
}
.stbm-app.stbm-member-dashboard .stbm-account-nav>strong{
  color:#fff!important;text-align:center!important;font-size:14px!important;margin:0!important;
  overflow-wrap:anywhere;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav>small{
  color:#bdd2ea!important;text-align:center!important;overflow-wrap:anywhere;
  font-size:11px;margin-bottom:13px!important;padding-bottom:15px;
  border-bottom:1px solid rgba(224,242,255,.18);
}
.stbm-app.stbm-member-dashboard .stbm-account-nav>a,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav>a{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  text-align:left!important;gap:11px;flex:0 0 auto;
  width:100%;min-width:0;min-height:45px;padding:10px 11px!important;
  color:var(--stbm-dashboard-menu-text,#e7f2ff)!important;
  background:transparent;border:1px solid transparent!important;border-radius:9px!important;
  font-size:12px;font-weight:680;line-height:1.5;
  text-decoration:none!important;
  transition:background-color .18s,color .18s,box-shadow .18s!important;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav .stbm-menu-icon{
  flex:0 0 20px;width:20px;height:20px;display:block;opacity:.96;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav>a span{display:block;min-width:0}
.stbm-app.stbm-member-dashboard .stbm-account-nav>a.selected,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav>a.selected{
  color:var(--stbm-dashboard-active-text,#fff)!important;
  background:var(--stbm-dashboard-active,#1f6ac1)!important;
  box-shadow:0 5px 13px rgba(2,20,48,.17);font-weight:800;
}
.stbm-app.stbm-member-dashboard .stbm-account-nav>a:not(.selected):hover,
.stbm-app.stbm-member-dashboard .stbm-account-nav>a.selected:hover,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav>a:hover{
  background:var(--stbm-dashboard-button-hover,#14569d)!important;
  color:#fff!important;
}
.stbm-app.stbm-member-dashboard .stbm-account-content{
  min-width:0;padding:22px 19px!important;margin:0!important;
  background:var(--stbm-dashboard-surface,#fff)!important;
  border:1px solid #deebf8!important;border-radius:16px!important;
  box-shadow:0 7px 20px rgba(18,62,109,.055)!important;
}
.stbm-app.stbm-member-dashboard .stbm-content-title{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:2px 1px 13px;margin-bottom:19px;border-bottom:1px solid #dce7f5;
}
.stbm-app.stbm-member-dashboard .stbm-content-title h3{
  color:var(--stbm-dashboard-text,#152d4d)!important;
  font-size:clamp(18px,2vw,22px);font-weight:850;margin:0;
}
.stbm-app.stbm-member-dashboard .stbm-content-title span{font-size:12px;color:#758da7;text-align:right}
.stbm-app.stbm-member-dashboard .stbm-card-outer{margin:8px auto 9px!important;padding:0!important}
.stbm-app.stbm-member-dashboard .stbm-id-card{box-shadow:0 12px 25px rgba(7,42,85,.17)!important}
.stbm-app.stbm-member-dashboard .stbm-share{margin:14px auto 19px!important;gap:9px!important;flex-wrap:wrap!important}
.stbm-app.stbm-member-dashboard .stbm-share .stbm-btn-sm{
  background:#124781!important;color:#fff!important;
  border-radius:9px;padding:11px 14px;box-shadow:0 4px 10px rgba(24,70,120,.15);
}
.stbm-app.stbm-member-dashboard .stbm-share .stbm-whatsapp{background:#147445!important}
.stbm-app.stbm-member-dashboard .stbm-details,
.stbm-app.stbm-member-dashboard .stbm-plan-benefits{
  background:var(--stbm-dashboard-surface,#fff)!important;
  border:1px solid #d6e5f7!important;border-radius:14px!important;
  padding:18px 19px!important;box-shadow:none!important;
}
.stbm-app.stbm-member-dashboard .stbm-details h3,
.stbm-app.stbm-member-dashboard .stbm-plan-benefits h3{
  color:#163e73;font-size:19px;font-weight:850;margin:0 0 15px;
}
.stbm-app.stbm-member-dashboard .stbm-details-row{
  padding:10px 5px!important;border-bottom:1px solid #e5edf7;
}
.stbm-app.stbm-member-dashboard .stbm-details-row:last-child{border-bottom:0}
.stbm-app.stbm-member-dashboard .stbm-plan-benefits{margin-top:18px!important}
.stbm-app.stbm-member-dashboard .stbm-btn:hover,
.stbm-app.stbm-member-dashboard button.stbm-btn:hover,
.stbm-app.stbm-member-dashboard .stbm-btn-sm:not(.stbm-whatsapp):hover,
.stbm-app.stbm-member-dashboard button.stbm-btn-sm:hover,
.stbm-app.stbm-member-dashboard .stbm-share a:not(.stbm-whatsapp):hover{
  background:var(--stbm-dashboard-button-hover,#14569d)!important;
  background-image:none!important;color:#fff!important;
}
/* Preserve horizontal navigation choice if configured by admin. */
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;
  padding:11px!important;gap:7px!important;min-height:0;
}
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav>a{width:auto;min-width:120px}
@media(max-width:800px){
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal){grid-template-columns:190px minmax(0,1fr)!important;gap:12px!important}
 .stbm-app.stbm-member-dashboard .stbm-account-content{padding:17px 13px!important}
 .stbm-app.stbm-member-dashboard .stbm-member-head{padding:22px!important}
}
@media(max-width:680px){
 .stbm-app.stbm-member-dashboard{padding:9px 8px 16px!important;margin:0 auto 15px!important;border:0!important;border-radius:0!important}
 .stbm-app.stbm-member-dashboard .stbm-member-head{min-height:124px;padding:17px 14px!important;gap:11px!important;flex-wrap:wrap!important;margin-bottom:12px!important}
 .stbm-app.stbm-member-dashboard .stbm-member-head h2{font-size:clamp(20px,5.4vw,27px)}
 .stbm-app.stbm-member-dashboard .stbm-member-head-actions{width:auto!important;max-width:100%;margin-left:auto;gap:7px}
 .stbm-app.stbm-member-dashboard .stbm-head-bell{padding:8px}
 .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts{padding:13px 11px;margin-bottom:12px}
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal),
 .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  padding:13px 10px!important;align-items:stretch!important;gap:7px!important;
 }
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>.stbm-avatar,
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>strong,
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>small{grid-column:1/-1!important}
 .stbm-app.stbm-member-dashboard .stbm-account-nav>a{
  width:100%!important;min-height:47px;justify-content:flex-start!important;
  padding:10px 9px!important;gap:7px!important;font-size:11px;
 }
 .stbm-app.stbm-member-dashboard .stbm-account-nav .stbm-menu-icon{width:17px;height:17px;flex-basis:17px}
 .stbm-app.stbm-member-dashboard .stbm-account-content{padding:15px 10px!important;border:1px solid #deebf8!important;border-radius:14px!important}
 .stbm-app.stbm-member-dashboard .stbm-details,.stbm-app.stbm-member-dashboard .stbm-plan-benefits{padding:14px 11px!important}
 .stbm-app.stbm-member-dashboard .stbm-content-title{flex-wrap:wrap}
 .stbm-app.stbm-member-dashboard .stbm-content-title span{text-align:left}
}
@media(max-width:360px){
 .stbm-app.stbm-member-dashboard .stbm-member-head-actions{width:100%!important;justify-content:flex-start!important;margin:0}
 .stbm-app.stbm-member-dashboard .stbm-share>*{flex:1 1 42%;min-width:0}
}
@media(prefers-reduced-motion:reduce){
 .stbm-app.stbm-member-dashboard a,.stbm-app.stbm-member-dashboard button{transition:none!important}
}

/* Keep the member identity visible above the two-column mobile menu. */
@media(max-width:680px){
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>.stbm-avatar{display:grid!important}
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>strong,
 .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav>small{display:block!important}
}

/* v1.3.28: monochrome title icons, customizable status badges (colors are server-side inline CSS). */
.stbm-app.stbm-member-dashboard .stbm-heading-label{display:inline-flex;align-items:center;gap:11px;min-width:0;color:inherit;vertical-align:middle;max-width:100%}
.stbm-app.stbm-member-dashboard .stbm-heading-label>span{min-width:0;overflow-wrap:anywhere}
.stbm-app .stbm-section-icon{width:24px;height:24px;flex:0 0 24px;display:inline-block;vertical-align:middle;color:currentColor}
.stbm-app.stbm-member-dashboard .stbm-content-title h3,.stbm-app.stbm-member-dashboard .stbm-details h3,.stbm-app.stbm-member-dashboard .stbm-plan-benefits h3{color:#123e77!important}
.stbm-app.stbm-member-dashboard .stbm-plan-benefits h3{border-bottom:1px solid #dce7f5;padding-bottom:12px}
.stbm-app.stbm-verification-page .stbm-verify-heading-title{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.stbm-app.stbm-verification-page .stbm-verify-heading-title .stbm-section-icon{width:27px;height:27px;flex-basis:27px;color:#123e77}
@media(max-width:540px){.stbm-app.stbm-member-dashboard .stbm-heading-label{gap:8px}.stbm-app .stbm-section-icon{width:20px;height:20px;flex-basis:20px}}
/* Keep heading labels full-sized; earlier content-title span rule is for the subtitle. */
.stbm-app.stbm-member-dashboard .stbm-content-title h3 .stbm-heading-label>span{font-size:inherit!important;color:inherit!important;text-align:left!important;font-weight:inherit!important}
.stbm-app.stbm-member-dashboard .stbm-content-title h3 .stbm-section-icon{color:#123e77!important}
.stbm-app.stbm-member-dashboard .stbm-content-title h3 .stbm-heading-label{font-size:inherit!important;color:inherit!important;text-align:left!important;font-weight:inherit!important}

.stbm-app.stbm-verification-page .stbm-public-benefits h4 .stbm-heading-label{display:inline-flex;align-items:center;gap:9px;font-size:inherit;color:inherit}
.stbm-app.stbm-verification-page .stbm-public-benefits h4 .stbm-section-icon{color:#123e77}


/* v1.3.32 — Large-desktop login centering (tall-screen correction).
   Keeps existing login functionality unchanged and only improves layout balance
   when the viewport is wide/tall. Scoped to the login shortcode page only. */
@media (min-width: 1200px){
  .stbm-app.stbm-login-page{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:min(100%,1280px)!important;
    min-height:max(460px, calc(100vh - 210px))!important;
    margin:0 auto 14px!important;
    padding:24px clamp(18px,2vw,30px) 28px!important;
  }
  .stbm-app.stbm-login-page > .stbm-title{
    width:100%!important;
    max-width:760px!important;
    margin:0 auto 10px!important;
    text-align:center!important;
  }
  .stbm-app.stbm-login-page > .stbm-auth{
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .stbm-app.stbm-login-page .stbm-auth > .stbm-lead{
    margin:0 auto 20px!important;
  }
}


/* v1.3.33 — Auth + short-state desktop layout consistency.
   These short pages should be centered in the usable page region. We do NOT
   vertically center registration, member dashboards, payment/bank pages, or
   verification detail pages: those need ordinary document scrolling.
   Min-height (not fixed height) keeps long validation messages accessible.
   Scope to shortcode wrappers, never global WP or site header/footer. */
@media (min-width: 900px) and (min-height: 640px){
  .stbm-app.stbm-login-page,
  .stbm-app.stbm-reset-page,
  .stbm-app.stbm-state-page{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-height:max(440px, calc(100vh - 205px))!important;
    min-height:max(440px, calc(100svh - 205px))!important;
    margin:0 auto 12px!important;
    padding:22px clamp(14px,2.5vw,32px) 26px!important;
    overflow:visible;
  }
  .stbm-app.stbm-login-page>.stbm-title,
  .stbm-app.stbm-reset-page>.stbm-title,
  .stbm-app.stbm-state-page>.stbm-title{
    width:100%!important;
    max-width:760px!important;
    text-align:center!important;
    margin:0 auto 12px!important;
  }
  .stbm-app.stbm-login-page>.stbm-auth,
  .stbm-app.stbm-reset-page>.stbm-auth{
    width:100%!important;
    max-width:460px!important;
    margin:0 auto!important;
    padding:0 3px!important;
  }
  .stbm-app.stbm-state-page>.stbm-account-cta{
    width:100%;
    margin:10px auto 0!important;
    text-align:center;
  }
  .stbm-app.stbm-state-page>.stbm-signed-in-message{
    margin:0 auto 4px!important;
    text-align:center;
  }
}
/* For small or short screens, preserve the natural top-to-bottom layout.
   Overflow safely when keyboard opens or additional error messages appear. */
@media (max-width: 899px), (max-height: 639px){
  .stbm-app.stbm-state-page{
    text-align:center;
    padding-top:20px!important;
    margin-top:8px!important;
  }
  .stbm-app.stbm-state-page>.stbm-title{margin:4px auto 12px!important;}
}

/* Short informational account states can center on tall touch screens too.
   Password entry forms remain top-aligned for keyboard usability. */
@media (max-width: 899px) and (min-height: 700px){
  .stbm-app.stbm-state-page{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:max(430px, calc(100svh - 155px))!important;
    padding:20px 12px!important;
    margin:0 auto 12px!important;
  }
}


/* v1.3.37 — Reference-inspired mobile Member Dashboard only.
   Desktop layout, other shortcodes, admin screens and server-side logic are untouched.
   The bottom tabs are actual section links, not a visual-only overlay. */
.stbm-app.stbm-member-dashboard .stbm-mobile-tabs,
.stbm-app.stbm-member-dashboard .stbm-mobile-head-avatar,
.stbm-app.stbm-member-dashboard .stbm-member-mobile-logout { display:none; }

@media screen and (max-width:680px){
  .stbm-app.stbm-member-dashboard{
    --stbm-mobile-ink:#102c50;
    --stbm-mobile-blue:#104b85;
    width:100%!important;max-width:100%!important;
    margin:0 auto!important;
    padding:16px 12px calc(98px + env(safe-area-inset-bottom, 0px))!important;
    background:#f2f5fb!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;overflow:visible!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-member-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    flex-wrap:nowrap!important;min-height:0!important;
    gap:10px!important;padding:11px 2px 16px!important;
    margin:0 0 9px!important;
    border:0!important;border-radius:0!important;
    box-shadow:none!important;background:transparent!important;color:var(--stbm-mobile-ink)!important;
    overflow:visible!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-member-head:before,
  .stbm-app.stbm-member-dashboard .stbm-member-head:after{display:none!important;}
  .stbm-app.stbm-member-dashboard .stbm-head-identity{
    display:flex!important;align-items:center!important;gap:12px!important;
    min-width:0!important;flex:1 1 auto!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-head-avatar{
    width:43px;height:43px;flex:0 0 43px;
    display:grid!important;place-items:center;
    background:#104b85;color:#fff;border-radius:50%;
    font-size:23px;font-weight:850;line-height:1;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-intro{min-width:0;flex:1;}
  .stbm-app.stbm-member-dashboard .stbm-member-head .stbm-chip{
    display:block!important;background:transparent!important;padding:0!important;
    color:#677b93!important;font-size:10px!important;letter-spacing:.15em!important;
    font-weight:750!important;line-height:1.3!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-member-head h2{
    color:var(--stbm-mobile-ink)!important;font-size:clamp(17px,4.6vw,23px)!important;
    line-height:1.25!important;letter-spacing:-.015em!important;
    margin:3px 0 0!important;font-weight:850!important;
    overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-member-head p{display:none!important;}
  .stbm-app.stbm-member-dashboard .stbm-member-head-actions{
    flex:0 0 auto!important;width:auto!important;max-width:none!important;
    display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
    justify-content:flex-end!important;gap:5px!important;margin:0!important;
    align-self:center!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-bell{
    position:relative;min-height:42px;width:42px;padding:6px!important;
    display:flex!important;align-items:center;justify-content:center;
    border-radius:50%!important;border:1px solid #d5dfec!important;
    background:#fff!important;color:#143d6b!important;
    box-shadow:none!important;text-decoration:none!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-bell.has-alert{background:#fff!important;}
  .stbm-app.stbm-member-dashboard .stbm-head-bell-icon{font-size:19px;}
  .stbm-app.stbm-member-dashboard .stbm-head-bell-count{
    position:absolute;top:-4px;right:-4px;
    min-width:19px;height:19px;padding:1px 4px;
    font-size:11px;line-height:17px;box-shadow:0 0 0 2px #fff;
  }
  .stbm-app.stbm-member-dashboard .stbm-current-status{display:none!important;}
  .stbm-app.stbm-member-dashboard a.stbm-member-mobile-logout{
    display:flex!important;width:34px;height:40px;flex:0 0 34px;
    align-items:center;justify-content:center;border-radius:9px;
    color:#516c88!important;background:transparent!important;
    text-decoration:none!important;
  }
  .stbm-app.stbm-member-dashboard a.stbm-member-mobile-logout .stbm-menu-icon{
    width:20px;height:20px;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts{
    padding:12px 14px!important;margin:8px 0 16px!important;
    background:#fff2d8!important;border:0!important;border-left:4px solid #edaa30!important;
    border-radius:13px!important;box-shadow:none!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alert-title{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:10px!important;padding:0 0 9px!important;margin:0!important;
    color:#85500d!important;border-bottom:1px solid #ecd6aa!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alert-title strong{font-size:15px!important;line-height:1.4;}
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alert-title a{
    flex-shrink:0!important;color:#12539b!important;font-size:12px!important;font-weight:750;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-alert-row{
    display:block!important;margin:0!important;padding:9px 0!important;
    background:transparent!important;border:0!important;
    border-bottom:1px solid #ecd6aa!important;border-radius:0!important;
    color:#163457!important;font-size:13px!important;line-height:1.45!important;
    overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-alert-row:last-child{border-bottom:0!important;padding-bottom:1px!important;}
  .stbm-app.stbm-member-dashboard .stbm-alert-row .stbm-alert-icon{display:none!important;}
  .stbm-app.stbm-member-dashboard .stbm-alert-row .stbm-alert-type{
    display:inline-block!important;background:#ffe5b5!important;color:#8e5712!important;
    border-radius:20px!important;padding:2px 9px!important;font-size:11px!important;font-weight:700!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-alert-row strong{display:block;font-size:13px;line-height:1.45;margin:4px 0 2px;}
  .stbm-app.stbm-member-dashboard .stbm-alert-row small{display:block;color:#7d858d;font-size:11px;}
  .stbm-app.stbm-member-dashboard .stbm-account,
  .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal,
  .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal){
    display:block!important;width:100%!important;min-width:0!important;margin:0!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-account .stbm-account-nav,
  .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav{
    display:none!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-account-content{
    display:block!important;background:transparent!important;border:0!important;
    border-radius:0!important;box-shadow:none!important;
    margin:0!important;padding:0!important;min-height:0!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-content-title{
    border:0!important;padding:0!important;margin:13px 0 10px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-content-title h3{
    color:var(--stbm-mobile-ink)!important;font-size:clamp(19px,5.4vw,23px)!important;
    line-height:1.35!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-content-title>span{display:none!important;}
  .stbm-app.stbm-member-dashboard .stbm-card-outer{width:100%!important;margin:0 auto 11px!important;}
  .stbm-app.stbm-member-dashboard .stbm-id-card{
    width:100%!important;max-width:500px!important;
    min-height:220px!important;aspect-ratio:1.63/1!important;
    margin:0 auto!important;border-radius:18px!important;
    background:#104b85!important;color:#fff!important;
    box-shadow:0 9px 24px rgba(17,57,106,.14)!important;
    padding:20px 18px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-card-brand b{font-size:11px!important;line-height:1.3!important;}
  .stbm-app.stbm-member-dashboard .stbm-card-brand small{font-size:10px!important;}
  .stbm-app.stbm-member-dashboard .stbm-member-name{font-size:clamp(17px,5vw,23px)!important;}
  .stbm-app.stbm-member-dashboard .stbm-member-number{font-size:14px!important;}
  .stbm-app.stbm-member-dashboard .stbm-qr{min-width:88px!important;min-height:88px!important;}
  .stbm-app.stbm-member-dashboard .stbm-qr canvas{width:84px!important;height:84px!important;}
  .stbm-app.stbm-member-dashboard .stbm-share{
    width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;margin:10px 0 17px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-share>*{width:100%!important;min-width:0!important;max-width:none!important;}
  .stbm-app.stbm-member-dashboard .stbm-share .stbm-btn-sm{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:45px!important;padding:10px 6px!important;
    border-radius:10px!important;font-size:13px!important;font-weight:750!important;
    color:#fff!important;background:#104b85!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-share .stbm-whatsapp{background:#188345!important;}
  .stbm-app.stbm-member-dashboard .stbm-details,
  .stbm-app.stbm-member-dashboard .stbm-plan-benefits,
  .stbm-app.stbm-member-dashboard .stbm-payment-box,
  .stbm-app.stbm-member-dashboard .stbm-pending-card{
    width:100%!important;max-width:100%!important;padding:16px 15px!important;
    background:#fff!important;border:1px solid #dce4f1!important;
    border-radius:16px!important;box-shadow:none!important;
    margin:0 0 14px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-details h3,
  .stbm-app.stbm-member-dashboard .stbm-plan-benefits h3{font-size:19px!important;}
  .stbm-app.stbm-member-dashboard .stbm-details-row{gap:10px;padding:11px 0!important;}
  .stbm-app.stbm-member-dashboard .stbm-details-row>span{color:#6b809a!important;}
  .stbm-app.stbm-member-dashboard .stbm-details-row>b{
    text-align:right!important;max-width:68%!important;overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-plan-benefits{margin-top:14px!important;}
  /* Real navigation elements: all tabs retain the same server URLs and security. */
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    position:fixed!important;left:0;right:0;bottom:0;z-index:900!important;
    width:100%!important;max-width:100%!important;
    padding:7px 5px calc(8px + env(safe-area-inset-bottom, 0px))!important;
    background:#fff!important;border-top:1px solid #dce4f1!important;
    box-shadow:0 -3px 12px rgba(15,47,90,.045)!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab{
    display:flex!important;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;min-width:0;min-height:53px;padding:5px 1px!important;
    border-radius:10px;text-align:center;text-decoration:none!important;
    color:#58718e!important;font-weight:550;font-size:10px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab .stbm-menu-icon{
    width:24px;height:24px;flex:0 0 24px;color:currentColor;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab span{
    display:block;white-space:nowrap;font-size:10px;line-height:1.25;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected{
    color:#104b85!important;font-weight:800!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected .stbm-menu-icon{
    border-radius:50%;background:#e4effb;padding:2px;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs a:focus-visible,
  .stbm-app.stbm-member-dashboard .stbm-member-mobile-logout:focus-visible{
    outline:2px solid #1f6ec0!important;outline-offset:1px;
  }
}
@media screen and (max-width:360px){
  .stbm-app.stbm-member-dashboard{padding-inline:9px!important;}
  .stbm-app.stbm-member-dashboard .stbm-head-identity{gap:8px!important;}
  .stbm-app.stbm-member-dashboard .stbm-mobile-head-avatar{width:37px;height:37px;flex-basis:37px;font-size:20px;}
  .stbm-app.stbm-member-dashboard .stbm-member-head h2{font-size:16px!important;}
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab span{font-size:9px!important;}
  .stbm-app.stbm-member-dashboard .stbm-id-card{padding:14px 12px!important;}
}
@media print{
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs{display:none!important;}
}


/* v1.3.38 — Mobile navigation, alignment and theme-spacing corrections.
   Only member-facing routes receive stbm-member-front-page from body_class.
   Theme header, desktop dashboard and WordPress Admin remain untouched. */
@media screen and (max-width:767px){
  body.stbm-member-front-page .site-content,
  body.stbm-member-front-page .site-content > .ast-container,
  body.stbm-member-front-page .site-content #primary,
  body.stbm-member-front-page #primary,
  body.stbm-member-front-page main.site-main,
  body.stbm-member-front-page .entry-content,
  body.stbm-member-front-page .wp-block-post-content,
  body.stbm-member-front-page .wp-site-blocks > main,
  body.stbm-member-front-page .entry-content > .wp-block-shortcode:first-child {
    margin-block-start:0!important;
    padding-block-start:0!important;
  }
  body.stbm-member-front-page .stbm-app {
    margin-block-start:0!important;
  }
}
@media screen and (max-width:680px){
  /* The desktop card/sidebar is never part of the mobile interface. */
  .stbm-app.stbm-member-dashboard .stbm-account .stbm-account-nav,
  .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav,
  .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal) .stbm-account-nav,
  .stbm-app.stbm-member-dashboard aside.stbm-account-nav{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-account,
  .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal,
  .stbm-app.stbm-member-dashboard .stbm-account:not(.stbm-layout-horizontal){
    display:block!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-member-head h2{
    font-size:clamp(14px,3.8vw,18px)!important;
    line-height:1.28!important;
    letter-spacing:-.02em!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-identity{gap:8px!important;}
  .stbm-app.stbm-member-dashboard .stbm-mobile-head-avatar{
    width:38px!important;height:38px!important;flex:0 0 38px!important;font-size:20px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-bell{width:39px!important;min-height:39px!important;}
  /* Consistent label/value columns on My Card and Profile Details. */
  .stbm-app.stbm-member-dashboard .stbm-account-content .stbm-details-row{
    display:grid!important;
    grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    padding:12px 1px!important;
    width:100%!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-account-content .stbm-details-row>span{
    width:auto!important;min-width:0!important;max-width:100%!important;
    line-height:1.45!important;text-align:left!important;overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-account-content .stbm-details-row>b{
    display:block!important;min-width:0!important;width:100%!important;
    max-width:100%!important;justify-self:end!important;
    text-align:right!important;overflow-wrap:anywhere!important;
    word-break:normal!important;line-height:1.45!important;
  }
  /* Five real tabs; long Announcements label can wrap without overflow. */
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab{
    min-height:60px!important;
    color:#637b95!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab span{
    white-space:normal!important;overflow-wrap:anywhere!important;
    line-height:1.2!important;max-width:100%;text-wrap:balance;
    font-size:clamp(9px,2.6vw,11px)!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:last-child span{
    font-size:clamp(8px,2.35vw,9.5px)!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab[aria-current="page"]{
    color:#183d6a!important;font-weight:800!important;
    background:#eaf1fc!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected .stbm-menu-icon{
    color:#183d6a!important;background:transparent!important;
  }
  /* Keep actionable payment instructions visible before the table. */
  .stbm-app.stbm-member-dashboard .stbm-payment-box,
  .stbm-app.stbm-member-dashboard .stbm-bank-revisit{
    min-width:0!important;max-width:100%!important;
  }
}


/* v1.3.38 — Mobile member card clipping fix.
   Fixed aspect ratio + large QR previously cut off the expiry, QR and status.
   Allow card to grow vertically with long names and custom badge labels.
   Scoped only to the member dashboard (not public QR verification/desktop). */
@media screen and (max-width:680px){
  .stbm-app.stbm-member-dashboard .stbm-card-outer{
    width:100%!important;max-width:100%!important;
    margin:0 auto 12px!important;padding:0!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card:not(.stbm-public-card){
    display:flex!important;flex-direction:column!important;
    justify-content:flex-start!important;
    aspect-ratio:auto!important;
    height:auto!important;
    min-height:280px!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:clamp(15px,4.2vw,20px)!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-brand{
    flex:0 0 auto;min-width:0;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-brand>div{
    min-width:0;overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-label{
    display:block;margin:13px 0 5px!important;line-height:1.3!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-member-name{
    flex-shrink:0!important;overflow-wrap:anywhere!important;
    font-size:clamp(16px,4.6vw,21px)!important;
    line-height:1.23!important;margin:0 0 3px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-member-number{
    flex-shrink:0!important;line-height:1.35!important;
    margin:0 0 10px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom{
    position:relative!important;z-index:1!important;
    flex:0 0 auto!important;
    display:flex!important;align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-top:auto!important;padding-top:9px!important;
    min-height:92px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom>div:first-child{
    min-width:0!important;max-width:calc(100% - 90px)!important;
    display:flex!important;flex-direction:column!important;
    align-items:flex-start!important;gap:5px!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom small,
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom b{
    display:block!important;line-height:1.3!important;
    overflow-wrap:anywhere!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom .stbm-qr{
    width:clamp(70px,23vw,90px)!important;
    height:auto!important;aspect-ratio:1/1!important;
    flex:0 0 auto!important;
    min-width:0!important;min-height:0!important;
    padding:3px!important;
    align-self:flex-end!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-id-card .stbm-card-bottom .stbm-qr canvas{
    display:block!important;width:100%!important;height:auto!important;
    aspect-ratio:1/1!important;
  }
}


/* v1.3.39: Member-only mobile theme content gap correction. These selectors
   never affect wp-admin, the global theme navigation or unrelated pages. */
@media screen and (max-width:767px){
  body.stbm-member-front-page .entry-header,
  body.stbm-member-front-page .page-header,
  body.stbm-member-front-page .ast-single-post-order > .entry-header{
    display:none!important;
  }
  body.stbm-member-front-page #content,
  body.stbm-member-front-page .site-content,
  body.stbm-member-front-page #primary,
  body.stbm-member-front-page .content-area,
  body.stbm-member-front-page main.site-main,
  body.stbm-member-front-page article.page,
  body.stbm-member-front-page .entry-content,
  body.stbm-member-front-page .wp-block-post-content,
  body.stbm-member-front-page .elementor-widget-shortcode,
  body.stbm-member-front-page .elementor-widget-shortcode > .elementor-widget-container{
    margin-top:0!important;padding-top:0!important;
  }
  body.stbm-member-front-page .site-content > .ast-container,
  body.stbm-member-front-page #primary > main,
  body.stbm-member-front-page .entry-content > .wp-block-shortcode:first-child{
    margin-top:0!important;padding-top:0!important;
  }
  body.stbm-member-account-page .stbm-app.stbm-member-dashboard{
    margin-top:0!important;
  }
}

/* Mobile member greeting: slightly larger without squeezing the bell/logout. */
@media screen and (max-width:680px){
  .stbm-app.stbm-member-dashboard .stbm-member-head h2{
    font-size:clamp(16px,4.5vw,20px)!important;
    line-height:1.35!important;
    overflow-wrap:anywhere;
  }
  .stbm-app.stbm-member-dashboard .stbm-head-intro{
    min-width:0!important;flex:1 1 auto!important;
  }
  /* Preserve 24px menu icon geometry in hover, active and selected states. */
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab{
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transform:none!important;scale:1!important;
    transition:color .14s ease!important;
    background:transparent!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab .stbm-menu-icon,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:hover .stbm-menu-icon,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:active .stbm-menu-icon,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected .stbm-menu-icon{
    display:block!important;
    box-sizing:border-box!important;
    width:24px!important;height:24px!important;
    min-width:24px!important;min-height:24px!important;
    flex:0 0 24px!important;
    padding:0!important;margin:0!important;
    border:0!important;border-radius:0!important;
    background:transparent!important;
    transform:none!important;scale:1!important;
    transition:color .14s ease!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:active,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:hover{
    opacity:1!important;transform:none!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab.selected,
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab[aria-current="page"]{
    background:transparent!important;color:#183d6a!important;
  }
  .stbm-app.stbm-member-dashboard .stbm-mobile-tabs .stbm-mobile-tab:last-child span{
    font-size:clamp(8.5px,2.45vw,10px)!important;
    letter-spacing:-.02em!important;
  }
}

/* v1.3.39: Auth and reset screens are vertically centered on mobile as well.
   Use min-height rather than fixed height so errors, keyboards and Turnstile
   never clip the form. Long registration/dashboard pages still scroll naturally. */
@media screen and (max-width:899px) and (min-height:600px){
  .stbm-app.stbm-login-page,
  .stbm-app.stbm-reset-page,
  .stbm-app.stbm-new-password-page,
  .stbm-app.stbm-state-page{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-height:max(380px, calc(100svh - 175px))!important;
    height:auto!important;max-height:none!important;
    margin:0 auto!important;
    padding:18px clamp(12px,4vw,22px) 22px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .stbm-app.stbm-login-page > .stbm-title,
  .stbm-app.stbm-reset-page > .stbm-title,
  .stbm-app.stbm-state-page > .stbm-title{
    width:100%!important;
    max-width:540px!important;
    text-align:center!important;
    margin:0 auto 12px!important;
  }
  .stbm-app.stbm-login-page > .stbm-auth,
  .stbm-app.stbm-reset-page > .stbm-auth{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:460px!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .stbm-app.stbm-state-page>.stbm-account-cta{
    width:100%;margin:12px auto 0!important;
  }
}
@media screen and (max-width:899px) and (max-height:599px){
  /* Landscape phones and open keyboards: don't force an inaccessible center. */
  .stbm-app.stbm-login-page,
  .stbm-app.stbm-reset-page,
  .stbm-app.stbm-state-page{
    min-height:0!important;
    height:auto!important;
    margin:0 auto!important;
  }
}

/* v1.3.40 — Scoped mobile WordPress theme gap + no-flash dashboard tabs.
   Site header, admin screens, other public pages and desktop remain intact. */
@media screen and (max-width:767px){
  body.stbm-member-front-page .wp-site-blocks > main,
  body.stbm-member-front-page .wp-site-blocks > .wp-block-group:has(.stbm-app),
  body.stbm-member-front-page .site-content,
  body.stbm-member-front-page .site-content > .container,
  body.stbm-member-front-page .site-content > .ast-container,
  body.stbm-member-front-page .content-area,
  body.stbm-member-front-page #primary,
  body.stbm-member-front-page .site-main,
  body.stbm-member-front-page article.page,
  body.stbm-member-front-page .entry-content,
  body.stbm-member-front-page .wp-block-post-content,
  body.stbm-member-front-page .elementor-widget-shortcode,
  body.stbm-member-front-page .elementor-widget-shortcode > .elementor-widget-container{
    margin-block-start:0!important;
    padding-block-start:0!important;
  }
  body.stbm-member-front-page .wp-site-blocks > .wp-block-spacer,
  body.stbm-member-account-page .site-content > .wp-block-spacer{
    display:none!important;
  }
  body.stbm-member-front-page .entry-header,
  body.stbm-member-front-page .page-header,
  body.stbm-member-front-page .ast-single-post-order > .entry-header{display:none!important;}
  body.stbm-member-front-page .stbm-app.stbm-member-dashboard{padding-top:8px!important;}
  body.stbm-member-front-page .stbm-app.stbm-member-dashboard #stbm-live-notices[hidden]{display:none!important;}
}
.stbm-app.stbm-member-dashboard .stbm-account-content[aria-busy="true"]{
  pointer-events:none;
}
/* v1.3.45: No visual loading bar above member panels during AJAX tab changes.
   The aria-busy state and existing request/abort/fallback behavior remain active.
   Keep the previous content visible until the new panel HTML is ready. */
.stbm-app.stbm-member-dashboard .stbm-dynamic-nav-error{margin:0 0 12px!important;}
@media (prefers-reduced-motion: reduce){
 .stbm-app.stbm-member-dashboard .stbm-mobile-tabs a{transition:none!important;}
}


/* v1.3.41 — Accessible password visibility and mobile membership layout. */
.stbm-app .stbm-password-control{
 display:block;position:relative;min-width:0;width:100%;margin:0;
}
.stbm-app .stbm-password-control > input:not([type=checkbox]){
 width:100%!important;max-width:100%!important;
 padding-inline-end:51px!important;
}
.stbm-app .stbm-password-toggle{
 position:absolute!important;z-index:3;inset-inline-end:6px;top:50%;
 transform:translateY(-50%)!important;display:grid!important;
 place-items:center!important;width:40px!important;height:40px!important;
 min-width:40px!important;min-height:40px!important;
 padding:0!important;margin:0!important;border:0!important;
 border-radius:8px!important;background:transparent!important;
 color:#49627f!important;box-shadow:none!important;cursor:pointer;
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.stbm-app .stbm-password-toggle:hover,.stbm-app .stbm-password-toggle[aria-pressed="true"]{
 color:var(--stbm-primary,#183d6a)!important;background:#ecf3fc!important;
}
.stbm-app .stbm-password-toggle:focus-visible{
 outline:2px solid var(--stbm-primary,#183d6a)!important;outline-offset:1px;
}
.stbm-app .stbm-password-toggle svg{display:block!important;width:21px;height:21px;pointer-events:none;}
.stbm-app .stbm-password-toggle .stbm-eye-strike{display:none;}
.stbm-app .stbm-password-toggle[aria-pressed="true"] .stbm-eye-strike{display:block;}
@media screen and (max-width:767px){
 /* All member shortcodes, including Register, Renew and public Verify, use the
    same zero-top theme wrapper spacing without changing the theme header. */
 body.stbm-member-front-page .site-content > .container,
 body.stbm-member-front-page .site-content > .ast-container,
 body.stbm-member-front-page .site-content > .site-container,
 body.stbm-member-front-page .site-main > article:first-child,
 body.stbm-member-front-page .entry-content > .wp-block-group:first-child,
 body.stbm-member-front-page .entry-content > .elementor:first-child,
 body.stbm-member-front-page .wp-block-post-content > .wp-block-group:first-child{
  margin-block-start:0!important;padding-block-start:0!important;
 }
 body.stbm-member-front-page .entry-content > .wp-block-spacer:first-child,
 body.stbm-member-front-page .wp-block-post-content > .wp-block-spacer:first-child{
  display:none!important;
 }
 body.stbm-member-front-page .stbm-app .stbm-registration{
  padding-block-start:0!important;margin-block-start:0!important;
 }
 body.stbm-member-front-page .stbm-app .stbm-register-head{
  margin-block-start:0!important;
 }
}


/* v1.3.42 — Consistent mobile WordPress theme / shortcode boundary.
   Membership shortcode pages only. Avoid modifying global header or desktop. */
@media screen and (max-width:767px){
  body.stbm-member-front-page :is(#content,.site-content,#primary,.content-area,main.site-main,article.page,.entry-content,.wp-block-post-content)
  {padding-block-start:0!important;}
  body.stbm-member-front-page :is(.entry-content,.wp-block-post-content) > :is(.wp-block-spacer,.elementor-spacer):first-child
  {display:none!important;}
  body.stbm-member-front-page :is(.entry-content,.wp-block-post-content) > :is(.wp-block-shortcode,.elementor-widget-shortcode):first-child
  {margin-block-start:0!important;padding-block-start:0!important;}
  /* Preserve auth vertical centering and the mobile dashboard bottom nav. */
}


/* v1.3.44 — Remove empty theme footer blocks on mobile membership pages.
   Nonempty footer/copyright/navigation content remains untouched. */
@media only screen and (max-width:767px){
  body.stbm-member-front-page [data-stbm-empty-theme-footer="1"],
  body.stbm-member-front-page footer[data-stbm-empty-theme-footer="1"],
  body.stbm-member-front-page #colophon[data-stbm-empty-theme-footer="1"],
  body.stbm-member-front-page .site-footer[data-stbm-empty-theme-footer="1"],
  body.stbm-member-front-page [role="contentinfo"][data-stbm-empty-theme-footer="1"]{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  /* Notifications with no entries should use normal content height. */
  body.stbm-member-account-page .stbm-app.stbm-member-dashboard
  .stbm-account[data-stbm-section="news"] .stbm-account-content,
  body.stbm-member-account-page .stbm-app.stbm-member-dashboard
  .stbm-account[data-stbm-section="news"] #stbm-full-notices{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}


/* v1.3.46 — Member-only mobile header edge and short Notifications footer.
   Keep the site's desktop header/footer untouched. A thin divider left on
   custom themes should not create a visible blue stripe above the dashboard.
   Pseudo-element spans the viewport because some shortcode wrappers are inset. */
@media screen and (max-width:767px){
  body.stbm-member-account-page :is(
    #masthead,#site-header,.site-header,.header-area,.header-wrapper,
    .main-header,.site-branding,.site-header-inner
  ){
    border-bottom:0!important;
  }
  body.stbm-member-account-page .stbm-app.stbm-member-dashboard{
    position:relative!important;
  }
  /* Paint over residual theme separator or 1–6px empty boundary left by
     outside wrappers, without moving the theme logo or creating layout space. */
  body.stbm-member-account-page .stbm-app.stbm-member-dashboard::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:-8px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:100vw!important;
    height:8px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    pointer-events:none!important;
    background:#f2f5fb!important;
    z-index:1!important;
  }
  /* In Notifications, a very short panel may expose the theme's large blue
     footer band. Collapse oversized spacing and remove decorative background,
     while preserving actual footer text and links in normal document flow. */
  body.stbm-member-account-page.stbm-member-news-view :is(
    footer,#colophon,#footer,.site-footer,.footer-area,.footer-wrapper,
    .footer-widgets,.footer-bottom,.footer-container,.footer-main,
    .site-footer-wrap,.site-info,[role="contentinfo"]
  ){
    min-height:0!important;
    height:auto!important;
    padding-block:0!important;
    margin-block:0!important;
    background-color:transparent!important;
    background-image:none!important;
    color:#536b83!important; /* keep copyright legible on light portal background */
    border:0!important;
    box-shadow:none!important;
  }
  body.stbm-member-account-page.stbm-member-news-view :is(
    footer,#colophon,#footer,.site-footer,.footer-area,.footer-wrapper,
    .footer-widgets,.footer-bottom,.footer-container,.footer-main,
    .site-footer-wrap,[role="contentinfo"]
  )::before,
  body.stbm-member-account-page.stbm-member-news-view :is(
    footer,#colophon,#footer,.site-footer,.footer-area,.footer-wrapper,
    .footer-widgets,.footer-bottom,.footer-container,.footer-main,
    .site-footer-wrap,[role="contentinfo"]
  )::after{
    /* Decorative footer overlays must not paint a blank navy block. */
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }
}

@media screen and (max-width:767px){
  body.stbm-member-account-page.stbm-member-news-view :is(
    footer,#colophon,#footer,.site-footer,.footer-area,.footer-wrapper,
    .footer-bottom,.site-info,[role="contentinfo"]
  ) a{color:#183d6a!important;}
}


/* v1.3.47 — Remove decorative WordPress theme footers below SHORT mobile
   member pages, including Profile and Notifications. Runtime class is applied
   after detecting this shortcode, so custom page builders are also covered.
   Preserve meaningful footer links/copyright rather than hiding them. */
@media screen and (max-width:767px){
  body.stbm-member-dashboard-runtime [data-stbm-account-footer="empty"]{
    display:none!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  body.stbm-member-dashboard-runtime [data-stbm-account-footer="content"]{
    min-height:0!important;
    height:auto!important;
    margin-block:0!important;
    padding-block:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.stbm-member-dashboard-runtime [data-stbm-account-footer="content"]::before,
  body.stbm-member-dashboard-runtime [data-stbm-account-footer="content"]::after{
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* v1.3.48 — Member profile password form; normal desktop & mobile layout. */
.stbm-app .stbm-profile-password{
 margin:26px 0 6px;border:1px solid #d9e4f0;border-radius:14px;
 background:#fff;overflow:hidden;
}
.stbm-app .stbm-profile-password>summary{
 cursor:pointer;display:list-item;list-style:revert;padding:16px 21px;
 font-size:16px;font-weight:750;color:#183d6a;background:#f5f8fd;
}
.stbm-app .stbm-profile-password>summary:focus-visible{outline:2px solid #183d6a;outline-offset:-3px}
.stbm-app .stbm-profile-password-content{padding:18px 20px 22px;max-width:500px}
.stbm-app .stbm-profile-password-content>p{color:#526780;font-size:13px;margin:0 0 15px}
.stbm-app .stbm-profile-password .stbm-field{margin-bottom:15px}
@media(max-width:767px){
 .stbm-app .stbm-profile-password{margin-top:25px}
 .stbm-app .stbm-profile-password-content{padding:15px}
 /* Account has its own five-tab mobile bar. Remove the external theme footer,
    which previously showed a large blank navy panel below short sections.
    This does not affect other WordPress pages or desktop footers. */
 body.stbm-member-account-page :is(footer,#colophon,#footer,.site-footer,
  .footer-area,.footer-wrapper,.footer-widgets,.footer-bottom,
  .footer-container,.footer-main,.site-footer-wrap,[role="contentinfo"]):not(.stbm-app *){
  display:none!important;
 }
 body.stbm-member-dashboard-runtime [data-stbm-mobile-footer-blank="1"]{
  display:none!important;min-height:0!important;height:0!important;
  margin:0!important;padding:0!important;
 }
 body.stbm-member-account-page{background-color:#f2f5fb!important;}
}


/* v1.3.53 — Hide only the original bar while the keyboard dock is active.
   No layout viewport bottom offsets or scrolling transforms are used. */
@media screen and (max-width:680px){
 body.stbm-mobile-keyboard-open .stbm-app.stbm-member-dashboard .stbm-mobile-tabs{
  visibility:hidden!important;
  pointer-events:none!important;
 }
 body.stbm-mobile-keyboard-open .stbm-app.stbm-member-dashboard :is(input,textarea,select,[contenteditable="true"]){
  scroll-margin-bottom:80px!important;
 }
 body>.stbm-mobile-keyboard-dock:not([hidden]){
  position:fixed!important;
  left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;max-width:100%!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  z-index:2147483000!important;
  padding:4px 5px 0!important;
  margin:0!important;
  background:#fff!important;border-top:1px solid #dce4f1!important;
  box-shadow:0 -3px 12px rgba(15,47,90,.045)!important;
  transform:none!important;transition:none!important;
  box-sizing:border-box!important;
 }
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  gap:2px!important;min-width:0!important;min-height:53px!important;
  padding:5px 1px!important;margin:0!important;border-radius:10px!important;
  color:#58718e!important;background:transparent!important;
  font-size:10px!important;font-weight:550!important;text-align:center!important;
  text-decoration:none!important;-webkit-tap-highlight-color:transparent;
  transform:none!important;transition:none!important;
 }
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab .stbm-menu-icon{
  display:block!important;width:24px!important;height:24px!important;
  min-width:24px!important;min-height:24px!important;
  flex:0 0 24px!important;padding:0!important;
  transform:none!important;transition:none!important;
 }
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab span{
  display:block!important;white-space:nowrap!important;
  font-size:clamp(8px,2.4vw,10px)!important;line-height:1.25!important;
 }
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab.selected,
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab[aria-current="page"]{
  color:#183d6a!important;font-weight:800!important;
 }
 body>.stbm-mobile-keyboard-dock .stbm-mobile-tab:focus-visible{
  outline:2px solid #183d6a!important;outline-offset:-2px;
 }
}
body>.stbm-mobile-keyboard-dock[hidden]{display:none!important;}
@media screen and (min-width:681px){body>.stbm-mobile-keyboard-dock{display:none!important;}}

/* v1.3.51 — Dedicated Bank Details / legacy Payment Details page.
   This page uses the plugin shortcode but does not have the member-dashboard
   body class. Only remove the external THEME footer on this particular mobile
   membership page; never remove bank information or account controls. */
@media screen and (max-width:767px){
 body.stbm-member-bank-page{background:#f2f5fb!important;}
 body.stbm-member-bank-page :is(#page,.site,.wp-site-blocks,#content,.site-content){
  background-color:#f2f5fb!important;
 }
 body.stbm-member-bank-page :is(footer,#colophon,#footer,.site-footer,
  .footer-area,.footer-wrapper,.footer-widgets,.footer-bottom,
  .footer-container,.footer-main,.site-footer-wrap,.site-info,[role="contentinfo"]):not(.stbm-app *){
  display:none!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
 }
 body.stbm-member-bank-page .stbm-app{margin-bottom:0!important;}
}


/* v1.3.54 — Android Chromium/Brave: the layout viewport itself shrinks above
   Gboard when interactive-widget=resizes-content is active. Keep a single
   BODY-level menu at bottom:0; no transforms, top offsets or viewport guesses.
   The in-app nav remains in the DOM as the authenticated AJAX click target. */
@media screen and (max-width:680px){
 body.stbm-resize-content-nav .stbm-app.stbm-member-dashboard .stbm-mobile-tabs{
  visibility:hidden!important;pointer-events:none!important;
 }
 body.stbm-resize-content-nav > .stbm-mobile-keyboard-dock:not([hidden]){
  top:auto!important;bottom:0!important;left:0!important;right:0!important;
  transform:none!important;position:fixed!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
 }
 body.stbm-resize-content-nav .stbm-app.stbm-member-dashboard :is(input,textarea,select,[contenteditable="true"]){
  scroll-margin-bottom:85px!important;
 }
 html:has(body.stbm-resize-content-nav){scroll-padding-bottom:85px;}
}


/* v1.3.56 — Renewal/choose-plan page ONLY: avoid an exposed white HTML/body
   background below its dark page area on phones with a viewport safe-area.
   This deliberately does not attempt to hide or style Android's OS-owned
   gesture-navigation bar, and does not alter the theme footer or account tabs. */
@media screen and (max-width:767px){
  html:has(body.stbm-member-renew-page),
  body.stbm-member-renew-page{
    background-color:#1a2b3d!important;
  }
  body.stbm-member-renew-page :is(#page,.site,.site-content,#content,#primary,main.site-main,article.page,.entry-content,.wp-site-blocks){
    background-color:transparent!important;
  }
  body.stbm-member-renew-page .stbm-app.stbm-renewal-view{
    margin-bottom:0!important;
  }
}


/* v1.3.58 — Edge Android keyboard geometry.
   Only Edge gets a measured transform; Chrome/Brave stay bottom:0 with their
   already-working layout resizing. The CSS variable is one absolute
   rendered-rectangle correction, never an accumulated viewport offset. */
@media screen and (max-width:680px){
 body.stbm-resize-content-nav.stbm-edge-keyboard-geometry > .stbm-mobile-keyboard-dock:not([hidden]){
  transform:translate3d(0,calc(var(--stbm-edge-menu-shift,0px) + var(--stbm-edge-menu-user-shift,0px)),0)!important;
  transition:none!important;
  padding-bottom:0!important;
 }
}


/* v1.3.59: LIVE QR verification only. Other shortcode pages keep the previously
   verified no-gap header behavior. The top space is inside the shortcode
   wrapper so WordPress header-gap reconciliation cannot collapse it. */
.stbm-app.stbm-verification-page{
  padding-top:22px!important;
}
@media screen and (max-width:767px){
  .stbm-app.stbm-verification-page{
    padding-top:clamp(20px,5vw,28px)!important;
  }
  /* Protect title readability even if the public verification is embedded
     inside a theme with a navy background, without changing QR/card colors. */
  .stbm-app.stbm-verification-page>.stbm-verification-heading{
    background:#f3f7fc!important;
    border-radius:12px!important;
    padding:12px 10px!important;
    margin-bottom:10px!important;
  }
  .stbm-app.stbm-verification-page>.stbm-verification-heading h2{
    color:#183d6a!important;
  }
  /* The site's dark template can otherwise render the membership ID and
     verification text as dark-on-dark, which fails basic readability. */
  .stbm-app.stbm-verification-page>.stbm-verify{
    background:#f7faff!important;
    border:1px solid #e1e9f4!important;
    border-radius:12px!important;
    padding:14px 10px 17px!important;
  }
  .stbm-app.stbm-verification-page>.stbm-verify>h3{
    color:#183d6a!important;
  }
}
/* Calibration UI is Edge-only, opt-in, and never sent to the server. */
.stbm-edge-menu-calibration{
  position:fixed!important;top:8px!important;right:8px!important;
  z-index:2147483645!important;background:rgba(17,37,62,.96)!important;
  color:#fff!important;border-radius:9px!important;padding:9px 11px!important;
  box-shadow:0 4px 18px rgba(0,0,0,.2)!important;
  font:12px/1.4 Arial,sans-serif!important;max-width:calc(100vw - 16px)!important;
}
.stbm-edge-menu-calibration [type=range]{display:block!important;width:min(260px,68vw)!important;height:24px!important;accent-color:#8bb9ff!important;}
.stbm-edge-menu-calibration button{font:inherit!important;background:#fff!important;color:#17385f!important;border:0!important;border-radius:5px!important;padding:5px 11px!important;margin-top:4px!important;}
@media(min-width:681px){.stbm-edge-menu-calibration{display:none!important;}}


/* v1.3.61: Live Membership Verification ONLY — visually join the heading
   with the verification content on narrow screens. Leave the title, badge,
   member status, public card, QR and desktop styles untouched. */
@media screen and (max-width:767px){
  .stbm-app.stbm-verification-page > .stbm-verification-heading:has(+ .stbm-verify){
    background:#f7faff!important;
    border:1px solid #e1e9f4!important;
    border-bottom:0!important;
    border-radius:12px 12px 0 0!important;
    margin-bottom:0!important;
    padding:12px 10px 6px!important;
    box-sizing:border-box!important;
  }
  .stbm-app.stbm-verification-page > .stbm-verification-heading + .stbm-verify{
    background:#f7faff!important;
    border:1px solid #e1e9f4!important;
    border-top:0!important;
    border-radius:0 0 12px 12px!important;
    margin-top:0!important;
    padding-top:5px!important;
    box-sizing:border-box!important;
  }
}

/* v1.3.62 — Edge Android focused-field clearance. */
@media screen and (max-width:680px){
 body.stbm-resize-content-nav.stbm-edge-ime-editing .stbm-app.stbm-member-dashboard{
  padding-bottom:clamp(150px,25vh,270px)!important;
 }
 body.stbm-resize-content-nav.stbm-edge-ime-editing .stbm-app.stbm-member-dashboard :is(input,textarea,select){
  scroll-margin-bottom:95px!important;
 }
}


/* v1.3.63 — Edge Android: never push the menu under the keyboard overlay.
   Overrides historical +76px transforms, leaves Chrome/Brave untouched. */
@media screen and (max-width:680px){
  body.stbm-resize-content-nav.stbm-edge-viewport-safe > .stbm-mobile-keyboard-dock:not([hidden]){
    position:fixed!important;
    top:var(--stbm-edge-menu-top,auto)!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
    padding-bottom:0!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* v1.3.64 – two notice views based on the supplied reference designs. */
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v164{
 background:transparent!important;border:0!important;box-shadow:none!important;
 padding:0!important;margin:0 0 19px!important;
}
.stbm-app .stbm-dashboard-alerts.stbm-notices-v164 .stbm-dashboard-alert-title{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 margin:0 0 8px;padding:0;color:#102f55!important;font-size:16px;line-height:1.4;border:0!important;
}
.stbm-app .stbm-dashboard-alert-title strong{display:inline-flex;align-items:center;gap:6px}
.stbm-app .stbm-v164-count{background:#113d73;color:white;border-radius:999px;font-size:11px;padding:1px 8px;font-weight:800}
.stbm-app .stbm-v164-preview-list{display:grid;gap:8px;min-width:0}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-v164-preview{
 display:flex;align-items:center;gap:10px;padding:9px 12px;min-width:0;
 border:1px solid #bed9ff;border-radius:13px;background:#eef5ff;
}
.stbm-app .stbm-v164-date{display:flex;flex-direction:column;align-items:center;justify-content:center;
 width:72px;min-width:72px;background:white;border:1px solid #b8d6ff;
 overflow:hidden;border-radius:13px;color:#124272;line-height:1.1;text-align:center;
}
.stbm-app .stbm-v164-week{width:100%;padding:6px 3px;background:#174b86;color:white;letter-spacing:.02em;font-size:9px;font-weight:800}
.stbm-app .stbm-v164-date strong{font-size:29px;line-height:1.05;padding:5px 0 2px;color:#0f3766}
.stbm-app .stbm-v164-year{font-size:10px;padding:0 0 6px;color:#647c96}
.stbm-app .stbm-v164-date.is-small{width:48px;min-width:48px;border-radius:9px;background:#174b86;color:white;}
.stbm-app .stbm-v164-date.is-small .stbm-v164-week{padding:5px 2px 0;background:transparent;font-size:8px;line-height:1.1;letter-spacing:-.01em}
.stbm-app .stbm-v164-date.is-small strong{font-size:21px;padding:2px 0;color:white}
.stbm-app .stbm-v164-date.is-small .stbm-v164-year{font-size:8px;padding:0 0 5px;color:#cfe1fb}
.stbm-app .stbm-v164-preview-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:3px}
.stbm-app .stbm-v164-preview-info strong{color:#102f56;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.stbm-app .stbm-v164-preview-time{font-size:11px;color:#627995;line-height:1.3}
.stbm-app .stbm-v164-badge{white-space:nowrap;border-radius:999px;font-weight:800;font-size:10px;padding:4px 9px;line-height:1.25;background:#dceafe;color:#17467c}
.stbm-app .stbm-v164-badge.is-tomorrow{background:#fff1c5;color:#a55d04}
.stbm-app .stbm-v164-badge.is-today,.stbm-app .stbm-v164-badge.is-ongoing{background:#dff6e8;color:#19744a}
.stbm-app .stbm-v164-badge.is-new{background:#f59e0b;color:#fff}
.stbm-app .stbm-notices-list.stbm-notices-v164{gap:12px}
.stbm-app .stbm-notices-list.stbm-notices-v164 .stbm-notice-item.stbm-notice-v164{
 border:1px solid #bcd6fa!important;border-left:4px solid #3078be!important;
 border-radius:15px!important;padding:15px!important;background:#eff6ff!important;
}
.stbm-app .stbm-notices-v164 .stbm-notice-item.stbm-notice-v164 .stbm-notice-layout{
 display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;align-items:start;
}
.stbm-app .stbm-notices-v164 .stbm-notice-layout>.stbm-v164-date{grid-column:1;grid-row:1;align-self:start}
.stbm-app .stbm-notices-v164 .stbm-notice-layout>.stbm-notice-copy{grid-column:2;grid-row:1;min-width:0}
.stbm-app .stbm-notices-v164 .stbm-v164-labels{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-notice-copy .stbm-notice-type{font-size:11px;border-radius:999px;padding:4px 10px;background:#e0ecff!important;color:#174b84!important}
.stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-notice-copy h4{font-size:17px;color:#12385f!important;margin:7px 0 5px}
.stbm-app .stbm-notices-v164 .stbm-notice-copy .stbm-event-schedule{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 9px}
.stbm-app .stbm-notices-v164 .stbm-notice-copy .stbm-event-schedule .stbm-date-highlight{background:#fff!important;border-color:#bfd8fb;font-size:11px}
.stbm-app .stbm-notices-v164 .stbm-notice-copy p{color:#364e69;line-height:1.6}
@media(max-width:480px){
 .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-v164-preview{padding:8px 9px;gap:7px}
 .stbm-app .stbm-v164-preview-info strong{font-size:12px}
 .stbm-app .stbm-v164-preview .stbm-v164-badge{font-size:9px;padding:3px 6px}
 .stbm-app .stbm-notices-v164 .stbm-notice-item.stbm-notice-v164 .stbm-notice-layout{grid-template-columns:56px minmax(0,1fr);gap:9px}
 .stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-v164-date{width:56px;min-width:56px}
 .stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-v164-week{font-size:8px}
 .stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-v164-date strong{font-size:23px}
 .stbm-app .stbm-notices-v164 .stbm-notice-item.stbm-notice-v164{padding:10px!important}
 .stbm-app .stbm-notices-v164 .stbm-notice-item .stbm-notice-copy h4{font-size:14px}
}
/* All phone browsers: while typing, hide BOTH the original and the keyboard dock.
   Override all legacy Edge/Brave rules. Never obscure the active field. */
@media(max-width:680px){
 body.stbm-ime-input-active .stbm-app.stbm-member-dashboard .stbm-mobile-tabs,
 body.stbm-ime-input-active > .stbm-mobile-keyboard-dock,
 body.stbm-ime-input-active > .stbm-mobile-keyboard-dock:not([hidden]),
 body.stbm-ime-input-active.stbm-resize-content-nav > .stbm-mobile-keyboard-dock:not([hidden]){
   display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 body.stbm-ime-input-active .stbm-app.stbm-member-dashboard,
 body.stbm-ime-input-active .stbm-app.stbm-member-dashboard .stbm-account-content{
   padding-bottom:12px!important;
 }
}

/* News / Alert items retain their distinct amber identity. */
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts .stbm-v164-preview-news{background:#fff7e8;border-color:#eed5a6}
.stbm-app .stbm-v164-preview-news .stbm-v164-date.is-small{background:#94631b;border-color:#d6ab6b}
.stbm-app .stbm-notices-v164 .stbm-notice-item.stbm-notice-v164.stbm-notice-news{background:#fff8ec!important;border-color:#e9d1aa!important;border-left-color:#c48b2b!important}
.stbm-app .stbm-notices-v164 .stbm-notice-news .stbm-v164-week{background:#94631b}
.stbm-app .stbm-notices-v164 .stbm-notice-news .stbm-notice-type{background:#ffe7ba!important;color:#885316!important}


/* v1.3.65: fallback links only when a custom theme has no header navigation. */
.stbm-theme-auth-fallback{display:inline-flex;flex-wrap:wrap;gap:12px;align-items:center;margin-inline-start:auto;padding:8px 10px;box-sizing:border-box;}
.stbm-theme-auth-fallback a{font-size:13px;font-weight:650;text-decoration:none;color:inherit;white-space:nowrap;}
.stbm-theme-auth-fallback a:hover,.stbm-theme-auth-fallback a:focus-visible{text-decoration:underline;}
@media(max-width:680px){.stbm-theme-auth-fallback{gap:8px;padding:6px;}.stbm-theme-auth-fallback a{font-size:12px;}}

/* v1.3.67: a comfortable separation for Register only, without restoring the theme gap. */
@media (max-width:680px){
 body.stbm-member-front-page .stbm-app .stbm-registration .stbm-register-head{padding-top:16px!important;margin-top:10px!important;}
 .stbm-admin .stbm-audit-inline-result{margin:10px 0 13px!important;}
}
.stbm-admin .stbm-audit-inline-result{margin:10px 0 13px!important;}
.stbm-admin .stbm-backup-progress{margin:12px 0;padding:12px;background:#f3f7fd;border:1px solid #d9e4f5;border-radius:8px;}
.stbm-admin .stbm-backup-progress progress{display:block;width:100%;height:14px;margin-top:7px;}


/* v1.3.68: compact, neutral announcement dashboard rows */
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168{
  background:#fff!important;border:1px solid #e0e7f0!important;border-radius:14px!important;
  box-shadow:none!important;padding:12px 15px!important;margin:12px 0 18px!important;
}
.stbm-app .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title{margin:0 0 5px!important;padding:0 0 7px!important;background:none!important;border:0!important;}
.stbm-app .stbm-v168-preview-list{display:flex;flex-direction:column;gap:0;}
.stbm-app .stbm-v168-preview{display:grid;grid-template-columns:8px 53px minmax(0,1fr) auto;align-items:center;gap:8px;
  min-width:0;margin:0!important;padding:9px 0!important;border:0!important;border-top:1px solid #edf0f6!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;}
.stbm-app .stbm-v168-preview:first-child{border-top:1px solid #edf0f6!important}
.stbm-app .stbm-v168-dot{display:block;width:6px;height:6px;border-radius:50%;background:#2872b6}
.stbm-app .stbm-v168-preview-news .stbm-v168-dot{background:#e1a83b}
.stbm-app .stbm-v168-date{font-size:12px;white-space:nowrap;color:#17456f;font-weight:700}
.stbm-app .stbm-v168-preview-info{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;}
.stbm-app .stbm-v168-preview-info strong{font-size:13px;line-height:1.4;min-width:0;color:#102d55;font-weight:750;overflow-wrap:anywhere}
.stbm-app .stbm-v168-preview-time{font-size:11px;color:#7087a3;white-space:nowrap}
.stbm-app .stbm-v168-preview .stbm-v164-badge{justify-self:end}
/* v1.3.68: light, minimal full announcements, with simple date and vertical accent */
.stbm-app .stbm-notices-list.stbm-notices-v168{gap:9px!important}
.stbm-app .stbm-notices-v168 .stbm-notice-item.stbm-notice-v168,
.stbm-app .stbm-notices-v168 .stbm-notice-item.stbm-notice-v168.stbm-notice-news{
  background:#fff!important;border:1px solid #e3e9f1!important;border-radius:13px!important;
  padding:15px!important;box-shadow:none!important;}
.stbm-app .stbm-notices-v168 .stbm-notice-item.stbm-notice-v168 .stbm-notice-layout{grid-template-columns:66px minmax(0,1fr)!important;gap:11px!important}
.stbm-app .stbm-notices-v168 .stbm-notice-layout>.stbm-v164-date,
.stbm-app .stbm-notices-v168 .stbm-notice-news .stbm-v164-date{background:#fff!important;color:#113a66!important;border:0!important;border-radius:0!important;
  border-right:3px solid #174b86!important;min-width:0!important;width:66px!important;box-shadow:none!important;}
.stbm-app .stbm-notices-v168 .stbm-notice-news .stbm-v164-date{border-right-color:#e4aa41!important}
.stbm-app .stbm-notices-v168 .stbm-v164-week,.stbm-app .stbm-notices-v168 .stbm-notice-news .stbm-v164-week{color:#54708e!important;background:transparent!important;font-size:10px!important}
.stbm-app .stbm-notices-v168 .stbm-v164-date strong{color:#103960!important;font-size:28px!important}
.stbm-app .stbm-notices-v168 .stbm-v164-year{color:#7086a0!important}
.stbm-app .stbm-notices-v168 .stbm-notice-copy .stbm-notice-type{background:#eaf0ff!important;color:#244e96!important}
.stbm-app .stbm-notices-v168 .stbm-notice-news .stbm-notice-copy .stbm-notice-type{background:#fff0d7!important;color:#9d6015!important}
.stbm-app .stbm-notices-v168 .stbm-notice-copy h4{margin:5px 0!important;font-size:16px!important;color:#0d2f56!important}
.stbm-app .stbm-notices-v168 .stbm-notice-copy .stbm-event-schedule .stbm-date-highlight{background:transparent!important;border:0!important;padding:0!important}
.stbm-app .stbm-notices-v168 .stbm-notice-copy p{font-size:13px!important;line-height:1.55!important;color:#425a74!important}
@media(max-width:680px){
 .stbm-app .stbm-v168-preview{grid-template-columns:7px 48px minmax(0,1fr) auto;gap:5px}
 .stbm-app .stbm-v168-preview-info{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
 .stbm-app .stbm-v168-preview-info strong{font-size:12px}
 .stbm-app .stbm-v168-preview-time{font-size:10px}
 .stbm-app .stbm-notices-v168 .stbm-notice-item.stbm-notice-v168 .stbm-notice-layout{grid-template-columns:54px minmax(0,1fr)!important;gap:8px!important}
 .stbm-app .stbm-notices-v168 .stbm-notice-layout>.stbm-v164-date{width:54px!important}
}
.stbm-app.stbm-member-dashboard .stbm-notices-v168 .stbm-v164-preview-list{display:flex!important;flex-direction:column!important;gap:0!important;}
/* Final specificity guard: previous v1.3.64 blue card rules must not override the minimal v1.3.68 layout. */
.stbm-app .stbm-notices-list.stbm-notices-v168 .stbm-notice-item.stbm-notice-v168,
.stbm-app .stbm-notices-list.stbm-notices-v168 .stbm-notice-item.stbm-notice-v168.stbm-notice-news{
 background:#fff!important;border:1px solid #e3e9f1!important;border-radius:13px!important;
 border-left:1px solid #e3e9f1!important;box-shadow:none!important;
}

/* v1.3.73: Dashboard announcements carousel has exactly one visible row. */
.stbm-app .stbm-announcement-rotator .stbm-v168-preview[hidden]{display:none!important;}
.stbm-app .stbm-announcement-rotator .stbm-v168-preview:not([hidden]){display:grid!important;}
.stbm-app.stbm-member-dashboard #stbm-live-feedback:not([hidden]){
  padding:12px 16px;margin:10px 0;border:1px solid #b8dfc6;border-radius:10px;
  background:#edf9f0;color:#1a6137;font-size:14px;font-weight:650;
}
.stbm-app.stbm-member-dashboard #stbm-live-feedback[hidden]{display:none!important;}

/* v1.3.74: Change only the announcement/event accent from blue to red.
   Preserve news/alert amber and the main membership navy theme. */
.stbm-app.stbm-member-dashboard .stbm-v168-preview-event .stbm-v168-dot{background:#c62828!important;}
.stbm-app .stbm-notices-v168 .stbm-notice-item.stbm-notice-event .stbm-v164-date{border-right-color:#c62828!important;}

/* v1.3.75: prominent payment status alerts and protected username/email verification. */
.stbm-member-dashboard .stbm-dashboard-payment-alert{margin:14px 0;padding:16px;border:1px solid #edb1b1;border-radius:12px;background:#fff4f3;color:#85282d;}
.stbm-member-dashboard .stbm-dashboard-payment-alert strong{display:block;font-weight:750;margin-bottom:6px;}
.stbm-member-dashboard .stbm-dashboard-payment-alert p{margin:4px 0 10px;line-height:1.5;overflow-wrap:anywhere;}
.stbm-member-dashboard .stbm-dashboard-payment-alert a{color:#194e85;font-weight:700;}
.stbm-member-dashboard .stbm-identity-panel{margin-top:22px;border:1px solid #d8e1eb;border-radius:12px;background:#fff;overflow:hidden;}
.stbm-member-dashboard .stbm-identity-panel summary{padding:16px 20px;background:#f5f8fc;color:#163c68;font-size:17px;font-weight:700;cursor:pointer;}
.stbm-member-dashboard .stbm-identity-content{padding:18px 20px;}
.stbm-member-dashboard .stbm-identity-content>.stbm-form{margin-top:15px;}
.stbm-member-dashboard .stbm-identity-content p{line-height:1.5;}

/* v1.3.82: Theme-header membership links inherit matching navigation typography. */
header .stbm-theme-auth-link, #masthead .stbm-theme-auth-link, .site-header .stbm-theme-auth-link, .elementor-location-header .stbm-theme-auth-link {
  font-family:inherit;font-size:inherit;font-weight:700;line-height:inherit;letter-spacing:inherit;
  text-transform:uppercase;text-decoration:none;color:inherit;
}
header .stbm-theme-auth-link:hover, #masthead .stbm-theme-auth-link:hover, .site-header .stbm-theme-auth-link:hover {text-decoration:underline;}


/* v1.3.84: Light renewal page when the plugin owns the header/footer.
 * Old mobile renewal selectors forced a dark body and a transparent form;
 * these scoped overrides maintain readable contrast and do not change card UI. */
@media(max-width:767px){
 html:has(body.stbm-portal-chrome.stbm-member-renew-page),
 body.stbm-portal-chrome.stbm-member-renew-page,
 body.stbm-portal-chrome.stbm-member-renew-page :is(#page,.site,.site-content,#content,#primary,main.site-main,article.page,.entry-content,.wp-site-blocks){background-color:#f5f8fc!important;}
 body.stbm-portal-chrome.stbm-member-renew-page .stbm-app.stbm-renewal-view{
   background:#fff!important;color:#152d4d!important;border:1px solid #e1e9f4!important;
   border-radius:14px!important;box-shadow:0 5px 22px rgba(16,45,82,.06)!important;
   margin:12px auto 22px!important;padding:20px 15px 24px!important;
 }
 body.stbm-portal-chrome.stbm-member-renew-page .stbm-renewal-view :is(.stbm-title,.stbm-renew-lead,.stbm-renew-back,.stbm-renew-choice legend){color:#17395f!important;}
 body.stbm-portal-chrome.stbm-member-renew-page .stbm-renewal-view .stbm-renew-lead{color:#536b86!important;}
}
/* The plugin-owned header replaces the theme header. Avoid introducing a new
 * theme-wrapper top gap on mobile LIVE verification pages only. */
@media(max-width:767px){
 body.stbm-portal-chrome.stbm-member-front-page:has(.stbm-verification-page)
 :is(#page,.site,.site-content,#content,#primary,.content-area,main.site-main,article.page,.entry-content,.wp-block-post-content,.wp-site-blocks>main,.wp-block-group:has(>.wp-block-shortcode)){
   padding-top:0!important;margin-top:0!important;
 }
 body.stbm-portal-chrome.stbm-member-front-page .stbm-app.stbm-verification-page{
   margin-top:0!important;padding-top:0!important;
 }
 body.stbm-portal-chrome.stbm-member-front-page .stbm-verification-page>.stbm-verification-heading{
   margin-top:0!important;
 }
}


/* Keep the shared QR and expiry within the card at intermediate tablet widths. */
.stbm-app .stbm-shared-card-outer .stbm-id-card{min-height:240px;}

/* v1.3.85 — Public verification reuses the private dashboard membership card
   markup. Mirror dashboard dimensions/responsive QR layout without changing
   verification page headings, member details, privacy or theme chrome. */
.stbm-app.stbm-verification-page .stbm-shared-card-outer{
 width:100%;max-width:100%;margin:8px auto 12px;padding:0;
}
.stbm-app.stbm-verification-page .stbm-id-card.stbm-verify-member-card{
 width:min(100%,420px);max-width:420px;margin:0 auto;
 text-align:left;color:#fff;
 box-shadow:0 12px 25px rgba(7,42,85,.17);
}
@media screen and (max-width:680px){
 .stbm-app.stbm-verification-page .stbm-card-outer{
  width:100%!important;max-width:100%!important;margin:0 auto 12px!important;padding:0!important;
 }
 .stbm-app.stbm-verification-page .stbm-id-card.stbm-verify-member-card{
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
  width:100%!important;max-width:500px!important;aspect-ratio:auto!important;
  height:auto!important;min-height:280px!important;max-height:none!important;
  overflow:hidden!important;padding:clamp(15px,4.2vw,20px)!important;
  border-radius:18px!important;background:#104b85!important;color:#fff!important;
  box-shadow:0 9px 24px rgba(17,57,106,.14)!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-brand{
  flex:0 0 auto;min-width:0;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-brand>div{
  min-width:0;overflow-wrap:anywhere;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-brand b{
  font-size:11px!important;line-height:1.3!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-brand small{
  font-size:10px!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-label{
  display:block;margin:13px 0 5px!important;line-height:1.3!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-member-name{
  flex-shrink:0!important;overflow-wrap:anywhere!important;
  font-size:clamp(16px,4.6vw,21px)!important;
  line-height:1.23!important;margin:0 0 3px!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-member-number{
  flex-shrink:0!important;line-height:1.35!important;
  font-size:14px!important;margin:0 0 10px!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom{
  position:relative!important;z-index:1!important;
  flex:0 0 auto!important;display:flex!important;align-items:flex-end!important;
  justify-content:space-between!important;gap:10px!important;
  margin-top:auto!important;padding-top:9px!important;min-height:92px!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom>div:first-child{
  min-width:0!important;max-width:calc(100% - 90px)!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom small,
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom b{
  display:block!important;line-height:1.3!important;overflow-wrap:anywhere!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom .stbm-qr{
  width:clamp(70px,23vw,90px)!important;height:auto!important;aspect-ratio:1/1!important;
  flex:0 0 auto!important;min-width:0!important;min-height:0!important;
  padding:3px!important;align-self:flex-end!important;
 }
 .stbm-app.stbm-verification-page .stbm-verify-member-card .stbm-card-bottom .stbm-qr canvas{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;
 }
}

/* v1.3.86: Horizontal navigation must never change label width on selection.
   Keep the same font metrics for inactive, active, and hovered links. */
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav > a,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav > a.selected,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav > a:hover,
.stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav > a[aria-current="page"] {
  font-weight:750!important;
  flex-shrink:0;
}

/* Permanent, bounded message slot: short-lived notices no longer change the
   vertical position of the navigation, banners or cards when hidden/cleared. */
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area {
  position:relative;display:block;height:72px;min-height:72px;max-height:72px;
  margin:10px 0 12px;padding:0;overflow:hidden;
  box-sizing:border-box;
}
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-dashboard-flash,
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback:not([hidden]) {
  position:absolute;inset:0;width:100%;height:100%;max-height:100%;
  box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;
}
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-dashboard-flash:empty,
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback[hidden] {
  display:none!important;
}
.stbm-app.stbm-member-dashboard #stbm-dashboard-flash > .stbm-alert,
.stbm-app.stbm-member-dashboard #stbm-dashboard-flash > .stbm-error {
  display:flex;align-items:center;width:100%;min-height:100%;margin:0!important;
  box-sizing:border-box;line-height:1.5;
}
.stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback:not([hidden]) {
  display:flex!important;align-items:center;margin:0!important;
  padding:11px 16px;line-height:1.5;
}
/* Mobile: do NOT reserve permanent space for Member Messages.  A message takes
 * only its own natural height, and disappears cleanly when cleared.  Desktop's
 * fixed-height slot is deliberately untouched to prevent desktop layout jumps.
 */
@media(max-width:680px){
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area {
    display:block!important;position:relative!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:0!important;overflow:visible!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-dashboard-flash,
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback:not([hidden]) {
    position:static!important;inset:auto!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    width:100%!important;overflow:visible!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-dashboard-flash:empty,
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback[hidden] {
    display:none!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-dashboard-flash > .stbm-alert,
  .stbm-app.stbm-member-dashboard #stbm-dashboard-flash > .stbm-error {
    min-height:0!important;height:auto!important;margin:8px 0 10px!important;
    padding:12px 14px!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback:not([hidden]) {
    margin:8px 0 10px!important;padding:12px 14px!important;
  }
}



/* v1.3.87 — Verification title and icon must occupy ONE line without
 * overflowing compact mobile viewports. Scope only to public verification.
 */
.stbm-app.stbm-verification-page > .stbm-verification-heading .stbm-verify-heading-title{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  gap:clamp(4px,1vw,10px)!important;white-space:nowrap!important;
  font-size:clamp(13px,4.4vw,21px)!important;letter-spacing:-.025em;
  line-height:1.3!important;text-align:center;
}
.stbm-app.stbm-verification-page > .stbm-verification-heading .stbm-verify-heading-title>.stbm-section-icon{
  display:block!important;flex:0 0 clamp(15px,4vw,24px)!important;
  width:clamp(15px,4vw,24px)!important;height:clamp(15px,4vw,24px)!important;
}
.stbm-app.stbm-verification-page > .stbm-verification-heading .stbm-verify-heading-title>span{
  display:inline-block!important;flex:0 1 auto;min-width:0;
  white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;
}

/* Keep public verification's live timestamp close to its content/footer;
 * remove redundant plugin margin, not the footer's sticky layout rules. */
.stbm-app.stbm-verification-page{
  margin-bottom:0!important;padding-bottom:0!important;
}
.stbm-app.stbm-verification-page>.stbm-live-date{
  margin:4px auto 0!important;padding:0!important;line-height:1.45!important;
}

/* Desktop horizontal member navigation: pack links against the right edge.
 * Mobile nav and stable tab-label weight remain unchanged. */
@media(min-width:769px){
  .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal .stbm-account-nav{
    justify-content:flex-end!important;
  }
}


/* v1.3.88: Member Messages have ONE desktop region: reuse the existing 72px
 * flash/status area for renewal warnings instead of allocating a second block.
 * Mobile keeps a natural height and no empty reserved region.
 */
@media (min-width:681px){
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner:not(:empty){
  position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0;
  box-sizing:border-box;overflow:hidden;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-dashboard-flash:not(:empty){
  z-index:3;background:#fff;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-live-feedback:not([hidden]){
  z-index:4;background:#effbf2;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert{
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
  align-items:center;column-gap:14px;row-gap:1px;
  width:100%;height:72px;max-height:72px;min-height:0;
  margin:0!important;padding:8px 14px!important;box-sizing:border-box;
  overflow:hidden;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert > .stbm-renew-alert-title,
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert > strong{
  grid-column:1;grid-row:1;font-size:14px!important;line-height:1.25!important;
  min-width:0;margin:0!important;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert > p{
  grid-column:1;grid-row:2;min-width:0;margin:0!important;
  font-size:12px!important;line-height:1.35!important;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert > .stbm-btn{
  grid-column:2;grid-row:1 / span 2;align-self:center;
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:40px!important;margin:0!important;padding:8px 12px!important;
  font-size:12px!important;line-height:1.3!important;white-space:nowrap;
 }
}
/* No alert on mobile => no blank space. A renewal notice stacks naturally with
 * any flash message, preserving the existing mobile dashboard layout. */
@media (max-width:680px){
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner:empty{
  display:none!important;
 }
 .stbm-app.stbm-member-dashboard #stbm-dashboard-message-area > #stbm-renew-banner > .stbm-renew-alert{
  height:auto!important;max-height:none!important;min-height:0!important;
 }
}


/* v1.3.90: Admin-selectable desktop horizontal-tab position.
 * Default right preserves the approved v1.3.88 appearance. */
@media (min-width:681px){
 .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal.stbm-tabs-align-left .stbm-account-nav{justify-content:flex-start!important;}
 .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal.stbm-tabs-align-center .stbm-account-nav{justify-content:center!important;}
 .stbm-app.stbm-member-dashboard .stbm-account.stbm-layout-horizontal.stbm-tabs-align-right .stbm-account-nav{justify-content:flex-end!important;}
}

/* v1.3.90: Announcement heading always occupies a single unbroken row.
 * When there are no notices, show only the heading; don't reserve an empty row. */
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title{
 display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
 justify-content:space-between!important;min-width:0;gap:8px!important;
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title > strong{
 display:inline-flex!important;flex-wrap:nowrap!important;align-items:center!important;
 white-space:nowrap!important;min-width:0;flex:0 1 auto;gap:6px!important;
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-announcements-heading-text{
 white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-width:0;
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title > a{
 white-space:nowrap!important;flex:0 0 auto;
}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-v164-count[hidden]{display:none!important;}
.stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168.stbm-announcements-empty .stbm-dashboard-alert-title{
 margin:0!important;padding:0!important;border:0!important;
}
@media(max-width:390px){
 .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title{font-size:14px!important;}
 .stbm-app.stbm-member-dashboard .stbm-dashboard-alerts.stbm-notices-v168 .stbm-dashboard-alert-title > strong{gap:4px!important;}
}


/* v1.3.91 — Announcements → Member Messages → Member Portal (desktop ONLY).
 * Keep the approved v1.3.88/1.3.90 DOM order on phones.  The new wrapper has
 * no spacing or presentational impact until the desktop media query applies. */
@media (min-width:681px){
  .stbm-app.stbm-member-dashboard .stbm-dashboard-pre-nav{
    display:flex;flex-direction:column;min-width:0;
  }
  .stbm-app.stbm-member-dashboard .stbm-dashboard-pre-nav > #stbm-live-notices{order:1;min-width:0;}
  .stbm-app.stbm-member-dashboard .stbm-dashboard-pre-nav > #stbm-dashboard-message-area{order:2;}
  .stbm-app.stbm-member-dashboard .stbm-dashboard-pre-nav > #stbm-member-payment-alert{order:3;}
  /* The announcement preview now shares a single compact horizontal row:
     [heading + count] [date + title + time + NEW badge] [View all].
     display:contents promotes the existing title children onto the grid;
     there is no duplicate item, second row, or unnecessary reserved space. */
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-dashboard-alerts.stbm-notices-v168{
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    grid-template-rows:minmax(34px,auto);
    align-items:center!important;
    gap:clamp(10px,1.7vw,22px)!important;
    padding:10px 16px!important;
    margin:0 0 8px!important;
    min-width:0;
    min-height:54px;
    box-sizing:border-box;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-dashboard-alert-title{
    display:contents!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-dashboard-alert-title > strong{
    grid-column:1;grid-row:1;margin:0!important;white-space:nowrap!important;
    min-width:0;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-dashboard-alert-title > a{
    grid-column:3;grid-row:1;margin:0!important;white-space:nowrap!important;
    justify-self:end;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v164-preview-list.stbm-announcement-rotator{
    grid-column:2;grid-row:1;min-width:0;width:100%;
    margin:0!important;padding:0!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v168-preview{
    grid-template-columns:7px max-content minmax(0,1fr) max-content;
    align-items:center!important;gap:7px!important;
    min-width:0;width:100%;padding:0!important;margin:0!important;
    border:0!important;background:transparent!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v168-preview-info{
    display:flex!important;align-items:center!important;flex-direction:row!important;
    gap:10px!important;min-width:0;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v168-preview-info > strong{
    flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap!important;overflow-wrap:normal!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v168-preview-time{
    flex:0 0 auto;white-space:nowrap!important;
  }
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-v168-preview .stbm-v164-badge{
    white-space:nowrap;justify-self:end;
  }
  /* No notices? Keep just heading on the left and the View all link right. */
  .stbm-app.stbm-member-dashboard #stbm-live-notices .stbm-announcements-empty .stbm-dashboard-alert-title > a{grid-column:3;}
}

/* v1.4.7: independently styled bank instructions under the amount, on desktop and mobile. */
.stbm-app .stbm-thankyou>p.stbm-bank-instructions{line-height:1.8;white-space:normal;overflow-wrap:anywhere;margin:13px 0}

/* v1.4.9: clear feedback for sequential registration password entry. */
.stbm-registration .stbm-password-confirm-help{margin:-10px 0 19px;color:#687c93;font-size:12px;line-height:1.5;}
.stbm-registration input[name="confirm_password"]:disabled{background:#f0f3f8!important;color:#7689a0!important;cursor:not-allowed;opacity:.85;}

/* v1.4.10: vertically-centered registration completion, scoped to bank/onboarding
   shortcode only. Tall paid-plan forms scroll naturally instead of clipping. */
.stbm-app.stbm-onboarding-page{
 box-sizing:border-box;max-width:860px;width:calc(100% - 28px);min-height:max(420px,calc(100svh - 190px));
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 margin:clamp(14px,3vh,42px) auto!important;padding:clamp(20px,3vw,40px)!important;
 background:#fff;border-radius:19px;border:1px solid #e3eaf5;box-shadow:0 16px 50px rgba(25,60,105,.08);
}
.stbm-app.stbm-onboarding-page>.stbm-thankyou{width:100%!important;max-width:740px!important;min-width:0!important;margin:0 auto!important;padding:8px 0!important;text-align:center}
.stbm-app.stbm-onboarding-page .stbm-onboarding-step{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.09em;color:#285b91;background:#eff5ff;border-radius:99px;padding:6px 13px;margin-bottom:9px}
.stbm-app.stbm-onboarding-page .stbm-success-symbol{width:60px;height:60px;border-radius:50%;background:#e9faef;color:#13844a;margin:0 auto 15px;display:grid;place-items:center;font-size:31px}
.stbm-app.stbm-onboarding-page .stbm-thankyou h2{font-size:clamp(24px,3.3vw,33px);line-height:1.25;margin:5px auto 10px;color:#17395e}
.stbm-app.stbm-onboarding-page .stbm-thankyou>p{max-width:600px;margin:0 auto 20px;line-height:1.65;color:#607590}
.stbm-app.stbm-onboarding-page .stbm-bank-details{margin:18px auto 12px!important;width:100%;}
.stbm-app.stbm-onboarding-page .stbm-bank-details h3{text-align:left}
.stbm-app.stbm-onboarding-page .stbm-bank-instructions{margin:12px auto 19px!important;text-align:center;max-width:680px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload{margin:20px auto 22px;padding:21px 24px;border:1px solid #dbe5f1;border-radius:15px;background:#f7faff;text-align:left;width:100%;max-width:670px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload h3{font-size:19px;margin:5px 0 6px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload>p{font-size:13px;color:#617792;margin:0 0 15px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload .stbm-form{margin:0 auto;max-width:560px;width:100%}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload .stbm-field{display:block;text-align:left;margin-bottom:13px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload input[type=file]{display:block;max-width:100%;min-width:0;width:100%;padding:12px!important;font-size:13px;white-space:normal}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload .stbm-field small{display:block;font-size:12px;color:#74849a;padding-top:6px}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload .stbm-btn{display:block;width:100%;max-width:440px;margin:15px auto 0}
.stbm-app.stbm-onboarding-page .stbm-onboarding-upload-info{border:1px solid #cfe6d7;background:#f0fbf4;border-radius:12px;margin:16px 0;padding:15px;text-align:center}
.stbm-app.stbm-onboarding-page .stbm-action-row{margin-top:16px}
@media(max-width:680px){
 body.stbm-member-bank-page .stbm-app.stbm-onboarding-page{width:100%!important;max-width:100%!important;margin:0 auto!important;min-height:max(320px,calc(100svh - 120px))!important;padding:22px 12px 28px!important;background:#f5f8fd!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .stbm-app.stbm-onboarding-page>.stbm-thankyou{padding:20px 12px!important;background:#fff!important;border:1px solid #e2e9f4;border-radius:16px;box-shadow:0 8px 24px rgba(18,57,100,.06)}
 .stbm-app.stbm-onboarding-page .stbm-onboarding-upload{padding:17px 13px}
 .stbm-app.stbm-onboarding-page .stbm-thankyou h2{font-size:24px}
 .stbm-app.stbm-onboarding-page .stbm-action-row>a{width:100%!important;max-width:100%!important}
}


/* v1.4.14 — Bank details onboarding UI refinement.
   Strictly scoped to the PAID registration completion page. The free
   confirmation and all other shortcode/admin views keep their old layouts. */
body.stbm-member-bank-page .stbm-app.stbm-onboarding-paid{
  display:block!important;
  min-height:0!important;
  max-width:960px!important;
  width:calc(100% - 32px)!important;
  margin:clamp(14px,2.5vh,30px) auto 28px!important;
  padding:clamp(18px,3vw,32px)!important;
  background:#fff!important;
  border:1px solid #e3ebf5!important;
  border-radius:20px!important;
  box-shadow:0 12px 35px rgba(20,52,88,.055)!important;
  overflow:visible;
}
body.stbm-member-bank-page .stbm-app.stbm-onboarding-paid>.stbm-onboarding-content{
  display:block!important;
  max-width:820px!important;
  margin:0 auto!important;
  padding:0!important;
  min-height:0!important;
  width:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.stbm-app.stbm-onboarding-paid .stbm-success-symbol{
  width:52px;height:52px;margin:0 auto 10px;
  background:#e9f9ef;border:1px solid #cdefd7;color:#148147;
  font-size:28px;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-step{
  color:#23517f;background:#eaf2fc;font-size:10px;letter-spacing:.11em;
  padding:6px 13px;margin-bottom:8px;
}
.stbm-app.stbm-onboarding-paid .stbm-thankyou h2{
  font-size:clamp(23px,3vw,30px)!important;
  margin:4px auto 8px!important;letter-spacing:-.023em;line-height:1.25;
}
.stbm-app.stbm-onboarding-paid .stbm-thankyou>p:first-of-type{
  max-width:560px!important;margin:0 auto 22px!important;
  color:#58718c;font-size:14px;line-height:1.6;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-details{
  text-align:left;width:100%;margin:0 auto 0!important;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-details h3{
  color:#143759;font-size:18px;font-weight:800;margin:0 0 2px;
  text-align:left;line-height:1.4;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-section-caption{
  margin:0 0 12px;color:#637c96;font-size:12.5px;line-height:1.5;text-align:left;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-details>.stbm-bank-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:12px;margin:0;padding:0;align-items:stretch;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-card{
  padding:15px 17px 12px;border-radius:13px;background:#f7faff;
  border:1px solid #dae6f3;box-shadow:none;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-card h4{
  margin:0 0 6px;padding-bottom:10px;color:#173e6d;
  font-size:15px;line-height:1.4;font-weight:800;
  border-bottom:1px solid #dae5f3;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-card .stbm-bank-line{
  display:grid;grid-template-columns:minmax(0,43%) minmax(0,1fr);
  gap:10px;align-items:start;font-size:12.5px;
  padding:8px 0;border-color:#e2eaf4;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-line span{
  flex:none;color:#69819a;font-weight:500;line-height:1.5;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-line b{
  text-align:right;color:#183a60;font-weight:750;line-height:1.5;
  overflow-wrap:anywhere;word-break:normal;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-details>.stbm-bank-amount{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;margin:13px 0 0;padding:13px 17px;
  border:1px solid #d4e4fb;background:#eaf3ff;
  border-radius:12px;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-amount span{
  font-size:13px;color:#42658c;font-weight:700;
}
.stbm-app.stbm-onboarding-paid .stbm-bank-amount b{
  font-size:clamp(18px,2.1vw,22px);font-weight:850;white-space:nowrap;
  letter-spacing:-.015em;color:#123f78;
}
.stbm-app.stbm-onboarding-paid .stbm-thankyou>p.stbm-bank-instructions{
  max-width:750px;margin:13px auto 17px!important;
  text-align:center;line-height:1.55!important;
  padding:0 6px;background:transparent;overflow-wrap:anywhere;
  /* Color and font size remain editable from Payment Settings (inline styles). */
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload{
  width:100%;max-width:100%;margin:0 auto 16px;
  padding:20px 24px;border:1px solid #d8e5f3;
  border-radius:15px;background:#f7faff;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload h3{
  margin:3px 0 6px;font-size:18px;color:#173c65;line-height:1.4;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload>p{
  margin:0 0 14px;color:#667c93;font-size:13px;line-height:1.55;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-form{
  width:100%;max-width:620px;margin:0 auto;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-field{
  display:block;margin-bottom:13px;min-width:0;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-field>span{
  font-weight:750;font-size:13px;color:#24466e;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload input[type=file]{
  width:100%;max-width:100%;min-width:0;
  padding:10px 12px!important;background:#fff;border-radius:10px;
  color:#355477;font-size:13px!important;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload input[type=file]::file-selector-button{
  cursor:pointer;display:inline-block;margin-right:12px;
  padding:8px 12px;background:#e9f1fc;color:#204b83;
  border:1px solid #cfdff1;border-radius:7px;font-weight:750;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-field small{
  padding:5px 0 0;display:block;font-size:11.5px;color:#6c839c;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-btn{
  width:100%;max-width:620px;margin:14px auto 0;min-height:46px;
  border-radius:10px;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-actions{
  max-width:620px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;margin:0 auto!important;align-items:stretch;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-actions>a.stbm-btn-sm{
  display:flex;width:100%!important;max-width:100%!important;
  margin:0!important;padding:11px 13px!important;
  justify-content:center;align-items:center;min-height:46px;border-radius:10px;
  line-height:1.4;white-space:normal;text-align:center;font-weight:750;
  text-decoration:none!important;box-sizing:border-box;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-actions>a.stbm-onboarding-cta-main{
  background:#204b83!important;color:#fff!important;border:1px solid #204b83!important;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-actions>a.stbm-onboarding-cta-secondary{
  background:#fff!important;color:#204b83!important;border:1px solid #bdcee1!important;
  box-shadow:none!important;
}
.stbm-app.stbm-onboarding-paid .stbm-onboarding-actions>a:focus-visible{
  outline:3px solid #8dbbe9;outline-offset:3px;
}
@media(max-width:680px){
  body.stbm-member-bank-page .stbm-app.stbm-onboarding-paid{
    display:block!important;min-height:0!important;max-width:100%!important;
    width:100%!important;margin:0 auto 14px!important;
    padding:18px 12px 20px!important;border:0!important;
    background:#f5f8fd!important;border-radius:0!important;box-shadow:none!important;
  }
  body.stbm-member-bank-page .stbm-app.stbm-onboarding-paid>.stbm-onboarding-content{
    max-width:100%!important;background:#fff!important;
    border:1px solid #e1e9f3!important;border-radius:15px!important;
    padding:18px 14px 19px!important;
    box-shadow:0 6px 23px rgba(20,52,88,.05)!important;
  }
  .stbm-app.stbm-onboarding-paid .stbm-success-symbol{
    width:48px;height:48px;font-size:25px;margin-bottom:9px;
  }
  .stbm-app.stbm-onboarding-paid .stbm-thankyou h2{font-size:23px!important;}
  .stbm-app.stbm-onboarding-paid .stbm-thankyou>p:first-of-type{
    font-size:13px;margin-bottom:19px!important;
  }
  .stbm-app.stbm-onboarding-paid .stbm-bank-details h3{font-size:17px;}
  .stbm-app.stbm-onboarding-paid .stbm-bank-details>.stbm-bank-cards{
    grid-template-columns:minmax(0,1fr);gap:10px;
  }
  .stbm-app.stbm-onboarding-paid .stbm-bank-card{padding:13px 12px;}
  .stbm-app.stbm-onboarding-paid .stbm-bank-card .stbm-bank-line{
    font-size:12px;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:8px;
  }
  .stbm-app.stbm-onboarding-paid .stbm-bank-details>.stbm-bank-amount{
    padding:12px;gap:9px;flex-wrap:wrap;
  }
  .stbm-app.stbm-onboarding-paid .stbm-bank-amount b{font-size:19px;}
  .stbm-app.stbm-onboarding-paid .stbm-thankyou>p.stbm-bank-instructions{
    margin:12px auto 15px!important;
  }
  .stbm-app.stbm-onboarding-paid .stbm-onboarding-upload{
    max-width:100%;margin:0 auto 14px;padding:16px 12px;
  }
  .stbm-app.stbm-onboarding-paid .stbm-onboarding-upload .stbm-form{
    width:100%;max-width:100%;
  }
  .stbm-app.stbm-onboarding-paid .stbm-onboarding-actions{
    display:grid;grid-template-columns:minmax(0,1fr);max-width:100%;gap:9px;
  }
}
