/* Customer design system. All themes share the same business DOM and tokens. */
.customer-shell{
 --page:#f5f6f3;--surface:#fff;--elevated:#fafbf8;--brand:#28594f;--brand-pressed:#193e37;
 --text:#1d2925;--secondary:#596760;--muted:#748078;--border:#dfe5df;
 --success:#286549;--warning:#886219;--danger:#a13838;--information:#375b7d;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;
 --r-sm:8px;--r-md:12px;--r-lg:20px;--r-pill:999px;
 --shadow:0 4px 18px #18302908;--shadow-raised:0 12px 36px #18302912;
 color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
 max-width:1120px;padding:var(--s6) var(--s4) calc(104px + env(safe-area-inset-bottom));font-size:15px;line-height:1.65;
}
body:has(.customer-shell){background:#f5f6f3}
.customer-shell.brand-1{--brand:#284d83;--brand-pressed:#193456}
.customer-shell.brand-2{--brand:#64448a;--brand-pressed:#43285f}
.customer-shell.brand-3{--brand:#823d45;--brand-pressed:#58232a}
.customer-shell header{border:0;padding:0 0 var(--s8);min-height:0}
.customer-brand{display:flex;gap:var(--s3);align-items:center}
.customer-shell .customer-brand strong{font-size:19px;letter-spacing:.5px;font-weight:650}
.customer-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--brand);color:#fff;border-radius:var(--r-md)}
.customer-subtitle{font-size:12px;color:var(--secondary);margin:0}
.customer-icon{width:22px;height:22px;flex:0 0 22px;vertical-align:middle}
.customer-shell h1{font-size:24px;line-height:1.3;margin:var(--s2) 0 var(--s3);letter-spacing:-.6px;font-weight:650}
.customer-shell h2{font-size:19px;font-weight:650;margin:0 0 var(--s4);line-height:1.4}
.customer-shell h3{font-size:16px;font-weight:600}
.customer-shell p{margin:0 0 var(--s4)}
.customer-shell .customer-lead{color:var(--secondary);font-size:14px;margin-bottom:var(--s8)}
.customer-shell .customer-caption,.customer-shell small{font-size:12px;color:var(--secondary)}
.customer-shell a:where(:not(.customer-skip)){color:var(--brand);gap:var(--s2);padding:var(--s3) 0;text-align:left;text-decoration:none;min-height:44px}
.customer-shell .card,.customer-empty,.customer-checkout{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:none;padding:var(--s6);margin-bottom:var(--s6)}
.customer-shell .customer-products{gap:var(--s4)}
.customer-shell .customer-products .card{margin:0}
.customer-shell .customer-products .card>h2{padding-bottom:var(--s3);border-bottom:1px solid var(--border)}
.customer-shell .customer-plan-traffic{font-size:25px;font-weight:650;letter-spacing:-.7px;margin:var(--s4) 0 var(--s1)}
.customer-shell .customer-plan-traffic+p{color:var(--secondary);font-size:14px}
.customer-start-price{font-size:29px;letter-spacing:-1px;font-weight:650;padding-top:var(--s4)}
.customer-shell .customer-select{display:flex;justify-content:space-between;border-top:1px solid var(--border);width:100%;font-weight:600}
.customer-shell button,.customer-shell .customer-button{border:1px solid transparent;background:var(--brand);color:#fff;border-radius:var(--r-md);min-height:48px;padding:var(--s3) var(--s6);font-size:15px;font-weight:600;box-shadow:none;line-height:1.4}
.customer-shell button:hover,.customer-shell .customer-button:hover{background:var(--brand-pressed);color:#fff}
.customer-shell button:active,.customer-shell .customer-button:active{transform:translateY(1px)}
.customer-shell .customer-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}
.customer-shell .customer-secondary:hover{background:var(--elevated);color:var(--brand)}
.customer-shell button:disabled{color:var(--muted);background:var(--border);cursor:not-allowed;transform:none}
.customer-shell a:focus-visible,.customer-shell button:focus-visible,.customer-shell input:focus-visible,.customer-shell summary:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.customer-shell .form-grid{gap:var(--s6)}
.customer-shell label{font-size:14px;font-weight:550;color:var(--text)}
.customer-shell input{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);min-height:50px;padding:var(--s3) var(--s4);font-family:inherit;color:var(--text);margin-top:var(--s2)}
.customer-shell input::placeholder{color:var(--muted);font-weight:400}
.customer-shell .customer-nav{border-color:var(--border);background:var(--surface);box-shadow:none;padding:var(--s2) var(--s2) calc(var(--s2) + env(safe-area-inset-bottom))}
.customer-shell .customer-nav a{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s2)!important;color:var(--secondary);font-size:11px;line-height:1.3;border-radius:var(--r-md)}
.customer-shell .customer-nav a[aria-current=page]{background:transparent;color:var(--brand);font-weight:700}
.customer-shell .customer-nav a[aria-current=page] .customer-icon{stroke-width:2.2}
.customer-shell .customer-nav a:hover{background:var(--elevated)}
.customer-guest{max-width:440px;padding-top:var(--s12);padding-bottom:var(--s12)}
.customer-guest header{justify-content:flex-start;padding-bottom:64px}
.customer-guest h1{text-align:left;font-size:28px;letter-spacing:-.8px}
.customer-auth{margin:var(--s8) 0 0;max-width:none}
.customer-auth .customer-actions{font-size:13px;margin-top:var(--s6);justify-content:space-between}
.customer-empty{padding:var(--s6);background:transparent;border:0}
.customer-empty h2{font-size:14px;color:var(--secondary);margin-bottom:var(--s6)}
.customer-shell .customer-empty-link{display:flex;flex-direction:column;min-height:220px;width:100%;justify-content:center;border:1px dashed #bac8bd;border-radius:var(--r-lg);background:#eef1eb;gap:var(--s3);color:var(--text)}
.customer-empty-link>span:last-child{font-size:13px;color:var(--secondary)}
.customer-empty-plus{display:grid;place-items:center;width:48px;height:48px;background:var(--surface);border-radius:var(--r-pill);color:var(--brand)}
.customer-service-card{background:#1e302b;color:#f6f8f5;border-radius:var(--r-lg);padding:var(--s6);margin:var(--s4) 0 var(--s6)}
.customer-service-card .customer-status{background:transparent;color:#a6c4b5;font-size:12px;padding:0;margin-bottom:var(--s8)}
.customer-service-card>p{color:#b7c7be;font-size:13px}
.customer-service-card .customer-remaining{font-size:48px;letter-spacing:-2px;font-weight:600;line-height:1.1;color:#fff;margin:var(--s2) 0 var(--s6)}
.customer-shell progress{appearance:none;border:0;border-radius:var(--r-pill);height:4px;background:#dae2dc;overflow:hidden;accent-color:var(--brand);margin-bottom:var(--s3)}
.customer-shell progress::-webkit-progress-bar{background:#dce5df}
.customer-shell progress::-webkit-progress-value{background:var(--brand)}
.customer-service-card progress::-webkit-progress-bar{background:#4b5e54}
.customer-service-card progress::-webkit-progress-value{background:#b8d6c4}
.customer-subscription{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s4) 0;border-top:1px solid #40544a;border-bottom:1px solid #40544a;color:#bbcbc1;font-size:12px;margin:var(--s6) 0}
.customer-subscription form{margin:0}
.customer-subscription [data-subscription-feedback]{flex-basis:100%;margin:0}
.customer-subscription [data-subscription-feedback]:empty{display:none}
.customer-subscription input{width:100%;min-width:0;box-sizing:border-box}
.customer-shell .customer-service-card .customer-back{color:#e3ede7;display:flex;justify-content:space-between;font-size:13px;margin:var(--s3) 0 0}
.customer-help{justify-content:center;gap:var(--s8);font-size:13px}
.customer-shell .customer-announcement{display:flex;align-items:center;justify-content:flex-start;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin:0 0 var(--s4);width:100%}
.customer-announcement>span{flex:1;min-width:0}
.customer-announcement small,.customer-announcement strong{display:block;font-size:12px}
.customer-announcement strong{font-size:14px;font-weight:550;color:var(--text)}
.customer-dialog{border:1px solid var(--border);border-radius:var(--r-lg);width:min(420px,calc(100% - 32px));max-height:80dvh;padding:var(--s6);color:var(--text);background:var(--surface);box-shadow:var(--shadow-raised)}
.customer-dialog::backdrop{background:#16291f66}
.customer-dialog h2{font-size:22px}
.customer-dialog .customer-prose{max-height:45dvh;overflow-y:auto;margin:var(--s6) 0}
.customer-dialog form{max-width:none}
.customer-eyebrow{font-size:11px;letter-spacing:1px;font-weight:600;color:var(--brand);text-transform:uppercase}
.customer-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
.customer-article{padding:var(--s6) 0}
.customer-shell .customer-periods{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin:var(--s4) 0 var(--s8)}
.customer-shell .customer-periods a{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);padding:var(--s3) var(--s2);gap:var(--s1);text-align:center;color:var(--text)}
.customer-shell .customer-periods a span{font-size:12px;color:var(--secondary)}
.customer-shell .customer-periods strong{font-size:22px;font-weight:600}
.customer-shell .customer-periods a[aria-current=true]{border-color:var(--brand);background:#eef3ee;box-shadow:inset 0 0 0 1px var(--brand)}
.customer-coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);align-items:end;margin:var(--s6) 0 var(--s3)}
.customer-coupon label{min-width:0}
.customer-coupon button{margin:0;height:50px;padding:var(--s3) var(--s4)}
.customer-shell .customer-error{color:var(--danger);font-size:13px;margin-bottom:var(--s4)}
.customer-coupon-success{color:var(--success);font-size:13px}
.customer-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);align-items:start}
.customer-checkout-layout>.card{margin:0}
.customer-checkout dl{display:grid;grid-template-columns:1fr auto;gap:var(--s3);font-size:14px;color:var(--secondary)}
.customer-checkout dd{margin:0}
.customer-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:var(--s6) 0;margin-top:var(--s6)}
.customer-total strong{font-size:36px;letter-spacing:-1.2px;color:var(--text);font-weight:650}
.customer-checkout button{width:100%}
.customer-shell .customer-price{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:var(--s3) 0 var(--s6)}
.customer-payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
.customer-payment-actions form:first-child{grid-column:1/-1}
.customer-payment-actions form{margin:0;display:block}
.customer-payment-actions button,.customer-shell .customer-pay-cta{width:100%}
.customer-order-meta{border-top:1px solid var(--border);margin-top:var(--s6);padding-top:var(--s4);font-size:12px;color:var(--secondary)}
.customer-order-meta p{margin-bottom:var(--s2)}
#checkout-coupon{scroll-margin-top:16px}
[data-checkout-enhance]{overflow-anchor:none}
[data-coupon-feedback]{min-height:42px;font-size:13px}
.customer-signout{display:flex;justify-content:center;margin:var(--s6) 0}
.customer-signout form{display:block;width:auto}
.customer-signout button{min-width:120px}
.customer-shell .customer-all-announcements{display:flex;justify-content:flex-end;font-size:12px;padding-top:0;margin-bottom:var(--s4)}
.customer-shell footer .sandbox{display:flex;justify-content:center;align-items:center;gap:var(--s2);border:0;background:transparent;color:var(--muted);font-size:11px;padding:var(--s3)}
.customer-shell footer .sandbox .customer-icon{width:16px;height:16px;flex-basis:16px}
.customer-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:0 var(--s6)}
.customer-shell .customer-menu a{display:flex;width:100%;gap:var(--s4);padding:var(--s6) 0;justify-content:flex-start;border-bottom:1px solid var(--border);color:var(--text)}
.customer-menu a:last-child{border:0}
.customer-menu a>span{flex:1}
.customer-menu a>.customer-icon:last-child{color:var(--muted);width:16px}
.customer-support{padding:var(--s6) 0;color:var(--secondary)}
.customer-support>.customer-icon{margin-bottom:var(--s6);color:var(--brand);width:32px;height:32px}
.customer-contact{padding:var(--s4) 0;border-bottom:1px solid var(--border)}
.customer-contact>span{display:block;font-size:12px}
.customer-contact>strong{font-size:16px;color:var(--text)}
.customer-shell .notice{background:#edf3ed;color:var(--success);padding:var(--s4);font-size:13px;border-radius:var(--r-md)}
.customer-success{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding:12px 16px;background:#edf3ed;color:var(--success);border:1px solid #b8d1bf;border-radius:var(--r-md);font-size:15px;font-weight:600;box-shadow:var(--shadow-raised)}
.customer-shell .customer-success button{background:transparent;color:var(--success);min-height:32px;min-width:32px;padding:0;font-size:22px;flex-shrink:0}
.customer-success button[hidden]{display:none}
@media(min-width:768px){
 .customer-shell{padding:var(--s8) var(--s8) var(--s12)}
 .customer-shell .customer-nav{padding:var(--s2);margin:0 0 var(--s10);border:1px solid var(--border)}
 .customer-shell .customer-nav a{flex-direction:row;gap:var(--s2);font-size:13px;padding:var(--s3) var(--s6)!important}
 .customer-shell .customer-nav a[aria-current=page]{background:var(--elevated)}
 .customer-checkout-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}
 .customer-checkout{position:sticky;top:var(--s6)}
 .customer-service-card{max-width:720px;padding:var(--s8)}
 .customer-empty{max-width:720px}.customer-help{justify-content:flex-start}
 .customer-guest{max-width:440px;padding-top:64px}
}
@media(max-width:380px){.customer-shell{padding-left:var(--s3);padding-right:var(--s3)}.customer-shell .card,.customer-checkout{padding:var(--s4)}}

/* Fixed, tenant-selected themes. No tenant CSS or additional business pages. */
.customer-brand{min-width:0;max-width:100%}
.customer-brand>div{min-width:0;overflow-wrap:anywhere}
.customer-logo{width:40px;height:40px;flex:0 0 40px;object-fit:contain;border-radius:8px}
.customer-brand-footer{font-size:12px;color:var(--secondary);overflow-wrap:anywhere}
body:has(.theme-airy){background:#f7f6f1}
.customer-shell.theme-airy{--page:#f7f6f1;--elevated:#f2f2eb;--r-md:16px;--r-lg:28px;--border:#e7e7de}
.theme-airy .card,.theme-airy .customer-checkout{box-shadow:0 8px 28px #343d2910;border-color:transparent}
.theme-airy .customer-service-card{background:linear-gradient(145deg,#243a32,#354e43);border-radius:28px;padding:28px}
.customer-shell.theme-airy button,.theme-airy .customer-button{border-radius:999px}
.customer-shell.theme-airy .customer-nav{left:12px;right:12px;bottom:8px;border:1px solid var(--border);border-radius:24px;box-shadow:0 8px 28px #343d2914}
.customer-shell.theme-airy .customer-nav a[aria-current=page]{background:var(--elevated)}
body:has(.theme-compact){background:#f1f4f7}
.customer-shell.theme-compact{--page:#f1f4f7;--elevated:#eef2f6;--border:#dce3e9;--r-md:6px;--r-lg:10px;--s6:18px;--s8:26px}
.theme-compact .customer-service-card{background:#26333d;border-left:4px solid #9eacb7;border-radius:10px}
.theme-compact .customer-service-card .customer-remaining{font-size:38px;letter-spacing:-1px}
.customer-shell.theme-compact .customer-nav a[aria-current=page]{background:var(--elevated);border-radius:6px}
.theme-compact .customer-products{gap:12px}
@media(min-width:768px){.customer-shell.theme-airy .customer-nav{border-radius:16px;box-shadow:none}.theme-airy .customer-service-card{padding:32px}}

/* Only the new explicit mode-loss consent; preserve existing form controls. */
.customer-shell .customer-mode-confirm{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;line-height:1.6}
.customer-shell .customer-mode-confirm input[type=checkbox]{width:1.25rem;height:1.25rem;min-height:1.25rem;flex:0 0 1.25rem;padding:0;margin:.15rem 0 0;accent-color:var(--brand)}
.customer-shell .shared-confirm { display:flex; align-items:flex-start; gap:10px; font-weight:normal; }
.customer-shell .shared-confirm input[type="checkbox"] { width:20px; height:20px; min-height:20px; flex:0 0 20px; margin:3px 0; padding:0; }
