/* ManilaOpenHouse Payment Shock Calculator. Light default; dark ONLY via :root[data-theme="dark"]. */
.ps-wrap{--ps:#1e3a5f;--ps2:#b45309;--ps-gold:#ea580c;--ps-ink:#14213d;--ps-soft:#e6edf7;--ps-paper:#fbf8f3;--ps-night:#0e1626;--ps-warn:#b91c1c;--ps-ok:#15803d;
--ps-text:#14213d;--ps-bg:#fbf8f3;--ps-card:#ffffff;--ps-line:#d9d2c4;--ps-mut:#4b5568;--ps-btn:#1e3a5f;--ps-btntx:#ffffff;--ps-warnbg:#fef2f2;--ps-grey:#efeceb}
:root[data-theme="dark"] .ps-wrap{--ps:#93c5fd;--ps2:#fdba74;--ps-gold:#fdba74;--ps-ink:#e8eefb;--ps-soft:#1b2a44;--ps-paper:#131f35;--ps-night:#080d18;--ps-warn:#fca5a5;--ps-ok:#86efac;
--ps-text:#e8eefb;--ps-bg:#0e1626;--ps-card:#131f35;--ps-line:#2f4468;--ps-mut:#b8c4dc;--ps-btn:#93c5fd;--ps-btntx:#131f35;--ps-warnbg:#3b1316;--ps-grey:#1f2733}
:root[data-theme="dark"]{background:#0e1626;color-scheme:dark}
:root[data-theme="dark"] .ps-wrap input,:root[data-theme="dark"] .ps-wrap select,:root[data-theme="dark"] .ps-wrap button{background:var(--ps-card);color:var(--ps-text);border-color:var(--ps-line)}
:root[data-theme="dark"] .ps-wrap .btn-p,:root[data-theme="dark"] .ps-wrap .chip[aria-pressed="true"],:root[data-theme="dark"] .ps-wrap .stp[aria-current="step"]{background:var(--ps-btn);color:var(--ps-btntx);border-color:var(--ps-btn)}
*{box-sizing:border-box}
html,body{margin:0;background:#fbf8f3}
body{font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.ps-wrap{background:var(--ps-bg);color:var(--ps-text);min-height:100vh;min-height:100dvh;overflow-x:hidden}
.ps-wrap a{color:var(--ps-ink);text-underline-offset:2px}
.hd{display:flex;align-items:center;gap:10px;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--ps-night);color:#f1f5fb;border-bottom:1px solid var(--ps-line)}
.hd a{color:#f1f5fb}
.hd-logo{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.hd-logo img{height:30px;width:auto;display:block}
.hd-title{margin:0;font-size:1rem;font-weight:600;flex:1 1 auto;min-width:0;line-height:1.2}
.hd-title b{color:#fdba74}
.hd-nav{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.hd-back{text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.btn{font:inherit;font-size:.92rem;font-weight:600;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--ps-line);background:var(--ps-card);color:var(--ps-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px}
.btn:hover{border-color:var(--ps)}
.btn[disabled]{opacity:.5;cursor:default}
.btn-p,.ps-wrap a.btn-p{background:var(--ps-btn);border-color:var(--ps-btn);color:var(--ps-btntx)}
.hd .btn{background:transparent;color:#f1f5fb;border-color:#5b7098}
.hd .btn-p{background:#fdba74;color:#131f35;border-color:#fdba74}
.banner{margin:0;padding:10px 14px;background:var(--ps-paper);border-bottom:1px solid var(--ps-line);font-size:.92rem;color:var(--ps-text)}
.banner b{color:var(--ps-ink)}
.main{max-width:980px;margin:0 auto;padding:14px 14px 28px}
.badge{padding:8px 12px;border-radius:10px;background:var(--ps-warnbg);border:1px solid var(--ps-warn);color:var(--ps-text);font-size:.9rem}
.steps{display:none;gap:4px;margin:6px 0 14px;padding:0;list-style:none}
.steps li{flex:1 1 0;min-width:0}
.stp{width:100%;min-height:52px;border:1px solid var(--ps-line);background:var(--ps-card);color:var(--ps-ink);border-radius:10px;font:inherit;font-size:.78rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;line-height:1.2}
.stp b{font-size:1rem}
.stp[aria-current="step"]{background:var(--ps-btn);color:var(--ps-btntx);border-color:var(--ps-btn)}
.stp.done:not([aria-current="step"]){border-color:var(--ps)}
.step{display:none;background:var(--ps-card);border:1px solid var(--ps-line);border-radius:14px;padding:14px;margin:0 0 14px}
.step.on{display:block}
.step h2{margin:0 0 6px;font-size:1.25rem;color:var(--ps-ink)}
.step h3{margin:18px 0 6px;font-size:1.05rem;color:var(--ps-ink)}
.intro{margin:0 0 12px}
.js .steps{display:flex}.js .stepnav{display:flex}
.grid{display:grid;grid-template-columns:1fr;gap:10px}
.grid2{display:none}.grid2.on{display:grid;grid-column:1/-1;grid-template-columns:inherit;gap:10px}
@media (min-width:640px){.grid{grid-template-columns:1fr 1fr}}
.f{display:flex;flex-direction:column;gap:3px;font-size:.88rem;color:var(--ps-text)}
.f span{font-weight:600}
.f small{color:var(--ps-mut);font-weight:400}
.f input,.f select,.ac-h select,.sh{font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--ps-line);border-radius:8px;background:var(--ps-card);color:var(--ps-text);width:100%;max-width:100%}
.ck{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.92rem}
.ck input{width:22px;height:22px;accent-color:var(--ps);flex:0 0 auto}
.ckrow{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0}
.ac{border:1px solid var(--ps-line);border-radius:12px;padding:10px;margin:0 0 10px;background:var(--ps-paper)}
.ac-h{display:flex;align-items:center;gap:8px;margin:0 0 8px;flex-wrap:wrap}
.ac-h select{flex:1 1 180px;width:auto}
.fmv{font-size:.86rem;color:var(--ps-mut);margin-top:6px}
.fmv b{color:var(--ps-ink)}
.out{margin-top:12px}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0}
@media (min-width:760px){.kv{grid-template-columns:repeat(4,1fr)}}
.tile{background:var(--ps-soft);border:1px solid var(--ps-line);border-radius:10px;padding:8px 10px;min-width:0}
.tile small{display:block;color:var(--ps-mut);font-size:.78rem}
.tile b{font-size:1.1rem;color:var(--ps-ink);overflow-wrap:anywhere}
.note{font-size:.86rem;color:var(--ps-mut);margin:6px 0}
.yes{color:var(--ps-ok);font-weight:700}
.no{color:var(--ps-warn);font-weight:700}
.redbox{background:var(--ps-warnbg);border:2px solid var(--ps-warn);border-radius:10px;padding:10px 12px;margin:10px 0;color:var(--ps-text)}
.okbox{background:var(--ps-soft);border:1px solid var(--ps);border-radius:10px;padding:10px 12px;margin:10px 0;color:var(--ps-text)}
.ps-kind{display:inline-block;padding:0 8px;border-radius:99px;font-size:.72rem;border:1px solid var(--ps-line);background:var(--ps-soft);color:var(--ps-ink);margin-left:4px;vertical-align:1px}
.cmp{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0}
@media (min-width:860px){.cmp{grid-template-columns:1fr 1fr}}
.cd{border:1px solid var(--ps-line);border-radius:12px;padding:12px;background:var(--ps-card);min-width:0}
.cd h3{margin:0 0 6px!important}
.cd.am{border-color:var(--ps);box-shadow:0 0 0 1px var(--ps)}
.cd.grey{background:var(--ps-grey);border-style:dashed;color:var(--ps-mut)}
.cd.grey h3,.cd.grey p{color:var(--ps-mut)}
.pl{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.chip{font:inherit;font-size:.84rem;min-height:44px;padding:0 12px;border-radius:99px;border:1px solid var(--ps-line);background:var(--ps-soft);color:var(--ps-ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ps-btn);color:var(--ps-btntx);border-color:var(--ps-btn);font-weight:700}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{border-collapse:collapse;width:100%;font-size:.88rem}
.tbl caption{text-align:left;font-weight:600;color:var(--ps-ink);padding:4px 0}
.tbl th,.tbl td{border-bottom:1px solid var(--ps-line);padding:6px 8px;text-align:left;vertical-align:top;color:var(--ps-text)}
.tbl th{font-weight:600;color:var(--ps-ink)}
.tbl td{text-align:right}
.tbl thead th{font-size:.8rem}
.tbl tr.tot th,.tbl tr.tot td{background:var(--ps-soft);font-weight:700}
.plan{margin:6px 0 10px;padding-left:22px;font-size:.88rem}
.plan li{margin:2px 0}
.plan small{color:var(--ps-mut)}
.cl{list-style:none;margin:0;padding:0}
.prac{font-style:normal;font-size:.76rem;color:var(--ps-mut);border:1px solid var(--ps-line);border-radius:99px;padding:0 7px;white-space:nowrap}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.stat{font-size:.88rem;color:var(--ps-mut);min-height:1.3em}
.disc{font-size:.86rem;color:var(--ps-ink);border-top:1px dashed var(--ps-line);padding-top:8px;margin-top:14px}
.s1{font-weight:600;color:var(--ps-ink)}
.stepnav{display:none;justify-content:space-between;gap:8px;margin:0 0 18px}
.ns{background:var(--ps-paper);border:1px solid var(--ps-line);border-radius:10px;padding:10px 14px;margin:10px 0}
.ft{max-width:980px;margin:0 auto;padding:6px 14px calc(24px + env(safe-area-inset-bottom));font-size:.84rem;color:var(--ps-mut)}
#print-list{display:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:520px){.hd{gap:6px;padding-left:8px;padding-right:8px}.hd-title{font-size:.9rem}.hd-back{display:none}.hd .btn{padding:0 8px;font-size:.8rem}}
@media (max-width:520px){.tbl th,.tbl td{padding:6px 4px}.tbl{font-size:.84rem}}
.lbl{margin:10px 0 2px;font-weight:600;font-size:.9rem;color:var(--ps-ink)}
.rcust{display:none;max-width:260px;margin:0 0 8px}.rcust.on{display:block}
.tile.big b{font-size:1.5rem;color:var(--ps-warn)}
.tile.bad b{color:var(--ps-warn)}.tile.good b{color:var(--ps-ok)}
.bars{margin:10px 0}
.bar{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;margin:6px 0;font-size:.88rem}
.bar i{display:block;height:20px;border-radius:6px;background:var(--ps);min-width:4px}
.bar i.hi{background:var(--ps-gold)}
.bar b{color:var(--ps-ink)}
.vbox{border-radius:10px;padding:10px 12px;margin:10px 0;border:2px solid var(--ps-line);background:var(--ps-card);color:var(--ps-text)}
.vbox p{margin:4px 0 0}
.vbox.ok{border-color:var(--ps-ok);background:var(--ps-soft)}.vbox.warn{border-color:var(--ps2)}.vbox.bad{border-color:var(--ps-warn);background:var(--ps-warnbg)}
.chk,.opts{margin:6px 0;padding-left:20px;font-size:.92rem}.chk li,.opts li{margin:4px 0}
.s1l{font-weight:600;color:var(--ps-ink)}
.shurl{width:100%;font:inherit;font-size:16px;min-height:44px;padding:6px 10px;border:1px solid var(--ps-line);border-radius:8px;background:var(--ps-card);color:var(--ps-text)}
.tbl tr.str th,.tbl tr.str td{font-style:italic}
.ps-kind{display:inline-block;padding:0 8px;border-radius:99px;font-size:.72rem;border:1px solid var(--ps-line);background:var(--ps-soft);color:var(--ps-ink);margin-left:4px}
.step.on{display:block}
.no-js .step{display:none}
@media (max-width:520px){.bar{grid-template-columns:66px 1fr auto}}
