.pro-shell { max-width:1200px; padding-top:24px; padding-bottom:40px; }
.pro-content { max-width:900px; margin-inline:auto; }
.pro-shell #pro-plans,.pro-shell #pro-comparison { scroll-margin-top:112px; }
.pro-back { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-bottom:12px; color:var(--text-secondary); }
.pro-heading { margin-bottom:24px; }
.pro-heading h1 { font-size:1.8rem; line-height:1.25; margin:0 0 10px; }
.pro-heading p,.pro-muted { color:var(--text-secondary); line-height:1.55; }
.pro-card { background:var(--bg-primary); border:1px solid var(--border-color); border-radius:12px; padding:24px; margin-bottom:20px; }
.pro-card h2 { font-size:1.2rem; line-height:1.4; margin:0 0 12px; }
.pro-card p { line-height:1.55; }
.pro-card > p + p,.pro-card form > p,.pro-summary form + p { margin-top:16px; }
.pro-card form > p { margin-bottom:16px; }
.pro-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-primary); color:var(--text-primary); font:inherit; font-weight:500; text-decoration:none; cursor:pointer; }
.pro-button:hover { border-color:var(--text-secondary); text-decoration:none; }
.pro-button:focus-visible,.pro-form input:focus-visible,.pro-form textarea:focus-visible,.pro-form select:focus-visible { outline:3px solid #6860e6; outline-offset:3px; }
.pro-primary { background:#191f2c; border-color:#191f2c; color:#fff; }
.pro-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
.pro-actions form { margin:0; }
.pro-badge { display:inline-flex; align-items:center; gap:6px; font-size:.8rem; font-weight:600; padding:4px 9px; border-radius:5px; background:var(--bg-secondary); color:var(--text-secondary); }
.pro-badge-active { color:#086148; background:#e9faf3; }
.pro-badge-warning { color:#87400b; background:#fff5e6; }
.pro-status { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:16px; }
.pro-notice { padding:14px 16px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-secondary); line-height:1.55; margin:16px 0; }
.pro-error { color:#922b21; background:#fff2ef; border-color:#e7aea5; }
.pro-success { color:#086148; background:#edfaf4; border-color:#99c8ae; }
.pro-benefits { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; }
.pro-benefit { display:flex; align-items:start; gap:12px; }
.pro-benefit svg { flex-shrink:0; margin-top:3px; }
.pro-benefit h3 { font-size:1rem; margin:0 0 6px; }
.pro-benefit p { margin:0; color:var(--text-secondary); }
.pro-preview { padding:20px; background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:10px; margin:20px 0; }
.pro-preview > p:first-child { font-size:.8rem; color:var(--text-secondary); margin:0 0 16px; }
.pro-preview-identity { display:flex; align-items:center; gap:14px; }
.pro-preview-avatar { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; border-radius:50%; background:#e6e5fa; color:#5145b8; }
.pro-preview h3 { font-size:1.1rem; margin:0 0 6px; }
.pro-preview-contact { display:flex; flex-wrap:wrap; gap:12px; color:var(--text-secondary); }
.pro-preview-contact span { display:inline-flex; align-items:center; gap:6px; overflow-wrap:anywhere; }
.pro-plans { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.pro-plan { border:1px solid var(--border-color); border-radius:10px; padding:20px; display:flex; flex-direction:column; gap:10px; }
.pro-plan h3,.pro-plan p { margin:0; }
.pro-plan .pro-button { margin-top:auto; }
.pro-price { font-size:1.6rem; font-weight:700; line-height:1.3; }
.pro-price small { font-size:.9rem; font-weight:400; }
.pro-plan-featured { border-color:#938ed3; }
.pro-plan-choice { display:flex; align-items:start; gap:12px; border:1px solid var(--border-color); border-radius:10px; padding:18px; margin-bottom:12px; cursor:pointer; }
.pro-plan-choice:has(input:checked) { outline:2px solid #6961c9; outline-offset:-1px; background:var(--bg-secondary); }
.pro-plan-choice input { margin-top:6px; accent-color:#5145b8; }
.pro-plan-choice span { display:flex; flex-direction:column; gap:6px; }
.pro-summary { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pro-summary .pro-button { width:100%; }
.pro-summary .pro-benefits { grid-template-columns:1fr; }
.pro-details { margin-top:20px; }
.pro-details summary { cursor:pointer; padding:12px 0; min-height:44px; }
.pro-public .pro-details { margin-top:0; }
.pro-public .pro-details[open] { padding-bottom:12px; }
.pro-form label { display:block; margin-bottom:8px; color:var(--text-secondary); font-weight:500; }
.pro-form input,.pro-form textarea,.pro-form select { width:100%; min-height:46px; padding:12px; border:1px solid #939eb0; border-radius:7px; color:var(--text-primary); background:var(--bg-secondary); font:inherit; }
.pro-form [hidden] { display:none !important; }
.pro-form .iti { width:100%; }
.pro-form [aria-invalid=true] { border-color:#bd4031; }
.pro-field { margin-top:22px; }
.pro-field small { display:block; color:var(--text-secondary); margin-top:8px; }
.pro-form textarea { min-height:130px; }
.pro-form { scroll-margin-top:100px; }
.pro-help-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:var(--text-secondary); }
.pro-card p a,.pro-shell > .pro-content > .pro-muted a { color:var(--text-primary); text-decoration:underline; text-underline-offset:3px; }
.pro-shell .pro-comparison { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; margin:20px 0; overflow-wrap:anywhere; }
.pro-comparison th:first-child { width:50%; }
.pro-comparison th,.pro-comparison td { padding:14px 10px; border-bottom:1px solid var(--border-color); text-align:left; vertical-align:top; }
.pro-inline-offer { padding:14px 16px; margin-top:18px; border:1px solid var(--border-color); border-radius:8px; color:var(--text-secondary); }
.pro-inline-offer a { display:inline-flex; align-items:center; gap:6px; min-height:44px; }
.pro-button[disabled] { opacity:.65; cursor:wait; }
[data-theme=dark] .pro-primary { color:#172033; background:#e2e8f0; border-color:#e2e8f0; }
[data-theme=dark] .pro-badge-active,[data-theme=dark] .pro-success { color:#b9f3d5; background:#14352b; }
[data-theme=dark] .pro-badge-warning { color:#ffd99a; background:#413020; }
[data-theme=dark] .pro-error { color:#ffcdc6; background:#3d2524; }
.pro-public .pro-primary { background:var(--primary-color, #4f46e5); border-color:var(--primary-color, #4f46e5); color:#fff; }
.pro-public .pro-primary:hover { background:var(--primary-hover, #4338ca); border-color:var(--primary-hover, #4338ca); }
@media(max-width:700px) {
 .pro-shell { padding-top:12px; }
 .pro-heading h1 { font-size:1.5rem; }
 .pro-card { padding:20px 16px; }
 .pro-benefits,.pro-plans,.pro-summary { grid-template-columns:1fr; }
 .pro-summary > section:last-child { order:-1; }
 .pro-actions { align-items:stretch; flex-direction:column; }
 .pro-actions .pro-button { width:100%; }
 .pro-comparison th,.pro-comparison td { padding:12px 6px; font-size:.88rem; }
}
.review-fee-points { list-style:none; padding:0; margin:16px 0; display:grid; gap:10px; }
.review-fee-points li { display:flex; align-items:flex-start; gap:10px; line-height:1.55; }
.review-fee-points svg { flex-shrink:0; margin-top:3px; }
.review-fee-consent { display:flex; align-items:flex-start; gap:12px; margin:20px 0 8px; padding:14px 16px; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-secondary); }
.review-fee-consent input { flex:0 0 22px; width:22px; height:22px; margin:1px 0 0; accent-color:#191f2c; cursor:pointer; }
.review-fee-consent label { line-height:1.55; cursor:pointer; }
[data-theme=dark] .review-fee-consent input { accent-color:#e2e8f0; }
