/* Public account and signed-link journeys. Each template explicitly opts in.
   Preserve embedded payment fields, signatures, screenshots and hidden states. */
@font-face { font-family:"Open Sans"; font-style:normal; font-weight:300 800; font-display:swap; src:url("/webfonts/owners-properties/open-sans-latin-variable.woff2") format("woff2"); }
@font-face { font-family:"Poppins"; font-style:normal; font-weight:600; font-display:swap; src:url("/webfonts/owners-properties/poppins-latin-600.woff2") format("woff2"); }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) { font:400 14px/22px "Open Sans",Arial,sans-serif !important; background:var(--surface-canvas); color:var(--text); letter-spacing:normal; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(p,li,a,label,legend,input,select,textarea,button,summary,h2,h3,h4,span,b,strong,dt,dd,div):not(:where(.pd-preserve,.pd-preserve *,[class*="fa-"],.fa,.fas,.far,.fab,.material-icons,[class*="mono"],[class*="code"],[class*="terminal"],[class*="editor"],[class*="hljs"],[class*="token"],[class*="signature"],[class*="sig-"],[class*="stamp"],[style*="cursive"],[style*="Caveat"],[style*="Brush"],code,code *,pre,pre *,svg *,#payment-element *,.ref)) { font-family:"Open Sans",Arial,sans-serif !important; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(h1,h1 > span) { font:600 24px/34px "Poppins","Open Sans",Arial,sans-serif !important; letter-spacing:normal; overflow-wrap:anywhere; }
body.public-journey :is(h2,h3) { font-size:17px; line-height:26px; font-weight:600; letter-spacing:normal; }
body.public-journey :is(p,li) { font-size:14px; line-height:22px; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(label,legend):not(:where(.pd-preserve,.pd-preserve *)) { font-size:14px; line-height:22px; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="submit"]):not([type="button"]),select,textarea):not(:where(.pd-preserve,.pd-preserve *,#payment-element *)) { box-sizing:border-box; min-width:0; max-width:100%; min-height:48px; padding-top:11px; padding-bottom:11px; font-size:15px !important; line-height:24px; border-color:var(--border-strong); border-radius:8px; background:var(--surface); color:var(--text); }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) input:is([type="radio"],[type="checkbox"]) { accent-color:var(--action-ink); flex-shrink:0; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--btn-action-ring) !important; outline-offset:3px; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) [hidden] { display:none !important; }
:is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(button,input,select,textarea):disabled { cursor:not-allowed; }
/* Account entry retains the approved illustration, carousel and split layout. */
body:is(.pd-journey-auth,.pd-journey-verify-account,.pd-journey-forgot-password,.pd-journey-reset-password) :is(.btn-grad,.btn-soft,.social-tile,.reset-tab) { min-height:48px; border-radius:8px; font-size:14px; font-weight:600; box-shadow:none; }
body:is(.pd-journey-auth,.pd-journey-verify-account,.pd-journey-forgot-password,.pd-journey-reset-password) .btn-grad { background:var(--btn-action-bg) !important; color:var(--btn-action-fg) !important; border-color:var(--btn-action-bg); }
body:is(.pd-journey-auth,.pd-journey-verify-account,.pd-journey-forgot-password,.pd-journey-reset-password) .btn-grad:not(:disabled):hover { background:var(--btn-action-hover) !important; }
body.pd-journey-auth .field-eye { min-width:44px; min-height:44px; }
body.pd-journey-auth .otp-box { width:40px; padding-left:0; padding-right:0; }
body.pd-journey-auth label:has(> input[name="role"]) { position:relative; min-width:0; }
body.pd-journey-auth input[name="role"] { position:absolute; top:12px; left:12px; width:18px; height:18px; margin:0; clip:auto; clip-path:none; overflow:visible; opacity:1; }
body.pd-journey-auth .role-pill { padding-top:38px; border-radius:10px; }
body.pd-journey-auth input[name="role"]:checked + .role-pill { background:var(--action-soft); border-color:var(--action-ink); color:var(--text); box-shadow:none; }
body.pd-journey-auth label:has(> input[name="role"]:focus-visible) .role-pill { outline:2px solid var(--btn-action-ring); outline-offset:3px; }
body.pd-journey-forgot-password .reset-tab.is-active { background:var(--action-soft); border-color:var(--action-ink); color:var(--text); box-shadow:none; }
/* Academy keeps its lesson viewer, coach, contents rail and image geometry. */
body.pd-journey-academy-public .acp-hero { background:var(--surface-canvas); color:var(--text); }
body.pd-journey-academy-public .acp-hero .acp-in { padding-top:38px; padding-bottom:30px; }
body.pd-journey-academy-public .acp-hero h1 { max-width:30ch; }
body.pd-journey-academy-public :is(.acp-btn,.ac-chip,.ac-btn,.ac-search button) { min-height:48px; border-radius:8px; }
body.pd-journey-academy-public :is(.acp-btn.p,.ac-btn.pri,.ac-btn.open,.ac-search button[type="submit"]) { background:var(--btn-action-bg); color:var(--btn-action-fg); border-color:var(--btn-action-bg); box-shadow:none; }
body.pd-journey-academy-public .ac-chip.on { background:var(--action-soft); border-color:var(--action-ink); color:var(--text); }
body.pd-journey-academy-public .ac-card { border-color:var(--border); border-radius:12px; box-shadow:none; }
body.pd-journey-academy-public .ac-card:hover { transform:none; border-color:var(--action-ink); box-shadow:none; }
body.pd-journey-academy-public .ac-x { min-width:44px; min-height:44px; }
body.pj-academy-doc .hero { background:var(--surface-canvas); color:var(--text); border-bottom:1px solid var(--border); }
body.pj-academy-doc :is(.hero h1,.stand,.meta span,.back,.chip) { color:var(--text); }
body.pj-academy-doc .back:hover { color:var(--brand-deep-purple); }
body.pj-academy-doc :is(.meta span,.chip,.before) { background:var(--surface); border-color:var(--border); }
body.pj-academy-doc .before { color:var(--text); }
body.pj-academy-doc .tip { background:var(--action-soft); color:var(--text); border-color:var(--action-ink); }
body.pj-academy-doc .cta { min-height:48px; box-sizing:border-box; background:var(--btn-action-bg); color:var(--btn-action-fg); border-radius:8px; }
body.pj-academy-doc .next ul { grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); }
body.pj-academy-doc .cols > main { min-width:0; }
/* Public conversation: contain long messages and retain the scrolling thread. */
body.pj-prospect-conversation .pc-card { border-color:var(--border); border-radius:12px; box-shadow:none; height:calc(100dvh - 48px); }
body.pj-prospect-conversation .pc-header { background:var(--surface); }
body.pj-prospect-conversation :is(.pc-header > div,.pc-row > div) { min-width:0; }
body.pj-prospect-conversation .pc-thread { background:var(--surface-canvas); }
body.pj-prospect-conversation .pc-bubble { overflow-wrap:anywhere; }
body.pj-prospect-conversation .pc-bubble.me { background:var(--action-soft); color:var(--text); border:1px solid var(--border); }
body.pj-prospect-conversation .pc-send { width:48px; height:48px; border-radius:8px; background:var(--btn-action-bg); color:var(--btn-action-fg); box-shadow:none; }
/* Browser answer pages use real, visible choices and keep GET confirmation. */
body.pj-email-answer .ea-card { border-radius:12px; border-color:var(--border); box-shadow:none; }
body.pj-email-answer :is(.ea-pill,.ea-card-opt) { display:flex; align-items:center; justify-content:center; gap:7px; min-height:48px; box-sizing:border-box; padding:10px; }
body.pj-email-answer .ea-card-opt { justify-content:flex-start; }
body.pj-email-answer :is(.ea-pill,.ea-card-opt) input,body.pj-reference-form .yn input { position:static; opacity:1; pointer-events:auto; width:18px; height:18px; margin:0; }
body.pj-email-answer :is(.ea-pill,.ea-card-opt):has(input:checked),body.pj-reference-form .yn label:has(input:checked) { background:var(--action-soft); border-color:var(--action-ink); color:var(--text); outline:none; box-shadow:none; }
body.pj-email-answer :is(.ea-pill,.ea-card-opt):has(input:focus-visible),body.pj-reference-form .yn label:has(input:focus-visible) { outline:2px solid var(--btn-action-ring); outline-offset:3px; }
body.pj-email-answer .btn-brand,body.pj-reference-form .btn { min-height:48px; background:var(--btn-action-bg) !important; color:var(--btn-action-fg) !important; border-radius:8px !important; }
body.pj-reference-form .yn label { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; }
body.pj-reference-form .yn input:checked + span { color:var(--text); }
/* Form, payment and invitation surfaces. No rules enter Stripe's iframe. */
body:is(.pj-public-report,.pj-tenant-pay,.pj-tenant-autopay,.pj-reference-form,.pj-walkthrough) .card { background:var(--surface); color:var(--text); border-color:var(--border); border-radius:12px; box-shadow:none; }
body:is(.pj-public-report,.pj-tenant-pay,.pj-tenant-autopay) { --ink:var(--text); --muted:var(--text-muted); }
body:is(.pj-public-report,.pj-tenant-pay,.pj-tenant-autopay) :is(.amount,.terms,.aitip) { background:var(--surface-canvas); border-color:var(--border); }
body.pj-public-report .addr { background:var(--surface-canvas); border-color:var(--border); }
body:is(.pj-public-report,.pj-tenant-pay,.pj-tenant-autopay) button { min-height:48px; background:var(--btn-action-bg); color:var(--btn-action-fg); border-radius:8px; }
body.pj-tenant-autopay .terms dd { overflow-wrap:anywhere; }
body.pj-walkthrough :is(.eyebrow,.cap) { background:var(--surface-canvas); border-color:var(--border-strong); color:var(--text); }
body.pj-walkthrough .cap:focus-within { outline:2px solid var(--btn-action-ring); outline-offset:3px; }
body.pj-walkthrough .cap .ic { background:var(--action-soft); color:var(--action-ink); box-shadow:none; }
body.pj-cosigner-pay .card-shadow,body.pj-owner-invite > div,body.pj-guest-pass-view > div { border:1px solid var(--border); border-radius:12px; box-shadow:none; }
body.pj-cosigner-pay #cosigner-pay-submit,body.pj-owner-invite .btn-brand,body.pj-screening-ssn #submitBtn { min-height:48px; background:var(--btn-action-bg); color:var(--btn-action-fg); border-radius:8px; box-shadow:none; }
body.pj-cosigner-pay main .flex.items-start.justify-between { flex-wrap:wrap; }
body.pj-cosigner-pay main .flex.items-start.justify-between > div { flex:1 1 230px; min-width:0; }
body.pj-screening-ssn #toggleSsn { min-width:44px; min-height:44px; right:4px; }
body.pj-owner-invite { padding-top:24px; padding-bottom:24px; }
body.pd-journey-thread-mute #main-content > section > div,body:is(.pd-journey-apply-pay,.pd-journey-apply-invalid) #main-content > div > div > div { border-radius:12px; box-shadow:none; }
body.pd-journey-thread-mute button[type="submit"],body.pd-journey-apply-pay #fee-open { min-height:48px; background:var(--btn-action-bg) !important; color:var(--btn-action-fg) !important; border-radius:8px; box-shadow:none; }
body.pd-journey-apply :is(#btn-next,#btn-submit) { min-height:48px; background:var(--btn-action-bg) !important; color:var(--btn-action-fg) !important; border-radius:8px; box-shadow:none; }
body.pd-journey-apply #btn-prev { min-height:48px; border-radius:8px; }
body.pd-journey-apply input[type="date"],body.pj-screening-ssn input[type="date"] { max-width:280px; }
body.pj-settings-plan .ow-plan-table { max-width:100%; overflow-x:auto; position:relative; }
body.pj-settings-plan .ow-btn { min-height:48px; background:var(--btn-action-bg); color:var(--btn-action-fg); border-color:var(--btn-action-bg); }
body.pj-settings-plan .ow-plan-col.is-featured { border-top-color:var(--action-ink); }
body.pj-settings-plan .ow-plan-cell.is-featured { background:var(--action-soft); }
@media (max-width:600px) {
  :is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),select,textarea):not(:where(.pd-preserve,.pd-preserve *)) { font-size:16px !important; }
  body.pj-prospect-conversation .pc-shell { padding:12px 10px 0; }
  body.pj-prospect-conversation .pc-card { height:calc(100dvh - 24px); }
  body.pj-prospect-conversation :is(.pc-header,.pc-thread,.pc-compose) { padding:14px; }
  body.pj-prospect-conversation .pc-bubble { max-width:92%; }
  body.pj-email-answer .ea-card,body.pj-reference-form .card { padding:22px 18px; }
  body.pj-email-answer .ea-pill { min-width:48px; }
  body.pj-academy-doc :is(.wrap,.cols) { padding-left:18px; padding-right:18px; }
  body.pj-tenant-autopay .terms dl { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
  body.pd-journey-thread-mute #main-content > section > div { padding:32px 22px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) *, :is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) *::before, :is(body#public-journey,body.public-journey,body[class*="pd-journey-"]) *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
