/* Firm collaboration and client portal — matched to the premium business identity. */
.firm-platform{margin:2rem 0 3rem;border:1px solid #d8cddd;border-radius:12px;background:#fffcff;overflow:hidden;color:#302237}
.platform-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem;background:#302237;color:#fff8ef}
.platform-toolbar h2{font:400 1.75rem/1.2 Georgia,serif;margin:0}.platform-toolbar p{margin:.35rem 0 0;font-size:.875rem;color:#ddd1df}
.platform-toolbar select{background:#fffaf4;color:#302237;min-height:44px;max-width:280px;padding:.6rem}
.platform-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:1rem 1.5rem;border-bottom:1px solid #e6dce8;background:#f7f2f7}
.platform-tabs button{border:1px solid transparent;background:transparent;color:#65506d;padding:.65rem 1rem;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.5;min-height:44px;border-radius:6px;cursor:pointer}
.platform-tabs button[aria-selected=true]{border-color:#cab7ce;background:#fff;color:#302237;box-shadow:0 2px 6px #3022370a}
.platform-body{padding:1.5rem}.platform-body h3,.platform-card h3{font:400 1.5rem/1.4 Georgia,serif;margin:0 0 .65rem}.platform-body h4{font-size:1rem;margin:1.3rem 0 .5rem}
.platform-body p,.platform-card p{font-size:1rem;line-height:1.7}.platform-meta{font-size:.875rem!important;color:#75617e;line-height:1.6}
.platform-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem}.platform-form{display:grid;gap:1rem;align-content:start}.platform-form label{display:grid;gap:.5rem;font-size:.875rem;line-height:1.5}.platform-form input,.platform-form select,.platform-form textarea{width:100%;font:inherit;padding:.75rem;border:1px solid #cfc0d4;border-radius:5px;background:#fff;color:#302237;min-height:44px}.platform-form textarea{min-height:120px;resize:vertical}.platform-form .button{justify-self:start}
.platform-card{padding:1.5rem;background:#fffaf4;border:1px solid #ddcdb6;border-radius:10px;margin:1rem 0}.platform-notice{padding:.9rem 1rem;border-left:3px solid #b29160;background:#faf4e9;font-size:.95rem;line-height:1.6;margin:1rem 0}.platform-notice:empty{display:none}.platform-notice.error{background:#fff0f3;border-color:#a43e58;color:#802438}
.platform-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #e6dce8}.platform-row>div:first-child{min-width:0;overflow-wrap:anywhere}.platform-row strong{font-size:1rem;font-weight:600}.platform-row p{margin:.2rem 0;font-size:.875rem}.platform-row .actions{flex-wrap:wrap;justify-content:flex-end}.platform-row button{font-size:.875rem;min-height:44px}.platform-list{padding:0;margin:0;list-style:none}.platform-list:empty:after{content:'Nothing here yet.';color:#75617e;font-size:.95rem}.platform-link{display:block;width:100%;font-size:.875rem;padding:.85rem;border:1px solid #bca981;border-radius:5px;overflow-wrap:anywhere;background:white}.platform-price{font:400 2.4rem/1.2 Georgia,serif;margin:1rem 0}.platform-badge{display:inline-block;border-radius:20px;padding:.3rem .75rem;font-size:.875rem;background:#ede3f0;color:#4f315c}.platform-body button:focus-visible,.platform-tabs button:focus-visible{outline:3px solid #b59154;outline-offset:3px}
#client-portal .platform-toolbar{background:#293f3b}#client-portal .platform-body{background:#fcfdfa}.portal-route{font-size:1.1rem!important;color:#2d4942}.portal-note{border-left:2px solid #bbcfbd;padding:.75rem 1rem;margin:1rem 0;background:#f4f8f2;white-space:pre-wrap;overflow-wrap:anywhere}.platform-sharing{display:flex;align-items:flex-start;gap:.65rem}.platform-sharing input{width:18px;min-height:18px}.platform-empty{padding:1.5rem 0;color:#75617e}.platform-view-switch{display:flex;gap:1rem;justify-content:flex-end;margin:.7rem 0}
@media(max-width:760px){.platform-columns{grid-template-columns:1fr;gap:1.5rem}.platform-toolbar{align-items:flex-start;flex-direction:column}.platform-toolbar select{max-width:100%;width:100%}.platform-body{padding:1.15rem}.platform-tabs{padding:.75rem}.platform-row{align-items:flex-start;flex-direction:column}.platform-row .actions{justify-content:flex-start}.platform-price{font-size:2rem}}

/* Transparent firm pricing. */
.business-pricing{padding:6rem 0;background:#f7f2ed;border-top:1px solid #ddd1c4}.billing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.6rem 0}.billing-plan{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1.5rem;border:1px solid #d8cddd;border-radius:9px;background:#fffcf8}.billing-plan.selected{border-color:#9d7d56;box-shadow:inset 0 3px #b69870;background:#f5eef6}.billing-plan h4,.billing-plan h3{font:400 1.8rem/1.3 Georgia,serif;margin:.5rem 0}.billing-plan .platform-price{margin:.2rem 0;font-size:2.8rem}.billing-plan .platform-price span{display:block;font:400 .85rem/1.6 Arial,sans-serif;color:#75617e}.billing-plan .button{margin-top:auto;white-space:normal;font-size:.9rem;text-align:center}.billing-plan p{margin:.35rem 0}.public-plans .billing-plan{padding:2rem}.public-plans .platform-price{font-size:3.7rem}.public-plans .button{margin-top:1.3rem}.pricing-detail{max-width:940px;font-size:.9rem;line-height:1.8;color:#74677c}.plan-usage{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.3rem;border:1px solid #d4c4d7;border-radius:8px;background:#f8f2f9;margin:1rem 0}.plan-usage:empty{display:none}.plan-usage p{margin:.3rem 0 0}.billing-plan .tiny-label{font-size:.65rem;letter-spacing:.13em}.billing-plan .platform-meta{font-size:.8rem!important}
@media(max-width:1000px){.billing-plans{grid-template-columns:1fr}.billing-plan .platform-price{font-size:2.8rem}.billing-plan .button{margin-top:1rem}.plan-usage{align-items:flex-start;flex-direction:column}.business-pricing{padding:4rem 0}}
