/* WSMART commerce */
[hidden]{display:none!important}
.commerce-section{padding-bottom:76px}
.commerce-hero{padding-bottom:28px}
.commerce-hero-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.cart-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--primary-border);border-radius:999px;background:#fff;color:var(--ink);padding:12px 18px;font:600 14px inherit;cursor:pointer;box-shadow:var(--shadow);transition:transform .16s,border-color .16s}
.cart-pill:hover{border-color:var(--primary);transform:translateY(-2px)}
.cart-pill:active,.commerce-plan:active,.qty button:active{transform:scale(.97)}
.cart-pill b{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px}
.commerce-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:18px}
.commerce-plan{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border:1.5px solid var(--primary-border);border-radius:18px;background:#fff;padding:25px;text-align:left;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:border-color .18s,transform .16s,box-shadow .18s}
.commerce-plan:hover{border-color:var(--primary);box-shadow:0 20px 42px -24px rgba(26,26,46,.35)}
.commerce-plan.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(233,69,96,.1),var(--shadow)}
.plan-check{width:26px;height:26px;border:1.5px solid var(--primary-border);border-radius:50%;display:grid;place-items:center;color:transparent}
.commerce-plan.selected .plan-check{background:var(--accent);border-color:var(--accent);color:#fff}
.commerce-plan b,.commerce-plan small{display:block}.commerce-plan b{font-size:18px}.commerce-plan small{color:var(--muted);font-size:12px;margin-top:3px}.commerce-plan strong{font-size:28px}.commerce-plan .local-stack{grid-column:2/4}
.recommend-tag{position:absolute;right:18px;top:-12px;background:var(--navy);color:#fff;border-radius:999px;padding:5px 11px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.local-stack{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10.5px;margin-top:8px}.local-stack span{background:var(--primary-soft);border-radius:999px;padding:3px 7px}
.pricing-terms-note{background:#fff6f8;border:1px solid #f5c3cc;border-radius:14px;padding:16px 18px;font-size:13px}.pricing-terms-note a,.other-length a,.payment-recap a,.legal-copy a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sensor-plan-note{display:flex;align-items:flex-start;gap:12px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:14px;padding:15px 18px;margin:20px 0;font-size:13px}.sensor-plan-note>span{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--primary-deep);color:#fff;font-weight:700}.sensor-plan-note p{margin:0}.sensor-plan-note b{color:var(--ink)}
.commerce-products-head{margin-top:68px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--primary-border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.product-card>img{width:100%;height:100%;object-fit:cover;min-height:360px}.product-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start}.product-category{display:inline-block;color:var(--primary-deep);background:var(--primary-soft);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.product-body h3{font-size:22px}.product-body>p{font-size:13.5px;margin:9px 0 16px}.product-price{margin-top:auto}.product-price b{display:block;color:var(--ink);font-size:30px}.product-price small{color:var(--muted)}.product-body .btn{margin-top:18px;width:100%}.product-body label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 6px}.other-length{font-size:12px!important;margin:8px 0 0!important}.fx-note{display:flex;gap:14px;max-width:900px;margin:36px auto 0;padding:18px 20px;border-radius:15px;background:var(--primary-soft);font-size:12.5px}.fx-note>span{font-size:18px;color:var(--primary-deep)}
.cart-drawer{position:fixed;inset:0;z-index:100;visibility:hidden}.cart-drawer.open{visibility:visible}.cart-backdrop{position:absolute;inset:0;border:0;background:rgba(10,18,38,.5);opacity:0;transition:opacity .22s}.cart-drawer.open .cart-backdrop{opacity:1}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(460px,94vw);background:#fff;padding:30px;transform:translateX(100%);transition:transform .25s cubic-bezier(.23,1,.32,1);overflow-y:auto;box-shadow:-20px 0 60px -30px rgba(0,0,0,.5)}.cart-drawer.open .cart-panel{transform:translateX(0)}body.cart-open{overflow:hidden}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.cart-close{width:38px;height:38px;border:1px solid var(--primary-border);background:#fff;border-radius:50%;font-size:24px;cursor:pointer}.cart-empty{padding:36px 0;color:var(--muted)}.cart-line{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-line b,.cart-line small{display:block}.cart-line b{font-size:14px;color:var(--ink)}.cart-line small{font-size:11px;color:var(--muted);margin-top:4px}.qty{display:flex;align-items:center;gap:9px}.qty button{width:29px;height:29px;border-radius:50%;border:1px solid var(--primary-border);background:#fff;cursor:pointer;font-size:17px}.qty span{min-width:18px;text-align:center}.cart-plan{display:flex;justify-content:space-between;gap:15px;padding:19px 0;border-bottom:1px solid var(--line);font-size:13px}.cart-plan b{color:var(--ink)}.cart-totals{display:grid;gap:10px;padding:20px 0}.cart-totals>div{display:flex;justify-content:space-between;font-size:14px}.cart-totals .total{border-top:1px solid var(--line);padding-top:14px;font-size:17px;color:var(--ink)}.cart-note{font-size:11.5px;color:var(--muted);margin-bottom:18px}.cart-panel>.btn{width:100%}.btn.disabled{opacity:.45;pointer-events:none}
.checkout-back{color:#fff;font-size:14px;font-weight:600}.compact-head{padding-bottom:12px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:30px;align-items:start}.checkout-form{background:#fff;border:1px solid var(--primary-border);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.form-section+ .form-section{border-top:1px solid var(--line);padding-top:28px;margin-top:10px}.form-section h2{font-size:21px;margin-bottom:22px}.field small{display:block;margin-top:6px;font-size:11.5px;color:var(--muted)}.field-error{min-height:18px;color:var(--accent-deep)!important}.invalid{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(233,69,96,.1)!important}.terms-check{display:flex;gap:12px;align-items:flex-start;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:14px;padding:16px;margin:24px 0 5px;font-size:13px}.terms-check input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:var(--accent)}.terms-check a{color:var(--accent-deep);font-weight:700}.checkout-form>.btn{width:100%;margin-top:18px}.checkout-form button:disabled{opacity:.6;cursor:wait}.order-summary{position:sticky;top:96px;background:var(--navy);color:#cbd2df;border-radius:22px;padding:28px;box-shadow:var(--shadow)}.order-summary .kicker{color:#cbd2df;margin-bottom:16px}.summary-items{border-top:1px solid rgba(255,255,255,.11)}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.11);font-size:13px}.summary-line b{color:#fff;white-space:nowrap}.summary-line.total{font-size:18px;color:#fff}.summary-local{color:#aab2c5;font-size:12px;margin-top:14px}.secure-note{font-size:11.5px;margin-top:18px;color:#aab2c5}.empty-state{background:#fff;border:1px solid var(--primary-border);border-radius:22px;padding:45px;text-align:center;box-shadow:var(--shadow)}.empty-state p{margin:10px 0 22px;color:var(--muted)}
.payment-layout{display:grid;grid-template-columns:310px minmax(0,680px);gap:32px;justify-content:center;align-items:start}.payment-recap{position:sticky;top:96px;background:var(--navy);border-radius:20px;padding:28px;color:#cbd2df;box-shadow:var(--shadow)}.payment-recap>span,.payment-recap>b,.payment-recap>strong{display:block}.payment-recap>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8d96ab}.payment-recap>b{color:#fff;margin:3px 0 22px}.payment-recap>strong{color:#fff;font-size:34px;margin:4px 0 22px}.payment-recap p{font-size:12.5px;margin-bottom:15px}.stripe-shell{background:#fff;border:1px solid var(--primary-border);border-radius:22px;padding:22px;box-shadow:var(--shadow);min-height:360px}.test-mode{background:#fff5cc;border:1px solid #ead06d;border-radius:12px;padding:12px 15px;margin-bottom:16px;font-size:12px;color:#5d4a00}.test-mode b,.test-mode span{display:block}.payment-loading{text-align:center;padding:70px 20px;color:var(--muted)}.spinner{display:inline-block;width:34px;height:34px;border:3px solid var(--primary-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.commerce-message{display:none;margin-top:16px;padding:13px 16px;border-radius:12px;font-size:13px}.commerce-message.show{display:block}.commerce-message.error{background:#fff0f2;color:#a8263c;border:1px solid #f3bec8}.commerce-message.success{background:var(--ok-soft);color:#1e6b60;border:1px solid #acd7d0}.commerce-message.info{background:var(--primary-soft);color:var(--primary-deep)}
.result-section{min-height:68vh;display:grid;align-items:center}.result-wrap{max-width:850px}.result-card{background:#fff;border:1px solid var(--primary-border);border-radius:24px;padding:48px;text-align:center;box-shadow:var(--shadow)}.result-card>.spinner{margin-bottom:20px}.result-card>p{color:var(--muted);margin:12px 0 25px}.result-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;margin:0 auto 20px;font-size:28px;font-weight:700}.result-icon.success{background:var(--ok-soft);color:var(--ok)}.result-icon.pending{background:#fff5cc;color:#8a6b00}.order-id-box{background:var(--primary-soft);border-radius:16px;padding:20px;margin:26px auto;max-width:520px}.order-id-box span,.order-id-box strong,.order-id-box small{display:block}.order-id-box strong{font-size:22px;color:var(--ink);letter-spacing:.05em;margin:4px}.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;text-align:left;margin:34px 0}.next-steps>div{display:flex;gap:11px;padding:16px;border:1px solid var(--primary-border);border-radius:14px}.next-steps>div>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;background:var(--navy);color:#fff;border-radius:50%;font-size:12px}.next-steps b,.next-steps small{display:block}.next-steps small{font-size:11px;color:var(--muted);margin-top:4px}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.narrow-commerce{max-width:820px}.order-result{margin-top:24px;background:#fff;border:1px solid var(--primary-border);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.order-result-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:18px}.order-result-head>div>span{font-size:11px;text-transform:uppercase;color:var(--muted)}.status-badge{background:var(--ok-soft);color:var(--ok);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700}.order-result dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.order-result dl>div{background:var(--primary-soft);border-radius:12px;padding:13px}.order-result dt{font-size:10px;text-transform:uppercase;color:var(--muted)}.order-result dd{font-weight:700;color:var(--ink);margin-top:3px}.order-result ul{margin:12px 0 22px;padding-left:20px}.order-result li{margin:5px 0}
.registration-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:30px;align-items:start}.registration-help{background:var(--navy);border-radius:22px;padding:32px;color:#cbd2df;box-shadow:var(--shadow)}.registration-help h2{color:#fff;margin:12px 0}.registration-help p{font-size:14px;margin-bottom:23px}.registration-help .btn{margin-bottom:18px}.privacy-note,.portal-success{font-size:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:10px}.portal-success{color:#8ddfd2}.scanner-actions{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 18px}.upload-btn{position:relative;overflow:hidden}.upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.scanner-panel{position:relative;border-radius:16px;overflow:hidden;background:#111;margin:12px 0 20px;aspect-ratio:4/3}.scanner-panel video{width:100%;height:100%;object-fit:cover}.scan-frame{position:absolute;inset:17%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.25)}.scanner-panel button{position:absolute;right:12px;bottom:12px;border:0;border-radius:999px;padding:8px 12px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer}
.legal-copy{max-width:850px}.legal-copy section{background:#fff;border:1px solid var(--primary-border);border-radius:18px;padding:26px 28px;margin-bottom:16px;box-shadow:var(--shadow)}.legal-copy h2{font-size:20px;margin-bottom:9px}.legal-copy p{font-size:14px}.legal-note{font-size:12px;color:var(--muted);padding:10px}
@media(max-width:1023px){.product-card{grid-template-columns:1fr}.product-card>img{height:280px;min-height:0}.checkout-grid,.payment-layout,.registration-grid{grid-template-columns:1fr}.order-summary,.payment-recap{position:static}.commerce-header .checkout-back{display:inline-flex}}
@media(max-width:760px){.commerce-plans,.product-grid{grid-template-columns:1fr}.commerce-plan{grid-template-columns:auto 1fr}.commerce-plan strong{grid-column:2}.commerce-plan .local-stack{grid-column:2}.commerce-hero-grid{align-items:flex-start}.checkout-form,.result-card{padding:26px 21px}.next-steps{grid-template-columns:1fr}.payment-layout{padding-left:0;padding-right:0}.stripe-shell{border-radius:16px;padding:10px}.result-actions .btn{width:100%}}
@media(max-width:520px){.commerce-hero-grid{display:block}.cart-pill{margin-top:22px}.product-card>img{height:220px}.commerce-plan{padding:21px}.order-result-head{display:block}.status-badge{display:inline-block;margin-top:12px}.order-result dl{grid-template-columns:1fr}.scanner-actions .btn{width:100%}}

/* Per-sensor plan radio cards and subtotals */
.sensor-plan-group{border:0;padding:0;margin:17px 0 0;width:100%}.sensor-plan-group legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}.sensor-plan-options{display:grid;gap:8px;width:100%}.sensor-plan-option{position:relative!important;display:flex!important;align-items:center;gap:10px!important;width:100%;margin:0!important;padding:10px 12px!important;border:1px solid var(--primary-border);border-radius:12px;background:#fff;color:var(--ink)!important;text-transform:none!important;letter-spacing:normal!important;font-size:12px!important;font-weight:500!important;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}.sensor-plan-option:hover{border-color:var(--primary)}.sensor-plan-option:has(input:checked){border-color:var(--accent);background:#fff7f8;box-shadow:0 0 0 2px rgba(233,69,96,.1)}.sensor-plan-option input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent);margin:0}.sensor-plan-option>span:not(.recommend-tag){display:flex;flex-direction:column;gap:2px}.sensor-plan-option b{font-size:12px}.sensor-plan-option small{color:var(--muted);font-size:10px}.sensor-plan-option .recommend-tag{right:9px;top:-10px;font-size:9px;padding:4px 8px}.sensor-subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:9px;width:100%;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.sensor-subtotal>span{font-size:12px;color:var(--muted)}.sensor-subtotal>b{font-size:17px;color:var(--ink);white-space:nowrap}.sensor-subtotal small{width:100%;font-size:10px;color:var(--muted);margin-top:-5px}
.sensor-plan-option.recommended{padding-top:15px!important}.sensor-plan-option .recommend-tag{right:9px;top:5px}

/* Wide image-top sensor cards */
.product-card{display:flex;flex-direction:column}.product-card>img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;min-height:0}.product-body{padding:28px}.product-price{margin-top:16px}.sensor-plan-option.recommended{padding-right:132px!important}.sensor-plan-option .recommend-tag{top:50%;right:14px;transform:translateY(-50%);white-space:nowrap}
@media(max-width:1023px){.product-card>img{height:auto;min-height:0}}
@media(max-width:520px){.product-card>img{height:auto}}

/* NB-IoT purchase reminders */
.nbiot-order-reminder,.nbiot-checkout-reminder{display:flex;align-items:flex-start;gap:14px;background:#fff8e8;border:1px solid #efd990;border-radius:16px;padding:18px 20px;color:#5d4a00;margin:0 0 24px;font-size:13px}.nbiot-checkout-reminder{max-width:1000px;margin:0 auto 28px}.nbiot-reminder-icon{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#d39b18;color:#fff;font-weight:800;font-family:Georgia,serif}.nbiot-order-reminder strong,.nbiot-checkout-reminder strong{display:block;color:#493800;font-size:14px;margin-bottom:5px}.nbiot-order-reminder p,.nbiot-checkout-reminder p{margin:0 0 8px;line-height:1.6}.nbiot-order-reminder a,.nbiot-checkout-reminder a{color:#8c5e00;font-weight:700;text-decoration:underline;text-underline-offset:3px}.nbiot-order-reminder a:hover,.nbiot-checkout-reminder a:hover{color:#5d3d00}

/* Account-first sensor registration mockup */
.registration-steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.registration-step{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(24,31,59,.14);border-radius:999px;color:#8b91a3;font-size:12px;font-weight:700}.registration-step b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8eaf0}.registration-step.active{background:#eef1f8;color:#171a33;border-color:#aeb9cf}.registration-step.active b{background:#18203d;color:#fff}.account-registration-section{padding-top:30px}.demo-notice{display:flex;align-items:flex-start;gap:14px;max-width:980px;margin:0 auto 24px;padding:18px 20px;background:#fff8e8;border:1px solid #efd990;border-radius:16px;color:#5d4a00;font-size:13px}.demo-notice strong{display:block;margin-bottom:5px;color:#493800}.demo-notice p{margin:0;line-height:1.6}.registration-panel{max-width:980px;margin:0 auto;background:#fff;border:1px solid rgba(24,31,59,.1);border-radius:22px;padding:34px;box-shadow:0 16px 40px rgba(24,31,59,.07)}.registration-step-panel h2{margin:6px 0 8px}.panel-kicker{color:#e94c68;font-size:11px;font-weight:800;letter-spacing:.16em}.panel-intro{color:#697187;max-width:680px}.field-error{display:block;min-height:17px;color:#c43d55;font-size:12px;margin-top:4px}.field-error:not(.visible){visibility:hidden}.field label span{color:#e94c68}.phone-row{display:grid;grid-template-columns:180px 1fr;gap:8px}.phone-row select{min-width:0}.check-row{display:flex;gap:10px;align-items:flex-start;margin:12px 0 18px;font-size:13px;color:#586174}.check-row input{margin-top:3px}.account-links{font-size:13px;color:#687187;margin:22px 0 0}.account-links a{color:#25355d;font-weight:700;text-decoration:underline}.verification-code-wrap{max-width:360px;margin:28px 0 0}.verification-code-wrap input{font-size:28px;letter-spacing:.28em;text-align:center}.demo-code{display:inline-block;margin:12px 0 18px;padding:9px 13px;background:#edf7f3;border:1px solid #b9dfd0;border-radius:9px;color:#176148;font-size:13px}.demo-code strong{letter-spacing:.16em}.verify-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.success-banner{padding:14px 16px;background:#edf7f3;border:1px solid #b9dfd0;border-radius:12px;color:#176148;font-weight:700;margin:22px 0}.registration-next-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.sensor-register-box,.account-status-box{padding:24px;border:1px solid rgba(24,31,59,.12);border-radius:16px;background:#fbfcfe}.sensor-register-box h3,.account-status-box h3{margin:8px 0}.account-status-box hr{border:0;border-top:1px solid rgba(24,31,59,.1);margin:24px 0}.account-status-box p,.sensor-register-box p{color:#687187;line-height:1.65;font-size:14px}.account-status-box .btn{margin-top:8px}.scanner-actions{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.upload-btn{position:relative;overflow:hidden}.upload-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.commerce-message{min-height:20px;margin-top:12px;font-size:13px}.commerce-message.success{color:#176148}.commerce-message.error{color:#c43d55}@media (max-width:720px){.registration-panel{padding:22px 18px}.phone-row{grid-template-columns:1fr}.registration-next-grid{grid-template-columns:1fr}.registration-steps{gap:6px}.registration-step{font-size:11px;padding:7px 9px}.demo-notice{padding:14px}.verify-actions .btn{width:100%}}

/* Keep the consent checkbox compact and left-aligned; global input rules set width:100%. */
.account-registration-section .check-row{justify-content:flex-start!important;align-items:flex-start!important;width:100%;text-align:left;margin-left:0!important}.account-registration-section .check-row input[type="checkbox"]{width:18px!important;min-width:18px!important;max-width:18px!important;flex:0 0 18px!important;margin:3px 0 0!important}.account-registration-section .check-row span{display:block;flex:0 1 auto;text-align:left}

/* Subscription status management template */
.account-status-highlight{grid-column:1/-1!important;border:2px solid #aebbd2!important;background:linear-gradient(145deg,#f8faff,#fff)!important;box-shadow:0 18px 38px rgba(24,31,59,.1)!important}.status-intro{max-width:780px}.subscription-alert{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:14px 16px;border:1px solid #efbdc7;background:#fff3f5;color:#8f2538;border-radius:12px;font-size:13px}.subscription-alert>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e94c68;color:#fff;font-weight:800}.subscription-alert p{margin:3px 0 0;line-height:1.5}.subscription-list{display:grid;gap:14px;margin:18px 0}.subscription-card{padding:18px;border:1px solid var(--primary-border);border-radius:15px;background:#fff}.subscription-card.subscription-warning{border-color:#efbdc7;box-shadow:0 0 0 3px rgba(233,76,104,.07)}.subscription-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.subscription-type{display:block;color:var(--primary-deep);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.subscription-card h4{margin:5px 0 0;color:var(--ink);font-size:16px}.subscription-status{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.status-active{background:#e9f6f2;color:#176148}.status-expiring{background:#fff0f2;color:#a8263c}.subscription-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.subscription-meta div{padding:10px 11px;border-radius:9px;background:#f6f8fb}.subscription-meta dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.subscription-meta dd{margin:4px 0 0;color:var(--ink);font-size:12px;font-weight:700}.subscription-actions{display:flex;gap:7px;flex-wrap:wrap}.btn-small{padding:8px 11px!important;font-size:11px!important}.registered-sensors-callout{display:flex;gap:16px;align-items:flex-start;margin-top:8px;padding:20px;border:2px solid var(--accent);border-radius:15px;background:linear-gradient(135deg,#fff5f7,#fff);box-shadow:0 10px 24px rgba(233,69,96,.13)}.registered-sensors-callout .product-category{margin-bottom:4px}.registered-sensors-callout h3{margin:5px 0}.registered-sensors-callout p{margin:5px 0 12px}.callout-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:var(--accent);color:#fff;font-weight:900;font-size:20px}@media(max-width:720px){.account-status-highlight{grid-column:auto!important}.subscription-meta{grid-template-columns:repeat(2,1fr)}.subscription-card-head{display:block}.subscription-status{display:inline-block;margin-top:10px}.registered-sensors-callout{flex-direction:column}.subscription-actions .btn{flex:1 1 auto}}

/* Keep the two account-action cards side by side in Step 3. */
.registration-next-grid .account-status-highlight{grid-column:auto!important}.registered-sensors-card{height:fit-content;align-self:stretch}.registered-sensors-card h3{margin-top:6px}.registered-sensors-card p{line-height:1.55;color:var(--muted)}
@media(max-width:720px){.registration-next-grid .account-status-highlight{grid-column:auto!important}.registered-sensors-card{margin-top:0}}

/* Step 3 desktop order: device registration and existing devices side by side; subscriptions below. */
@media(min-width:721px){.registration-next-grid .sensor-register-box{grid-column:1;grid-row:1}.registration-next-grid .registered-sensors-card{grid-column:2;grid-row:1}.registration-next-grid .account-status-highlight{grid-column:1/-1!important;grid-row:2}}
@media(max-width:720px){.registration-next-grid .sensor-register-box,.registration-next-grid .registered-sensors-card,.registration-next-grid .account-status-highlight{grid-column:auto;grid-row:auto}}

@media(min-width:721px){.registration-next-grid .registered-sensors-card{margin-top:0}}

/* Equal-height Step 3 cards */
@media(min-width:721px){.registration-next-grid .sensor-register-box,.registration-next-grid .registered-sensors-card{height:100%;box-sizing:border-box}.registration-next-grid .sensor-register-box{display:flex;flex-direction:column}.registration-next-grid .sensor-register-box form{flex:1;display:flex;flex-direction:column}.registration-next-grid .sensor-register-box form .btn-primary{margin-top:auto}}
/* Renewal term selector */
.renewal-modal{position:fixed;inset:0;z-index:50;background:rgba(17,24,49,.62);display:grid;place-items:center;padding:20px}.renewal-modal[hidden]{display:none}.renewal-dialog{position:relative;width:min(560px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.renewal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;color:#70758a;cursor:pointer}.renewal-options{display:grid;gap:12px;margin:24px 0}.renewal-option{display:flex;gap:12px;align-items:flex-start;border:1px solid #dfe3eb;border-radius:16px;padding:16px;cursor:pointer}.renewal-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px rgba(239,69,101,.12)}.renewal-option input{margin-top:4px}.renewal-option span{display:grid;gap:4px;flex:1}.renewal-option b{font-size:1.15rem;color:var(--ink)}.renewal-option small{color:var(--muted)}
/* Renewal-only payment */
.renewal-payment-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(320px,1.25fr);gap:28px;align-items:start}.card-payment-form{background:#fff;border:1px solid #e1e5ed;border-radius:20px;padding:30px;box-shadow:0 16px 36px rgba(26,35,68,.08)}.card-payment-form label{display:grid;gap:7px;margin:14px 0;color:var(--ink);font-weight:600}.card-payment-form input{width:100%;box-sizing:border-box}.payment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-payment-form .check-row{display:flex;align-items:flex-start;gap:10px;font-weight:400}.card-payment-form .check-row input{width:auto;margin-top:4px}.card-payment-form .btn{width:100%;margin-top:12px}.muted{color:var(--muted)}
@media(max-width:720px){.renewal-dialog{padding:28px 22px}.renewal-payment-layout{grid-template-columns:1fr}.payment-form-row{grid-template-columns:1fr}}

/* Renewal popup: keep the radio control and plan copy aligned in a predictable row. */
.renewal-options{width:100%;box-sizing:border-box}.renewal-option{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important;column-gap:14px!important;width:100%;box-sizing:border-box;text-align:left}.renewal-option input[type="radio"]{width:18px!important;height:18px!important;min-width:18px;margin:3px 0 0!important;place-self:start!important;flex:none!important}.renewal-option>span{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "description description";align-items:start;column-gap:18px;row-gap:5px;min-width:0;width:100%}.renewal-option>span strong{grid-area:name;min-width:0;line-height:1.35}.renewal-option>span b{grid-area:price;white-space:nowrap;line-height:1.35;text-align:right}.renewal-option>span small{grid-area:description;line-height:1.45;min-width:0}.renewal-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px rgba(239,69,101,.12)}
@media(max-width:560px){.renewal-option>span{grid-template-columns:1fr;grid-template-areas:"name" "price" "description";row-gap:3px}.renewal-option>span b{text-align:left}}
