/* Desktop customer Photo View: isolated display-only layer, matching Private Car. */
.photo-view-launch{display:none;margin-top:10px;justify-content:flex-end}
.photo-view-launch .btn-photo-view{width:auto;min-width:180px;min-height:44px;padding:9px 22px;border:1px solid rgba(240,165,0,.55);border-radius:8px;background:linear-gradient(135deg,#0f2460,#2952c4);color:#fff;font:700 .82rem 'DM Sans',sans-serif;letter-spacing:.25px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 14px rgba(15,36,96,.25)}
.photo-view-launch .btn-photo-view:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(15,36,96,.34)}
#customer-photo-view{position:fixed;inset:0;z-index:1000000;display:none;background:#081942;padding:clamp(8px,1vw,16px);font-family:'DM Sans',sans-serif;color:#1a1f36}
#customer-photo-view.is-open{display:flex}
.cpv-sheet{position:relative;width:100%;height:100%;min-width:760px;overflow:hidden;background:#fff;border:clamp(3px,.35vw,6px) solid #f0a500;border-radius:12px;box-shadow:0 18px 55px rgba(0,0,0,.42);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto}
.cpv-head{background:linear-gradient(135deg,#0f2460,#2952c4);color:#fff;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;gap:18px;padding:clamp(10px,1.4vh,18px) clamp(18px,2vw,34px)}
.cpv-brand{min-width:0}.cpv-office{font-size:clamp(13px,1.15vw,20px);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpv-title{font-size:clamp(12px,.92vw,16px);color:rgba(255,255,255,.76);margin-top:2px}
.cpv-total{text-align:center;white-space:nowrap}.cpv-total-label{font-size:clamp(11px,.82vw,14px);font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.72)}.cpv-total-value{font-family:'DM Serif Display',serif;font-size:clamp(32px,4.1vw,68px);line-height:1;color:#fff;margin-top:2px}
.cpv-contact{text-align:right;font-size:clamp(12px,.95vw,17px);font-weight:600;line-height:1.45}.cpv-contact span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpv-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f4f6fd;border-bottom:2px solid #cdd5ee}.cpv-meta-item{padding:clamp(5px,.72vh,9px) clamp(9px,.85vw,14px);border-right:1px solid #cdd5ee;border-bottom:1px solid #cdd5ee;min-width:0}.cpv-meta-item:nth-child(4n){border-right:0}.cpv-meta-item:nth-child(n+5){border-bottom:0}.cpv-meta-item:last-child{border-right:0}.cpv-meta-label{font-size:clamp(11px,.8vw,15px);font-weight:700;letter-spacing:.65px;text-transform:uppercase;color:#5a6380}.cpv-meta-value{font-size:clamp(15px,1.22vw,22px);font-weight:700;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpv-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;min-height:0}.cpv-column{min-width:0;min-height:0;border-right:1px solid #cdd5ee;display:flex;flex-direction:column}.cpv-column-title{background:#e8edf8;color:#1a3a8f;border-bottom:2px solid #cdd5ee;border-left:5px solid #1a3a8f;padding:clamp(6px,.8vh,9px) clamp(11px,1vw,17px);font-size:clamp(17px,1.4vw,25px);font-weight:800;letter-spacing:.8px;text-transform:uppercase}.cpv-column:nth-child(2) .cpv-column-title{text-align:center}.cpv-rows{min-height:0;overflow:hidden;padding:clamp(3px,.45vh,6px) 0}.cpv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:clamp(48px,5.8vh,62px);padding:clamp(9px,1.25vh,15px) clamp(10px,.85vw,16px);border-bottom:1px solid #e5e9f4;font-size:clamp(15px,1.18vw,23px);line-height:1.25}.cpv-row-label{min-width:0;color:#4c5675;font-weight:600;white-space:normal}.cpv-row-value{font-weight:800;color:#1a1f36;white-space:nowrap}.cpv-row.cpv-subtotal{margin:0;background:#e8edf8;border-top:3px solid #1a3a8f;border-bottom:0;font-size:clamp(18px,1.34vw,26px)}.cpv-inner-title{background:#f4f6fd;color:#1a3a8f;border-top:2px solid #cdd5ee;border-bottom:1px solid #cdd5ee;border-left:5px solid #f0a500;min-height:clamp(48px,5.8vh,62px);padding:clamp(6px,.8vh,10px) clamp(10px,.85vw,16px);font-size:clamp(15px,1.08vw,21px);font-weight:800;letter-spacing:.75px;text-transform:uppercase;display:flex;align-items:center}.cpv-empty{padding:24px;text-align:center;color:#7880a0;font-size:clamp(15px,1.1vw,21px)}
#cpv-addons{display:grid;grid-auto-flow:row;grid-template-columns:minmax(0,1fr);align-content:start;padding:0}
.cpv-column-total{min-width:0}.cpv-column-total .cpv-row{min-height:clamp(46px,5.5vh,58px);padding:clamp(6px,.7vh,9px) clamp(16px,1.5vw,28px);font-size:clamp(16px,1.2vw,23px)}.cpv-column-total .cpv-row-value{font-size:clamp(23px,1.75vw,34px);font-family:'DM Serif Display',serif;line-height:1}.cpv-column-total-od{grid-column:1/3;grid-row:2}.cpv-column-total-tp{grid-column:3;grid-row:2;border-left:1px solid #cdd5ee}
.cpv-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid #cdd5ee;background:#fff8e8}.cpv-total-cell{padding:clamp(7px,.8vh,10px) clamp(18px,1.5vw,28px);border-right:1px solid #ead39a;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:clamp(16px,1.2vw,23px);font-weight:800}.cpv-total-cell:last-child{border-right:0}.cpv-total-cell strong{white-space:nowrap;color:#0f2460;font-size:clamp(23px,1.75vw,34px);font-family:'DM Serif Display',serif;line-height:1}
.cpv-foot{background:#0f2460;color:rgba(255,255,255,.78);padding:clamp(6px,.75vh,10px) 70px clamp(6px,.75vh,10px) 18px;text-align:center;font-size:clamp(10px,.72vw,13px);line-height:1.3}.cpv-close{position:absolute;right:14px;top:12px;z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.72);border-radius:10px;background:rgba(255,255,255,.72);color:#0f2460;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);opacity:.72;transition:opacity .2s,background .2s}.cpv-close:hover{opacity:.96;background:rgba(255,255,255,.94)}#customer-photo-view.controls-hidden .cpv-close{opacity:0;pointer-events:none}#customer-photo-view.cpv-dense .cpv-row,#customer-photo-view.cpv-dense .cpv-inner-title{min-height:42px;padding-top:7px;padding-bottom:7px}#customer-photo-view.cpv-dense .cpv-column-title{padding-top:5px;padding-bottom:5px}body.photo-view-open{overflow:hidden}

/* Photo View capture contrast: only neutral grey surfaces/text are strengthened. */
#customer-photo-view .cpv-meta{background:#fff8e8}
#customer-photo-view .cpv-inner-title{background:#e8edf8}
#customer-photo-view .cpv-meta-label,#customer-photo-view .cpv-meta-value,#customer-photo-view .cpv-row-label,#customer-photo-view .cpv-row-value,#customer-photo-view .cpv-empty{color:#050505}
