/* Only the subscription presentation; existing reports/measurement flows stay scoped out. */
.subscription-page a.button-primary,
.subscription-page a.button-primary:visited,
.subscription-page a.button-primary:hover,
.subscription-page a.button-primary:focus,
.subscription-page a.button-primary:focus-visible{color:var(--tenant-primary-contrast)}
.subscription-page{--sub-ink:var(--heading);--sub-muted:var(--muted);--sub-purple:var(--tenant-primary);--sub-line:var(--line);display:flex;flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;color:var(--sub-ink);width:100%;min-width:0;padding-bottom:24px}
.subscription-page *{box-sizing:border-box}.subscription-heading h1{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.2;margin:0 0 6px;letter-spacing:-.025em}.subscription-heading p{margin:0;color:var(--sub-muted);font-size:1rem}.subscription-heading>a{display:inline-block;margin-top:12px}
.subscription-card{background:var(--paper);border:1px solid var(--sub-line);border-radius:12px;padding:24px;min-width:0;box-shadow:none}.subscription-page h2{font-size:1.22rem;line-height:1.3;margin:0 0 18px}.subscription-page h3{font-size:1rem;margin:0 0 10px}.subscription-page p{line-height:1.5}.subscription-card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}.subscription-card-heading h2{margin:0}.subscription-card-meta{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:.83rem;color:var(--sub-muted)}.subscription-page a{color:var(--sub-purple)}
.subscription-current-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:24px;align-items:center}.subscription-capacity{font-size:1.9rem;font-weight:750;line-height:1.2!important;margin:0 0 4px}.subscription-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin:0 0 7px!important;line-height:1.2!important}.subscription-price strong{font-size:1.9rem;font-weight:750;letter-spacing:-.025em}.subscription-price span{font-size:1.06rem}.subscription-price-note{font-size:.84rem;margin:0;color:var(--sub-muted)}.subscription-stats{display:flex;justify-content:space-around;margin:0;border-left:1px solid var(--sub-line);padding:12px 0 12px 18px;gap:10px}.subscription-stats>div{display:flex;flex-direction:column-reverse;align-items:center;text-align:center;flex:1;gap:5px;min-width:0}.subscription-stats dd{font-size:1.6rem;font-weight:750;margin:0}.subscription-stats dt{font-size:.75rem;color:var(--sub-muted);line-height:1.3}
.subscription-change-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:32px;align-items:center}.subscription-quantity>label{display:block;font-weight:500;font-size:1rem;margin-bottom:14px}.subscription-number-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.subscription-stepper{display:flex;gap:9px;align-items:center}.subscription-stepper button{border:0;background:var(--tenant-primary-soft);color:var(--tenant-primary-deep);border-radius:9px;width:52px;height:52px;min-width:48px;font-size:1.7rem;cursor:pointer;line-height:1}.subscription-stepper button:disabled{opacity:.45;cursor:default}.subscription-stepper input{width:100px;min-height:52px;text-align:center;border:1px solid var(--line);border-radius:8px;font-size:1.5rem;font-weight:700;color:var(--sub-ink);background:var(--paper);padding:8px;scroll-margin-top:100px;scroll-margin-bottom:140px}.subscription-stepper input[aria-invalid=true]{border-color:var(--danger)}.subscription-page input:focus,.subscription-page select:focus,.subscription-page button:focus-visible,.subscription-page a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.subscription-delta{background:var(--tenant-primary-soft);border-radius:30px;padding:8px 13px;color:var(--tenant-primary-deep);font-size:.85rem;font-weight:600;white-space:nowrap}.subscription-price-preview{background:var(--tenant-primary-soft);border-radius:9px;padding:20px;min-height:136px;display:flex;flex-direction:column;justify-content:center}.subscription-price-preview h3{font-size:.9rem;margin-bottom:12px}.subscription-price-preview>p:last-child{font-size:.84rem;margin:0}.subscription-preview-empty{min-height:50px;display:flex;align-items:center}.subscription-hint{font-size:.75rem;color:var(--sub-muted);margin:10px 0 0}.subscription-field-error{font-size:.85rem;color:#a02424;margin:4px 0 0;min-height:21px}.subscription-effective{font-size:.86rem;margin:14px 0 4px;color:var(--sub-muted);min-height:26px}.subscription-unordered{text-align:right;font-size:.82rem;color:var(--sub-muted);margin:0 0 10px}.subscription-primary{display:block;width:100%;min-height:48px;border-radius:8px}.subscription-page fieldset{border:0;padding:0;margin:0;min-width:0}.subscription-page .button{min-height:46px;white-space:normal}.subscription-page .button-primary{background:var(--sub-purple);box-shadow:none}.subscription-entry{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--sub-ink)!important;padding:18px 24px}.subscription-entry>span:nth-child(2){flex:1;min-width:0}.subscription-entry strong{display:block;font-size:1rem}.subscription-entry small{display:block;font-size:.8rem;color:var(--sub-muted);margin-top:3px}.subscription-entry-icon{font-size:1.7rem;width:35px;text-align:center}.subscription-entry>span:last-child{font-size:1.7rem}.subscription-footer-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem}.subscription-simulation{padding:10px 14px;background:var(--warn-soft);border:1px solid var(--line);border-radius:8px;font-size:.83rem;margin:0}.subscription-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:var(--warn-soft);border:1px solid var(--line);border-radius:8px;padding:12px;margin:18px 0 0;font-size:.9rem}.subscription-status p{margin:3px 0 0}.subscription-confirm{border:1px solid var(--line);border-radius:8px;padding:18px;margin:16px 0;background:var(--paper)}.subscription-confirm label,.subscription-review label{display:block;margin:12px 0}.subscription-page input[type=checkbox]{width:20px;height:20px;accent-color:var(--sub-purple);vertical-align:middle;margin-right:8px}.subscription-page label:has(input[type=checkbox]){min-height:44px;display:flex;gap:8px;align-items:center}.subscription-page input:not([type=checkbox]),.subscription-page select{max-width:100%;min-height:46px}.subscription-page .quota-summary{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);gap:8px 16px}.subscription-page .quota-summary dd{margin:0}.subscription-selected,.quota-assignment{margin:16px 0}.subscription-text-button{border:0;background:none;color:var(--sub-purple);text-decoration:underline;padding:8px;font:inherit;cursor:pointer}.subscription-order{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--sub-line);padding:16px 0}.subscription-order p{font-size:.85rem;margin:4px 0;color:var(--sub-muted)}
.quota-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.quota-filters label{display:flex;flex-direction:column;gap:6px;font-size:.84rem}.quota-search{grid-column:1/-1}.quota-filters input,.quota-filters select,.quota-assignment input:not([type=checkbox]),.quota-assignment select,.subscription-confirm input:not([type=checkbox]){border:1px solid var(--line);border-radius:7px;padding:10px;width:100%;background:white;font:inherit;color:var(--sub-ink)}.quota-results{font-size:.83rem;color:var(--sub-muted);margin:20px 0 10px}.quota-slot-list{border-top:1px solid var(--sub-line)}.quota-slot-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--sub-line);min-width:0}.quota-slot-context{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.quota-slot-context small,.quota-slot-state,.quota-slot-context a{font-size:.8rem;color:var(--sub-muted)}.quota-slot-context strong{font-size:.94rem}.quota-slot-context a{color:var(--sub-purple)}.quota-slot-row .button{flex-shrink:0}.quota-select{font-size:.85rem;max-width:260px}.quota-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;font-size:.85rem}.quota-assignment summary,.subscription-selected summary{cursor:pointer;font-weight:600;padding:10px 0;min-height:44px}.quota-assignment label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.quota-assignment label:has(input[type=checkbox]){flex-direction:row}
@media(max-width:1050px){.subscription-current-grid{grid-template-columns:minmax(0,1fr)}.subscription-stats{border-left:0;border-top:1px solid var(--sub-line);padding:16px 0 0}.subscription-change-grid{gap:20px;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}.subscription-number-row{gap:10px}.subscription-stepper input{width:80px}}
@media(max-width:640px){.subscription-page{gap:14px;padding-bottom:24px}.subscription-heading h1{font-size:1.65rem}.subscription-heading p{font-size:.9rem;line-height:1.4}.subscription-card{padding:17px;border-radius:10px}.subscription-page h2{font-size:1.13rem;margin-bottom:15px}.subscription-card-heading{gap:10px;align-items:flex-start;margin-bottom:12px}.subscription-card-meta{gap:6px;align-items:flex-end;flex-direction:column;font-size:.7rem;text-align:right;max-width:45%}.subscription-capacity{font-size:1.3rem}.subscription-price strong{font-size:1.5rem}.subscription-price span{font-size:.95rem}.subscription-price-note{font-size:.76rem}.subscription-current-grid{gap:12px}.subscription-stats{padding-top:10px;gap:7px}.subscription-stats dd{font-size:1.15rem}.subscription-stats dt{font-size:.65rem}.subscription-change-grid{grid-template-columns:minmax(0,1fr);gap:12px}.subscription-quantity>label{font-size:.9rem;margin-bottom:9px}.subscription-number-row{justify-content:space-between;gap:8px;flex-wrap:nowrap}.subscription-stepper{gap:7px}.subscription-stepper button{width:46px;min-width:46px;height:48px}.subscription-stepper input{width:66px;min-height:48px;font-size:1.3rem}.subscription-delta{font-size:.73rem;padding:7px 9px;white-space:normal;text-align:center}.subscription-price-preview{padding:15px;min-height:116px}.subscription-price-preview h3{font-size:.84rem;margin-bottom:9px}.subscription-hint{font-size:.7rem;margin-top:7px}.subscription-field-error{min-height:0;margin:4px 0 0}.subscription-effective{font-size:.8rem;margin-top:12px}.subscription-unordered{text-align:left;font-size:.76rem;margin:7px 0 10px}.subscription-entry{padding:14px 16px;gap:12px}.subscription-entry-icon{width:25px;font-size:1.4rem}.subscription-entry small{font-size:.74rem}.subscription-simulation{font-size:.75rem;padding:9px 11px}.subscription-footer-links{font-size:.8rem}.subscription-order{align-items:flex-start;flex-direction:column;gap:5px}.subscription-page .quota-summary{grid-template-columns:1fr;gap:2px}.subscription-page .quota-summary dd{margin-bottom:9px}.quota-filters{grid-template-columns:1fr}.quota-slot-row{align-items:flex-start;flex-wrap:wrap;gap:9px}.quota-pagination{gap:8px}.quota-pagination .button{padding:9px;font-size:.78rem}.quota-pagination span{font-size:.75rem}.subscription-confirm{padding:14px}.subscription-review .button-row{flex-direction:column;align-items:stretch}.subscription-page .action-toast{max-width:calc(100vw - 28px);bottom:calc(80px + env(safe-area-inset-bottom))}}

.subscription-heading h1{scroll-margin-top:100px}.subscription-entry-icon svg{width:28px;height:28px;display:block}
@media(max-width:640px){.current-subscription{padding:14px 17px}.current-subscription .subscription-card-heading{margin-bottom:8px}.current-subscription .subscription-card-heading h2{font-size:1rem}.subscription-stats{flex-wrap:wrap;justify-content:flex-start;gap:5px 12px;padding-top:8px}.subscription-stats>div{flex-direction:row-reverse;justify-content:flex-end;flex:1 1 42%;gap:5px;text-align:left}.subscription-stats dd{font-size:.95rem}.subscription-stats dt{font-size:.72rem}.subscription-current-grid{gap:8px}.subscription-entry-icon svg{width:24px;height:24px}.subscription-heading h1{scroll-margin-top:85px}}

.subscription-selection,.subscription-review,.subscription-confirm{scroll-margin-top:95px}
@media(max-width:640px){.current-subscription .subscription-card-heading h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.current-subscription .subscription-card-meta{max-width:none;width:100%;flex-direction:row;justify-content:space-between;text-align:left}.subscription-stats:not(:has(>div:nth-child(4))){flex-wrap:nowrap}.subscription-stats:not(:has(>div:nth-child(4)))>div{flex-basis:0}.subscription-selection,.subscription-review,.subscription-confirm{scroll-margin-top:80px}}

@media(max-width:640px){.subscription-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:640px){.subscription-stats dd{line-height:1.25}}
@media(max-width:640px){.subscription-page{gap:12px}.subscription-stats{padding-top:6px;row-gap:3px}.change-subscription h2{margin-bottom:12px}.subscription-unordered{margin-bottom:8px}}
