.rental-schedule-tools,.rental-day-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.rental-schedule-tools [role=group]{display:flex;gap:6px}
.rental-schedule-tools button,.rental-day-actions button{min-height:40px}
.rental-calendar .test-calendar-day.in-range{background:#e8f2df}
.rental-calendar .test-calendar-day.selected{outline:2px solid #174b3c;outline-offset:-2px}
.rental-calendar .test-calendar-agenda>strong{font-size:12px}
#rental-conflict.rental-conflict-error{color:#a12b30;background:#fff0ef;border:1px solid #e9aaaa}
#rental-conflict .test-calendar-event{background:#ffffff80}
#rental-submit:disabled{opacity:.5;cursor:not-allowed}
.rental-pick-target{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.rental-pick-target button{flex:1;min-height:42px}
.rental-calendar input[type=datetime-local]{min-width:0;width:100%}
#modal:has(#rental-registration){width:940px;max-width:calc(100vw - 32px);max-height:90dvh;padding:24px}
#modal:has(#rental-registration) .modal-head{margin-bottom:16px}
.rental-request-asset{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.rental-request-asset>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.rental-request-asset strong{font-size:17px;overflow-wrap:anywhere}
.rental-request-asset span{font-size:12px;color:#758372;overflow-wrap:anywhere}
.rental-request-asset .rental-approval-note{flex-shrink:0;padding:6px 10px;border-radius:6px;background:#f0f4eb;color:#47623e;font-size:11px}
.rental-request-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:24px;align-items:start}
#rental-registration .rental-calendar{margin:0;padding:16px;min-width:0}
.rental-section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.rental-section-title h3{margin:0;font-size:15px}
.rental-section-title>span{font-size:10px;color:#788675}
.rental-calendar .rental-section-help{font-size:11px;line-height:1.6;margin:0 0 14px}
.rental-pick-target{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:18px}
.rental-time-card{border:1px solid var(--line);border-radius:9px;background:#f8faf7;padding:8px;min-width:0}
.rental-time-card.is-selected{border-color:#56814b;box-shadow:0 0 0 1px #56814b;background:#f0f6ea}
.rental-time-card .filter{display:block;width:100%;text-align:left;border:0;border-radius:4px;margin:0;padding:3px 4px;min-height:30px;font-size:11px;background:transparent;color:#5d7157}
.rental-time-card .filter.active{background:transparent;color:#174b3c;font-weight:700}
.rental-time-card input{background:#fff;padding:9px 5px;font-size:12px;margin-top:4px;border-color:#dce4d7}
.rental-schedule-tools{border-top:1px solid var(--line);padding-top:12px;margin-bottom:8px}
.rental-schedule-tools [role=group]{background:#f0f3ed;border-radius:8px;padding:3px;gap:2px}
.rental-schedule-tools .filter{min-height:32px;border:0;margin:0;padding:5px 14px;font-size:11px}
.rental-schedule-tools .filter.active{background:white;color:#174b3c;box-shadow:0 1px 4px #22352e12}
.rental-schedule-tools>.link{font-size:11px}
.rental-calendar .test-calendar-head{gap:5px}
.rental-calendar .test-calendar-head>button{min-width:40px;min-height:40px;border-radius:8px}
.rental-calendar .test-calendar-agenda{max-height:190px;overflow:auto}
.rental-calendar .rental-schedule-list{max-height:350px;overflow:auto}
.rental-request-details{display:flex;flex-direction:column;gap:16px;min-width:0}
.rental-request-details .rental-section-title{margin-bottom:0}
.rental-request-details label{gap:7px;font-size:12px}
.rental-request-details label small{font-size:10px;color:#7f8d77;font-weight:400}
.rental-request-details input,.rental-request-details textarea{width:100%;min-width:0}
.rental-request-details input[readonly]{background:#f4f6f2;color:#74816e}
.rental-request-details textarea{resize:vertical;min-height:130px}
.rental-request-guide{padding:14px;background:#f6f8f3;border-radius:9px;font-size:11px;color:#5c7052}
.rental-request-guide p{margin:7px 0 0;font-size:11px;line-height:1.7}
.rental-request-footer{position:sticky;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;background:#fff;border-top:1px solid var(--line);margin:22px 0 0;padding:16px 0;z-index:3}
#rental-registration .rental-request-footer .notice{margin:0;padding:10px 12px;font-size:11px;max-height:125px;overflow:auto}
#rental-registration .rental-request-footer .form-actions{margin:0;padding:0;border:0;flex-wrap:nowrap;gap:8px}
.rental-request-footer .btn{min-height:44px;min-width:80px}
@media(max-width:760px){#modal:has(#rental-registration){padding:18px;max-width:calc(100vw - 20px);max-height:94dvh}.rental-request-grid{grid-template-columns:minmax(0,1fr);gap:22px}.rental-request-asset{gap:8px;align-items:flex-start;margin-bottom:16px;padding-bottom:16px}.rental-request-asset strong{font-size:15px}.rental-request-asset .rental-approval-note{font-size:9px;padding:5px 7px}#rental-registration .rental-calendar{padding:12px}.rental-time-card{padding:6px}.rental-time-card input{font-size:12px}.rental-request-footer{grid-template-columns:minmax(0,1fr);gap:10px;bottom:0;margin:20px 0 0;padding:12px 0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.rental-request-footer .form-actions>.btn{flex:1}.rental-request-details textarea{min-height:100px}}
@media(max-width:360px){.rental-pick-target{grid-template-columns:minmax(0,1fr)}.rental-request-asset{flex-wrap:wrap}}
/* A single task per screen: select a period, then review applicant details. */
#modal:has(#rental-registration){width:700px;padding:24px;overflow:hidden;display:none;flex-direction:column}
#modal[open]:has(#rental-registration){display:flex}
#modal:has(#rental-registration)>.modal-head,#modal:has(#rental-registration)>.rental-request-asset{flex-shrink:0}
#rental-registration{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.rental-request-grid{display:block;overflow:auto;min-height:0;padding:2px 4px 12px;overscroll-behavior:contain}
.rental-request-grid[data-step="1"] .rental-request-details,.rental-request-grid[data-step="2"] .rental-calendar{display:none}
.rental-steps{display:flex;list-style:none;padding:0;margin:0 0 18px;gap:12px;flex-shrink:0}
.rental-steps li{flex:1;padding:10px 12px;border-bottom:3px solid #e6ebe3;color:#81907b;font-size:13px}
.rental-steps li.active{border-color:#174b3c;color:#174b3c;font-weight:700}
.rental-request-footer{position:static;flex-shrink:0;margin:0;padding:12px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.rental-request-footer .form-actions{justify-content:flex-end}
.rental-request-footer [hidden]{display:none!important}
.rental-selection-summary,.handoff-summary{background:#f1f5ef;padding:16px;border-radius:10px;line-height:1.6}
.handoff-summary{margin-bottom:20px}.handoff-summary p{margin:6px 0}.handoff-summary small{color:#64725f}
.rental-selection-summary{font-size:13px;color:#174b3c}
.rental-calendar .test-calendar-day{min-height:46px;padding:5px}
.rental-calendar .test-calendar-agenda{max-height:100px}
.rental-photo-picker{margin-top:22px}.rental-photo-picker h3 small{font-weight:400;color:#71816b;font-size:12px}
.rental-photo-picker>p,.rental-photo-picker>small{color:#71816b;font-size:12px;line-height:1.7}
.rental-photo-tools{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap}
.rental-photo-tools label{position:relative;flex:1;text-align:center;min-width:120px;cursor:pointer}
.rental-photo-tools input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.rental-photo-items,.rental-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:12px 0}
.rental-photo-items>div{border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center}
.rental-photo-preview{border:0;padding:0;width:100%;background:#f3f5f0;cursor:zoom-in}
.rental-photo-preview img,.rental-photo-gallery .photo-preview{width:100%;height:110px;object-fit:contain;margin:0}
.rental-photo-items .link{padding:8px}.rental-direct-actions:empty{display:none}.rental-direct-actions{display:flex;gap:8px;margin:12px 0}
@media(max-width:760px){#modal:has(#rental-registration){padding:16px;max-height:94dvh}.rental-request-asset{padding-bottom:10px;margin-bottom:10px}.rental-steps{margin-bottom:10px}.rental-steps li{padding:8px}.rental-request-footer .form-actions>.btn{min-width:0}.rental-time-card input{font-size:13px}.rental-pick-target{grid-template-columns:minmax(0,1fr)}.rental-time-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px}.rental-time-card input{margin:0}.rental-time-card .filter{padding:2px}.rental-request-footer .notice{max-height:75px!important}}
@media(min-width:761px){
 #modal:has(#rental-registration){width:940px}
 #rental-registration .rental-calendar{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.4fr);column-gap:24px;align-items:start}
 .rental-calendar>.rental-section-title,.rental-calendar>.rental-section-help,.rental-calendar>.rental-pick-target{grid-column:1}
 .rental-calendar>#rental-schedule{grid-column:2;grid-row:1 / span 4;border-left:1px solid var(--line);padding-left:20px}
 .rental-calendar .rental-pick-target{grid-template-columns:1fr;align-self:start}
 .rental-calendar .rental-schedule-tools{border:0;padding-top:0}
 .rental-calendar .test-calendar-day{min-height:38px}
 .rental-request-asset{padding-bottom:12px;margin-bottom:10px}
 .rental-request-details{max-width:640px;margin:auto}
}
@media(max-width:760px){
 #modal:has(#rental-registration)>.modal-head{margin-bottom:10px}
 .rental-calendar .test-calendar-day{min-height:32px;padding:3px}
 .rental-calendar .test-calendar-day .test-calendar-marks small{font-size:8px}
 .rental-calendar .test-calendar-grid{gap:3px}
 .rental-calendar .test-calendar-head>button{min-height:30px}
 .rental-calendar .rental-section-help{margin-bottom:8px}
 .rental-pick-target{margin-bottom:10px}
 .rental-schedule-tools{padding-top:8px}
 .rental-steps li{padding:6px}
}
#rental-registration .rental-request-grid[data-step="2"] .rental-calendar{display:none}
