/* Shared portal/console package presentation; inherit the surrounding shell tokens. */
.pricing-page .pricing-value { color:var(--accent); }
.package-widget { font-size:14px; letter-spacing:0; }
.package-widget button { font-size:14px; }
.package-widget .package-heading { justify-content:center; }
.package-widget .package-heading h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.package-widget .package-cards { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(212px,1fr); grid-template-columns:none; gap:14px; margin:16px 0 28px; padding:14px 3px 12px; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:3px; }
.package-widget .package-cards:focus-visible { outline:2px solid var(--package-blue); outline-offset:3px; }
.package-widget .package-cards > .package-card { scroll-snap-align:start; }
.package-widget .package-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:24px 12px 20px; text-align:center; border:1px solid var(--package-line); border-radius:16px; background:var(--package-surface); box-shadow:0 6px 20px rgba(35,56,81,.035); cursor:pointer; }
.package-widget .package-card.is-current { border:1px solid var(--package-line); box-shadow:0 6px 20px rgba(35,56,81,.035); }
.package-widget .package-card.is-lower,.package-widget .package-card.is-closed { cursor:default; }
.package-widget .package-card.is-selected { border-color:var(--package-blue); background:color-mix(in srgb,var(--package-blue) 4%,var(--package-surface)); box-shadow:0 0 0 2px var(--package-blue),0 10px 24px rgba(35,56,81,.08); }
.package-widget .package-card.is-selected::after { content:'✓'; position:absolute; right:10px; top:10px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--package-blue); color:#fff; font-size:14px; }
.package-widget .package-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); padding:3px 10px; border:1px solid var(--package-line); border-radius:999px; background:var(--package-surface); color:var(--package-muted); font-size:14px; font-weight:600; white-space:nowrap; }
.package-widget .package-card h3 { font-size:18px; font-weight:650; margin:0 0 24px; letter-spacing:0; }
.package-widget .package-price-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; min-height:42px; margin-bottom:4px; white-space:nowrap; }
.package-widget .package-price-compare { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; min-height:40px; margin-bottom:18px; color:var(--package-muted); font-size:14px; }
.package-widget .package-price { font-size:32px; line-height:1.3; font-weight:700; letter-spacing:0; }
.package-widget .package-price span { font-size:14px; font-weight:400; letter-spacing:0; color:var(--package-muted); }
.package-widget .package-period button { border-radius:999px; min-height:44px; }
.package-widget .package-period button[aria-pressed=true] { background:var(--package-blue); color:#fff; }
.package-widget .package-period button[data-period=year][aria-pressed=true] { border:1px solid transparent; }
.package-widget .package-period button span { margin-left:6px; padding:0; color:#087f6c; background:none; font-size:14px; font-weight:600; }
.package-widget .package-period button[aria-pressed=true] span { color:#b9f5df; }
.package-widget .package-period button[data-period=year][aria-pressed=true] { background:var(--package-blue); color:#fff; box-shadow:0 3px 9px color-mix(in srgb,var(--package-blue) 15%,transparent); }
.package-widget .package-card .package-saving { display:inline-flex; flex-direction:row; align-items:center; gap:6px; margin:0; color:#087f6c; font-size:14px; font-weight:500; line-height:1.35; text-align:left; white-space:nowrap; }
.package-widget button.package-card__action { display:flex; align-items:center; justify-content:center; width:100%; margin:0; padding:10px 14px; min-height:44px; border:1px solid var(--package-blue); border-radius:8px; background:var(--package-blue); color:#fff; font:600 14px var(--font); }
.package-widget .package-card button:disabled { width:100%; min-height:44px; margin:0; background:var(--package-surface); color:var(--package-muted); border:1px solid var(--package-line); border-radius:8px; cursor:not-allowed; }
.package-widget .package-card button.package-current-action { width:100%; min-height:44px; margin:0; background:var(--package-surface); color:var(--package-muted); border:1px solid var(--package-line); border-radius:8px; }
.package-widget .package-card ul { margin:18px 0 0; padding:18px 0 0; font-size:14px; }
.package-widget .package-table-title { margin:0 0 20px!important; font-size:18px!important; text-align:center; }
.package-widget .package-scroll table { width:100%; min-width:760px; font-size:14px; }
.package-widget .package-scroll th,.package-widget .package-scroll td { text-align:center; padding:13px 16px; }
.package-widget .package-unavailable { display:inline-block; color:var(--red,var(--danger,#dc2626)); font-size:22px; line-height:1; font-weight:600; vertical-align:middle; }
.pricing-faq { margin-top:56px; }
.pricing-faq .pricing-faq-title { text-align:center; font-size:18px; font-weight:600; margin:0 0 24px; }
.package-widget .pricing-faq { border:0; margin:56px 0 48px; }
.package-widget .pricing-faq details { border-bottom:1px solid var(--package-line); }
.package-widget .pricing-faq summary { position:relative; list-style:none; cursor:pointer; padding:20px 32px 20px 0; font-size:14px; font-weight:500; line-height:1.6; color:var(--package-ink); }
.package-widget .pricing-faq summary::-webkit-details-marker { display:none; }
.package-widget .pricing-faq summary::after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); font-family:var(--font); font-size:18px; color:var(--package-muted); }
.package-widget .pricing-faq details[open] summary::after { content:'−'; }
.package-widget .pricing-faq p { margin:0; padding:0 32px 22px 0; font-size:14px; line-height:1.85; color:var(--package-muted); }
.billing dialog#payment { overflow:auto; }
.billing section.billing-plan-section { padding:0; border:0; background:transparent; border-radius:0; }
.billing-plan-section .account-plan { padding:0 0 24px; margin:0 0 32px; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; background:transparent; }
.billing-plan-section .account-plan-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-start; column-gap:14px; row-gap:6px; }
.billing-plan-section .account-plan-heading h2 { margin:0; font-size:18px; }
.billing-plan-section .account-plan-heading p { margin:0; font-size:14px; color:var(--muted); }
.billing-plan-section .account-usage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0 0; }
.billing-plan-section .account-usage > .account-usage-card { display:block; min-width:0; padding:16px; border:1px solid var(--line-soft); border-radius:var(--radius-sm); background:var(--surface); }
.billing-plan-section .account-usage-label { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:14px; }
.billing-plan-section .account-usage-label span { margin:0; font-weight:600; font-size:14px; }
.billing-plan-section .account-usage small { font-size:14px; color:var(--muted); font-weight:400; }
.billing-plan-section .account-usage strong { display:flex; flex-wrap:wrap; gap:4px 6px; align-items:baseline; font-size:22px; font-variant-numeric:tabular-nums; line-height:1.4; }
.billing-plan-section .account-usage em { font-size:14px; font-weight:400; font-style:normal; color:var(--muted); }
.billing-plan-section .account-usage-meter { height:5px; margin-top:14px; overflow:hidden; border-radius:999px; background:var(--line-soft); }
.billing-plan-section .account-usage-meter i { display:block; height:100%; border-radius:inherit; background:var(--blue); }
.billing-plan-section .account-usage-meter.is-high i { background:var(--amber); }
.billing-plan-section .account-usage-meter.is-full i { background:var(--red); }
.billing-plan-section .account-usage-meter.is-unknown { opacity:.5; }
.billing-plan-section .account-usage-retry { margin-top:12px; }
.package-dialog { width:min(440px,calc(100vw - 32px)); border:1px solid var(--line-soft); border-radius:var(--radius); padding:24px; background:var(--surface); color:var(--ink); font:14px/1.7 var(--font); }
.package-dialog::backdrop { background:rgba(15,23,42,.34); }
.package-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
@media(max-width:700px) {
 .package-widget .package-card { padding:22px 12px; }
 .package-widget .package-price { font-size:32px; }
 .billing-plan-section .account-usage { grid-template-columns:1fr; gap:10px; }
}
