/* Plan presentation only; checkout availability is still enforced on the server. */
body.membership-plans-page { font-size: 14px; }
.membership-plans-page main.shell { padding: 34px 0 40px; }
.plans-page { display: grid; gap: 22px; color: #142033; }
.plans-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.plans-heading h1 { margin: 0 0 8px; font-size: 32px; line-height: 1.35; font-weight: 800; letter-spacing: -.03em; }
.plans-heading p { margin: 0; color: #526174; line-height: 1.7; }
.plans-capacity { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 2fr); gap: 32px; padding: 24px 28px; border: 1px solid #d4e2ee; border-radius: 16px; background: #f5faff; }
.plans-capacity-label { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.plans-page .plans-capacity-label h2 { margin: 0; font-size: 16px; line-height: 1.6; }
.plans-status { padding: 4px 10px; border-radius: 6px; background: #e2f3ed; color: #17644c; font-weight: 600; white-space: nowrap; }
.plans-status.is-full { color: #92400e; background: #fff0d6; }
.plans-seats { margin: 8px 0 4px; font-size: 46px; line-height: 1.3; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.plans-seats span { font-size: 16px; font-weight: 500; letter-spacing: 0; color: #334155; }
.plans-capacity-summary > p { margin: 0 0 14px; color: #526174; line-height: 1.6; }
.plans-capacity-summary > .plans-reserved { margin: 10px 0 0; }
.plans-capacity-rules { border-left: 1px solid #d4e2ee; padding-left: 30px; }
.plans-capacity-rules h3 { margin: 0 0 9px; font-size: 16px; font-weight: 700; line-height: 1.6; }
.plans-capacity-rules ul { margin: 0 0 8px; padding-left: 20px; color: #475569; line-height: 1.85; }
.plans-terms, .plans-manual { display: inline-flex; align-items: center; gap: 10px; color: #075985; font-weight: 600; line-height: 1.7; }
.plans-terms:hover, .plans-manual:hover { text-decoration: underline; text-underline-offset: 4px; }
.plans-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.plans-product { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid #d8e2ec; border-radius: 16px; background: #fff; box-shadow: 0 4px 20px rgba(15, 23, 42, .025); }
.plans-product-trade { border-top: 3px solid #0284c7; padding-top: 26px; }
.plans-product-cloud { border-top: 3px solid #475569; padding-top: 26px; }
.plans-product-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.plans-edition { display: inline-flex; align-items: center; gap: 8px; color: #475569; font-weight: 600; }
.plans-edition > i { font-size: 20px; }
.plans-tag { border: 1px solid #d8e2ec; border-radius: 6px; padding: 4px 10px; color: #526174; }
.plans-page .plans-product h2 { margin: 16px 0 8px; font-size: 26px; line-height: 1.35; font-weight: 800; letter-spacing: -.02em; }
.plans-description { margin: 0; color: #526174; line-height: 1.8; }
.plans-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; min-height: 64px; margin-top: 20px; }
.plans-price > strong { font-size: 42px; line-height: 1.4; font-weight: 800; letter-spacing: -.04em; }
.plans-price > span { color: #526174; }
.plans-inquiry-price { align-items: center; }
.plans-inquiry-price > strong { font-size: 30px; letter-spacing: -.02em; }
.plans-price-note { margin: 0; color: #526174; line-height: 1.75; }
.plans-price-note strong { color: #075985; }
.plans-features { display: grid; gap: 12px; margin: 24px 0 18px; padding: 22px 0 0; border-top: 1px solid #e2e8f0; list-style: none; }
.plans-features li { display: flex; align-items: baseline; gap: 10px; line-height: 1.7; }
.plans-features i { color: #0284c7; flex: none; }
.plans-product-cloud .plans-features i { color: #475569; }
.plans-manual { align-self: flex-start; margin-bottom: 22px; }
.plans-product-actions { margin-top: auto; padding-top: 18px; border-top: 1px solid #e2e8f0; }
.plans-product-actions > p { margin: 0 0 12px; line-height: 1.7; color: #526174; }
.plans-product-actions > .plans-test-notice { color: #92400e; }
.plans-product-actions .btn { min-height: 48px; font-size: 14px; }
body.membership-plans-page .plans-line-button { background: #067c3b; border-color: #067c3b; color: #fff; }
body.membership-plans-page .plans-line-button:hover { background: #056832; border-color: #056832; }
.plans-trial-action { margin-top: 10px; }
.plans-api-note, .plans-risk { display: flex; align-items: baseline; gap: 12px; line-height: 1.8; }
.plans-api-note { border: 1px solid #d8e2ec; border-radius: 10px; padding: 14px 18px; background: #fff; }
.plans-api-note > i { color: #075985; font-size: 18px; flex: none; }
.plans-api-note p, .plans-risk p { margin: 0; color: #475569; }
.plans-api-note strong { color: #b91c1c; }
.plans-risk { margin-top: -6px; }
.plans-risk > i { flex: none; color: #64748b; }
.membership-plans-page .nt-header :is(a, button, span), .membership-plans-page .nt-header__update,
.membership-plans-page .nt-mobile-nav :is(p, a, button, span), .membership-plans-page .nt-mobile-nav__update, .membership-plans-page .nt-mobile-nav__footer,
.membership-plans-page > footer, .membership-plans-page > footer :is(a, span) { font-size: 14px; }
.membership-plans-page > footer { padding: 18px 0; }
.plans-page :is(a, button):focus-visible { outline: 3px solid #0284c7; outline-offset: 4px; }
@media (max-width: 1599px) { .membership-plans-page .nt-header__update { display: none; } }
@media (max-width: 900px) {
    .plans-capacity { grid-template-columns: minmax(210px, .8fr) minmax(0, 1.5fr); gap: 22px; padding: 22px; }
    .plans-capacity-rules { padding-left: 22px; }
    .plans-product { padding: 22px; }
    .plans-product-trade, .plans-product-cloud { padding-top: 20px; }
    .plans-price > strong { font-size: 36px; }
    .plans-inquiry-price > strong { font-size: 28px; }
}
@media (max-width: 700px) {
    .membership-plans-page main.shell { padding: 24px 0 30px; }
    .plans-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .plans-heading h1 { font-size: 28px; }
    .plans-capacity, .plans-comparison { grid-template-columns: minmax(0, 1fr); }
    .plans-capacity-rules { border-left: 0; border-top: 1px solid #d4e2ee; padding: 18px 0 0; }
    .plans-page { gap: 18px; }
    .plans-comparison { gap: 18px; }
    .plans-product { padding: 22px 20px; }
    .plans-price { min-height: 58px; }
    .plans-api-note { padding: 14px; }
    .membership-plans-page > footer > div > div:first-child { flex-wrap: wrap; justify-content: center; gap: 6px 12px; }
}
