#rentals{max-width:1200px;margin:auto}#rentals .top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}#rentals h1{font-size:28px;font-weight:500}#rentals h2{font-size:19px;font-weight:500;margin:24px 0 14px}#rentals label{display:flex;flex-direction:column;gap:7px;font-size:14px}#rentals input,#rentals select{width:100%;padding:11px;border:1px solid #cfdbe4;border-radius:8px;background:#fff;color:#203447;font:inherit}#rentals input[type=checkbox]{width:auto}#rentals fieldset{border:0;padding:0;min-width:0}.rent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rent-filters{display:flex;gap:18px;margin:20px 0}.rent-filters label:first-child{flex:1}.rent-row{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;text-align:left;background:#fff;border:1px solid #d9e4eb;border-radius:12px;padding:20px;margin:12px 0;color:#203447;font:inherit;cursor:pointer}.rent-row strong{font-weight:500}.rent-row small{display:block;color:#607887;margin-top:7px}#rentals [role=alert]{color:#9c3131}#rentOwner{align-self:center;padding:10px}#rentCommission{padding:14px;background:#eaf6ff;border-radius:10px}@media(max-width:650px){.rent-grid{grid-template-columns:1fr}.rent-filters,.rent-row{flex-direction:column;align-items:stretch}}

#rentals .rent-details{padding:16px;margin:16px 0;border:1px solid #cfdbe4;border-radius:10px}#rentals .rent-details summary{font-weight:500;cursor:pointer}#rentals .rent-details[open] summary{margin-bottom:18px}#rentals [hidden]{display:none!important}

#rentals .rent-person-card{background:#fff;border-color:#d4e4f4;padding:20px}#rentals .rent-person-card summary{color:#173c62;font-size:16px}#rentals .rent-person-card label{color:#174b7b}#rentals .rent-person-card input{box-sizing:border-box;min-height:43px}#rentals .rent-person-card h3{font-size:16px;font-weight:500;margin:22px 0 14px}#rentals input:focus-visible,#rentals select:focus-visible{outline:2px solid #147bc1;outline-offset:2px}

#rentals .rent-contract-type{padding:12px 16px;border-left:3px solid #147bc1;background:#edf7ff;color:#173c62}

#rentDocuments{margin-top:24px}#rentals .rent-version{margin:4px 8px 8px 0}#rentals .rent-document{border-top:1px solid #d9e4eb;margin-top:20px;padding-top:12px}#rentals .rent-document details{margin:16px 0}#rentals .rent-document small{display:block;color:#637687;font-size:12px;max-width:90ch;margin:5px 0 12px}#rentals .rent-field-link{background:none;border:0;padding:0;color:#0868ae;text-align:left;cursor:pointer;text-decoration:underline;font:inherit}#rentals .rent-document-text{max-height:600px;overflow:auto;padding:14px;border:1px solid #d9e4eb;background:white}#rentals .rent-document-text p{white-space:pre-wrap;line-height:1.5}

#rentals textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #cfdbe4;border-radius:8px;background:#fff;color:#203447;font:inherit;resize:vertical}#rentals textarea:focus-visible{outline:2px solid #147bc1;outline-offset:2px}#rentals .rent-act-row{border:1px solid #d9e4eb;border-radius:9px;margin:12px 0;padding:14px;background:white}#rentals .rent-act-row>button{margin-top:12px}#rentals [data-act-collection]{margin:20px 0}#rentActs h3{font-size:16px;font-weight:500;margin:24px 0 14px}
#rentals [data-act-row=inventory] .rent-grid{grid-template-columns:minmax(0,1fr) minmax(90px,.3fr) minmax(0,1.3fr)}#rentals [data-act-row=services] .rent-grid{grid-template-columns:minmax(0,1.5fr) minmax(100px,.6fr) minmax(90px,.5fr)}@media(max-width:900px){#rentals [data-act-row=inventory] .rent-grid,#rentals [data-act-row=services] .rent-grid{grid-template-columns:1fr}}

#rentals .rent-lease-row{border:1px solid #d5e3f1;border-radius:10px;padding:14px;margin:12px 0;background:#fff}#rentals .rent-lease-row .rent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#rentals [data-lease-field=identity],#rentals [data-lease-field=allocation],#rentals [data-lease-field=notes]{grid-column:1/-1}#rentals .rent-lease-row label{height:100%}#rentals .rent-lease-row textarea{width:100%;box-sizing:border-box}#rentals .rent-lease-row>button{margin-top:12px}#rentals [data-lease-collection]{margin:20px 0}#rentals .rent-legacy{margin:16px 0}#rentals .rent-legacy-text{white-space:pre-wrap;overflow-wrap:anywhere}#rentals [hidden]{display:none!important}@media(max-width:900px){#rentals .rent-lease-row .rent-grid{grid-template-columns:1fr}}

#rentals .rent-release-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:12px 0}#rentals .rent-release-check input{flex:none;width:auto;margin-top:4px}.rent-pdf-preview{width:100%;height:620px;border:1px solid #ccd4dd;border-radius:8px}.rent-signature{padding:14px;background:#f6f9fb;border-radius:8px;margin-top:14px}#rentReleases{margin-top:24px}#rentReleases h4{font-size:17px}#rentReleases .btn{margin:4px 6px 4px 0}

.rent-ledger-balances {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0}.rent-ledger-balances>div{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #cfe4f5;border-radius:12px;background:#f5fbff}.rent-ledger-balances span{font-size:12px;color:#526879}.rent-ledger-balances b{font-size:20px}.rent-party-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-bottom:1px solid #e3edf5;padding:9px 0}.rent-paper-form{padding:14px;background:#f7fafc;border-radius:12px;margin:12px 0}.rent-paper-form input[type=file]{max-width:100%}#rentLedger form{margin:12px 0}#rentLedger .rent-document{overflow-wrap:anywhere}#rentDeadlines:empty{display:none}

/* Four-step preparation; scoped to the rental workspace. */
#rentals { --rental-blue:#079de2; --rental-deep:#067bad; max-width:1320px; padding-bottom:18px; color:#163b50; }
#rentals * { box-sizing:border-box; }
#rentals h1 { margin:3px 0 0; font-size:clamp(23px,2vw,29px); font-weight:600; letter-spacing:-.025em; }
#rentals h2 { margin:0 0 16px; font-size:20px; line-height:1.35; font-weight:600; }
#rentals h3 { font-size:16px; line-height:1.4; font-weight:600; margin:20px 0 12px; }
#rentals p { font-size:14px; line-height:1.6; }
#rentals .rent-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.075em; margin:0; color:#527589; }
#rentals .rent-grid { gap:14px 18px; }
#rentals label { font-size:13px; line-height:1.45; color:#21485d; }
#rentals input,#rentals select,#rentals textarea { min-height:44px; font-size:14px; border-color:#c9dce7; border-radius:9px; padding:10px 12px; }
#rentals input[readonly] { background:#f1f6f9; color:#4a697b; }
#rentals input[type=checkbox] { min-height:0; width:17px; height:17px; accent-color:var(--rental-blue); flex:none; }
#rentals .btn { min-height:42px; border-radius:9px; font-size:13px; font-weight:500; padding:10px 15px; background:var(--rental-blue); border:1px solid var(--rental-blue); color:white; }
#rentals .btn:hover { background:var(--rental-deep); border-color:var(--rental-deep); }
#rentals .btn.secondary { background:white; color:#087cae; border-color:#a5d1e6; }
#rentals .btn.secondary:hover { background:#edf8fd; border-color:var(--rental-blue); }
#rentals .btn:disabled { opacity:.55; cursor:default; }
#rentals .rent-text-button { padding:3px 0; color:#087cae; background:none; border:0; font:inherit; font-size:13px; line-height:1.5; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
#rentals .rent-actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
#rentals .rent-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:6px; background:#e4f3fa; border-radius:14px; margin:22px 0 18px; }
#rentals .rent-steps button { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:54px; padding:11px; border:0; border-radius:10px; background:transparent; color:#32627a; font-size:14px; font-weight:500; cursor:pointer; }
#rentals .rent-steps button span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #96c7de; border-radius:50%; font-size:12px; flex:none; }
#rentals .rent-steps button.active { background:var(--rental-blue); color:#fff; box-shadow:0 3px 8px #067bad22; }
#rentals .rent-steps button.active span { border-color:#ffffff80; color:#fff; }
#rentals .rent-step-panel { display:grid; gap:16px; }
#rentals .rent-surface,#rentals .rent-upload-card,#rentals .rent-person-card { border:1px solid #d5e5ed; border-radius:15px; padding:23px; background:#fff; box-shadow:none; }
#rentals .rent-person-card { min-width:0; }
#rentals .rent-upload-card > p { max-width:760px; margin:0 0 20px; color:#526d7e; }
#rentals .rent-scenario { display:grid; grid-template-columns:minmax(280px,.8fr) 1.2fr; gap:24px; align-items:center; padding:16px 21px; border-radius:13px; background:#edf8fd; }
#rentals .rent-scenario p { margin:0; }
#rentals .rent-participants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#rentals .rent-person-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:15px; }
#rentals .rent-person-head h3 { margin:0; color:#164e6a; font-size:18px; }
#rentals .rent-person-head .rent-confirm-status { font-size:11px; color:#527589; }
#rentals .rent-person-card > .rent-actions { margin-bottom:20px; }
#rentals .rent-person-card label { color:#21485d; }
#rentals .rent-person-card .rent-grid { gap:13px 12px; }
#rentals .rent-person-card > .btn { margin-top:17px; }
#rentals .rent-details { padding:14px 16px; border-color:#dbe7ee; margin:15px 0 0; background:#f9fcfe; border-radius:10px; }
#rentals .rent-details summary { font-size:13px; color:#35637b; }
#rentals .rent-details[open] > summary { margin-bottom:17px; }
#rentals .rent-details h3 { font-size:14px; }
#rentals .rent-check { display:flex; flex-direction:row; gap:10px; align-items:flex-start; margin:16px 0; font-size:13px; }
#rentals .rent-check input { margin:1px 0 0; }
#rentals .rent-document-selection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:20px 0; }
#rentals .rent-document-selection .rent-check { margin:0; padding:14px; border:1px solid #cddfe9; border-radius:10px; background:#f7fbfd; }
#rentals .rent-document-selection .rent-check:has(input:checked) { background:#edf8fd; border-color:var(--rental-blue); }
#rentals .rent-calculation { font-size:13px; line-height:1.6; margin:14px 0; padding:12px 15px; background:#edf8fd; border-radius:9px; color:#22576f; }
#rentals .rent-calculation:empty { display:none; }
#rentals .rent-calculation small { display:block; font-size:11px; margin-top:5px; }
#rentals .rent-calculation .rent-text-button { margin-left:10px; }
#rentals .rent-field-source { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:400; }
#rentals .rent-field-source:empty { display:none; }
#rentals .rent-field-source small,#rentals .rent-field-source button { font-size:10px; color:#50758b; }
#rentals .rent-sticky { position:sticky; z-index:8; bottom:0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; background:#ffffffed; border:1px solid #d5e5ed; border-top:2px solid #079de244; border-radius:13px; padding:14px 17px; margin-top:18px; box-shadow:0 -5px 20px #163b5008; backdrop-filter:blur(10px); }
#rentals #rentSaveStatus { font-size:12px; color:#517287; line-height:1.5; }
#rentals #rentSaveStatus[data-state=error] { color:#a23a2a; }
#rentals #rentSaveStatus[data-state=saved] { color:#2f6d57; }
#rentals .rent-upload-input { min-height:104px; display:flex; align-items:center; justify-content:center; padding:18px; margin:18px 0 10px; border:1.5px dashed #91cde6; border-radius:13px; background:#f4fbfe; color:#147caa; font-weight:500; text-align:center; }
#rentals .rent-upload-input input { max-width:430px; min-height:35px; padding:4px; border:0; background:transparent; font-size:12px; }
#rentals #rentUploadLimits { font-size:11px; margin:0 0 18px; }
#rentals #rentUploadProgress { font-size:13px; color:#32627a; margin:15px 0; }
#rentals .rent-source-card { border:1px solid #cddfe9; border-radius:12px; padding:19px; margin-top:17px; background:#fbfdfe; }
#rentals .rent-source-card .rent-person-head { font-size:13px; }
#rentals .rent-source-card .rent-person-head strong { overflow-wrap:anywhere; }
#rentals .rent-source-card .rent-person-head span { font-size:11px; color:#50758b; }
#rentals .rent-source-card > .rent-actions { margin:13px 0; }
#rentals .rent-source-card progress { width:100%; height:7px; accent-color:var(--rental-blue); margin:0 0 14px; }
#rentals .rent-source-card details { margin-top:17px; }
#rentals .rent-source-card summary { font-size:13px; cursor:pointer; color:#286480; }
#rentals .rent-proposals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
#rentals .rent-proposal { min-width:0; padding:14px; border:1px solid #d9e6ed; border-radius:10px; background:white; }
#rentals .rent-proposal > span { display:block; font-size:12px; margin-bottom:7px; }
#rentals .rent-proposal > small { display:block; font-size:11px; color:#688596; margin:8px 0; }
#rentals .rent-source-warning { padding:9px 11px; background:#fff5e7; border-left:2px solid #dca444; color:#775525; font-size:12px; overflow-wrap:anywhere; }
#rentals .rent-suggestion { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid #d9e6ed; font-size:13px; }
#rentals .rent-suggestion:last-child { border:0; }
#rentals #rentValidation:empty { display:none; }
#rentals #rentValidation:not(:empty) { padding:15px 18px; margin:16px 0; border:1px solid #e4cda6; background:#fffaf1; border-radius:10px; }
#rentals #rentValidation h3 { margin-top:0; }
#rentals #rentValidation ul { margin:0; padding-left:17px; display:grid; gap:7px; }
#rentals #rentValidation .rent-field-link { font-size:13px; color:#8a5c21; }
#rentals .rent-dialog { position:fixed; width:min(720px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); margin:auto; padding:28px; border:1px solid #b7d1df; border-radius:17px; background:#fff; box-shadow:0 20px 90px #163b5033; color:#163b50; overflow:auto; }
#rentals .rent-dialog::backdrop { background:#14324670; }
#rentals .rent-dialog-close { position:absolute; top:13px; right:15px; display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:8px; background:#edf6fb; color:#24556f; font-size:24px; cursor:pointer; }
#rentals .rent-dialog h2 { padding-right:35px; }
#rentals .rent-dialog .btn { margin:12px 6px 0 0; }
#rentals .rent-client-result { display:flex; justify-content:space-between; gap:12px; width:100%; text-align:left; padding:13px; margin:8px 0; border:1px solid #cddfe9; border-radius:9px; background:#f8fcfe; color:#21485d; font-size:13px; cursor:pointer; }
#rentals .rent-client-result strong { font-weight:500; }
#rentals .rent-client-compare { display:grid; gap:13px; }
#rentals .rent-preview-dialog { width:min(1060px,calc(100vw - 28px)); }
#rentals .rent-source-preview { display:block; max-width:100%; max-height:none; width:auto; margin:0 auto; }
#rentals .rent-dialog hr { border:0; border-top:1px solid #d9e6ed; margin:22px 0; }
#rentals .rent-document-errors { display:grid; gap:8px; padding-left:18px; font-size:13px; }
#rentals :is(button,a,input,select,textarea):focus-visible { outline:3px solid #079de277; outline-offset:3px; }
#rentals #rentLaterActions { margin-top:16px; }
#rentals #rentDocuments { border:1px solid #d5e5ed; border-radius:15px; padding:23px; box-shadow:none; }
@media(max-width:900px){#rentals .rent-participants{grid-template-columns:1fr}#rentals .rent-scenario{grid-template-columns:1fr;gap:12px}#rentals .rent-sticky{align-items:flex-start}#rentals .rent-person-card .rent-grid{gap:14px}}
@media(max-width:600px){#rentals .rent-grid,#rentals .rent-proposals,#rentals .rent-document-selection{grid-template-columns:1fr}#rentals .rent-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:16px}#rentals .rent-steps button{justify-content:flex-start;min-height:46px;font-size:12px;padding:9px}#rentals .rent-surface,#rentals .rent-person-card,#rentals .rent-upload-card,#rentals #rentDocuments{padding:18px}#rentals .rent-sticky{padding:12px;gap:9px}#rentals .rent-sticky>.rent-actions{width:100%;gap:7px}#rentals .rent-sticky .btn{flex:1;min-width:0;padding:10px 8px;font-size:12px}#rentals .rent-source-card{padding:14px}#rentals .rent-dialog{padding:23px 18px}#rentals .rent-client-result{flex-direction:column;gap:5px}#rentals .rent-suggestion{align-items:flex-start;flex-direction:column;gap:8px}#rentals .rent-calculation .rent-text-button{display:block;margin:5px 0 0}}
@media(pointer:coarse){#rentals input,#rentals select,#rentals textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){#rentals *{scroll-behavior:auto!important}}

#rentals .rent-upload-progress-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid #d7e6ed; font-size:13px; overflow-wrap:anywhere; }
#rentals .rent-upload-progress-row small { display:block; margin-top:5px; color:#526e7e; }
@media(max-width:600px){#rentals .rent-upload-progress-row{align-items:flex-start;flex-direction:column}}

/* Draft removal keeps opening and deletion as separate accessible buttons. */
#rentals .rent-row-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:12px 0}
#rentals .rent-row-group .rent-row{margin:0;height:100%}
#rentals .rent-row-actions{display:grid;gap:6px;max-width:230px}
#rentals .rent-delete-draft{color:#9c3131;border-color:#d9b9b9;background:#fff;white-space:nowrap}
#rentals .rent-delete-draft:hover:not(:disabled){background:#fff5f5;border-color:#ac6666}
#rentals .rent-delete-reason{display:block;max-width:250px;font-size:12px;line-height:1.45;color:#607887;margin-top:6px}
@media(max-width:650px){#rentals .rent-row-group{grid-template-columns:1fr;gap:8px}#rentals .rent-row-actions{max-width:none;justify-items:start}}
