/* S1 Project sales (off-the-plan) additions on top of the shared S1 app.css */
.psteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r3);background:#fff;margin:4px 0 16px;overflow:hidden}
.psteps>div{padding:10px 12px;border-right:1px solid var(--line);font-size:12.5px;color:var(--text-3)}.psteps>div:last-child{border-right:0}
.psteps b{display:flex;gap:7px;align-items:center;font-weight:550;color:var(--text-2);margin-bottom:2px}.psteps .n{width:20px;height:20px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-size:11px;flex:none}
.psteps .done b{color:var(--ink)}.psteps .done .n{color:var(--ok);border-color:#cdebd9;background:var(--ok-soft)}.psteps .now{background:var(--accent-soft)}.psteps .now b{color:var(--accent-2)}.psteps .now .n{border-color:var(--accent-line);color:var(--accent-2)}
.ocg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;font-size:13px;color:var(--text-2)}.ocg small{display:block;font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.ocg b{color:var(--ink);font-weight:600}
.pcols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin-top:14px}
.right>.box+.box,#history,#lawyer{margin-top:14px}
.tl2{margin:6px 0 10px;padding-left:18px;font-size:13px;color:var(--text-2)}.tl2 li{margin:2px 0}
.ob{border-top:1px solid var(--line);padding:7px 0;font-size:12.5px}.ob b{display:block;color:var(--ink);font-weight:550}.ob span{color:var(--text-3)}
@media (max-width:760px){.pcols{grid-template-columns:minmax(0,1fr)}.ocg{grid-template-columns:1fr 1fr}.psteps{grid-template-columns:1fr 1fr}.psteps>div{border-bottom:1px solid var(--line)}}
.plan{margin-bottom:14px}.lvl+.lvl{margin-top:8px}.fp{width:100%;height:auto;display:block;background:var(--bg-2,#f7f8fa);border-radius:var(--r2)}
.fp .u polygon{fill:#fff;stroke:var(--line-2);stroke-width:2}.fp .u text{font-size:26px;text-anchor:middle;fill:var(--ink);font-weight:550}.fp .u text.t2{font-size:19px;fill:var(--text-3);font-weight:400}
.fp .u{cursor:pointer}.fp .u:hover polygon,.fp .u:focus polygon{stroke:var(--accent-line)}.fp .u:not(.available) polygon{fill:#eef0f3}.fp .u:not(.available) text{fill:var(--text-3)}
.fp .u.pick polygon{stroke:var(--accent-2);stroke-width:4}
#act input:not([type]),#act select{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r2);background:#fff;width:100%;box-sizing:border-box;margin:3px 0 8px}
.lots,.dep{display:grid;gap:4px;margin:4px 0 8px;font-size:13px}.lots{grid-template-columns:1fr 1fr}.dep .off{color:var(--text-3)}
.stg{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:12.5px;color:var(--text-3)}
#feed a{display:inline-flex;gap:5px;align-items:center;margin-top:6px}
/* round 271: price list, import, developer page */
#plist2 .pin{max-width:150px;font-variant-numeric:tabular-nums}#plist2 tr.chg td:first-child b::after{content:" · changed";font-weight:400;color:var(--text-3);font-size:12px}
#dlist tr.chg td:first-child b::after{content:" · changed";font-weight:400;color:var(--text-3);font-size:12px}
#csv{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;margin-top:4px}
#pv tr.bad td{background:var(--sunk)}#pv .err{color:var(--text)}#pv .i{width:14px;height:14px;vertical-align:-2px}
#preview{margin-top:14px}.noplan{margin:2px 0 6px}
.devmain{max-width:980px;margin:0 auto;padding:24px 20px 60px}#decide{margin-top:14px}#decide input,#decide textarea{margin:4px 0 8px}
#pricebox .btn{margin-top:2px}

/* round 274: reservations (calm, Stripe-like; no urgency colours) */
.rsvask{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.rsvask summary{cursor:pointer;display:flex;gap:6px;align-items:center}
.rsvpaid{border:1px solid var(--line);border-radius:var(--r2,8px);padding:8px 10px;margin:6px 0 10px;background:#fafafb}.rsvpaid p{margin:2px 0}
.ob.rsv span{display:block}#reservebox h3,#rsvset h3{display:flex;gap:7px;align-items:center}

/* round 275: On UNTOUCHED checks and buyer page preview */
.pchk{list-style:none;margin:0;padding:0}.pchk li{display:flex;gap:9px;padding:7px 0;border-top:1px solid var(--line)}.pchk li:first-child{border-top:0}
.pchk .n{width:20px;height:20px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;margin-top:1px}.pchk [data-pass="1"] .n{color:var(--ok);border-color:#cdebd9;background:var(--ok-soft)}
.pchk b{font-weight:550;font-size:13px}.pgprev{border:1px solid var(--line);border-radius:var(--r3);padding:10px 12px;margin:0 0 10px;background:#fbfbfc}.pgprev p{margin:6px 0 0}
#feed textarea,#feed input,#pagereview textarea{width:100%}
