@font-face { font-family: ContractDubai; src: url('assets/fonts/dubai/Dubai-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
.rental-contract-page { background:#f3f5f9; color:#172033; }
.rental-contract-page a { color:#175dcc; }
.contract-embedded { background:#fff; }
.contract-embedded .contract-toolbar,.contract-embedded #contractContent > h1 { display:none; }
.contract-embedded .contract-workspace { width:100%; margin:0; }
.reservation-operation-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-block:16px; }
.reservation-operation-tabs [aria-selected="true"] { background:#175dcc; color:white; }
.contract-workspace [data-operation-pane][hidden] { display:none; }
.reservation-invoice { background:white; padding:24px; color:#172033; }
.reservation-invoice table { width:100%; border-collapse:collapse; }
.reservation-invoice th,.reservation-invoice td { text-align:start; border-bottom:1px solid #d5d7dc; padding:12px; }
.contract-toolbar,.contract-workspace { width:min(1100px,calc(100% - 24px)); margin:20px auto; }
.contract-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.contract-workspace section { padding:20px; margin-block:18px; background:white; border-radius:18px; }
.contract-workspace h1 { font-size:28px; }
.contract-workspace h2 { font-size:22px; margin:0 0 16px; }
.contract-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.checkout-contract-details { margin-block:16px; }
.checkout-contract-details summary { cursor:pointer; padding-block:12px; font-size:16px; }
#additionalDrivers fieldset,[data-driver-card] { margin-block:16px; border:1px solid #d5d7dc; border-radius:12px; padding:16px; min-width:0; }
#additionalDrivers button,[data-remove-driver],[data-add-driver] { padding:10px 16px; min-height:44px; margin-block:10px; border:1px solid #ccd6e5; border-radius:8px; color:#175dcc; background:white; font:inherit; }
.checkout-contract-details .contract-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.contract-fields label { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:16px; }
.contract-fields :is(input,select,textarea) { width:100%; box-sizing:border-box; min-height:44px; padding:10px; border:1px solid #cbd5e1; border-radius:8px; font:inherit; background:white; color:#172033; }
.contract-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-block:16px; }
.contract-workspace button,.contract-toolbar button,.contract-actions a { min-height:44px; padding:10px 16px; border:1px solid #cbd5e1; border-radius:8px; background:white; color:#174d99; font:inherit; cursor:pointer; }
.contract-workspace button:disabled { opacity:.5; cursor:wait; }
.contract-workspace .primary { background:#175dcc; color:white; }
.contract-workspace [role=status] { overflow-wrap:anywhere; }
.contract-workspace .missing { color:#9a3412; background:#fff7ed; padding:12px; border-radius:8px; }
.contract-history { display:grid; gap:10px; list-style:none; padding:0; }
.contract-history li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:12px; border-bottom:1px solid #e2e8f0; }
.contract-summary { display:flex; flex-wrap:wrap; gap:12px 24px; }
[data-contract-overview][hidden] { display:none!important; }
.contract-summary span { overflow-wrap:anywhere; }
.contract-link { display:inline-flex; padding:8px; color:#175dcc; vertical-align:middle; }
.contract-link svg,.contract-workspace button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; vertical-align:middle; }
.contract-print-stage { overflow:auto; }
.contract-workspace .contract-sheet { padding:0; margin:16px auto; border-radius:0; position:relative; width:210mm; height:297mm; background:white; color:black; overflow:hidden; }
.contract-sheet > img { position:absolute; inset:0; width:100%; height:100%; }
.contract-value { position:absolute; display:flex; align-items:center; justify-content:center; text-align:center; font-family:ContractDubai,Arial,sans-serif; font-size:9pt; font-weight:700; line-height:1.12; overflow-wrap:anywhere; white-space:pre-wrap; }
.contract-value bdi { max-width:100%; }
.driver-annex { box-sizing:border-box; padding:16mm!important; font-family:Dubai,sans-serif; background:white; color:#172033; }
.driver-annex .detail-list { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; }
.driver-annex dt { font-weight:bold; font-size:12pt; }
.driver-annex dd { margin:0; overflow-wrap:anywhere; font-size:11pt; }
.contract-version { position:absolute; top:16%; left:5%; font:7pt Arial,sans-serif; color:#444; }
@media(max-width:700px) { .contract-fields,.checkout-contract-details .contract-fields { grid-template-columns:1fr; } .contract-workspace section { padding:14px; } }
@media print {
 @page rental { size:A4 portrait; margin:0; }
 body.rental-contract-page { margin:0!important; padding:0!important; background:white!important; }
 .contract-toolbar,#contractMessage,.contract-no-print { display:none!important; }
 .contract-workspace,#contractContent,.contract-print-stage { margin:0!important; padding:0!important; width:auto!important; overflow:visible!important; }
 .contract-workspace .contract-sheet { page:rental; margin:0!important; break-after:page; page-break-after:always; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .contract-workspace .contract-sheet:last-child { break-after:auto; page-break-after:auto; }
 body:not(.contract-print-ready) .contract-print-stage { display:none!important; }
}
