.rental-page { padding: 32px 0 80px; background: radial-gradient(ellipse at top right, #0b567a30, transparent 50%); }
.rental-intro { padding: 30px 0 36px; max-width: 850px; }
.rental-intro h1 { margin: 14px 0 18px; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.12; letter-spacing: -.045em; }
.rental-intro > p:last-child { max-width: 650px; color: var(--muted); }
.rental-workspace { display: grid; grid-template-columns: minmax(290px, 355px) minmax(0, 1fr); align-items: start; gap: 28px; }
.rental-panel { padding: 26px; border: 1px solid #34566e; border-radius: 18px; background: #0d2235; }
.rental-panel h2 { margin: 0 0 12px; font-size: 1.35rem; }
.rental-privacy { padding: 12px 14px; border-left: 3px solid var(--link, #13c7ed); background: #10334a; color: #c5e6ef; font-size: .8rem; line-height: 1.6; }
.rental-assumptions { margin: 16px 0 20px; color: #aec5d6; font-size: .78rem; line-height: 1.65; }
.rental-panel fieldset { min-width: 0; margin: 20px 0; padding: 0; border: 0; }
.rental-panel legend { width: 100%; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid #33516b; color: #d4edf6; font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.rental-field { margin-bottom: 14px; }
.rental-field label { display: block; margin-bottom: 7px; color: #dfebf3; font-size: .8125rem; font-weight: 600; }
.rental-field input:not([type="checkbox"]), .rental-field textarea { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #496881; border-radius: 8px; background: #081b2c; color: #fff; font: inherit; font-size: .875rem; color-scheme: dark; }
.rental-field textarea { resize: vertical; }
.rental-field input:focus-visible, .rental-field textarea:focus-visible { outline: 2px solid #21c5e6; outline-offset: 3px; }
.rental-field [aria-invalid="true"] { border-color: #ffb0b7; }
.rental-checkbox { display: grid; grid-template-columns: 22px 1fr; align-items: start; column-gap: 9px; }
.rental-checkbox label { grid-column: 2; grid-row: 1; font-size: .8rem; }
.rental-checkbox input { grid-column: 1; grid-row: 1; width: 18px; height: 18px; margin-top: 1px; accent-color: #13c7ed; }
.rental-error { margin: 6px 0 0; color: #ffc0c5; font-size: .75rem; line-height: 1.5; }
.rental-error:empty { display: none; }
.rental-checkbox .rental-error { grid-column: 1 / -1; }
.rental-actions { display: grid; gap: 10px; }
.rental-actions .button { width: 100%; justify-content: center; font-size: .8125rem; cursor: pointer; }
.rental-actions .rental-reset { border: 1px solid #507087; background: transparent; color: #d7e9f4; }
.rental-actions button:disabled { cursor: wait; opacity: .6; }
.rental-status { min-height: 22px; margin-top: 12px; color: #c8e7f3; font-size: .8rem; line-height: 1.6; }
.rental-preview { min-width: 0; position: sticky; top: 100px; }
.rental-preview-heading { display: flex; justify-content: space-between; padding: 0 4px 12px; color: #b7cedd; font-size: .75rem; }
.rental-sheet { padding: clamp(20px, 3vw, 40px); background: #fff; color: #172535; border: 1px solid #dae2e7; box-shadow: 0 24px 65px #0003; font: 12px/1.6 Arial, Helvetica, sans-serif; overflow-wrap: anywhere; }
.rental-sheet p { margin: 0 0 12px; color: #172535; white-space: pre-line; }
.rental-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 25px; }
.rental-parties > div:last-child { text-align: right; }
.rental-parties h2 { margin: 0 0 5px; font-size: 12px; color: #172535; }
.rental-parties p { margin-bottom: 3px; }
.rental-sheet .rental-document-title { margin: 12px 0 22px; color: #13293b; text-align: center; font-size: 15px; line-height: 1.5; font-weight: 750; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.rental-table { width: 100%; margin: 18px 0; border-collapse: collapse; table-layout: fixed; color: #172535; font-size: 11px; }
.rental-table th, .rental-table td { padding: 8px; border: 1px solid #687786; text-align: left; font-weight: 400; vertical-align: top; white-space: pre-line; }
.rental-table thead th { background: #eff3f6; font-weight: 700; }
.rental-table th:first-child { width: 25%; }
.rental-table th:last-child, .rental-table td:last-child { width: 24%; text-align: right; font-variant-numeric: tabular-nums; }
.rental-total { display: flex; justify-content: space-between; gap: 12px; margin: 20px 0 18px; padding: 14px; background: #eef4f7; border: 1px solid #8598a8; font-size: 14px; }
.rental-total strong:last-child { white-space: nowrap; }
.rental-sheet .rental-document-note { font-size: 10px; line-height: 1.6; }
.rental-signature { width: 48%; margin: 28px 0 0 auto; }
.rental-signature strong { display: block; margin-top: 28px; min-height: 30px; }
.rental-model-note { padding-top: 14px; color: #b7cedd; font-size: .75rem; line-height: 1.6; }
@media (max-width: 1000px) { .rental-workspace { grid-template-columns: 1fr; } .rental-preview { position: static; } .rental-panel form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; } .rental-actions, .rental-status { grid-column: 1 / -1; } }
@media (max-width: 580px) { .rental-page { padding-top: 24px; } .rental-panel { padding: 20px; } .rental-panel form { display: block; } .rental-parties { gap: 14px; } .rental-sheet { padding: 18px 12px; } .rental-table th, .rental-table td { padding: 6px 4px; } .rental-table { font-size: 10px; } .rental-signature { width: 65%; } }
@media print { .header, .footer, .skip-link, .rental-intro, .apps-back, .rental-panel, .rental-preview-heading, .rental-model-note { display: none !important; } .rental-page, .rental-page .container { padding: 0; background: white; max-width: none; } .rental-workspace { display: block; } .rental-preview { position: static; } .rental-sheet { padding: 0; border: 0; box-shadow: none; } }
