/* Projects step 1 · Pricing (Oct 30) — FiberSeal blue #0309F6; big tap targets for the phone */
.pr-newline{border-style:dashed}
.pr-tile{border-left:4px solid var(--blue)}
.pr-tile[aria-pressed="true"]{outline:2px solid var(--blue)}
.pr-col{background:#E9EBFF}
.pr-col .col-head .pr-step,.pr-mine .pr-step{background:var(--blue);color:#fff}
.pr-colnew{width:100%;margin:0 0 8px;border:2px dashed var(--blue);color:var(--blue);background:#fff;min-height:44px}
.pr-card.pr-urg{border-left-color:var(--red);box-shadow:0 0 0 1px rgba(209,3,10,.25),var(--shadow)}
.pr-urgtag{background:var(--red);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 8px;border-radius:999px;flex:none}
.pr-card .r1{display:flex;justify-content:space-between;gap:8px;align-items:center}
.pr-noone{background:#FFF4E5;color:#9A4A00}
.pr-form .pr-lbl{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin:12px 0 6px}
.pr-seg{display:flex;gap:8px;flex-wrap:wrap}
.pr-sg{flex:1 1 0;min-width:120px;position:relative;display:flex}
.pr-sg input{position:absolute;opacity:0;pointer-events:none}
.pr-sg span{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:8px 10px;border:2px solid #d6d8ea;border-radius:12px;background:#fff;font-weight:700;font-size:16px;text-align:center;cursor:pointer;line-height:1.2}
.pr-sg span small{font-weight:500;font-size:12px;color:var(--ink2)}
.pr-sg.on span,.pr-sg input:checked+span{border-color:var(--blue);background:var(--blue-soft,#EEF0FF);color:var(--blue)}
.pr-sg input:focus-visible+span{outline:3px solid rgba(3,9,246,.35)}
.pr-sg.dis span{opacity:.5;cursor:not-allowed;border-style:dashed}
.pr-plans{margin-top:10px}
.pr-pdf{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:6px 0;color:var(--blue);font-weight:600;text-decoration:none;background:#fff;word-break:break-all}
.pr-pdf small{color:var(--muted);font-weight:500;margin-left:auto;white-space:nowrap}
.pr-pdf.pending{color:var(--ink2);border-style:dashed}
.pr-up{width:100%;min-height:48px;cursor:pointer;margin-top:4px}
.pr-urgent{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;margin:0 0 12px;cursor:pointer;background:#fff}
.pr-urgent input{width:26px;height:26px;accent-color:var(--red);flex:none}
.pr-urgent b{display:block;font-size:16px}.pr-urgent small{display:block;font-size:12.5px;color:var(--ink2)}
.pr-urgent.on{border-color:var(--red);background:#FFF0F0}
.pr-sel{font:inherit;font-size:16px;padding:12px;border:1px solid #d6d8ea;border-radius:10px;background:#fff;width:100%;box-sizing:border-box;min-height:48px}
.pr-fs{color:var(--blue)}
.pr-rooms-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 2px 8px}
.pr-rooms-h h3{margin:0;font-size:18px}
.pr-room{border:2px solid #CDD0F5;border-radius:14px;padding:12px;margin:0 0 12px;background:#FAFAFF;scroll-margin-top:70px}
.pr-rhead{display:flex;align-items:center;gap:10px}
.pr-rnum{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.pr-rname{flex:1;min-width:0;font:inherit;font-size:18px;font-weight:800;padding:8px 10px;border:1px solid #d6d8ea;border-radius:10px;background:#fff}
.pr-x{width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px;color:var(--ink2);flex:none;cursor:pointer}
.pr-check{display:flex;align-items:center;gap:10px;margin:12px 0 2px;font-weight:700;font-size:16px;min-height:44px;cursor:pointer}
.pr-check input{width:26px;height:26px;accent-color:var(--blue)}
.pr-size{display:flex;align-items:flex-end;gap:4px;flex-wrap:nowrap}
.pr-pair{display:flex;align-items:flex-end;gap:3px}
.pr-in{display:flex;flex-direction:column;gap:2px}
.pr-in span{font-size:11.5px;font-weight:600;color:var(--muted)}
.pr-in input{font:inherit;font-size:17px;font-weight:700;text-align:center;padding:10px 4px;border:1px solid #d6d8ea;border-radius:10px;background:#fff;width:58px;box-sizing:border-box;min-height:48px}
.pr-in.pr-ex input{width:46px;background:#F3F4FF;color:var(--blue)}
.pr-op{font-weight:800;color:var(--ink2);padding:0 0 14px;font-size:15px}
.pr-x2{font-size:18px;padding:0 2px 13px}
.pr-sqrow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}
.pr-sq{display:inline-block;padding:6px 10px;border-radius:8px;background:var(--blue);color:#fff;font-weight:800;font-size:14px;white-space:nowrap;margin-left:auto}
.pr-floor .pr-sq{margin-bottom:8px}
.pr-items{margin-top:10px}
.pr-item{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:8px 0;background:#fff}
.pr-ihead{display:flex;align-items:center;gap:8px}
.pr-ihead b{font-size:15px}.pr-ihead .pr-x{margin-left:auto;width:40px;height:40px}
.pr-idims{display:flex;align-items:flex-end;gap:6px;margin-top:4px}
.pr-idims .small{padding-bottom:14px}
.pr-adds{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pr-adds .btn{flex:1 1 auto;min-height:44px;color:var(--blue);border-color:#C9CCF7;font-size:14px}
.pr-addroom{display:block;width:100%;min-height:56px;margin:0 0 14px;border:2px dashed var(--blue);border-radius:14px;background:var(--blue-soft,#EEF0FF);color:var(--blue);font:inherit;font-size:17px;font-weight:800;cursor:pointer}
.pr-go{position:sticky;bottom:0;background:#fff;padding:10px 0 calc(10px + env(safe-area-inset-bottom));margin-top:8px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}
.pr-go .btn{min-height:48px;font-size:16px}
.pr-stzip .np-s{flex:1 1 55%}.pr-stzip .np-z{flex:1 1 35%}
.pr-floor{flex-wrap:wrap}.pr-floor .pr-sq{margin-left:auto}
@media (max-width:350px){.pr-size{flex-wrap:wrap}}
.m-list .pr-colnew{margin:4px 0 10px}

/* v2 (Oct 30): extra shower measurements + width-only niche */
.pr-mrow{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:12px;background:#f7f8ff}
.pr-mhead{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.pr-mlbl{flex:1;min-width:0;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;background:#fff}
.pr-mhead .pr-x{width:40px;height:40px}
.pr-rowsq{text-align:right;font-size:13px;font-weight:700;color:var(--ink2);margin-top:4px}
.pr-addmeas{display:block;width:100%;margin-top:10px;min-height:44px;border:1px dashed var(--blue);border-radius:12px;background:#fff;color:var(--blue);font-weight:700;font-size:15px;cursor:pointer}
.pr-nw input{max-width:110px}

/* v3 (Oct 30): Walls / Walls & ceiling — own sections and own totals, never added to the floor */
.pr-surf{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 2px}
.pr-surf .pr-check{margin:6px 0 2px}
.pr-whsec{margin-top:14px;padding:10px;border:2px solid #BFE3D6;border-radius:12px;background:#F2FBF7}
.pr-whsec.pr-ceil{border-color:#DCCDF3;background:#F8F4FE}
.pr-whh{font-weight:800;font-size:16px;margin:0 0 4px}
.pr-whh small{font-weight:500;font-size:12px;color:var(--ink2)}
.pr-whrow{margin-top:8px;padding:8px;border:1px dashed var(--line);border-radius:12px;background:#fff}
.pr-whsize{align-items:flex-end}
.pr-whsize .pr-in input{width:72px}
.pr-whsq{margin-left:auto;padding-bottom:14px;font-size:13px;font-weight:700;color:var(--ink2);white-space:nowrap}
.pr-sq.pr-sq-walls{background:#0E7C66}
.pr-sq.pr-sq-ceil{background:#6B3FC0}
.pr-walls .pr-addmeas{border-color:#0E7C66;color:#0E7C66}
.pr-ceil .pr-addmeas{border-color:#6B3FC0;color:#6B3FC0}
.pr-rtot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.pr-tchip{font-weight:800;font-size:13px;padding:3px 8px;border-radius:999px;color:#fff;white-space:nowrap}
.pr-tf{background:var(--blue)}.pr-tw{background:#0E7C66}.pr-tc{background:#6B3FC0}
.pr-sqline{margin-top:6px;font-size:13px;font-weight:700;color:var(--ink2)}
.pr-whrow{padding:6px 8px;margin-top:6px}.pr-whrow .pr-mhead{margin-bottom:2px}.pr-whrow .pr-mlbl{height:38px}.pr-whrow .pr-x{width:38px;height:38px}

/* v4 (Oct 30): Full bathroom — bathroom floor outside the shower, own total (orange), never added to the shower floor */
.pr-fullck small{font-weight:500;font-size:12px}
.pr-whsec.pr-bath{border-color:#F3D3B0;background:#FFF7EF}
.pr-sq.pr-sq-bath{background:#C2570C}
.pr-bath .pr-addmeas{border-color:#C2570C;color:#C2570C}
.pr-tb{background:#C2570C}

/* v5 (Oct 30): order — floor → bench → full bath → walls → niches; niches = width + qty lines */
.pr-opt{margin-top:12px;padding-top:10px;border-top:1px dashed #d6d8ea}
.pr-opt .pr-check{margin:0}
.pr-opt .pr-surf{margin:0}
.pr-niches{margin-top:12px;padding:10px;border:2px solid #CDD0F5;border-radius:12px;background:#fff}
.pr-nhead{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pr-nhead b{font-size:15px}
.pr-nlines{display:flex;flex-direction:column;gap:8px}
.pr-nline{display:flex;align-items:flex-end;gap:10px}
.pr-nline .pr-in input{width:84px}
.pr-qty{display:flex;flex-direction:column;gap:2px}
.pr-qty>span{font-size:11.5px;font-weight:600;color:var(--muted)}
.pr-step{display:flex;align-items:stretch;border:1px solid #d6d8ea;border-radius:10px;overflow:hidden;background:#fff;min-height:48px}
.pr-step button{width:44px;border:0;background:#F3F4FF;color:var(--blue);font-size:22px;font-weight:800;cursor:pointer;padding:0}
.pr-step input{width:44px;border:0;text-align:center;font:inherit;font-size:17px;font-weight:800;padding:0;background:#fff}
.pr-nline .pr-x{margin-left:auto;align-self:flex-end;height:48px}
.pr-nsum{margin-top:8px;padding:8px 10px;border-radius:8px;background:#EEF0FF;color:var(--blue);font-weight:800;font-size:14px}
.pr-addniche{margin-top:8px}
.pr-nline{gap:8px}
.pr-nline .pr-in input{width:68px}
.pr-step button{width:42px}
.pr-step input{width:40px}
.pr-nline .pr-x{width:40px;flex:none}

/* v6 (Oct 30, 1:04 PM): wall areas (widths added up × one height), shelf Big/Small + window ticks, project summary */
.pr-wg{padding:8px}
.pr-wlbl{font-size:11.5px;font-weight:600;color:var(--muted);margin:4px 0 3px}
.pr-ws{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pr-wsin{width:64px;height:48px;border:1px solid #d6d8ea;border-radius:10px;text-align:center;font:inherit;font-size:17px;font-weight:700;background:#fff;padding:0}
.pr-ws .pr-op{font-weight:800;color:var(--ink2)}
.pr-wsadd,.pr-wsdel{height:48px;border:1px dashed #0E7C66;border-radius:10px;background:#fff;color:#0E7C66;font-weight:800;font-size:15px;padding:0 12px;cursor:pointer}
.pr-wsdel{padding:0;width:44px;font-size:22px}
.pr-wh2{margin-top:8px;align-items:flex-end;gap:8px}
.pr-wsum{padding-bottom:14px;font-weight:800;font-size:15px;color:#0E7C66;white-space:nowrap}
.pr-tickopt .pr-check span{font-weight:700}
.pr-slines{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.pr-sline{display:flex;align-items:flex-end;gap:8px}
.pr-bs{display:flex;border:2px solid #CDD0F5;border-radius:12px;overflow:hidden;align-self:flex-end}
.pr-bs button{min-width:66px;height:48px;border:0;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:800;cursor:pointer;padding:0 10px}
.pr-bs button+button{border-left:2px solid #CDD0F5}
.pr-bs button.on{background:var(--blue);color:#fff}
.pr-nosize .pr-bs{border-color:#F0A35E}
.pr-pick{color:#C2570C;font-weight:700}
.pr-sline .pr-x{margin-left:auto;width:40px;height:48px;flex:none}
.pr-addshelf{margin-top:2px}
.pr-winrow{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}
.pr-wq .pr-qty>span{display:none}
.pr-summary{margin:18px 0 6px;padding:14px 12px;border:2px solid var(--blue);border-radius:16px;background:#F5F6FF}
.pr-sumh{font-size:19px;font-weight:900;margin-bottom:10px;display:flex;align-items:baseline;gap:8px}
.pr-sumh small{font-size:13px;font-weight:600;color:var(--ink2)}
.pr-sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pr-st{background:#fff;border:1px solid #d6d8ea;border-radius:12px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;gap:1px;min-height:70px;justify-content:center}
.pr-st b{font-size:26px;line-height:1.05;color:var(--blue)}
.pr-st span{font-size:12.5px;font-weight:700;color:var(--ink)}
.pr-st small{font-size:11.5px;font-weight:700;color:var(--ink2);line-height:1.2}
.pr-st.zero{opacity:.45}.pr-st.zero b{color:var(--ink2)}
.pr-sqsum{margin-top:12px;background:#fff;border:1px solid #d6d8ea;border-radius:12px;padding:4px 12px}
.pr-sqr{display:flex;align-items:center;gap:8px;padding:9px 0;font-size:16px}
.pr-sqr+.pr-sqr{border-top:1px solid #eceef8}
.pr-sql{font-weight:700;flex:1}
.pr-sqr b{font-size:19px}.pr-sqr small{font-size:12px;color:var(--ink2);width:34px}
.pr-sqr.zero{opacity:.45}
.pr-dot{width:12px;height:12px;border-radius:50%;flex:none}
.pr-tp{background:#2563EB}
.pr-sumnote{margin-top:8px;text-align:center}

/* Nov 2: Top platform — three sizes in one row */
.pr-topopt .pr-tline{display:flex;align-items:center;gap:8px;margin:6px 0 2px}
.pr-bs3{display:flex;flex:1}
.pr-bs3 button{flex:1}
.stepnum.pr-step{display:inline-grid;place-items:center;min-height:0;width:20px;height:20px;border:0;border-radius:50%;overflow:visible}
.mine-sec h3 .stepnum.pr-step{width:22px;height:22px}

/* Nov 2 (Nathan 1:24 PM): extra extras — tiny "+" beside the word "extra" (no width cost), ✕ on each added box; a row with them may wrap */
.pr-in span .pr-xadd,.pr-in span .pr-xdel{border:0;background:none;padding:2px 4px;margin:-4px -4px -4px 1px;font:inherit;font-size:13px;font-weight:800;line-height:1;color:var(--blue);cursor:pointer;opacity:.7;vertical-align:baseline}
.pr-in span .pr-xdel{font-size:11px;color:#9a9db5}
.pr-in span .pr-xadd:hover,.pr-in span .pr-xdel:hover{opacity:1}
.pr-size.pr-sxx{flex-wrap:wrap;row-gap:6px}
.pr-size.pr-sxx .pr-pair{flex-wrap:wrap;row-gap:6px}
.pr-bath .pr-whrow .pr-size{margin-top:2px}

/* Nov 4: "Measurements done?" pop-up on Save + draft badge (np.js mdAsk / isDraft) */
.pr-draft{margin:4px 0 2px;display:inline-block;background:#FFF4E5;color:#9A4A00;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}
.pr-mdw{position:fixed;inset:0;z-index:300;background:rgba(20,21,43,.5);display:flex;align-items:flex-end;justify-content:center}
.pr-md{background:#fff;width:100%;max-width:460px;border-radius:20px 20px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px rgba(0,0,0,.25);text-align:center}
@media (min-width:700px){.pr-mdw{align-items:center}.pr-md{border-radius:20px}}
.pr-md h3{margin:0 0 4px;font-size:22px}
.pr-md p{margin:0 0 14px}
.pr-md .btn{display:block;width:100%;min-height:58px;font-size:18px;font-weight:800;border-radius:14px;margin:0 0 10px;line-height:1.2}
.pr-md .pr-md-go{background:#12A150;border-color:#12A150;color:#fff}
.pr-md .pr-md-draft{background:#fff;color:#14152B;border:2px solid #C9CBDD}
.pr-md .pr-md-draft small{display:block;font-size:13px;font-weight:600;color:#7A7D96}
.pr-md-back{background:none;border:0;color:#5A5D7A;font:inherit;font-size:15px;padding:8px;cursor:pointer;text-decoration:underline}
/* Nov 4: vacuum measurement box (np.js vacBox) */
.pr-vline{margin:4px 0 2px;font-size:13px;font-weight:700;color:#14152B}
.pr-vac .pr-vsum{background:#EEF0FF;color:#14152B;font-weight:800;font-size:15px;line-height:1.35;padding:10px 12px;border-radius:12px;margin:2px 0 10px}
.pr-vlbl{font-weight:700;font-size:14px;margin:12px 0 6px}
.pr-vrow{display:flex;gap:10px}
.pr-vrow>*{flex:1 1 0;min-width:0}
.pr-vb{min-height:54px;border:2px solid #C9CBDD;background:#fff;border-radius:12px;font:inherit;font-size:16px;padding:8px 6px;cursor:pointer;color:#14152B}
.pr-vb small{display:block;font-size:12px;color:#7A7D96;font-weight:600}
.pr-vb.on{border-color:#0309F6;background:#0309F6;color:#fff}
.pr-vb.on small{color:#DDE0FF}
.pr-vn{display:block;margin-top:10px}
.pr-vn span,.pr-vfl span{display:block;font-weight:700;font-size:14px;margin-bottom:4px}
.pr-vn input{width:100%;box-sizing:border-box;font:inherit;font-size:22px;font-weight:800;text-align:center;padding:10px;border:1px solid #C9CBDD;border-radius:12px;min-height:54px}
.pr-vfl{display:block;margin-top:12px}
.pr-vfl small{font-weight:500;color:#7A7D96}
.pr-vfl input,.pr-vfl textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px;border:1px solid #C9CBDD;border-radius:12px}
.pr-vck{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-weight:600;font-size:15px;line-height:1.3;cursor:pointer}
.pr-vck input{width:24px;height:24px;flex:none;margin:0}
.pr-vtot{margin-top:12px;font-size:24px;font-weight:900;color:#0309F6;text-align:center;background:#F4F5FF;border-radius:12px;padding:10px}
.pr-vunits{margin-top:8px}
.pr-vu{display:flex;gap:8px;margin-bottom:8px}
.pr-vu input{font:inherit;font-size:16px;padding:10px;border:1px solid #C9CBDD;border-radius:10px;min-width:0;box-sizing:border-box}
.pr-vu input[data-vk=uname]{flex:2 1 0}
.pr-vu input[data-vk=uinl]{flex:1 1 0;text-align:center;font-weight:800}
.pr-vux{flex:none;width:44px;border:0;background:#F1F2F7;border-radius:10px;font-size:16px;cursor:pointer}
.pr-vadd{width:100%;min-height:46px;border:2px dashed #C9CBDD;background:#fff;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}
/* v34: vacuum unit list — label · type · inlets · copy · remove, one row on a phone */
.pr-vu{gap:6px;align-items:stretch}
.pr-vu input[data-vk=uname]{flex:1.6 1 0;font-size:15px;padding:10px 8px}
.pr-vu select{flex:1.3 1 0;min-width:0;font:inherit;font-size:15px;padding:8px 4px;border:1px solid #C9CBDD;border-radius:10px;background:#fff}
.pr-vu input[data-vk=uinl]{flex:0 0 58px;padding:10px 4px}
.pr-vuc{flex:none;width:50px;border:0;background:#E8EAFF;color:#0309F6;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer;padding:0}
.pr-vux{width:38px}
.pr-vuhint{margin:-2px 0 8px;font-size:13px}
.pr-vquick{background:#F7F8FC;border:1px solid #E3E5F0;border-radius:12px;padding:10px;margin-top:6px}
.pr-vquick .pr-vlbl{margin-top:0}
.pr-vqrow{display:flex;gap:8px}
.pr-vqrow .pr-vn{flex:1 1 0;min-width:0}
.pr-vqrow select{width:100%;min-height:54px;font:inherit;font-size:16px;padding:10px 4px;border:1px solid #C9CBDD;border-radius:10px;background:#fff;box-sizing:border-box}
.pr-vmake{margin-top:8px;border-style:solid;border-color:#0309F6;color:#0309F6}
fieldset.pr-vac{min-width:0;max-width:100%;box-sizing:border-box}
.pr-vu>*{min-width:0}
.pr-vu{gap:5px}
.pr-vu input[data-vk=uname]{flex:0.9 1 0;font-size:14px;padding:10px 6px}
.pr-vu select{flex:1.6 1 0;font-size:15px}
.pr-vu input[data-vk=uinl]{flex:0 0 50px}
.pr-vuc{width:46px}
.pr-vux{width:34px}

/* v38 (Nathan 1:14 PM Nov 4): room Qty (same rooms) + Duplicate — big tap targets for phones */
.pr-rqb{flex:none;font-weight:900;font-size:16px;color:#fff;background:var(--blue);border-radius:999px;padding:4px 10px}
.pr-rqb[hidden]{display:none}
.pr-qrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:10px 0 4px}
.pr-qlbl{font-weight:800;font-size:15px;color:var(--ink2,#444)}
.pr-qlbl small{display:block;font-weight:600;font-size:11px;color:var(--muted,#888)}
.pr-rqty{display:inline-flex;flex-direction:row;align-items:stretch;border:1px solid #d6d8ea;border-radius:12px;overflow:hidden;background:#fff;flex:none}
.pr-rqty>*{flex:none}
.pr-qb{width:48px;min-height:48px;border:0;background:var(--blue-soft,#EEF0FF);color:var(--blue);font:inherit;font-size:24px;font-weight:900;cursor:pointer;touch-action:manipulation}
.pr-qin{width:64px;min-height:48px;border:0;border-left:1px solid #d6d8ea;border-right:1px solid #d6d8ea;text-align:center;font:inherit;font-size:20px;font-weight:900;padding:0}
.pr-dup{margin-left:auto;min-height:48px;padding:0 14px;border:1px solid var(--blue);border-radius:12px;background:#fff;color:var(--blue);font:inherit;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap;touch-action:manipulation}
.pr-qall{display:block;width:100%;margin-top:4px;font-size:13px;color:var(--ink2,#333)}
.pr-qall b{color:var(--blue)}
.pr-room.pr-flash{animation:prflash 1.4s ease-out 1}
@keyframes prflash{0%{box-shadow:0 0 0 4px var(--blue)}100%{box-shadow:0 0 0 0 transparent}}
.pr-rtot[hidden]{display:none}

/* v46 (Nathan 2:24 PM Nov 4 "rooms too big and spread out, too much to scroll"): compact rooms, summary before rooms, sticky Save, folded customer line.
   Layout only. Tap targets stay >= 40 px. */
#pr-form [hidden]{display:none!important}
.pr-cline{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
.pr-cl-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:15px}
.pr-cl-e{flex:none;color:var(--blue);font-weight:700;font-size:14px;white-space:nowrap}
.pr-cdone{display:block;margin:-4px 0 12px auto;min-height:40px;padding:0 14px;border:1px solid #C9CCF7;border-radius:10px;background:#fff;color:var(--blue);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pr-rooms-h{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:14px 2px 6px}
.pr-rooms-h .pr-sumln{flex:1 1 100%;order:3}
.pr-rall{margin-left:auto;min-height:40px;padding:0 12px;border:1px solid #C9CCF7;border-radius:10px;background:#fff;color:var(--blue);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.pr-room{padding:9px;margin:0 0 8px;border-radius:12px}
.pr-room.pr-ropen{border-color:var(--blue)}
.pr-rc{display:flex;align-items:center;gap:5px;padding:3px 4px 3px 6px;margin:0 0 6px;background:#fff;border-width:1.5px}
.pr-rcl{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:44px;padding:2px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.pr-rcl .pr-rnum{width:26px;height:26px;font-size:13px}
.pr-rct{flex:1;min-width:0;font-size:14px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pr-rct b{font-size:15px}.pr-rct .pr-rq{color:var(--blue)}
.pr-rd{color:var(--ink2)}.pr-rnm{color:#B45309;font-weight:600}
.pr-ib{width:40px;height:40px;flex:none;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px;line-height:1;cursor:pointer}
.pr-rc .pr-x{width:40px;height:40px}
.pr-rhead{gap:6px}
.pr-rhead .pr-rnum{width:28px;height:28px}
.pr-rname{font-size:17px;padding:7px 9px}
.pr-rhead .pr-x{width:42px;height:42px}
.pr-rfold{color:var(--blue);font-weight:800}
.pr-qrow{margin:6px 0 2px;gap:6px 8px}
.pr-form .pr-room .pr-lbl{margin:8px 0 4px}
.pr-room .pr-check{margin:6px 0 0;min-height:40px}
.pr-room .pr-opt{margin-top:8px;padding-top:6px}
.pr-room .pr-items{margin-top:6px}
.pr-room .pr-item{margin:6px 0;padding:6px 8px}
.pr-room .pr-mrow{margin-top:6px;padding:8px}
.pr-room .pr-sqrow{margin-top:6px}
.pr-room .pr-in input{min-height:44px;padding:8px 4px}
.pr-addroom{min-height:50px;margin:0 0 10px}
.pr-go{position:sticky;bottom:0;z-index:5;flex-wrap:wrap;align-items:center;margin:8px -16px 0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);box-shadow:0 -4px 12px rgba(10,14,60,.10)}
.pr-go .err{flex:1 1 100%;margin:0;order:-1}
.pr-go .err:empty{display:none}
.pr-go .btn.primary{min-width:150px}
@media (max-width:520px){.pr-go .btn{flex:1}.pr-go .btn.primary{flex:2;min-width:0}}
.pr-goq{display:flex;gap:8px;margin-right:auto}
.pr-goq:empty{display:none}
.pr-goq .btn{min-height:44px;font-size:14px;padding:0 12px;width:auto}
@media (max-width:640px){.pr-goq{display:none}}
/* v46 second pass: one-line Qty row, two-line compact room rows, narrower side margins on the phone */
.pr-qrow{flex-wrap:nowrap}
.pr-qb{width:44px;min-height:44px;font-size:22px}
.pr-qin{width:54px;min-height:44px;font-size:19px}
.pr-dup{min-height:44px;padding:0 10px;font-size:14px;border-radius:10px}
.pr-rct{display:block;overflow:visible}
.pr-rct .pr-rt{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-rct .pr-rd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.3}
.pr-room .pr-sel{min-height:44px;padding:9px 10px}
@media (max-width:520px){
 .np-form.pr-form{padding-left:4px;padding-right:4px}
 .pr-go{margin:8px -4px 0;padding-left:4px;padding-right:4px}
 .pr-form .pr-sumbar .btn{flex:1 1 0;min-width:0;font-size:14px;padding:0 6px}
 .pr-form .np-g{padding:8px 10px 10px}
}
/* v46: in the form, the summary hides what is zero and sits tighter (the office / customer summaries are unchanged) */
.pr-form .pr-summary{margin:6px 0 8px;padding:10px}
.pr-form .pr-sumh{font-size:17px;margin-bottom:8px}
.pr-form .pr-sgrid{grid-template-columns:repeat(4,1fr);gap:6px}
.pr-form .pr-st{min-height:54px;padding:6px 4px}
.pr-form .pr-st b{font-size:21px}
.pr-form .pr-st.zero,.pr-form .pr-sqr.zero{display:none}
.pr-form .pr-sqr{padding:6px 0;font-size:15px}
.pr-form .pr-sqr b{font-size:17px}
@media (max-width:520px){.pr-form .pr-sgrid{grid-template-columns:repeat(3,1fr)}}
.pr-each{font-style:normal;font-weight:700;color:var(--blue)}
.pr-go{background:#fff}

/* v47: floating "Next ›" above the keyboard while a measurement box is focused; #pr-kbk keeps the iPhone keypad up while the form redraws */
#pr-mnext{position:fixed;right:10px;top:auto;z-index:1000;min-height:44px;min-width:96px;padding:0 18px;border:0;border-radius:22px;background:#1f3fd6;color:#fff;font:600 17px/44px system-ui,-apple-system,sans-serif;box-shadow:0 4px 14px rgba(10,14,60,.30);-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#pr-mnext[hidden]{display:none}
#pr-mnext:active{background:#152fa8}
#pr-kbk{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;font-size:16px;border:0;padding:0;pointer-events:none}
