:root{--rental-accent:#ff3b1f;--rental-border:#dce1e4;--rental-ink:#101820}
html{scrollbar-gutter:stable}button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rental-accent);outline-offset:3px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}
.ri-card{background:#fff;border:1px solid var(--rental-border);padding:22px;margin:18px 0;color:var(--rental-ink);box-shadow:0 4px 12px #10182006;min-width:0;font-family:inherit}.ri-card h2{font-size:21px;margin:0 0 8px}.ri-card h3{font-size:16px;margin:0 0 10px}.ri-card p{color:#5e6973;line-height:1.5}.ri-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ri-head p{margin:5px 0}.ri-card button,.ri-card .ri-button,.ri-dialog button{background:white;border:1px solid var(--rental-border);padding:10px 14px;color:var(--rental-ink);font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;display:inline-block;transition:background-color .15s,border-color .15s;line-height:1.25;border-radius:3px}.ri-card button:hover,.ri-dialog button:hover{background:#f5f6f7;border-color:#abb5bc}.ri-card .primary,.ri-dialog .primary{background:var(--rental-accent);color:#fff;border-color:var(--rental-accent)}.ri-card .primary:hover{background:#e93319}.ri-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.ri-card label,.ri-dialog label{display:grid;gap:7px;font-size:13px;font-weight:700}.ri-card input,.ri-card select,.ri-dialog input{padding:10px;border:1px solid var(--rental-border);background:#fff;color:var(--rental-ink);min-width:0;max-width:100%;font-size:15px;border-radius:3px}.ri-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ri-task{border:1px solid var(--rental-border);padding:15px;min-width:0}.ri-task summary{font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.ri-task summary b{color:var(--rental-accent)}.ri-task ul{padding:0;list-style:none}.ri-task li{padding:9px 0;border-bottom:1px solid #edf0f2}.ri-task small,.ri-task time{display:block;margin:5px 0;color:#5e6973}.ri-table-wrap{overflow:auto;max-width:100%}.ri-table{border-collapse:collapse;width:100%;font-size:13px}.ri-table td,.ri-table th{padding:12px;text-align:left;border-bottom:1px solid var(--rental-border);vertical-align:top}.ri-table th{background:#f7f8f9;font-size:12px;white-space:nowrap}.ri-table small{display:block;color:#68747e;margin-top:4px}.ri-table button{font-size:12px;padding:7px 10px}.ri-state{display:block;padding:7px;margin:4px 0;font-size:12px;white-space:normal;min-width:100px}.ri-state.booked{background:#fff0e9;border-left:3px solid var(--rental-accent)}.ri-state.buffer{background:#f1f2f3;border-left:3px solid #919ba3}.ri-state.blocked{background:#feecec;border-left:3px solid #b72121}.ri-state.available{color:#167c54;background:#edf8f2}.ri-negative{color:#a62222}.ri-message{min-height:20px;margin:10px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.ri-dialog{border:1px solid var(--rental-border);padding:0;width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 32px);color:var(--rental-ink);font:inherit}.ri-dialog::backdrop{background:#10182088}.ri-dialog header{position:sticky;top:0;background:white;display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--rental-border);z-index:1}.ri-dialog h2{font-size:20px;margin:0}.ri-dialog-body{padding:20px}.ri-inspect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ri-inspect-grid article{min-width:0;border:1px solid var(--rental-border);padding:14px}.ri-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ri-photos img{width:100%;height:140px;object-fit:contain;background:#f5f6f7}.ri-timeline{list-style:none;padding:0}.ri-timeline li{padding:15px 0;border-bottom:1px solid var(--rental-border)}.ri-timeline time{font-size:12px;color:#5e6973}.ri-timeline p{white-space:pre-wrap;overflow-wrap:anywhere}.ri-quote{padding:14px;background:#f7f8f9;margin:12px 0}.ri-quote div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.ri-expense-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.ri-expense-form button{align-self:end}.ri-guided-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ri-guided-photos label{background:#f6f7f8;padding:12px}.ri-guided-photos img{width:100%;height:110px;object-fit:contain}.ri-price-disclosure{border-top:1px solid var(--rental-border);padding-top:12px;margin-top:14px;font-size:13px;line-height:1.5}
@media(max-width:700px){.ri-card{padding:15px}.ri-grid,.ri-expense-form{grid-template-columns:1fr}.ri-inspect-grid{grid-template-columns:1fr}.ri-head{align-items:start}.ri-toolbar>*{flex:1}.ri-toolbar input{width:100%}.ri-dialog-body{padding:14px}.ri-card button{min-height:42px}.flatpickr-calendar{max-width:calc(100vw - 20px)!important}.checkout-wrapper,.checkout-shell,.checkout-main,.checkout-summary{min-width:0;max-width:100%}input[type=date],input[type=time],input[type=datetime-local]{min-width:0;max-width:100%;font-size:16px}.ri-guided-photos{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Strike line marks booked dates while preserving booking details. */
.ri-table button.ri-state.booked{position:relative;padding-bottom:18px}
.ri-table button.ri-state.booked::after{content:"";position:absolute;left:8px;right:8px;bottom:8px;height:2px;background:#ff3b1f;pointer-events:none}
.ri-table button.ri-state.booked::before{content:"";position:absolute;left:7px;right:7px;bottom:6px;height:6px;background:radial-gradient(circle at 3px 3px,#ff3b1f 3px,transparent 3.5px) left center/6px 6px no-repeat,radial-gradient(circle at 3px 3px,#ff3b1f 3px,transparent 3.5px) right center/6px 6px no-repeat;pointer-events:none}

/* A single connected booking line across daily cells. */
.ri-table td.ri-availability-cell{padding:12px 0;min-width:110px;vertical-align:top}
.ri-card button.ri-continuous-booking{display:flex;align-items:center;width:100%;min-width:110px;height:32px;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;margin:0}
.ri-continuous-booking span{display:block;width:100%;height:2px;background:#ff3b1f}
.ri-card button.ri-continuous-booking:hover{background:#fff4ef;border:0}.ri-card button.ri-continuous-booking:focus-visible{outline:2px solid #ff3b1f;outline-offset:-2px}
.ri-turnaround-hint{display:block;width:100%;height:4px;background:#dce1e5;margin-top:5px}
#feReservationBody>.ri-toolbar button{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:10px 14px;border:1px solid #ccd4da;background:#fff;cursor:pointer}#feReservationBody details{padding:12px 0;border-top:1px solid #e4e8eb}#feReservationBody summary{font-weight:600;cursor:pointer}#feReservationBody p{overflow-wrap:anywhere}

.fe-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.fe-form label,.fe-task>label{display:grid;gap:7px;font-weight:600}.fe-form input,.fe-form select,.fe-form textarea,.fe-task textarea,.fe-task select{width:100%;min-width:0;min-height:44px;border:1px solid #ccd4da;padding:10px;font:inherit;background:#fff}.fe-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.fe-task{border:1px solid #d7dde1;padding:18px;min-width:0}.fe-task h3{margin:0 0 8px}.fe-due{border-left:3px solid #ff432d}.fe-check{display:flex!important;align-items:center;gap:10px!important;margin:10px 0}.fe-check input{width:20px!important;min-height:20px!important;height:20px;flex:none}.fe-summary{background:#f7f8f9;padding:16px;margin-bottom:16px}.fe-summary p{overflow-wrap:anywhere}.fe-card details>summary{padding:12px 0;cursor:pointer;font-weight:700}.fe-task textarea{min-height:75px}.fe-form button{align-self:end;min-height:46px}.fe-price-preview{padding:14px;margin:14px 0;background:#f7f8f9;border-left:3px solid #ff432d;line-height:1.5}.fe-review-check{display:flex!important;gap:10px!important;align-items:flex-start!important;margin:14px 0}.fe-review-check input{width:20px!important;height:20px!important;flex:none}.booking-admin-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:700px){.fe-form,.fe-task-grid{grid-template-columns:minmax(0,1fr)}.booking-admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.fe-card button{min-height:44px}.fe-card p{overflow-wrap:anywhere}}
.nw-card details{padding:12px 0;border-top:1px solid #e4e8eb}.nw-card summary{font-weight:700;cursor:pointer}.nw-card input,.nw-card select,.nw-card textarea{max-width:100%;min-width:0;min-height:44px;font:inherit;padding:10px;border:1px solid #ccd4da;background:#fff}.nw-card>label,.nw-card [data-nw-body]>label,.nw-card [data-nw-content]>label,#nwMarkNotes label{display:grid;gap:8px;margin:14px 0}.nw-card p,.nw-card a{overflow-wrap:anywhere}.nw-card a{color:#b82b16}.nw-photo-stage{position:relative;margin:18px 0;max-width:760px}.nw-photo-stage img{display:block;width:100%;height:auto}.nw-photo-stage #nwPhotoMarkers{position:absolute;inset:0;pointer-events:none}.nw-photo-stage .nw-photo-mark{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;border:2px solid #fff;border-radius:50%;background:#d82f15;color:#fff;pointer-events:auto;font-weight:700;font-size:14px}.nw-card button{min-height:44px}#nwPhotoStage img{cursor:crosshair}.nw-card details .fe-task{margin:12px 0}

.nw-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.nw-price-grid>div{padding:14px;background:#f5f6f7;border:1px solid #e4e8eb}.nw-price-grid dt{font-size:14px;color:#56616d}.nw-price-grid dd{font-size:20px;font-weight:700;margin:7px 0 0;overflow-wrap:anywhere}.nw-payment-status{color:#a32c18;font-size:13px!important;font-weight:600!important}.nw-photo-pair>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nw-photo-pair figure{margin:0;min-width:0}.nw-photo-pair figcaption{font-size:14px;margin:10px 0}.nw-photo-pair img{width:100%;height:240px;object-fit:contain;background:#f5f6f7}.nw-photo-missing{min-height:160px;display:grid;place-items:center;background:#f5f6f7;color:#56616d}.nw-photo-pair h4{font-size:16px}.nw-photo-pair button{margin:8px 0}.nw-card details label{display:grid;gap:7px;margin:14px 0}.nw-card [data-nw-price-preview]{grid-column:1/-1}@media(max-width:700px){.nw-price-grid{grid-template-columns:1fr 1fr}.nw-photo-pair>div{grid-template-columns:1fr}.nw-price-grid dd{font-size:18px}}@media(max-width:380px){.nw-price-grid{grid-template-columns:1fr}}
