.product-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.sheet-banner{display:grid;grid-template-columns:100px 1fr auto;gap:22px;align-items:center;padding:28px;background:linear-gradient(120deg,#102f43,#0b7285);color:#fff}.sheet-logo{font-size:11px;line-height:1.2;letter-spacing:2px;border-right:1px solid #ffffff55}.sheet-logo b{font-size:17px}.sheet-banner h2{font-size:27px;margin:3px 0}.sheet-banner p,.sheet-banner span{margin:0;opacity:.75}.sheet-no{text-align:right;display:grid}.sheet-no strong{font-size:18px}.sheet-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.sheet-summary div{padding:16px 20px;border-right:1px solid var(--line);display:grid}.sheet-summary small,.spec-item span{color:#78909a;font-size:12px}.spec-section{padding:22px 26px;border-bottom:1px solid var(--line)}.spec-section h3{margin:0 0 16px;font-size:16px;display:flex;align-items:center;gap:9px}.spec-section h3 i{font-style:normal;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:var(--teal);color:#fff;font-size:11px}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.spec-item{display:grid;gap:4px;padding:13px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:68px}.spec-item.wide{grid-column:span 3}.spec-item strong{font-weight:600}.notes{background:#fffdf7}.details-editor summary{font-size:18px;font-weight:700;cursor:pointer}.details-editor form{margin-top:20px;max-height:70vh;overflow:auto;padding-right:5px}.details-editor h3{margin:16px 0 0;color:var(--teal)}
@media(max-width:760px){.sheet-banner{grid-template-columns:55px 1fr;padding:20px 16px}.sheet-no{grid-column:1/-1;text-align:left;border-top:1px solid #ffffff33;padding-top:12px}.sheet-banner h2{font-size:22px}.sheet-summary{grid-template-columns:repeat(2,1fr)}.spec-section{padding:18px 14px}.spec-grid{grid-template-columns:repeat(2,1fr)}.spec-item.wide{grid-column:span 2}}
.form-intro{margin-top:-8px;color:#78909a;font-size:13px}.shot-guide{display:grid;gap:7px;padding:12px;background:#f4f8f8;border-radius:10px}.shot-guide div{display:grid}.shot-guide b{font-size:12px;color:#087f8c}.shot-guide span{font-size:11px;color:#78909a}.photo-upload input{position:absolute;opacity:0;pointer-events:none}.photo-upload span{display:grid;place-items:center;min-height:86px;border:2px dashed #9fc9cb;border-radius:12px;background:#f2fbfb;color:#087f8c;font-weight:700;cursor:pointer}
.qr-tag{display:inline-block;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:800}.qr-tag.internal{background:#fff1d4;color:#8b5a00}.qr-tag.customer{background:#dff3ec;color:#176b53}.customer-qr{border-color:#afd8ca}.customer-qr .secondary{margin-top:12px}.customer-hero{position:relative;padding:38px;border-radius:22px;background:linear-gradient(120deg,#102f43,#087f8c);color:#fff}.customer-hero h1{font-size:34px;margin:8px 0}.customer-hero p{opacity:.8}.progress-summary{position:absolute;right:35px;top:38px;display:grid;text-align:right}.progress-summary b{font-size:34px}.progress-summary span{font-size:12px;opacity:.75}.customer-timeline{max-width:850px;margin:32px auto}.customer-stage{display:grid;grid-template-columns:42px 1fr;gap:14px;position:relative;padding-bottom:22px}.customer-stage:before{content:"";position:absolute;left:19px;top:39px;bottom:0;border-left:2px solid #dbe7e8}.stage-dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eef3f3;color:#90a4aa;font-weight:800;z-index:1}.customer-stage.finished .stage-dot{background:#087f8c;color:#fff}.stage-body{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stage-body h3{margin:0}.stage-body span,.muted{color:#90a4aa}.customer-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.customer-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.customer-note{text-align:center;color:#78909a;font-size:12px}@media(max-width:760px){.customer-hero{padding:25px 20px}.customer-hero h1{font-size:25px}.progress-summary{position:static;text-align:left;margin-top:20px}.customer-photos{grid-template-columns:repeat(2,1fr)}}
.photo-upload{position:relative;overflow:hidden}.photo-upload input{inset:0;max-width:100%}
