.rp{--rp-line:#d9d3cb;--rp-ink:#1c1b19;--rp-copper:#8a5527;padding:72px 0;background:#f0ede7;scroll-margin-top:90px}.rp *{box-sizing:border-box}.rp-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.rp-head h2{font-size:clamp(30px,4vw,50px);line-height:1.05;margin:8px 0}.rp-head p{max-width:440px}.rp-shell{display:grid;grid-template-columns:250px minmax(0,1fr);border:1px solid var(--rp-line);background:#faf8f5}.rp-controls{padding:24px;border-right:1px solid var(--rp-line)}.rp label{font-size:12px;font-weight:600;display:block;margin-bottom:12px}.rp input,.rp select{display:block;width:100%;font:inherit;font-size:14px;background:white;border:1px solid #a9a198;border-radius:0;padding:9px;margin-top:5px;color:var(--rp-ink);min-height:40px}.rp input[type=file]{font-size:12px}.rp button{font:inherit;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #a9a198;background:transparent;color:var(--rp-ink);padding:10px 12px;min-height:40px}.rp button:hover{background:#e8e0d5}.rp button:focus-visible,.rp a:focus-visible,.rp input:focus-visible,.rp select:focus-visible{outline:3px solid var(--rp-copper);outline-offset:3px}.rp h3{font-size:15px;margin:0 0 16px}.rp small{font-size:12px;line-height:1.6}.rp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rp-add{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rp-add button{text-align:left}.rp-add span{display:block;color:#6b6259;font-weight:400;font-size:11px;margin-top:5px}.rp-divider{border:0;border-top:1px solid var(--rp-line);margin:24px 0}.rp-stage{min-width:0}.rp-toolbar{padding:14px 20px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--rp-line);flex-wrap:wrap}.rp-toolbar button[aria-pressed=true]{background:#1c1b19;color:white;border-color:#1c1b19}.rp-toolbar small{margin-left:auto}.rp-drawing{background:#f7f5f0;position:relative}.rp-drawing svg{display:block;width:100%;height:auto;min-height:300px;max-height:560px;touch-action:pan-y}.rp-drawing svg text{font-family:Inter,sans-serif;pointer-events:none}.rp-drawing [data-cab]{cursor:pointer;touch-action:none}.rp-drawing [data-cab]:focus{outline:none;stroke:#8a5527;stroke-width:3}.rp-caption{padding:12px 20px;border-top:1px solid var(--rp-line);font-size:12px;color:#625a51}.rp-editor{border-top:1px solid var(--rp-line);padding:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rp-editor h3{grid-column:1/-1;margin:0}.rp-editor .rp-actions{grid-column:1/-1;display:flex;gap:8px}.rp-budget{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:28px;background:#1c1b19;color:#faf8f5}.rp-budget h3{color:inherit;margin:0 0 8px}.rp-price{font-size:clamp(25px,3vw,36px);font-weight:700;letter-spacing:-1px;display:block}.rp-budget small{color:#c9c2b9}.rp-budget a{color:#faf8f5}.rp-budget .rp-quote{display:inline-block;margin-top:16px;padding:12px 18px;background:#b07440;color:#171512;font-size:13px;font-weight:700;text-decoration:none}.rp-schedule{padding:24px;overflow-x:auto;border-top:1px solid var(--rp-line)}.rp table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.rp th,.rp td{padding:10px 8px;border-bottom:1px solid var(--rp-line);white-space:nowrap}.rp td button{min-height:32px;padding:5px 8px}.rp-status{margin:0;padding:12px 20px;font-size:12px;min-height:42px;background:#eee7db}.rp-status[data-error=true]{background:#f7dfd5;color:#6f2814}.rp-tools{display:flex;gap:8px;flex-wrap:wrap;padding:20px;border-top:1px solid var(--rp-line)}.rp-tools label{margin:0}.rp-empty{padding:24px}.rp-note{font-size:12px;color:#655d54;margin-top:18px}.rp .rp-primary{background:#1c1b19;color:white}.rp [hidden]{display:none!important}@media(max-width:900px){.rp-shell{grid-template-columns:210px minmax(0,1fr)}.rp-controls{padding:16px}.rp-editor{grid-template-columns:1fr 1fr}.rp-head{display:block}}@media(max-width:640px){.rp{padding:40px 0}.rp-shell{display:block}.rp-controls{border-right:0;border-bottom:1px solid var(--rp-line)}.rp-room-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.rp-room-fields>label:first-child{grid-column:1/-1}.rp-controls .rp-divider{margin:12px 0}.rp-add{grid-template-columns:repeat(4,1fr)}.rp-add button{padding:8px 5px;font-size:11px}.rp-add span{display:none}.rp-budget{grid-template-columns:1fr;gap:18px;padding:20px}.rp-toolbar{padding:12px}.rp-toolbar small{width:100%;margin:0}.rp-drawing svg{min-height:230px}.rp-schedule{padding:12px}.rp-tools{padding:12px}}@media print{body>*{display:none!important}body main,body main>.rp,.rp .wrap{display:block!important}.rp-controls,.rp-toolbar,.rp-editor,.rp-tools,.rp-quote{display:none!important}.rp-shell{display:block}.rp{padding:0}.rp-budget{background:white;color:black}.rp-budget small{color:#333}.rp-drawing svg{max-height:350px}}
.rp .rp-magnet{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}.rp .rp-magnet input{width:16px;min-height:16px;height:16px;margin:0;accent-color:#8a5527}.rp-snap{position:absolute;bottom:8px;left:12px;margin:0;padding:6px 10px;background:#faf8f5e8;border:1px solid #b8a48e;font-size:11px;pointer-events:none}
.rp-camera{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap;padding:1rem;background:#e8e1d6;border-bottom:1px solid #c9beaf}.rp-camera label{font-size:.75rem;display:grid;gap:.25rem}.rp-camera select{padding:.5rem;background:#faf8f5;color:#1c1b19;border:1px solid #b9aa97;max-width:100%}.rp-camera button{min-height:40px;padding:.5rem .75rem;border:1px solid #b9aa97;background:#faf8f5;color:#1c1b19;cursor:pointer}.rp-camera button[aria-pressed=true]{background:#8a5527;color:white}.rp-interior{grid-column:1/-1;padding:1rem;background:#eee8de;border:1px solid #d5c9b8;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.rp-interior h4,.rp-interior>small,#rp-shelves{grid-column:1/-1}.rp-interior h4{margin:0;font-size:1rem}.rp-shelf-row{display:flex;gap:.5rem;align-items:end;margin:.5rem 0}.rp-shelf-row label{flex:1}.rp-shelf-row button{min-height:42px}.rp button:disabled{opacity:.45;cursor:not-allowed}#rp-drawing{touch-action:none}.rp-camera button:hover{border-color:#8a5527}.rp button:focus-visible,.rp select:focus-visible,.rp input:focus-visible{outline:3px solid #8a5527;outline-offset:3px}@media(max-width:600px){.rp-interior{grid-template-columns:1fr}.rp-camera label{flex:1;min-width:120px}.rp-camera button{flex-grow:1}}
.rp-editor .rp-actions{flex-wrap:wrap}.rp-shelf-row{min-width:0}.rp-shelf-row input{min-width:0}.rp-interior>*{min-width:0}
@media(max-width:640px){.rp-add{grid-template-columns:repeat(3,minmax(0,1fr))}.rp-add button{min-width:0;overflow-wrap:anywhere}}
