.subscription-shell { min-height:100vh; }
.subscription-header { background:var(--qb-surface); border-bottom:1px solid var(--qb-border); }
.subscription-header-inner { max-width:1240px; margin:0 auto; padding:8px 16px; min-height:64px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; }
.subscription-brand { display:flex; flex-direction:column; align-items:flex-end; direction:ltr; text-decoration:none; font-family:var(--qb-font-content); font-size:21px; font-weight:600; color:var(--qb-teal); line-height:1.2; }
.subscription-brand span { font-family:var(--qb-font-ui); font-size:11px; color:var(--qb-muted); font-weight:400; }
.subscription-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:2px; }
.subscription-main { width:100%; max-width:1240px; margin:0 auto; padding:24px 16px 56px; box-sizing:border-box; }
.subscription-main section { min-width:0; grid-template-columns:minmax(0,1fr); }
.subscription-main label,.subscription-main input,.subscription-main select,.subscription-main textarea { min-width:0; max-width:100%; width:100%; box-sizing:border-box; }
.subscription-main button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.subscription-main p,.subscription-main h2,.subscription-main td { overflow-wrap:anywhere; }
.subscription-main select { appearance:auto; }
.subscription-main table { border-collapse:collapse; }
.subscription-main td { padding:12px; border-bottom:1px solid var(--qb-border); }
.subscription-main .subscription-check { display:flex; align-items:center; gap:10px; margin:10px 0; }
.subscription-main .subscription-check input { width:20px; height:20px; flex:none; accent-color:var(--qb-teal); }
