/* Functional components inherit the existing corporate/legal design. */
[hidden]{display:none!important}
.member-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem;margin-top:1.25rem}
.member-actions label{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.member-actions input{border:1px solid #cbd5e1;border-radius:.6rem;padding:.7rem;max-width:12rem;background:#fff;color:#0f172a}
.member-note{font-size:.88rem;line-height:1.7;color:#64748b;margin:1rem 0}
.legal-copy p+p{margin-top:1rem}
.member-table-wrap{overflow-x:auto}
.member-table{width:100%;text-align:left;border-collapse:collapse;font-size:.95rem}
.member-table td,.member-table th{padding:1rem .8rem;border-bottom:1px solid #e2e8f0}
.member-table th{color:#0f172a;background:#f8fafc}
.member-product{border-top:1px solid #e2e8f0;padding-top:1.25rem;margin-top:1.25rem}
.member-product h3{font-size:1.2rem;font-weight:700;margin-bottom:.6rem}
.member-product p{line-height:1.7;color:#475569}
button:disabled{opacity:.55;cursor:wait}
.member-error{color:#a12626!important}
.member-success{color:#166534!important}
:focus-visible{outline:3px solid #0091ff;outline-offset:4px}

/* Compact product comparison rows, shared by every tool. */
.product-list{margin:1.2rem 0}
.product-list-row{border-top:1px solid #e2e8f0;padding:1.2rem 0}
.product-list-row:last-child{border-bottom:1px solid #e2e8f0}
.product-heading{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.product-list-row h3{font-size:1.08rem;line-height:1.4;font-weight:700;color:#163d33;margin:0}
.product-list-row .product-description{font-size:.88rem;color:#64748b;line-height:1.6;margin:.35rem 0 .8rem}
.product-status{display:inline-block;font-size:.68rem;padding:.2rem .5rem;border-radius:999px;background:#eef5f0;color:#315846;white-space:nowrap}
.product-plan-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(230px,1.1fr);gap:1.4rem;background:#f8fafb;border:1px solid #edf0f3;border-radius:.65rem;padding:.85rem 1rem}
.product-tier-heading{display:flex;gap:.7rem;align-items:center;justify-content:space-between}
.product-plan-grid h4{font-size:.82rem;font-weight:700;color:#163d33;margin:0}
.product-tier-heading strong{font-size:.85rem;white-space:nowrap;color:#163d33}
.product-feature-list{padding-left:1rem;margin:.4rem 0 0;color:#64748b;font-size:.8rem;line-height:1.65}
.product-rates{border-left:1px solid #e2e8f0;padding-left:1rem}
.product-rates ul{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.35rem}
.product-rates li{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem;line-height:1.35}
.product-rates b{font-weight:500;color:#334155}.product-rates small{font-size:.68rem;color:#64748b;margin-left:.5rem}
.product-rates strong{font-size:.9rem;color:#163d33;white-space:nowrap}
.product-notes{font-size:.75rem;color:#64748b;margin-top:.6rem;line-height:1.65}
.product-notes summary{display:inline;cursor:pointer;color:#526579;text-decoration:underline;text-underline-offset:3px}
.product-notes p{margin:.5rem 0 0!important;max-width:85ch}
.product-coming-note{font-size:.8rem;color:#64748b;margin:.25rem 0 0!important}
@media(max-width:850px){.product-plan-grid{grid-template-columns:1fr 1fr}.product-rates{grid-column:1/-1;border:0;border-top:1px solid #e2e8f0;padding:.7rem 0 0}.product-rates ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.product-rates li{display:grid;gap:.25rem}.product-rates small{display:block;margin:0}}
@media(max-width:500px){.product-plan-grid{padding:.75rem;gap:.85rem;grid-template-columns:1fr}.product-rates{grid-column:auto}.product-rates ul{grid-template-columns:1fr;gap:.4rem}.product-rates li{display:flex}.product-rates small{display:inline;margin-left:.5rem}.product-heading h3{font-size:1rem}.product-rates strong{font-size:.85rem}}

.catalog-page .legal-main{padding-top:6.7rem;padding-bottom:3rem}.catalog-page .legal-hero{margin-bottom:1.5rem}.catalog-page .legal-hero__title{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.12;margin-top:.8rem}.catalog-page .legal-hero__copy{font-size:.94rem;margin-top:.65rem}.catalog-page .legal-panel--content{padding:1.25rem 1.5rem}.catalog-page .legal-section__title{font-size:1.3rem}.catalog-page .legal-copy>p{font-size:.88rem;line-height:1.6}.catalog-page .legal-copy>.member-note{font-size:.78rem;margin:.8rem 0}.catalog-page #support .legal-copy{font-size:.85rem}@media(max-width:640px){.catalog-page .legal-main{padding-top:7.6rem}.catalog-page .legal-panel--content{padding:1rem}.catalog-page .legal-hero{margin-bottom:1.15rem}}
