/* Keep adjustments local to plans and authentication branding. */
.xb-plan-grid.card-container { align-items: start; }
.xb-plan-grid .card-item { min-width: 0; display: block; }
.xb-plan-grid .xb-plan-card { width: 100%; height: auto; min-width: 0; }
.xb-plan-card > .n-card-header { padding: 16px 20px; }
.xb-plan-card > .n-card-header > .n-card-header__main {
  min-width: 0; width: 100%; font-size: 18px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere;
}
.xb-plan-card > .n-card__content { padding: 0; }
.xb-plan-price-band { padding: 28px 20px; background: #e9ecef; color: #17191c; }
.xb-plan-amount { font-size: 36px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.xb-plan-cycle { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.5; color: #68717a; }
.xb-plan-description { padding: 16px 20px 0; }
.xb-plan-card > .n-card__action { padding: 8px 20px 16px; background: transparent; border-top: 0; }
.xb-plan-card > .n-card__action .n-button { min-height: 32px; }
.markdown-body.xb-plan-content {
  min-width: 0; max-width: 100%; color: inherit; background: transparent; overflow-wrap: anywhere;
}
.xb-plan-content img { max-width: 100%; height: auto; }
.xb-plan-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.xb-plan-content table { max-width: 100%; overflow-x: auto; }
.xb-plan-content .ny-pack { width: 100%; min-width: 0; line-height: 1.5; font-family: "PingFang SC", "Microsoft YaHei", sans-serif; color: #222; }
.xb-plan-content .ny-tag {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 6px 10px; margin-bottom: 12px;
  border-radius: 999px; font-size: 13px; line-height: 1.5; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #ff3366, #ffcc00);
}
.xb-plan-content .ny-list { display: block; width: 100%; padding: 0; margin: 0; list-style: none; }
.xb-plan-content .ny-list > li { position: relative; padding-left: 26px; margin: 10px 0; font-size: 14px; line-height: 1.55; }
.xb-plan-content .ny-list > li::before {
  content: ''; position: absolute; left: 0; top: 2px; width: 18px; height: 18px;
  border-radius: 50%; background: #22c55e;
}
.xb-plan-content .ny-list > li::after {
  content: ''; position: absolute; left: 6px; top: 5px; width: 5px; height: 9px;
  border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.xb-plan-content .ny-em, .xb-plan-content .ny-price, .xb-plan-content .ny-note b { color: #ff3366; font-weight: 800; }
.xb-plan-content .ny-pricebox {
  padding: 12px; margin: 10px 0 14px; border: 1px dashed #ff3366;
  border-radius: 12px; text-align: center; background: #fff7f9;
}
.xb-plan-content .ny-desc { font-size: 14px; font-weight: 700; color: #333; margin-bottom: 6px; }
.xb-plan-content .ny-price { font-size: 40px; font-weight: 900; line-height: 1; margin: 2px 0 6px; }
.xb-plan-content .ny-note { font-size: 13px; color: #666; }
html.dark .xb-plan-price-band { background: #252a32; color: #f3f4f6; }
html.dark .xb-plan-cycle { color: #b8c0cc; }
html.dark .xb-plan-content .ny-pack { color: #e5e7eb; }
html.dark .xb-plan-content .ny-desc { color: #e5e7eb; }
html.dark .xb-plan-content .ny-note { color: #c8cbd1; }
html.dark .xb-plan-content .ny-pricebox { background: #341925; border-color: #9f526c; }
html.dark .xb-plan-content .ny-em, html.dark .xb-plan-content .ny-price,
html.dark .xb-plan-content .ny-note b { color: #fda4af; }
.xb-login-page.wh-full { min-height: 100%; min-height: 100dvh; height: auto; padding: 24px 16px; box-sizing: border-box; }
.xb-login-page > .n-card { width: 100%; flex-shrink: 0; }
.xb-login-page .xb-login-logo { max-width: 220px; max-height: 80px; object-fit: contain; }
.xb-sidebar-logo { max-width: 160px; object-fit: contain; }
.xb-sidebar-site-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 420px) {
  .xb-plan-card > .n-card-header, .xb-plan-description, .xb-plan-price-band,
  .xb-plan-card > .n-card__action { padding-left: 16px; padding-right: 16px; }
  .xb-plan-price-band { padding-top: 22px; padding-bottom: 22px; }
  .xb-login-page .xb-login-logo { max-width: 180px; max-height: 64px; }
}
