@font-face{font-family:Tajawal;src:url('assets/fonts/tajawal/Tajawal-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Tajawal;src:url('assets/fonts/tajawal/Tajawal-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
.rental-contract-page,#reservationDrivers,#driverDetailsDialog{font-family:Tajawal,Arial,sans-serif;line-height:1.6}
.rental-contract-page :is(input,select,textarea,button),#reservationDrivers :is(input,select,textarea,button),#driverDetailsDialog :is(input,select,textarea,button){font-family:Tajawal,Arial,sans-serif}
.contract-workspace #contractDetailsForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.contract-workspace #contractDetailsForm[hidden]{display:none}
.contract-workspace #contractDetailsForm>[data-contract-step]{grid-column:1/-1}
.contract-workspace #contractDetailsForm>[data-contract-step][hidden]{display:none}
.contract-step-tabs{display:flex;gap:8px;flex-wrap:wrap;grid-column:1/-1}
.parent-controlled .contract-step-tabs,.parent-controlled .reservation-operation-tabs{display:none!important}
.contract-step-tabs [aria-selected="true"]{background:#175dcc;color:white}
.contract-step-next{margin-top:16px}
.driver-missing-details{margin-block:16px;padding:16px;border:1px solid #dce3ed;border-radius:12px}
.driver-missing-details summary{cursor:pointer;color:#175dcc;font-weight:700}
.driver-missing-details .contract-fields{margin-top:16px}
.driver-summary-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-block:16px 24px}
.driver-summary-table{min-width:0;border:1px solid #dce3ed;border-radius:12px;overflow:hidden;background:white}
.driver-summary-table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:16px}
.driver-summary-table caption{text-align:start;padding:14px 16px;background:#f0f5fc;color:#175dcc;font-weight:700;font-size:18px;border-bottom:1px solid #dce3ed}
.driver-summary-table th,.driver-summary-table td{text-align:start;vertical-align:top;padding:12px;border-bottom:1px solid #e8ecf2;overflow-wrap:anywhere;line-height:1.6}
.driver-summary-table th{width:43%;font-weight:400;color:#59677b}
.driver-summary-table td{font-weight:700;color:#172033}
.driver-summary-table tr:last-child>*{border-bottom:0}
.driver-summary-table bdi{unicode-bidi:isolate}
/* Editing and saved records share the same grouped table surfaces. */
#reservationDrivers fieldset.driver-editor-record,#additionalDrivers fieldset.driver-editor-record{border:0;background:transparent;border-radius:0;padding:0;margin:24px 0;min-width:0}
#reservationDrivers .driver-editor-record>legend,#additionalDrivers .driver-editor-record>legend{padding:0;color:#172033;font-size:20px}
.driver-editor-tables :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #dce3ed;border-radius:8px;padding:6px;background:white;color:#172033;font:inherit}
.driver-editor-tables textarea{resize:vertical;min-height:72px}
.driver-editor-tables th{vertical-align:middle}
.driver-editor-tables td{padding:8px}
#additionalDrivers .driver-summary-tables{grid-template-columns:1fr}
#reservationDrivers .driver-inline-edit{margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:#172033;font:inherit;font-weight:700;min-height:32px;width:100%;text-align:start;overflow-wrap:anywhere;cursor:pointer}
#reservationDrivers .driver-inline-edit:hover{color:#175dcc;background:#edf3ff}
#reservationDrivers .driver-inline-edit{display:flex;align-items:center;justify-content:space-between;gap:8px}
#reservationDrivers .driver-inline-value{min-width:0;overflow-wrap:anywhere}
#reservationDrivers .driver-inline-edit svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:#64748b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#reservationDrivers .driver-inline-edit:is(:hover,:focus-visible) svg{stroke:#175dcc}
#reservationDrivers .driver-inline-edit[dir="ltr"]{direction:ltr;text-align:left;unicode-bidi:isolate}
.driver-summary-table:has(.nationality-options:not([hidden])){overflow:visible}
#reservationDrivers .driver-inline-edit:focus-visible{outline:2px solid #175dcc;outline-offset:3px}
#reservationDrivers .driver-summary-table :is(input,select,textarea){padding:6px;min-height:40px;max-width:100%;font-size:16px}
@media(max-width:1000px){.driver-summary-tables{grid-template-columns:1fr}}
@media print{.driver-summary-table{break-inside:avoid}.driver-summary-tables{grid-template-columns:1fr}}
.contract-workspace #contractDetailsForm>.operation-field-card{margin:0;padding:22px;border:1px solid #dce3ed;border-radius:14px;background:#f8fafc;min-width:0}
.contract-workspace #contractDetailsForm>.operation-field-card:nth-of-type(3),#contractDetailsForm>p,#contractDetailsForm>.contract-actions{grid-column:1/-1}
.operation-field-card .contract-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.operation-field-card:nth-of-type(3) .contract-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.contract-workspace .operation-field-card h2{font-size:20px;font-weight:700;margin:0 0 6px;color:#172033}
.field-card-hint{color:#59677b;font-size:14px;margin:0 0 20px;min-height:44px}
.contract-fields label>span,#reservationDrivers label>span{font-weight:700;font-size:16px;line-height:1.5;color:#334155}
.contract-fields :is(input,select,textarea),#reservationDrivers :is(input,select,textarea){min-height:48px;border-radius:9px;background:white;font-size:16px}
.contract-fields :is(input,select,textarea):focus-visible,#reservationDrivers :is(input,select,textarea):focus-visible{outline:3px solid #bdd4ff;outline-offset:2px;border-color:#1765e8}
.contract-fields [data-field="address"]{grid-column:1/-1}
#reservationDrivers fieldset,#additionalDrivers fieldset{background:#f8fafc;border-color:#dce3ed;border-radius:14px}
#reservationDrivers legend,#additionalDrivers legend{font-size:20px;font-weight:700;padding-inline:8px;color:#175dcc}
#checkoutContractFields{margin-block:20px}
#reservationDrivers input[name="mobile"],#additionalDrivers input[name="mobile"]{direction:ltr;text-align:left;unicode-bidi:isolate}
.nationality-field{position:relative}
.nationality-options{position:absolute;z-index:20;inset-inline:0;top:100%;margin-top:4px;max-height:240px;overflow:auto;overscroll-behavior:contain;background:white;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 8px 24px #17203320;color:#172033;font:400 16px/1.5 Tajawal,Arial,sans-serif}
.nationality-options[hidden]{display:none}
.nationality-options [role="option"],.nationality-empty{padding:10px 12px;cursor:pointer;overflow-wrap:anywhere}
.nationality-options [role="option"]:hover,.nationality-options [aria-selected="true"]{background:#eaf2ff;color:#175dcc}
.nationality-empty{color:#64748b;font-size:14px;cursor:default}
.contract-fields>.driver-document-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:1px solid #dce3ed;border-radius:12px;padding:16px;min-width:0;margin:0}
.driver-document-fields legend{padding-inline:8px;font-size:16px;font-weight:700;color:#334155}
@media(max-width:550px){.contract-fields>.driver-document-fields{grid-template-columns:1fr}}
.contract-actions{margin:0;justify-content:flex-start}
@media(max-width:900px){.contract-workspace #contractDetailsForm{grid-template-columns:1fr}.operation-field-card:nth-of-type(3) .contract-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.operation-field-card .contract-fields,.operation-field-card:nth-of-type(3) .contract-fields{grid-template-columns:1fr}.contract-workspace #contractDetailsForm>.operation-field-card{padding:16px}.field-card-hint{min-height:0}}
.driver-action-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-block:20px 8px}
#reservationDrivers [data-add-driver]{display:none}
#reservationDrivers .driver-action-row>button{margin:0;min-height:44px;min-width:76px;width:auto;padding:10px 20px;border:1px solid #e1e4eb;border-radius:999px;background:#f0f1f5;color:#1d1d1f;font-family:inherit;font-weight:600;font-size:16px;line-height:1.3;cursor:pointer;box-shadow:0 1px 2px #00000008;transition:background-color .15s ease,transform .1s ease}
#reservationDrivers .driver-action-row>.driver-save-action{background:#0071e3;border-color:#0071e3;color:#fff}
#reservationDrivers .driver-action-row>button:active:not(:disabled){transform:scale(.97)}
#reservationDrivers .driver-action-row>button:focus-visible{outline:3px solid #0071e360;outline-offset:3px}
#reservationDrivers .driver-action-row>button:disabled{opacity:.5;cursor:default}
@media(max-width:400px){#reservationDrivers .driver-action-row>button{min-width:0;flex:1;padding-inline:12px}.driver-action-row{gap:8px}}
@media(prefers-reduced-motion:reduce){#reservationDrivers .driver-action-row>button{transition:none;transform:none}}
