
/* PROFESSIONAL PLANS — prefix "ppx-": clear of every global wildcard trap. */
#page-prof-plans{ background:#FFFCF9; font-family:'Nunito',system-ui,sans-serif; padding-bottom:110px; }
#page-prof-plans h1,#page-prof-plans h2,#page-prof-plans h3{
  font-family:'Playfair Display',serif; color:#243447 !important; -webkit-text-fill-color:#243447 !important;
}
.ppx-wrap{ max-width:1080px; margin:0 auto; padding:0 20px; }
.ppx-hd{
  background:linear-gradient(135deg,#F7E9EC 0%,#EFF2EA 100%);
  border-radius:0 0 32px 32px; padding:40px 24px 34px; text-align:center;
}
.ppx-back{
  background:#243447; border:none; border-radius:999px; padding:10px 18px; min-height:44px;
  font:inherit; font-weight:700; font-size:1rem; cursor:pointer;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
}
.ppx-hd h1{ font-size:clamp(1.9rem,4vw,2.7rem); margin:16px 0 8px; }
.ppx-hd p{ font-size:1.0625rem; line-height:1.6; margin:0 auto; max-width:560px;
  color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-p{ font-size:1.0625rem; line-height:1.7; margin:0; color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin:0 0 4px; }
.ppx-h3{ font-size:1.15rem; margin:0 0 4px; }
.ppx-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:52px; border-radius:999px; padding:0 26px; font:inherit; font-weight:800; font-size:1.0125rem;
  cursor:pointer; border:2px solid #243447; background:#243447;
  color:#fff !important; -webkit-text-fill-color:#fff !important; transition:opacity .2s,background .2s;
}
.ppx-btn:hover{ opacity:.92; }
.ppx-btn--soft{ background:#fff; border-color:#E6D8DC; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.ppx-btn--soft:hover{ border-color:#243447; }
.ppx-btn--sage{ background:#5E7E57; border-color:#5E7E57; }
.ppx-btn--sm{ min-height:44px; padding:0 16px; font-size:1rem; }
.ppx-btn--block{ width:100%; }
.ppx-btn:focus-visible,.ppx-back:focus-visible,.ppx-src:focus-visible,.ppx-chip:focus-visible,
.ppx-sw:focus-visible,.ppx-act:focus-visible{ outline:3px solid #CF9E3F; outline-offset:3px; }
.ppx-cta2{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px; }

.ppx-sec{ padding:34px 0; }
.ppx-panel{ background:#fff; border:1px solid #EEE4E6; border-radius:26px; padding:26px; margin-bottom:18px;
  box-shadow:0 6px 22px rgba(51,64,47,.04); }
.ppx-panel--blush{ background:#FDF4F0; border-color:#F4E1DA; }
.ppx-panel--sage{ background:#EFF4EE; border-color:#DDE7DC; }
.ppx-ph{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }

.ppx-plan{ display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  background:#fff; border:1px solid #EEE4E6; border-radius:22px; padding:18px 22px; margin-bottom:12px; }
.ppx-plan .txt{ flex:1; min-width:200px; }
.ppx-plan .meta{ font-size:1rem; color:#6f6d64 !important; -webkit-text-fill-color:#6f6d64 !important; }
.ppx-status{ font-size:.9375rem; font-weight:700; border-radius:999px; padding:5px 12px; white-space:nowrap; }
.ppx-status.active{ background:#DCE7DF; color:#33502D !important; -webkit-text-fill-color:#33502D !important; }
.ppx-status.draft{ background:#FBF1DC; color:#75591F !important; -webkit-text-fill-color:#75591F !important; }

.ppx-act{ display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap;
  border:1px solid #EEE4E6; border-radius:20px; padding:18px; margin-bottom:12px; background:#fff; }
.ppx-act .body{ flex:1; min-width:200px; }
.ppx-act b{ font-size:1.1rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.ppx-act .dose{ font-size:1rem; color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; margin-top:2px; }
.ppx-act .pro{ font-size:1rem; color:#7a5f28 !important; -webkit-text-fill-color:#7a5f28 !important; margin-top:6px; background:#FBF1DC; border-radius:12px; padding:8px 12px; }
.ppx-act .safe{ font-size:1rem; color:#8f4526 !important; -webkit-text-fill-color:#8f4526 !important; margin-top:6px; }
.ppx-act .acts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.ppx-done{ font-size:1rem; font-weight:800; color:#33502D !important; -webkit-text-fill-color:#33502D !important;
  display:inline-flex; align-items:center; gap:8px; }
.ppx-tick{ width:22px; height:22px; }
.ppx-tick circle{ fill:#5E7E57; }
.ppx-tick path{ stroke:#fff; stroke-width:2.4; fill:none; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:20; stroke-dashoffset:20; animation:ppx-tick .45s ease forwards; }
@keyframes ppx-tick{ to{ stroke-dashoffset:0; } }

.ppx-group{ background:linear-gradient(135deg,#FDF4F0 0%,#EFF4EE 100%);
  border:1px solid #EEE4E6; border-radius:24px; padding:22px; }
.ppx-group .lbl{ font-size:1rem; font-weight:700; color:#7a5f28 !important; -webkit-text-fill-color:#7a5f28 !important; margin-bottom:12px; }

.ppx-src{ background:#fff; border:1px solid #EEE4E6; border-radius:22px; padding:22px; text-align:left;
  font:inherit; cursor:pointer; display:flex; flex-direction:column; gap:8px; width:100%; }
.ppx-src:hover{ border-color:#7d9e77; }
.ppx-src svg{ width:28px; height:28px; stroke:#5E7E57; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ppx-src b{ font-size:1.1rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.ppx-src p{ margin:0; font-size:1rem; line-height:1.55; color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-srcgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.ppx-state{ text-align:center; padding:26px; }
.ppx-spin{ width:46px; height:46px; margin:0 auto 16px; border-radius:50%;
  border:4px solid #EEE4E6; border-top-color:#5E7E57; animation:ppx-spin 1s linear infinite; }
@keyframes ppx-spin{ to{ transform:rotate(360deg); } }
.ppx-statelabel{ font-size:1.15rem; font-weight:700; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }

.ppx-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.ppx-chip{ background:#fff; border:1.5px solid #E6D8DC; border-radius:999px; padding:9px 15px; min-height:44px;
  font:inherit; font-weight:700; font-size:1rem; cursor:pointer;
  color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-chip.on{ background:#243447; border-color:#243447; color:#fff !important; -webkit-text-fill-color:#fff !important; }

.ppx-bars{ display:flex; align-items:flex-end; gap:10px; height:130px; margin:16px 0 6px; }
.ppx-bar{ flex:1; background:#DCE7DF; border-radius:10px 10px 0 0; min-height:6px; position:relative; }
.ppx-bar span{ position:absolute; top:-22px; left:0; right:0; text-align:center; font-size:.9375rem; font-weight:700;
  color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-barlabels{ display:flex; gap:10px; }
.ppx-barlabels span{ flex:1; text-align:center; font-size:.9375rem; color:#6f6d64 !important; -webkit-text-fill-color:#6f6d64 !important; }

.ppx-metrics{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
.ppx-metric{ background:#fff; border:1px solid #EEE4E6; border-radius:20px; padding:18px; text-align:center; }
.ppx-metric .n{ font-family:'Playfair Display',serif; font-size:1.9rem; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.ppx-metric .l{ font-size:1rem; color:#6f6d64 !important; -webkit-text-fill-color:#6f6d64 !important; margin-top:2px; }

.ppx-disc{ background:#FBF1DC; border:1px solid #E8D9AE; border-radius:16px; padding:14px 16px; margin:14px 0;
  font-size:1rem; line-height:1.6; color:#7a5f28 !important; -webkit-text-fill-color:#7a5f28 !important; }
.ppx-empty{ background:#FDF4F0; border:1px dashed #F0D9D0; border-radius:24px; padding:40px; text-align:center; }

.ppx-sw{ position:relative; width:56px; height:44px; border:none; background:none; cursor:pointer; flex:none; }
.ppx-sw::before{ content:''; position:absolute; top:11px; left:0; width:52px; height:22px; border-radius:999px; background:#DDD7C8; transition:background .18s; }
.ppx-sw::after{ content:''; position:absolute; top:13px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .18s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.ppx-sw[aria-checked="true"]::before{ background:#7d9e77; }
.ppx-sw[aria-checked="true"]::after{ transform:translateX(30px); }
.ppx-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid #F4EEE6; }
.ppx-row:last-child{ border-bottom:none; }
.ppx-row span{ font-size:1rem; font-weight:700; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }

.ppx-nav{ display:flex; gap:8px; overflow-x:auto; padding:14px 0 6px; }
.ppx-nb{ flex:none; background:#fff; border:1.5px solid #E6D8DC; border-radius:999px; padding:10px 18px; min-height:44px;
  font:inherit; font-weight:700; font-size:1rem; cursor:pointer; color:#5b6470 !important; -webkit-text-fill-color:#5b6470 !important; }
.ppx-nb.on{ background:#243447; border-color:#243447; color:#fff !important; -webkit-text-fill-color:#fff !important; }

@media (max-width:760px){
  .ppx-srcgrid{ grid-template-columns:1fr; }
  .ppx-cta2{ flex-direction:column; }
  .ppx-cta2 .ppx-btn{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .ppx-spin{ animation:none !important; }
  .ppx-tick path{ animation:none !important; stroke-dashoffset:0; }
}
