/* portal.damageport.com - the few things the app's stylesheets and site-kit.css (loaded first, from /assets/app) do not cover. */
.portal-list { margin: 0; padding-left: 1.2rem; }
.portal-list li { margin: 0.25rem 0; }
.portal-plan { font-size: var(--net-font-size-lg); margin: 0 0 0.35rem; }
.portal-plan .badge { vertical-align: middle; }
.portal-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--net-spacing-md); }
.portal-plan-card { border: 1px solid var(--net-border); border-radius: var(--net-border-radius-md); padding: var(--net-spacing-md); background: var(--net-bg-accent); }
.portal-plan-card.is-current { border-color: var(--net-color-primary); }
.portal-plan-card h3 { margin: 0 0 0.35rem; }
.portal-price { font-weight: 700; margin: 0 0 0.25rem; }

/* Plans (Cog Machina catalog, 011): who it is for, the price (or "Price coming soon"), then capacity / charge / term as small chips. */
.portal-plans-head { margin: var(--net-spacing-lg) 0 var(--net-spacing-sm); font-size: var(--net-font-size-base); }
.portal-plan-card { display: flex; flex-direction: column; gap: 0.25rem; }
.portal-plan-card.is-custom { border-style: dashed; background: transparent; }
.portal-audience { margin: 0; font-size: var(--net-font-size-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--net-text-muted); }
.portal-price.is-soon { color: var(--net-text-muted); font-weight: 600; }
.portal-offer-facts { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.15rem 0 0.35rem; }
.portal-offer-facts span { font-size: var(--net-font-size-xs); padding: 0.1rem 0.5rem; border-radius: var(--net-border-radius-xl); background: var(--net-bg-card); border: 1px solid var(--net-border); }
