.plan-free{display:flex!important;align-items:center;gap:10px;padding:15px;border:1px solid var(--border-subtle);background:var(--surface);border-radius:14px;margin:18px 0}.plan-free input,.plan-cycle header input,.plan-promo>label input{width:18px!important;height:18px!important;flex-shrink:0;accent-color:#079d7d}.plan-free small{margin-left:auto;color:var(--text-secondary);font-size:11px}.plan-price-base{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px}.plan-price-base input{font-size:23px!important;font-weight:650;color:var(--text-primary)!important;padding:14px!important}.plan-price-base p{font-size:12px;color:var(--text-secondary);line-height:1.7}.plan-price-periods{border:0;padding:0;margin:22px 0}.plan-price-periods>legend{font-size:13px;font-weight:650;margin-bottom:12px}.plan-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plan-cycle{position:relative;padding:17px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface);min-width:0}.plan-cycle.is-active{background:var(--surface);border-color:var(--border-subtle)}.plan-cycle.is-best{border:1.5px solid var(--border-subtle);background:var(--surface)}.plan-cycle header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.plan-cycle header h4{margin:0;font-size:14px;color:var(--text-primary)}.plan-cycle header label{display:flex!important;align-items:center;gap:7px;font-size:11px}.plan-cycle .plan-normal{font-size:11px;color:var(--text-secondary);margin:10px 0}.plan-normal s{margin-left:4px;text-decoration:none;font-weight:600}.plan-cycle-controls{display:grid;gap:10px;margin:12px 0}.plan-cycle input:not([type=checkbox]),.plan-cycle select{padding:9px 11px!important;min-width:0}.plan-cycle label{font-size:11px!important}.plan-cycle-body>strong{display:block;font-size:24px;line-height:1.4;color:var(--text-primary);margin-top:14px;overflow-wrap:anywhere}.plan-cycle-body>small{font-size:11px;color:var(--text-secondary);display:block}.plan-saving{font-size:11px!important;color:var(--success-text)!important;margin:9px 0 0!important}.plan-best{display:inline-block;font-size:10px;border-radius:20px;background:var(--button-bg);color:var(--text-inverse);padding:4px 9px}.plan-cycle-off{font-size:12px;color:var(--text-secondary);padding:16px 0}.plan-pricing-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.plan-pricing-settings small{font-size:10px;font-weight:400;color:var(--text-secondary);line-height:1.6}.plan-promo{padding:16px;border:1px solid var(--border-subtle);border-radius:14px;margin:18px 0}.plan-promo>label{display:flex!important;align-items:center;gap:8px}.plan-promo-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:16px 0}.plan-promo>small,.plan-currency,.plan-price-help{font-size:11px!important;color:var(--text-secondary);line-height:1.6}.plan-review-pricing{border:1px solid var(--border-subtle);border-radius:14px;padding:18px;background:var(--surface)}.plan-review-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-review-prices>div{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--surface);border-radius:10px}.plan-review-prices span{font-size:12px}.plan-review-prices strong{font-size:20px;color:var(--text-primary)}.plan-review-pricing p{font-size:12px;line-height:1.6}.plan-subscription-price{padding:14px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;font-size:13px;line-height:1.8}.plan-subscription-price strong{color:var(--text-primary)}.plan-editor [hidden]{display:none!important}.plan-catalog-name{font-weight:650;border:0;background:none;color:var(--text-primary);text-align:left;padding:0;cursor:pointer;font:inherit}.plan-catalog-name:hover{text-decoration:underline}@media(max-width:600px){.plan-cycle-grid,.plan-price-base,.plan-pricing-settings,.plan-promo-fields{grid-template-columns:1fr}.plan-free{flex-wrap:wrap}.plan-free small{flex-basis:100%;margin-left:28px}.plan-review-prices{grid-template-columns:1fr}.plan-price-base{gap:4px}.plan-cycle-body>strong{font-size:26px}}
.plan-free,.plan-cycle header label,.plan-promo>label{flex-direction:row!important}.plan-pricing-editor,.plan-price-base>*{min-width:0}.plan-price-base{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-pricing-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-promo-fields{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.plan-cycle-grid,.plan-price-base,.plan-pricing-settings,.plan-promo-fields{grid-template-columns:minmax(0,1fr)}}
[data-price-override][hidden]{display:none!important}

.subscription-page{max-width:1100px;margin:0 auto;display:grid;gap:20px;container-type:inline-size}.subscription-page .card{padding:24px;border:1px solid var(--border,var(--border-subtle));border-radius:16px;box-shadow:0 2px 8px #163c3004;min-width:0}.sub-current>header{display:flex;justify-content:space-between;align-items:center;gap:16px}.sub-eyebrow{font-size:12px;color:var(--secondary,var(--text-secondary))}.sub-current h2{font-size:28px;margin:6px 0 0}.sub-facts{display:flex;flex-wrap:wrap;gap:20px 48px;padding:22px 0;border-bottom:1px solid var(--border,var(--border-subtle))}.sub-facts>div{display:grid;gap:7px}.sub-facts span,.sub-muted{font-size:12px;color:var(--secondary,var(--text-secondary))}.sub-facts strong{font-size:14px}.sub-details{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:22px}.subscription-page h3{font-size:14px;margin:0 0 16px}.sub-usage{display:grid;gap:16px}.sub-usage>div>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.sub-usage strong{font-weight:550;font-variant-numeric:tabular-nums}.sub-usage progress{display:block;width:100%;height:4px;margin-top:8px;accent-color:var(--primary,#079d7d)}.sub-features,.sub-all-features{list-style:none;padding:0;margin:0;display:grid;gap:10px}.sub-features li,.sub-all-features li{display:flex;gap:9px;font-size:12px}.sub-features li>span,.sub-all-features li>span{color:var(--success-text)}.sub-feature-link{border:0;background:none;color:var(--primary,var(--success-text));padding:0;margin-top:18px;text-decoration:underline;font-size:12px;cursor:pointer}.sub-renew h2{font-size:19px;margin:0 0 6px}.sub-renew header p{font-size:12px;color:var(--secondary,var(--text-secondary));margin:0 0 20px}.sub-plan-picker{display:grid;gap:8px;font-size:12px;max-width:320px;margin-bottom:18px}.sub-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0;margin:0;padding:0}.sub-period{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:17px 14px;border:1px solid var(--border,var(--border-subtle));border-radius:14px;cursor:pointer;position:relative;min-width:0}.sub-period input{position:absolute;top:16px;right:12px;width:16px;height:16px;min-height:0;margin:0;accent-color:#079d7d}.sub-period>span{font-size:12px;padding-right:24px}.sub-period strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sub-period small{font-size:11px;color:var(--success-text)}.sub-period em{font-style:normal;font-size:10px;border-radius:20px;padding:3px 7px;color:var(--success-text);background:var(--surface-muted)}.sub-period.is-selected{border-color:var(--border-subtle);background:var(--surface);box-shadow:0 0 0 1px #079d7d}.sub-period:focus-within{outline:2px solid var(--focus-ring);outline-offset:3px}.sub-renew-summary{display:flex;flex-wrap:wrap;gap:20px;align-items:center;border-top:1px solid var(--border,var(--border-subtle));padding-top:22px;margin-top:24px}.sub-renew-summary h3{margin:0 0 5px}.sub-renew-summary p{font-size:12px;margin:0}.sub-renew-summary dl{display:grid;gap:6px;margin:0 auto 0 10px}.sub-renew-summary dl>div{display:flex;gap:18px;justify-content:space-between}.sub-renew-summary dt{font-size:12px;color:var(--secondary,var(--text-secondary))}.sub-renew-summary dd{margin:0;font-size:14px;font-weight:600}.sub-next{display:grid;gap:8px}.sub-next small{font-size:10px;color:var(--secondary,var(--text-secondary));max-width:250px}.sub-all-features{padding:8px 0;gap:16px}.subscription-page .badge.amber{color:var(--warning-text);background:var(--warning-bg)}
@container(max-width:850px){.sub-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-details{gap:24px}}
@container(max-width:500px){.subscription-page .card{padding:18px}.sub-details{grid-template-columns:1fr}.sub-facts{gap:18px;flex-direction:column}.sub-period{gap:8px}.sub-renew-summary{display:grid;grid-template-columns:1fr}.sub-renew-summary dl{margin:0}.sub-next,.sub-next .btn{width:100%}.sub-next small{max-width:none}.sub-current h2{font-size:25px}}

.sub-usage progress{-webkit-appearance:none;appearance:none;border:0;border-radius:4px;overflow:hidden;background:var(--surface-muted)}.sub-usage progress::-webkit-progress-bar{background:var(--surface-muted);border-radius:4px}.sub-usage progress::-webkit-progress-value{background:var(--button-bg);border-radius:4px}.sub-usage progress::-moz-progress-bar{background:var(--button-bg);border-radius:4px}

@container(max-width:400px){.sub-periods{grid-template-columns:1fr}}

/* Package editor: bounded dialog with independent form scrolling.
   Scoped rules prevent shared modal/fieldset defaults from changing card geometry. */
.modal.plan-editor-modal{width:880px;max-width:100%;max-height:90dvh;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:18px}
.plan-editor-modal,.plan-editor-modal *{box-sizing:border-box}
.plan-editor-modal>.modal-heading{flex:none;padding:20px 24px;margin:0;border-bottom:1px solid var(--border)}
.plan-editor-modal>.modal-body{min-width:0;min-height:0;display:flex;overflow:hidden}
.plan-editor-modal #dialog-form{display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;margin:0}
.plan-editor-modal .plan-editor{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 24px;scroll-padding:20px;flex:1 1 auto}
.plan-editor-modal .modal-save-footer{flex:none;display:flex;align-items:center;gap:12px;margin:0;padding:16px 24px;border-top:1px solid var(--border);background:var(--surface)}
.plan-editor-modal .plan-navigation{display:flex;align-items:center;gap:12px;margin:0 auto 0 0;min-width:0}
.plan-editor-modal .plan-progress{font-size:13px;color:var(--text-secondary);white-space:nowrap}
.plan-editor-modal #dialog-form>.form-error:not(:empty){flex:none;padding:10px 24px;margin:0;max-height:20dvh;overflow:auto;font-size:13px}
.plan-editor-modal .btn{min-height:44px;font-size:14px}
.plan-editor-modal .plan-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;overflow:visible;padding:0 0 20px;margin:0 0 24px}
.plan-editor-modal .plan-steps button{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;line-height:1.4;font-size:13px;background:var(--surface);overflow-wrap:anywhere}
.plan-editor-modal .plan-step-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--surface-muted);margin:0;font-size:14px}
.plan-editor-modal .plan-step-label{margin:0;font-weight:500}
.plan-editor-modal .plan-steps [aria-current=step]{border-color:var(--primary);background:var(--surface-muted);color:var(--success-text)}
.plan-editor-modal .plan-steps [aria-current=step] .plan-step-number{background:var(--primary);color:var(--text-inverse)}
.plan-editor-modal .plan-steps .is-complete .plan-step-number{background:var(--surface-muted);color:var(--success-text);box-shadow:inset 0 0 0 1px var(--primary)}
.plan-editor-modal .plan-steps .is-complete .plan-step-number::after{content:'✓';font-size:10px;margin-left:2px}
.plan-editor-modal [data-plan-panel]{min-width:0}
.plan-editor-modal .plan-limits,.plan-editor-modal .plan-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
.plan-editor-modal .plan-limit{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%;margin:0;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.plan-editor-modal .plan-limit h4{margin:0;font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.plan-editor-modal form label{font-size:14px;line-height:1.5;min-width:0}
.plan-editor-modal .plan-unlimited{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;min-height:44px;margin:0!important;font-size:14px!important;cursor:pointer;width:fit-content;max-width:100%;padding:0 8px 0 0}
.plan-editor-modal .plan-unlimited input{width:20px!important;height:20px!important;min-height:20px;flex:0 0 20px;padding:0;accent-color:var(--primary)}
.plan-editor-modal .plan-value{display:flex;align-items:stretch;gap:10px;min-width:0;width:100%}
.plan-editor-modal .plan-value input{flex:1 1 0;width:0;min-width:0}
.plan-editor-modal .plan-value select{flex:0 0 6rem;width:6rem;min-width:0}
.plan-editor-modal input:not([type=checkbox]),.plan-editor-modal select{min-width:0;max-width:100%;min-height:44px;padding:10px 12px;font-size:15px;line-height:1.4}
.plan-editor-modal input:disabled,.plan-editor-modal select:disabled{opacity:1;background:var(--surface-muted);color:var(--text-secondary);border-style:dashed;cursor:not-allowed}
.plan-editor-modal input:focus-visible,.plan-editor-modal select:focus-visible,.plan-editor-modal button:focus-visible{outline:2px solid var(--focus-ring,var(--primary));outline-offset:3px}
.plan-editor-modal .plan-limit>small{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary);font-weight:400;overflow-wrap:anywhere}
.plan-editor-modal .plan-group{min-width:0;margin:0 0 20px;padding:16px;border-radius:12px}
.plan-editor-modal .plan-group>.btn{margin-bottom:14px}
.plan-editor-modal .plan-feature{min-width:0;padding:16px;gap:12px!important;align-items:flex-start}
.plan-editor-modal .plan-feature>span{color:var(--text-primary);overflow-wrap:anywhere}
.plan-editor-modal .plan-feature input{align-self:center}
.plan-editor-modal .plan-feature small,.plan-editor-modal .plan-pricing-editor small,.plan-editor-modal .plan-price-help{font-size:13px!important;line-height:1.6}
.plan-editor-modal .plan-cycle{padding:16px;border-radius:12px}
.plan-editor-modal .plan-cycle label{font-size:13px!important;margin-bottom:0}
.plan-editor-modal .plan-cycle header{flex-wrap:wrap}
.plan-editor-modal .plan-cycle header label,.plan-editor-modal .plan-free,.plan-editor-modal .plan-promo>label{min-height:44px;margin-bottom:0}
.plan-editor-modal .plan-price-base input{font-size:20px!important;padding:10px 12px!important}
.plan-editor-modal .plan-summary{padding:20px;min-width:0;overflow-wrap:anywhere}
.plan-editor-modal .plan-summary dl{gap:16px;margin-top:20px}
.plan-editor-modal .plan-summary dl>div{min-width:0}
@media(max-width:640px){
 .modal-backdrop:has(.plan-editor-modal){padding:10px}
 .modal.plan-editor-modal{max-height:90dvh;border-radius:14px}
 .plan-editor-modal>.modal-heading{padding:16px}
 .plan-editor-modal .plan-editor{padding:16px}
 .plan-editor-modal .plan-steps{gap:6px;padding-bottom:16px;margin-bottom:20px}
 .plan-editor-modal .plan-steps button{padding:8px 2px;align-items:center;min-height:44px;gap:0}
 .plan-editor-modal .plan-step-label{display:none}
 .plan-editor-modal .plan-limits,.plan-editor-modal .plan-features,.plan-editor-modal .plan-summary dl{grid-template-columns:minmax(0,1fr)}
 .plan-editor-modal .plan-limit{padding:16px}
 .plan-editor-modal .modal-save-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px}
 .plan-editor-modal .plan-navigation{display:contents}
 .plan-editor-modal .plan-progress{grid-row:1;grid-column:1/-1;text-align:center}
 .plan-editor-modal .modal-save-footer>button[type=submit]{grid-column:1/-1}
 .plan-editor-modal #dialog-form>.form-error:not(:empty){padding:10px 16px}
 .plan-editor-modal input:not([type=checkbox]),.plan-editor-modal select{font-size:16px}
 .plan-editor-modal .plan-summary{padding:16px}
}
@media(max-width:380px){.plan-editor-modal .plan-value:has(select){flex-wrap:wrap}.plan-editor-modal .plan-value:has(select) input,.plan-editor-modal .plan-value select{flex:1 1 100%;width:100%}}

/* Keep validation concise and prevent previous success notices covering this form. */
body:has(.plan-editor-modal) #toasts{visibility:hidden}
.plan-editor-modal .recovery-card{margin:0;padding:10px 12px;border-radius:10px}
.plan-editor-modal .recovery-heading h3{font-size:14px;margin:0}
.plan-editor-modal .recovery-card p,.plan-editor-modal .recovery-summary{margin:6px 0;line-height:1.4}
.plan-editor-modal .recovery-summary .btn{min-height:32px;padding:4px 0}
.plan-editor-modal .recovery-actions{gap:8px;flex-wrap:wrap}
.plan-editor-modal [aria-invalid=true]{border-color:var(--danger-border);outline:2px solid var(--danger-border);outline-offset:2px}
.plan-editor-modal .recovery-field-message{color:var(--danger-text)!important;font-weight:500;display:block}
.plan-editor-modal .plan-feature:has([aria-invalid=true]){border-color:var(--danger-border);background:var(--danger-bg,var(--surface))}
.plan-editor-modal .plan-feature>.recovery-field-message{grid-column:1/-1}

.plan-editor-modal .plan-feature{display:grid!important;grid-template-columns:30px minmax(0,1fr) 40px;gap:12px!important;align-items:start}.plan-editor-modal .plan-feature>span{min-width:0}.plan-editor-modal .plan-feature>input{justify-self:center;align-self:start;margin-top:6px}.plan-editor-modal .plan-feature strong{display:block;line-height:1.5}.plan-editor-modal .plan-feature small{display:block;margin-top:8px;overflow-wrap:anywhere}.plan-editor-modal .plan-feature>.module-icon:not(.module-icon-accent){margin-top:4px}
.plan-editor-modal .plan-feature>.module-icon-accent{box-sizing:content-box;width:22px;height:22px}
/* Package detail: one scrolling content area, anchored header and actions. */
.modal.plan-detail-modal{width:820px;max-width:100%;max-height:90dvh;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:18px}
.plan-detail-modal,.plan-detail-modal *{box-sizing:border-box}
.plan-detail-modal>.modal-heading{flex:none;align-items:flex-start;margin:0;padding:22px 26px;border-bottom:1px solid var(--border)}
.pd-heading{display:flex;gap:16px;min-width:0;align-items:flex-start}
.pd-heading>div{min-width:0}.pd-heading h2{margin:5px 0 8px;font-size:24px;line-height:1.25;overflow-wrap:anywhere}
.pd-heading>div>small{font-size:12px;color:var(--text-secondary)}
.pd-heading p{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:8px 0 0;overflow-wrap:anywhere}
.pd-package-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid var(--border);border-radius:14px;color:var(--primary);background:var(--surface-muted)}
.plan-detail-modal>.modal-body{padding:24px 26px;overflow-y:auto;overscroll-behavior:contain;min-height:0;min-width:0}
.plan-detail{display:grid;gap:26px;min-width:0}.pd-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pd-metric{display:flex;gap:14px;padding:18px;border:1px solid var(--border);border-radius:14px;min-width:0;background:var(--surface)}
.pd-metric>div{min-width:0}.pd-icon{flex:none;color:var(--primary);padding-top:2px}.pd-metric h3{margin:0 0 9px;font-size:13px;font-weight:500;color:var(--text-secondary)}
.pd-metric strong{display:block;font-size:24px;line-height:1.3;font-weight:650;letter-spacing:-.4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pd-metric p{font-size:12px;line-height:1.5;color:var(--text-secondary);margin:9px 0 0}
.pd-section{min-width:0}.pd-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.pd-section-heading h3{margin:0;font-size:16px}.pd-section-heading>span{font-size:12px;color:var(--text-secondary)}
.pd-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:12px;margin:0;overflow:hidden}
.pd-prices>div{padding:14px;min-width:0;background:var(--surface-muted)}.pd-prices dt{font-size:12px;color:var(--text-secondary);margin-bottom:7px}.pd-prices dd{font-size:14px;font-weight:600;margin:0;overflow-wrap:anywhere}
.pd-muted{font-size:13px;line-height:1.65;color:var(--text-secondary);margin:10px 0 14px}
.pd-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;border-top:1px solid var(--border)}
.pd-limits>div{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);min-width:0}.pd-limit-icon{color:var(--text-secondary);flex:none;padding-top:2px}.pd-limits>div>div{min-width:0}
.pd-limits dt{font-size:12px;color:var(--text-secondary);line-height:1.5}.pd-limits dd{margin:5px 0 0;font-size:16px;font-weight:600;overflow-wrap:anywhere}.pd-limits dd small{font-size:12px;font-weight:400;color:var(--text-secondary)}
.pd-feature-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pd-feature-groups section{min-width:0}.pd-feature-groups h4{font-size:12px;color:var(--text-secondary);margin:0 0 10px;font-weight:600}.pd-feature-groups ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pd-feature-groups li{display:flex;align-items:flex-start;gap:10px;min-width:0;font-size:13px;line-height:1.5}.pd-feature-groups li>div{min-width:0;overflow-wrap:anywhere}.pd-feature-icon{flex:none;color:var(--primary);display:flex}.pd-feature-icon img{opacity:.75}.pd-feature-groups small{display:block;font-size:11px;color:var(--text-secondary);line-height:1.5;margin-top:3px}.pd-feature-groups .pd-release{font-weight:600;color:var(--text-secondary)}
.pd-empty{display:grid;justify-items:center;text-align:center;gap:9px;border:1px dashed var(--border);border-radius:12px;padding:24px;color:var(--text-secondary)}.pd-empty strong{font-size:14px;color:var(--text-primary)}.pd-empty p{font-size:13px;margin:0;line-height:1.6}
.pd-footer{flex:none;display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid var(--border);background:var(--surface)}.pd-footer .btn,.plan-detail-modal .icon-btn{min-height:44px;min-width:44px}
body:has(.plan-detail-modal) #toasts{visibility:hidden}
@media(max-width:600px){.modal-backdrop:has(.plan-detail-modal){padding:10px}.plan-detail-modal>.modal-heading{padding:18px 16px}.pd-heading{gap:10px}.pd-heading h2{font-size:21px}.pd-package-icon{width:36px;height:36px;border-radius:10px}.plan-detail-modal>.modal-body{padding:20px 16px}.pd-metrics,.pd-limits,.pd-feature-groups{grid-template-columns:minmax(0,1fr)}.pd-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-metric{padding:16px}.pd-footer{padding:12px 16px}.pd-footer .btn{flex:1}.pd-metric strong{font-size:23px}}
.plan-detail-modal>.pd-footer{border-radius:0 0 18px 18px}
/* Package wizard: one scrolling content area, persistent navigation and actions. */
.modal.plan-editor-modal{width:min(1100px,calc(100vw - 48px));max-width:1100px;height:90vh;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}
.plan-editor-modal .modal-heading{flex:none;display:grid;grid-template-columns:1fr auto;padding:20px 24px 16px;border-bottom:1px solid var(--border-subtle);gap:4px 16px}
.plan-editor-modal .modal-heading h2{margin:0;font-size:22px}.plan-editor-modal .modal-heading .icon-btn{grid-column:2;grid-row:1/3;min-width:44px;min-height:44px}.plan-heading-caption{grid-column:1;margin:0;color:var(--text-secondary)}
.plan-editor-modal .modal-body{padding:0!important;overflow:hidden;min-height:0;flex:1;display:flex}
.plan-editor-modal #dialog-form{display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;gap:0;margin:0}
.plan-editor-modal .plan-content-scroll{flex:1;overflow:auto;min-height:0;padding:24px;overscroll-behavior:contain}
.plan-editor-modal .plan-editor{max-width:none;width:100%;padding:0}.plan-editor-modal [hidden]{display:none!important}
.plan-editor-modal .plan-steps{display:flex;flex:none;gap:8px;margin:0;padding:12px 24px;border-bottom:1px solid var(--border-subtle);overflow:visible}
.plan-editor-modal .plan-steps button{display:flex;flex:1;align-items:center;justify-content:flex-start;gap:8px;min-width:0;padding:10px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px}
.plan-editor-modal .plan-steps button[aria-current=step]{background:var(--surface-hover,#edf5f2);color:var(--success-text);font-weight:700}.plan-editor-modal .plan-step-number{display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:50%;width:28px;height:28px;flex:none}.plan-editor-modal .is-complete .plan-step-number{background:var(--button-bg);color:var(--text-inverse)}
.plan-editor-modal .modal-save-footer{flex:none;position:static;margin:0;padding:16px 24px;display:flex;gap:12px;align-items:center;border-top:1px solid var(--border-subtle);background:var(--surface)}
.plan-editor-modal .plan-navigation{margin:0 auto 0 0;gap:16px}.plan-editor-modal .btn{min-height:42px}.plan-editor-modal .plan-mobile-progress{display:none}
.plan-editor-modal h3{font-size:20px;margin:0 0 12px}.plan-editor-modal h4{font-size:16px}.plan-editor-modal p{font-size:14px;line-height:1.6;color:var(--text-secondary)}
.plan-editor-modal label{font-size:14px!important;gap:8px;min-width:0}.plan-editor-modal small{font-size:13px!important;line-height:1.5;color:var(--text-secondary)}
.plan-editor-modal input:not([type=checkbox]),.plan-editor-modal select{min-height:44px;font-size:15px!important;width:100%;min-width:0}.plan-editor-modal textarea{min-height:88px;font-size:15px}
.plan-editor-modal input[type=checkbox]{width:20px!important;height:20px!important;accent-color:#07866f;flex:none}.plan-editor-modal :focus-visible{outline:3px solid #2aab8c;outline-offset:3px}
.plan-editor-modal [data-plan-panel="0"]>label,.plan-editor-modal .plan-information-settings{max-width:640px}.plan-information-settings{margin-top:20px}
.plan-editor-modal .plan-limits{display:block}.plan-limit-section{border-top:1px solid var(--border-subtle);padding:8px 0 20px}.plan-limit-section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.plan-editor-modal .plan-limit{border:0;border-radius:0;padding:0!important;background:none}.plan-editor-modal .plan-limit h4{margin:0 0 8px}.plan-editor-modal .plan-unlimited{display:flex;flex-direction:row;align-items:center;margin:0 0 10px}.plan-editor-modal .plan-value{display:flex;gap:12px}
.plan-feature-tools{display:flex;justify-content:space-between;gap:24px;align-items:center}.plan-feature-tools label{flex:1;max-width:480px}.plan-feature-tools strong{white-space:nowrap;font-size:14px}
.plan-editor-modal .plan-group{border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:none;padding:16px 0!important}.plan-editor-modal .plan-group legend{font-size:16px;font-weight:650;padding-right:12px}.plan-editor-modal .plan-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.plan-editor-modal .plan-feature{display:flex!important;flex-direction:row!important;align-items:flex-start;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;padding:16px 0!important;background:none}.plan-editor-modal .plan-feature>input{order:-1;margin-top:3px}.plan-editor-modal .plan-feature>.icon{display:none}.plan-editor-modal .plan-feature>span{flex:1}.plan-editor-modal .plan-feature strong{font-size:14px}.plan-editor-modal .plan-feature:has(input:disabled){opacity:.65}
.plan-editor-modal .plan-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.plan-editor-modal .plan-cycle{border-radius:8px;padding:16px;background:var(--surface)}.plan-editor-modal .plan-cycle label{font-size:14px!important}.plan-editor-modal .plan-cycle-body>strong{font-size:20px}.plan-editor-modal .plan-normal,.plan-editor-modal .plan-saving,.plan-editor-modal .plan-price-help{display:none}.plan-editor-modal .plan-cycle-controls{margin:0}.plan-editor-modal .plan-cycle-off{padding:8px 0}
.plan-editor-modal .plan-free{border:0;border-radius:0;padding:0}.plan-editor-modal .plan-pricing-settings{gap:20px 24px}.plan-editor-modal .unit-package{border:0;border-top:1px solid var(--border-subtle);border-radius:0;padding:20px 0;margin-top:24px;min-width:0}.plan-editor-modal .unit-package legend{font-size:18px;font-weight:650;padding-right:12px}
.plan-editor-modal details{border-top:1px solid var(--border-subtle);padding:16px 0;margin-top:20px}.plan-editor-modal summary{cursor:pointer;font-weight:650;font-size:15px;color:var(--text-primary)}.plan-editor-modal .plan-promo{padding:0;border:0}.plan-editor-modal .plan-promo-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan-editor-modal .plan-summary{padding:0;border:0;background:none;border-radius:0}.plan-review-title{display:flex;gap:16px;align-items:center}.plan-editor-modal .plan-review-title h2{margin:0;font-size:26px}.plan-review-title>span{padding:5px 12px;border-radius:20px;background:var(--surface-hover);font-size:14px}.plan-editor-modal .plan-summary>section{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:20px}.plan-summary>section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.plan-summary>section>header h3{margin:0}
.plan-editor-modal .plan-review-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px}.plan-review-table th,.plan-review-table td{padding:14px 12px;border-bottom:1px solid var(--border-subtle);text-align:right;overflow-wrap:anywhere}.plan-review-table th:first-child{text-align:left}.plan-review-table thead{background:var(--surface-hover);font-size:13px}.plan-editor-modal .plan-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}.plan-editor-modal .plan-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-subtle)}.plan-editor-modal .plan-summary dt{font-size:14px}.plan-editor-modal .plan-summary dd{font-size:15px;margin:0;text-align:right}.plan-review-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;gap:8px 24px}.plan-editor-modal .plan-summary li{margin:0;font-size:14px}.plan-editor-modal .form-error:empty{display:none}
@media(max-width:700px){.modal.plan-editor-modal{width:100vw!important;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.modal-backdrop:has(.plan-editor-modal){padding:0}.plan-editor-modal .modal-heading{padding:16px}.plan-editor-modal .plan-content-scroll{padding:16px}.plan-editor-modal .plan-steps{display:none}.plan-editor-modal .plan-mobile-progress{display:block;padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-size:14px}.plan-mobile-progress progress{display:block;width:100%;height:5px;margin-top:10px;accent-color:#07866f}.plan-editor-modal .modal-save-footer{padding:12px 16px;gap:8px}.plan-editor-modal .plan-progress{display:none}.plan-editor-modal .modal-save-footer .btn{padding:10px 12px;font-size:13px}.plan-editor-modal .plan-limit-section>div,.plan-editor-modal .plan-features,.plan-editor-modal .plan-cycle-grid,.plan-editor-modal .plan-pricing-settings,.plan-editor-modal .plan-promo-fields,.plan-editor-modal .plan-summary dl,.plan-review-features{grid-template-columns:1fr}.plan-feature-tools{align-items:stretch;flex-direction:column;gap:8px}.plan-editor-modal .plan-review-table{font-size:14px}.plan-review-table th,.plan-review-table td{padding:12px 6px}.plan-editor-modal .plan-free{flex-wrap:wrap}.plan-editor-modal .unit-rate-head{display:none}.plan-editor-modal .unit-rate-row{grid-template-columns:1fr}.plan-editor-modal .unit-rate-mobile{display:block}.plan-editor-modal .plan-summary dd{max-width:55%}}
.modal.plan-editor-modal .plan-steps button{flex-direction:row;align-items:center;min-height:48px}.plan-editor-modal .plan-steps .is-complete .plan-step-number::after{content:none}.plan-editor-modal .plan-steps button[aria-current=step]{background:var(--surface-muted)}
.modal.plan-editor-modal fieldset.plan-price-periods{border:0;border-radius:0;padding:0}.plan-editor-modal .plan-review-table th,.plan-editor-modal .plan-review-table td{font-size:14px!important;color:var(--text-primary);font-weight:400}.plan-editor-modal .plan-review-table thead th{font-weight:650;background:var(--surface-muted)}.plan-editor-modal .plan-review-table tbody th{background:transparent;font-weight:500}.plan-editor-modal .plan-limit{gap:6px}.plan-editor-modal .plan-limit h4{font-size:15px}
.modal.plan-editor-modal [hidden]{display:none!important}
/* Tenant subscription editor: independent prices, one scroll region. */
.modal.tenant-subscription-modal{width:900px;max-width:calc(100vw - 24px);max-height:90dvh;display:flex;flex-direction:column;overflow:hidden}
.tenant-subscription-modal .modal-heading{flex:none}
.tenant-subscription-modal .modal-body,.tenant-subscription-modal #dialog-form{display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:0}
.tenant-subscription-editor{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 8px 0}
.tenant-subscription-modal .modal-save-footer{position:static;flex:none;border-top:1px solid var(--border-subtle);padding:12px 0 0;margin:0;background:var(--surface)}
.tenant-subscription-modal .form-error{flex:none;max-height:80px;overflow:auto}
.tenant-price-section{padding:16px 0;border-bottom:1px solid var(--border-subtle)}
.tenant-price-section h3{font-size:17px;margin:0 0 14px}.tenant-price-section p,.tenant-price-section small{font-size:14px;line-height:1.55}
.tenant-subscription-modal .tenant-unit-fields{border:0;padding:0;margin:0;min-width:0}
.tenant-subscription-modal .unit-rate-row{align-items:start;border-bottom:1px solid var(--border-subtle);padding:14px 0}
.tenant-subscription-modal .unit-rate-row strong{padding-top:12px}.tenant-subscription-modal .unit-rate-row label{display:grid;gap:8px}
.tenant-subscription-modal .unit-rate-row small{color:var(--text-secondary);font-size:13px}
.tenant-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tenant-price-summary dt{color:var(--text-secondary);font-size:14px}.tenant-price-summary dd{margin:6px 0 0;overflow-wrap:anywhere}.tenant-price-summary dd span{display:block;font-size:13px;color:var(--text-secondary);margin-top:4px}
.tenant-subscription-modal [hidden]{display:none!important}
@media(max-width:600px){.tenant-subscription-modal .ta-grid,.tenant-price-summary{grid-template-columns:1fr}.tenant-subscription-modal .unit-rate-row{grid-template-columns:1fr}.tenant-subscription-modal .unit-rate-head{display:none}.tenant-subscription-modal .unit-rate-mobile{display:block}.tenant-subscription-modal input,.tenant-subscription-modal select{font-size:16px}.tenant-subscription-editor{padding-right:2px}}
/* Compact tenant subscription details follow the available content width. */
.subscription-page .sub-contract-group{margin-top:18px;min-width:0}
.subscription-page .sub-contract-group h3{font-size:14px;margin:0 0 12px}
.sub-contract-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;margin:0}
.sub-contract-facts>div,.sub-business-grid>li{min-width:0;overflow-wrap:anywhere}
.sub-contract-facts dt{font-size:12px;color:var(--text-secondary);margin-bottom:4px}
.sub-contract-facts dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.subscription-summary .sub-contract-note{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:10px 0}
.sub-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;list-style:none;margin:10px 0 16px;padding:0}
.sub-business-grid>li{font-size:13px;line-height:1.5;padding:7px 0;border-bottom:1px solid var(--border-subtle)}
.sub-business-grid strong{font-weight:600}.subscription-summary .sub-business-grid small{font-size:12px}
.sub-contract-link{border:0;background:none;padding:5px 0;color:var(--success-text);font:inherit;text-decoration:underline;cursor:pointer;text-align:left}
.sub-contract-group h4{font-size:13px;margin:16px 0 8px}
.sub-period.is-selected{border-color:var(--success-text);box-shadow:inset 0 0 0 1px var(--success-text);background:var(--surface-muted)}
.sub-period.is-selected::after{content:'✓ Terpilih';font-size:11px;font-weight:650;color:var(--success-text)}
@container(min-width:1000px){.sub-business-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container(max-width:850px){.sub-contract-facts,.sub-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:500px){.sub-periods,.sub-contract-facts,.sub-business-grid{grid-template-columns:1fr}.sub-business-grid{gap:4px}.subscription-page .sub-contract-group{margin-top:16px}}

/* Explicit spacing between section headings and their shared tables. */
.subscription-page .tenant-outstanding,.subscription-page .tenant-unit-requests{display:grid;gap:16px}
.tenant-outstanding>h2,.tenant-unit-requests>h2{margin:0}

/* Short wizard steps size to their content; long steps retain bounded scrolling. */
@media(min-width:701px){
 .modal.plan-editor-modal{height:auto}
 .plan-editor-modal .modal-body,.plan-editor-modal .plan-content-scroll{flex:0 1 auto}
}
@media(min-width:701px) and (max-width:950px){
 .modal.plan-editor-modal .plan-steps button{flex-direction:column;align-items:center;text-align:center}
 .plan-editor-modal .plan-step-label{overflow-wrap:normal;word-break:normal}
}

/* Tenant subscription tabs keep each task in a compact, independent panel. */
.subscription-page .sub-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.subscription-page .sub-tabs [role="tab"]{white-space:normal;min-height:44px;background:var(--surface);color:var(--text-primary);border-color:var(--control-border)}
.subscription-page .sub-tabs [aria-selected="true"]{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}
.subscription-page .sub-tabs [role="tab"]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.subscription-page .sub-tab-panel{min-width:0;display:grid;gap:20px}
.subscription-page .sub-tab-panel[hidden]{display:none}
@media(max-width:600px){.subscription-page .sub-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.subscription-page .sub-tabs .btn{padding:10px 8px}.subscription-page .sub-tab-panel{gap:16px}}

.capacity-banner [data-subscription-apply]{background:var(--surface);color:var(--text-primary);border-color:var(--control-border)}
/* Compact comparison of all available plan prices. */
.subscription-page .sub-price-directory{padding:20px}
.sub-price-directory header p{margin-bottom:14px}
.sub-price-heading,.sub-price-row{display:grid;grid-template-columns:minmax(110px,.8fr) repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.sub-price-heading{padding:0 0 8px;font-size:12px;color:var(--text-secondary)}
.sub-price-heading>span:not(:first-child){padding-left:10px}
.sub-price-options{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}
.sub-price-name{display:flex;flex-direction:column;justify-content:center;gap:4px;overflow-wrap:anywhere;font-size:14px}
.sub-price-name small{font-size:11px;color:var(--text-secondary)}
.sub-price-directory .sub-price-choice{padding:10px 28px 10px 10px;gap:4px;border-radius:9px;justify-content:center;min-height:76px}
.sub-price-directory .sub-price-choice input{top:10px;right:8px}
.sub-price-directory .sub-price-choice strong{font-size:15px;line-height:1.4}
.sub-price-directory .sub-price-choice small{font-size:10px}
.sub-price-directory .sub-price-choice em{font-size:9px;padding:2px 5px}
.sub-price-cycle{display:none}
.sub-price-unavailable{display:flex;align-items:center;padding:10px;color:var(--text-muted);font-size:11px;background:var(--surface-muted);border-radius:9px}
.sub-price-directory .sub-renew-summary{margin-top:14px;padding-top:14px;gap:12px}
@container(max-width:700px){.sub-price-heading{display:none}.sub-price-row{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--border-subtle);padding-bottom:10px}.sub-price-name{grid-column:1/-1;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.sub-price-directory .sub-price-cycle{display:block;font-size:11px;padding-right:0}.sub-price-unavailable{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.sub-price-directory .sub-price-choice{min-height:86px}.sub-price-directory .sub-price-choice strong{font-size:14px}}
