.plate-link{font-weight:750;color:#1765a1;text-decoration:none;border-bottom:1px dashed #79a7c8;cursor:pointer}
.plate-link:hover{color:#0d4772}
.mobile-only{display:none}
.modal-open{overflow:hidden}
.vehicle-modal[hidden],.vehicle-image-viewer[hidden]{display:none}
.vehicle-modal{position:fixed;inset:0;z-index:9999;height:100vh;height:100dvh;background:#10233799;padding:28px;display:flex;align-items:center;justify-content:center}
.vehicle-modal-dialog{position:relative;display:flex;flex-direction:column;width:min(920px,100%);max-height:calc(100dvh - 56px);overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 28px 80px #07182766}
.vehicle-modal-body{padding:28px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.vehicle-modal-x{position:absolute;right:12px;top:10px;z-index:4;width:40px;height:40px;border:0;border-radius:50%;background:#e8eff5;color:#243c50;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 2px 8px #10233720}
.vehicle-detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-right:44px;margin-bottom:20px}
.vehicle-detail-heading h2{margin:3px 0;font-size:28px}
.eyebrow{margin:0;color:#5080a7;font-size:12px;font-weight:800;letter-spacing:.12em}
.detail-grid.compact{margin:0}
.vehicle-photo-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.vehicle-photo-sections h3,.latest-parking-photos h3,.latest-parking-card h3{font-size:14px;margin:0 0 9px}
.detail-photo-grid,.media-gallery{display:flex;gap:10px;flex-wrap:wrap}
.detail-photo-grid a{display:block;border-radius:10px;overflow:hidden;cursor:zoom-in;box-shadow:0 1px 4px #18354d18}
.detail-photo-grid img{display:block;width:130px;height:96px;object-fit:cover;background:#eef2f5;transition:transform .18s ease}
.detail-photo-grid a:hover img{transform:scale(1.03)}
.latest-parking-photos{margin-top:22px}
.latest-parking-card{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:20px 0 4px;padding:16px;border:1px solid #cfe0ec;border-radius:13px;background:#f5f9fc}
.modal-actions{margin-top:26px}
.vehicle-image-viewer{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:58px 20px 20px;background:#07131eeF}
.vehicle-image-stage{width:100%;height:100%;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain}
.vehicle-image-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 44px #0008}
.vehicle-image-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;background:#182938;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.vehicle-photo-editor{margin-top:34px;padding-top:28px;border-top:1px solid #e4ebf1}
.media-uploader{padding:16px;margin:14px 0;border:1px solid #dce6ee;border-radius:12px;background:#f9fbfd}
.media-uploader-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.media-photo{position:relative;width:116px;height:88px}
.media-photo img{width:100%;height:100%;object-fit:cover;border-radius:9px;background:#e9eef2}
.media-photo button{position:absolute;right:-6px;top:-7px;width:26px;height:26px;border:0;border-radius:50%;background:#b92d28;color:#fff;font-size:18px;line-height:1;cursor:pointer}
.media-pick{display:inline-flex!important;margin-top:12px;cursor:pointer}
.media-pick-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.media-pick-actions .media-pick{margin-top:0}
.media-status{margin-left:12px}
.inspection-note,.time-range-card{padding:18px;border:1px solid #cfe0ee;border-radius:13px;background:#f3f8fc;margin-bottom:22px}
.return-form-grid{margin-top:24px;padding-top:22px;border-top:1px solid #e3ebf1}
.fuel-choice,.condition-choice{display:flex;gap:9px;flex-wrap:wrap}
.fuel-choice label,.condition-choice label{cursor:pointer}
.fuel-choice input,.condition-choice input{position:absolute;opacity:0;pointer-events:none}
.fuel-choice span,.condition-choice span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 16px;border:1px solid #c8d7e2;border-radius:10px;background:#fff;color:#3d566c;font-weight:700;transition:.16s ease}
.fuel-choice input:checked+span,.condition-choice input:checked+span{border-color:#2376ad;background:#e9f4fb;color:#155f96;box-shadow:0 0 0 2px #d4eaf7}
.condition-choice label:last-child input:checked+span{border-color:#cf6a63;background:#fff1f0;color:#a52720;box-shadow:0 0 0 2px #f7d8d5}
.abnormal-fields[hidden]{display:none!important}
.issue-uploader{margin:0;background:#fff8f7;border-color:#efcfcc}
.return-actions{margin-top:22px}
.form-validation-error[hidden]{display:none}

/* Simplified departure and return inspection workflow. */
.inspection-section{margin:16px 0;padding:20px;border:1px solid #dce6ee;border-radius:15px;background:#fff;box-shadow:0 4px 16px #183a5708}
.inspection-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #e7edf2}
.inspection-section-head>div{min-width:0;flex:1}.inspection-section-head h2{margin:0 0 4px;color:#1b405b;font-size:18px}.inspection-section-head p{margin:0;color:#738594;font-size:12px;line-height:1.6}
.inspection-step{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#e8f3fa;color:#176b9f;font-size:13px;font-weight:900}
.required-chip{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:#fff1e6;color:#a85b16;font-size:10px;font-weight:850}
.departure-abnormal-fields[hidden],.abnormal-fields[hidden]{display:none!important}
.departure-abnormal-fields,.abnormal-fields{margin-top:16px;padding:16px;border:1px solid #efcfcc;border-radius:12px;background:#fff8f7}
.departure-abnormal-fields .field,.abnormal-fields .field{margin:0}.departure-abnormal-fields .issue-uploader,.abnormal-fields .issue-uploader{margin:14px 0 0}
.media-uploader-head>div{display:grid;gap:3px}.media-uploader-head small{color:#80909d;font-size:10px;font-weight:500;line-height:1.5}
.return-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.return-checklist .inspection-section{min-width:0;margin:0}.return-condition-section{grid-column:1/-1}
.return-field-stack{display:grid;gap:16px}.return-field-stack .field{margin:0}.key-media-uploader{margin:0;background:#f7fafc;border-color:#dce7ef}.return-note-field{margin-top:18px!important}
.inspection-actions{justify-content:flex-end;margin-top:20px;padding-top:18px;border-top:1px solid #e6edf2}.inspection-actions .btn,.return-actions .btn{min-width:150px;justify-content:center}
.usage-photo-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border-top:1px solid #e2eaf0;background:#f8fafc}.usage-photo-sections>section{min-width:0;padding:14px;border:1px solid #e0e8ee;border-radius:12px;background:#fff}.usage-photo-sections h3{margin:0 0 11px;color:#315268;font-size:13px}

/* Compact request details shared by employee and administrator pages. */
.booking-detail-summary{overflow:hidden}
.booking-key-strip{display:grid;grid-template-columns:1fr .72fr 1.25fr 1.15fr;border-bottom:1px solid #e4ecf2;background:#f4f8fb}
.booking-assignment-strip{margin:0 18px 18px;border:1px solid #dce7ef;border-radius:12px;background:#f4f8fb;overflow:hidden}
.departure-key-strip{display:grid;grid-template-columns:1fr .8fr 1.25fr 1.2fr;margin:0 0 16px;border:1px solid #d9e5ee;border-radius:14px;background:#fff;box-shadow:0 6px 18px #183a570b;overflow:hidden}
.departure-key-strip>div{min-width:0;padding:14px 16px;border-right:1px solid #e3ebf1}
.departure-key-strip>div:last-child{border-right:0}
.departure-key-strip span{display:block;margin-bottom:5px;color:#718597;font-size:11px;font-weight:750}
.departure-key-strip strong{display:block;color:#1d384e;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.booking-key-strip>div{min-width:0;padding:16px 18px;border-right:1px solid #dfe8ef}
.booking-key-strip>div:last-child{border-right:0}
.booking-key-strip span,.usage-record-grid span{display:block;margin-bottom:6px;color:#718597;font-size:11px;font-weight:750;letter-spacing:.05em}
.booking-key-strip strong,.usage-record-grid strong{display:block;color:#1d384e;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.booking-compact-grid{display:grid;grid-template-columns:1.25fr 1.05fr .9fr;gap:14px;padding:18px}
.booking-info-card{min-width:0;padding:16px;border:1px solid #e0e8ee;border-radius:13px;background:#fff}
.booking-info-card h3{margin:0 0 14px;color:#24445d;font-size:14px}
.booking-info-card dl{display:grid;grid-template-columns:74px minmax(0,1fr);gap:9px 11px;margin:0;font-size:13px;line-height:1.55}
.booking-info-card dt{color:#7b8b99}.booking-info-card dd{min-width:0;margin:0;color:#263f53;overflow-wrap:anywhere}
.booking-time-card{position:relative;border-color:#9cc9e6;background:linear-gradient(145deg,#f4fbff,#eaf6fd);box-shadow:0 7px 18px #176b9f12}.booking-time-card:before{content:'';position:absolute;top:13px;bottom:13px;left:0;width:4px;border-radius:0 5px 5px 0;background:#1581bd}.booking-time-card h3{color:#125c88;font-size:15px}.booking-trip-card{border-color:#9fd6cf;background:linear-gradient(145deg,#f1fffb,#e8f8f5);box-shadow:0 7px 18px #177d7012}.booking-trip-card h3{color:#146b62;font-size:15px}.booking-trip-card dt{color:#58837f}.booking-trip-card dd{color:#173f42}
.time-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.time-compare>div{padding:14px;border:1px solid #d6eaf6;border-radius:10px;background:#fff}
.time-compare span,.time-compare small{display:block;color:#7b8b99;font-size:11px}
.time-compare strong{display:block;margin:6px 0 9px;color:#0e4267;font-size:15px;font-weight:850;line-height:1.55}
.usage-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e2eaf0}
.usage-record-grid>div{min-width:0;padding:16px 18px;background:#fff}
.usage-record-grid>.wide{grid-column:span 2}

.vehicle-confirm-modal[hidden]{display:none}
.vehicle-confirm-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:#102337a8;backdrop-filter:blur(4px)}
.vehicle-confirm-dialog{width:min(430px,100%);padding:28px;border:1px solid #ffffff66;border-radius:20px;background:#fff;text-align:center;box-shadow:0 30px 90px #07182780;animation:vehicleConfirmIn .18s ease-out}
.vehicle-confirm-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#e6f4ec;color:#18734a;font-size:26px;font-weight:800}
.vehicle-confirm-dialog h2{margin:0 0 10px;color:#17334a;font-size:22px}
.vehicle-confirm-dialog p{margin:0;color:#65798b;line-height:1.75}
.vehicle-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.vehicle-confirm-actions .btn{justify-content:center;min-height:42px}
@keyframes vehicleConfirmIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* Employee booking detail navigation mirrors the administrator detail page. */
.employee-detail-toolbar{position:sticky;top:10px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:12px 14px;border:1px solid #d9e5ee;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(27,65,94,.10);backdrop-filter:blur(10px)}
.employee-detail-toolbar .booking-back{background:#155f96;color:#fff;border-color:#155f96;font-weight:700;box-shadow:0 4px 12px rgba(21,95,150,.22)}
.booking-detail-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.booking-detail-nav a{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid #d5e1eb;border-radius:18px;background:#f6f9fc;color:#3d607d;font-size:13px;font-weight:600;text-decoration:none}
.booking-detail-nav a:hover{border-color:#80aac9;background:#edf5fb;color:#175d91}
.booking-section{scroll-margin-top:90px}.booking-bottom-actions{display:flex;justify-content:center;margin:26px 0 10px}.booking-bottom-actions .btn{min-width:210px;justify-content:center}
.back-to-top{position:fixed;right:26px;bottom:28px;z-index:80;width:48px;height:48px;border:0;border-radius:50%;background:#155f96;color:#fff;font-size:22px;font-weight:700;box-shadow:0 8px 24px rgba(14,57,89,.30);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* Visual vehicle allocation cards. */
.vehicle-choice-help{margin:5px 0 13px;color:#718294;font-size:12px;line-height:1.6}
.vehicle-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.vehicle-choice-card{display:block;min-width:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.vehicle-choice-card>input{position:absolute;opacity:0;pointer-events:none}
.vehicle-choice-content{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-areas:"photo head" "photo model" "photo facts";gap:7px 14px;min-height:154px;padding:12px;border:2px solid #dce6ee;border-radius:15px;background:#fff;box-shadow:0 4px 14px #183a570b;transition:border-color .18s,box-shadow .18s,transform .18s}
@media(hover:hover) and (pointer:fine){.vehicle-choice-card:hover .vehicle-choice-content{border-color:#a9c8de;box-shadow:0 8px 22px #183a5714;transform:translateY(-1px)}}
.vehicle-choice-card>input:checked+.vehicle-choice-content{border-color:#2174aa;background:#f5fbff;box-shadow:0 0 0 3px #d7ebf7,0 10px 24px #174f7618}
.vehicle-choice-card.is-conflict .vehicle-choice-content{border-color:#e9aaa4;background:#fff9f8}.vehicle-choice-card.is-conflict>input:checked+.vehicle-choice-content{border-color:#c9443b;background:#fff5f4;box-shadow:0 0 0 3px #f7d5d2,0 10px 24px #7d211918}
.vehicle-choice-photo{grid-area:photo;position:relative;display:grid;place-items:center;min-height:128px;border-radius:11px;overflow:hidden;background:#eef3f6}.vehicle-choice-photo img{width:100%;height:100%;min-height:128px;object-fit:cover}.vehicle-photo-placeholder{padding:12px;color:#8593a0;font-size:12px;text-align:center}
.vehicle-live-status{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:999px;background:#e8f7ef;color:#18764b;font-size:10px;font-weight:800;line-height:1.35;box-shadow:0 2px 8px #15344a20}.vehicle-live-status.reserved{background:#fff1d9;color:#8c5b09}.vehicle-live-status.in_use{background:#e8f2ff;color:#1a5f95}.vehicle-live-status.conflict{background:#b92d28;color:#fff}
.vehicle-choice-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;gap:8px}.vehicle-choice-head strong{color:#173b58;font-size:17px}.vehicle-choice-head em{padding:3px 8px;border-radius:999px;background:#edf4f9;color:#4b6b82;font-size:10px;font-style:normal;font-weight:750}
.vehicle-choice-model{grid-area:model;color:#708294;font-size:12px;overflow-wrap:anywhere}
.vehicle-choice-facts{grid-area:facts;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;align-self:end}.vehicle-choice-facts>span{min-width:0}.vehicle-choice-facts small{display:block;margin-bottom:2px;color:#8a98a5;font-size:9px;font-weight:700}.vehicle-choice-facts b{display:block;color:#334d61;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.vehicle-conflict-note{grid-column:2;display:grid;gap:3px;margin-top:2px;padding:8px 10px;border:1px solid #efc0bc;border-radius:9px;background:#fff0ef;color:#9b2821}.vehicle-conflict-note strong{font-size:11px}.vehicle-conflict-note small{font-size:10px;line-height:1.45}
.vehicle-selected-mark{position:absolute;right:10px;bottom:9px;display:none;padding:4px 8px;border-radius:999px;background:#1d70a7;color:#fff;font-size:10px;font-weight:800}.vehicle-choice-card>input:checked+.vehicle-choice-content .vehicle-selected-mark{display:block}
.time-range-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}
.time-range-title span{font-size:13px;color:#62778b}
.quick-duration{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:13px}
.quick-duration button{border:1px solid #c7d8e5;background:#fff;color:#255e89;border-radius:18px;padding:6px 12px;cursor:pointer}
.assigned-vehicle-panel .vehicle-detail-card{max-width:900px}
.assigned-vehicle-panel .modal-actions button[data-modal-close]{display:none}
.booking-filters{margin-bottom:18px}
.booking-row-actions{display:flex;gap:12px;align-items:center;white-space:nowrap}
.booking-created-mobile{font-size:11px;color:#8491a1;margin-top:5px;font-weight:400}

/* Responsive booking cards: used at every width so the list never needs horizontal scrolling. */
.booking-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px;color:#738395;font-size:13px}
.booking-result-head .result-summary{margin:0;color:#536a7f;font-size:15px}
.booking-card-list{display:grid;gap:12px;min-width:0}
.booking-empty-card{padding:34px 20px;border:1px dashed #cad8e4;border-radius:14px;background:#fbfdff;color:#748597;text-align:center}
.booking-card{min-width:0;overflow:hidden;border:1px solid #dce6ee;border-radius:15px;background:#fff;box-shadow:0 4px 16px #183a570a;transition:border-color .18s ease,box-shadow .18s ease}
.booking-card:hover{border-color:#c4d7e6;box-shadow:0 8px 22px #183a5710}
.booking-card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 17px;border-bottom:1px solid #e8eef3;background:#f8fafc}
.booking-person{display:flex;align-items:baseline;gap:10px;min-width:0}
.booking-person strong{color:#18334a;font-size:16px;white-space:nowrap}
.booking-person span{min-width:0;color:#708295;font-size:13px;overflow-wrap:anywhere}
.booking-head-meta{display:flex;align-items:center;justify-content:flex-end;gap:13px;min-width:0}
.booking-created-label{color:#718294;font-size:12px;white-space:nowrap}
.vehicle-issue-flag{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border:1px solid #efb8b2;border-radius:999px;background:#fff0ef;color:#a72620;font-size:11px;font-weight:800;white-space:nowrap}
.vehicle-issue-flag.departure-issue{border-color:#f0c585;background:#fff7e8;color:#a45e0b}
.vehicle-issue-flag.return-issue{border-color:#efb8b2;background:#fff0ef;color:#a72620}
.vehicle-issue-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid #efc4c0;background:#fff2f1;color:#8f211b}
.vehicle-issue-alert span{min-width:0;line-height:1.55;overflow-wrap:anywhere}.vehicle-issue-alert a{color:#9c241e;font-size:12px;font-weight:800}
.issue-text{color:#a72620!important}.usage-issue-photos{padding:18px;border-top:1px solid #efcfcc;background:#fff8f7}.usage-issue-photos h3{margin:0 0 12px;color:#95251f;font-size:14px}
.booking-card-main{display:grid;grid-template-columns:minmax(120px,.62fr) minmax(180px,1fr) minmax(280px,1.55fr);gap:0;padding:17px}
.booking-card-main.employee-card-main{grid-template-columns:minmax(180px,.9fr) minmax(300px,1.5fr)}
.booking-info{display:grid;grid-template-columns:1fr;align-content:start;min-width:0;padding:0 18px;border-right:1px solid #e8eef3}
.booking-info:first-child{padding-left:0}.booking-info:last-child{padding-right:0;border-right:0}
.booking-info-label{display:block;margin-bottom:6px;color:#8493a2;font-size:11px;font-weight:750;letter-spacing:.07em}
.booking-info strong{color:#21384c;line-height:1.45;overflow-wrap:anywhere}
.booking-subtext{display:block;margin-top:3px;color:#77899a;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.booking-unassigned{color:#9a6b18!important}
.booking-plan-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px}
.booking-plan-range>span{color:#96a3af;font-size:12px}
.booking-plan-range strong{font-size:13px}
.booking-card-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 17px;border-top:1px solid #edf1f5;background:#fcfdfe}
.booking-progress{display:flex;align-items:center;gap:7px;min-width:0}
.progress-chip{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.progress-chip small{font-size:10px;font-weight:500;opacity:.78}
.progress-chip.is-done{background:#eaf7f0;color:#18764b}
.progress-chip.is-waiting{background:#f1f5f8;color:#65798b}
.progress-chip.muted-progress{background:#f1f3f5;color:#788592}
.progress-arrow{color:#a5b2bd;font-size:13px}
.booking-card-actions{flex:0 0 auto;text-align:right}
.booking-card-actions .booking-primary-action,.booking-card-actions .booking-row-actions>a,.booking-card-actions .booking-row-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 13px;border:1px solid #bdd2e2!important;border-radius:8px!important;background:#f3f8fc!important;color:#175f98!important;text-decoration:none;font-size:12px!important;font-weight:750!important;white-space:nowrap}
.booking-card-actions .booking-row-actions{justify-content:flex-end;gap:7px}
.booking-card-actions .booking-row-actions button{border-color:#efc7c3!important;background:#fff5f4!important;color:#b42318!important}

/* Vehicle archive cards */
.vehicle-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 12px;color:#7a8b9b;font-size:13px}
.vehicle-result-head p{margin:0;color:#526a7f;font-size:15px}
.vehicle-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.vehicle-archive-list>.booking-empty-card{grid-column:1/-1}
.vehicle-archive-card{min-width:0;overflow:hidden;border:1px solid #dce6ee;border-radius:15px;background:#fff;box-shadow:0 4px 16px #183a570a;transition:border-color .18s ease,box-shadow .18s ease}
.vehicle-archive-card:hover{border-color:#c4d7e6;box-shadow:0 8px 22px #183a5710}
.vehicle-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e8eef3;background:#f8fafc}
.vehicle-card-identity{display:grid;gap:3px;min-width:0}
.vehicle-card-plate{width:max-content;font-size:17px;line-height:1.35}
.vehicle-card-identity>span{min-width:0;color:#6f8294;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.vehicle-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto}
.vehicle-edit-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 11px;border:1px solid #bdd2e2;border-radius:8px;background:#f3f8fc;color:#175f98;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap}
.vehicle-card-facts{display:grid;grid-template-columns:.65fr .55fr minmax(150px,1.35fr) .55fr;padding:15px 16px}
.vehicle-card-facts>div{min-width:0;padding:0 13px;border-right:1px solid #e8eef3}
.vehicle-card-facts>div:first-child{padding-left:0}
.vehicle-card-facts>div:last-child{padding-right:0;border-right:0}
.vehicle-card-facts span{display:block;margin-bottom:5px;color:#8493a2;font-size:10px;font-weight:750;letter-spacing:.06em}
.vehicle-card-facts strong{display:block;color:#21384c;font-size:13px;line-height:1.45;overflow-wrap:anywhere}

@media(max-width:980px){
  .vehicle-choice-grid{grid-template-columns:1fr}
  .booking-card-main{grid-template-columns:minmax(105px,.58fr) minmax(160px,1fr) minmax(230px,1.35fr);padding:15px}
  .booking-info{padding:0 13px}
  .booking-plan-range{grid-template-columns:1fr;gap:2px}
  .booking-plan-range>span{padding:1px 0}
  .vehicle-archive-list{grid-template-columns:1fr}
}

@media(max-width:700px){
  .employee-detail-toolbar{position:static;align-items:stretch;flex-direction:column;padding:12px}.employee-detail-toolbar .booking-back{justify-content:center}.employee-detail-toolbar .booking-detail-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.employee-detail-toolbar .booking-detail-nav a{white-space:nowrap}.back-to-top{right:16px;bottom:18px;width:44px;height:44px}
  .vehicle-choice-content{grid-template-columns:118px minmax(0,1fr);min-height:142px}.vehicle-choice-photo,.vehicle-choice-photo img{min-height:116px}
  .vehicle-issue-alert{grid-template-columns:1fr;gap:5px;padding:12px 14px}
  .departure-key-strip{grid-template-columns:1fr 1fr}
  .departure-key-strip>div:nth-child(2){border-right:0}
  .departure-key-strip>div:nth-child(n+3){border-top:1px solid #e3ebf1}
  .latest-parking-card{grid-template-columns:1fr}
  .booking-key-strip{grid-template-columns:1fr 1fr}
  .booking-key-strip>div:nth-child(2){border-right:0}
  .booking-key-strip>div:nth-child(n+3){border-top:1px solid #dfe8ef}
  .booking-key-strip>div:nth-child(4){border-right:0}
  .booking-compact-grid{grid-template-columns:1fr;padding:13px}
  .booking-assignment-strip{margin:0 13px 13px}
  .time-compare{grid-template-columns:1fr 1fr}
  .usage-record-grid{grid-template-columns:1fr 1fr}
  .booking-result-head{margin-top:18px}
  .booking-result-head>span{display:none}
  .booking-card-head{align-items:flex-start;padding:12px 13px}
  .booking-person{display:grid;gap:2px}
  .booking-person strong{font-size:15px}
  .booking-head-meta{display:grid;justify-items:end;gap:6px}
  .booking-created-label{font-size:10px;white-space:normal;text-align:right}
  .booking-card-main{grid-template-columns:minmax(88px,.58fr) minmax(0,1.42fr);grid-template-areas:"vehicle route" "plan plan";gap:14px 12px;padding:14px 13px}
  .booking-card-main.employee-card-main{grid-template-columns:1fr;grid-template-areas:"route" "plan"}
  .booking-info{padding:0;border:0}
  .booking-info-vehicle{grid-area:vehicle;padding-right:11px;border-right:1px solid #e8eef3}
  .booking-info-route{grid-area:route}
  .booking-info-plan{grid-area:plan;padding-top:12px;border-top:1px solid #edf1f5}
  .booking-plan-range{grid-template-columns:1fr;gap:3px}
  .booking-plan-range>span{padding-left:1px}
  .booking-card-foot{align-items:flex-end;padding:11px 13px}
  .booking-progress{display:grid;grid-template-columns:1fr;gap:4px}
  .progress-chip{width:max-content;max-width:100%;min-height:25px;padding:3px 8px;font-size:11px;white-space:normal}
  .progress-chip small{display:block}
  .progress-arrow{display:none}
  .vehicle-result-head{margin-top:18px}
  .vehicle-result-head>span{display:none}
  .vehicle-card-head{padding:12px 13px}
  .vehicle-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 0;padding:13px}
  .vehicle-card-facts>div{padding:0 11px}
  .vehicle-card-facts>div:nth-child(2){padding-right:0;border-right:0}
  .vehicle-card-facts>div:nth-child(3){padding-left:0}
  .vehicle-parking-fact{border-top:1px solid #edf1f5;padding-top:11px!important}
  .vehicle-card-facts>div:nth-child(4){padding-top:11px;border-top:1px solid #edf1f5;border-right:0}
  .return-checklist{grid-template-columns:1fr}.return-condition-section{grid-column:auto}.inspection-section{padding:17px 14px}.usage-photo-sections{grid-template-columns:1fr;padding:13px}
}

@media(max-width:420px){
  .vehicle-choice-content{grid-template-columns:96px minmax(0,1fr);gap:6px 10px;padding:10px}.vehicle-choice-photo,.vehicle-choice-photo img{min-height:104px}.vehicle-choice-head{align-items:flex-start;flex-direction:column;gap:3px}.vehicle-choice-head strong{font-size:15px}.vehicle-choice-facts{grid-template-columns:1fr}.vehicle-choice-facts>span:nth-child(3){display:none}.vehicle-conflict-note{grid-column:1/-1}.vehicle-selected-mark{right:7px;bottom:7px}
  .departure-key-strip{grid-template-columns:1fr}
  .departure-key-strip>div{border-right:0;border-top:1px solid #e3ebf1}
  .departure-key-strip>div:first-child{border-top:0}
  .booking-key-strip{grid-template-columns:1fr}
  .booking-assignment-strip{margin:0 13px 13px}
  .booking-key-strip>div{padding:13px 14px;border-right:0;border-top:1px solid #dfe8ef}
  .booking-key-strip>div:first-child{border-top:0}
  .time-compare{grid-template-columns:1fr}
  .usage-record-grid{grid-template-columns:1fr}
  .usage-record-grid>.wide{grid-column:auto}
  .fuel-choice span,.condition-choice span{min-height:38px;padding:6px 12px}
  .vehicle-confirm-dialog{padding:24px 18px}
  .booking-card-head{gap:10px}
  .booking-head-meta .badge{font-size:10px}
  .booking-created-label{max-width:128px}
  .booking-card-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .booking-card-actions .booking-primary-action,.booking-card-actions .booking-row-actions>a,.booking-card-actions .booking-row-actions button{min-height:32px;padding:5px 9px}
  .vehicle-card-head{align-items:flex-start}
  .vehicle-card-actions{display:grid;justify-items:end;gap:6px}
  .vehicle-edit-link{min-height:30px;padding:4px 9px}
  .inspection-section-head{gap:9px}.inspection-section-head h2{font-size:16px}.inspection-step{width:30px;height:30px}.required-chip{padding:3px 7px}.fuel-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.fuel-choice span{width:100%;padding:6px 5px}.media-pick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.media-pick-actions .btn{padding:7px 6px;font-size:12px}.inspection-actions,.return-actions{display:grid;grid-template-columns:1fr}.inspection-actions .btn,.return-actions .btn{width:100%}
}

@media(max-width:760px){
  .vehicle-modal{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));align-items:center}
  .vehicle-modal-dialog{width:100%;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:16px}
  .vehicle-modal-body{padding:58px 16px 22px}
  .vehicle-modal-x{position:absolute;top:10px;right:10px;width:42px;height:42px;background:#dfe9f1}
  .vehicle-detail-heading{padding-right:0;margin-bottom:16px;gap:10px}
  .vehicle-detail-heading h2{font-size:24px}
  .vehicle-detail-heading .badge{flex:0 0 auto;margin-right:0}
  .vehicle-photo-sections{grid-template-columns:1fr;gap:16px}
  .detail-photo-grid img{width:104px;height:78px}
  .vehicle-image-viewer{padding:64px 10px max(14px,env(safe-area-inset-bottom))}
  .vehicle-image-close{top:max(12px,env(safe-area-inset-top));right:12px}
  .media-photo{width:96px;height:76px}
  .media-status{display:block;margin:9px 0 0}
  .time-range-title{display:block}
  .time-range-title span{display:block;margin-top:4px}
  .table-wrap table:not(.booking-list-table){min-width:760px}
  .assigned-vehicle-panel .vehicle-detail-card{overflow:hidden}

  .admin-shell .booking-list-wrap,.booking-list-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
  .booking-list-table{display:block;width:100%;min-width:0!important;border:0}
  .booking-list-table thead{display:none}
  .booking-list-table tbody{display:block}
  .booking-list-table tr{display:grid;margin:0 0 12px;padding:14px;border:1px solid #dfe7ef;border-radius:13px;background:#fff;box-shadow:0 4px 14px #1737530b}
  .booking-list-table td{display:block;min-width:0;padding:0;border:0;background:transparent;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
  .booking-list-table td:before{display:block;margin-bottom:3px;color:#7a8796;font-size:10px;font-weight:700;letter-spacing:.06em}
  .booking-list-table .booking-applicant:before{content:"申请人"}
  .booking-list-table .booking-vehicle:before{content:"车辆"}
  .booking-list-table .booking-destination:before{content:"目的地 / 事由"}
  .booking-list-table .booking-time:before{content:"计划时间"}
  .booking-list-table .booking-status{text-align:right;align-self:start}
  .booking-list-table .booking-status:before,.booking-list-table .booking-action:before{display:none}
  .booking-list-table .booking-action{align-self:end;text-align:right}
  .booking-list-table .booking-primary-action,.booking-list-table .booking-row-actions>a,.booking-list-table .booking-row-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid #b9cfe2!important;border-radius:8px!important;background:#f3f8fc!important;color:#175f98!important;text-decoration:none;font-size:12px!important;font-weight:700!important;white-space:nowrap}
  .booking-list-table .booking-row-actions{justify-content:flex-end;gap:6px}
  .booking-list-table .booking-row-actions button{border-color:#efc7c3!important;background:#fff5f4!important;color:#b42318!important}
  .booking-list-table .muted{font-size:11px;line-height:1.45}
  .booking-list-table .mobile-only{display:block}
  .booking-list-table .booking-created{display:none}
  .booking-list-table .booking-empty{display:block;margin:0;padding:18px;text-align:center}
  .booking-list-table .booking-empty td{display:block;text-align:center}

  .admin-booking-list tr:not(.booking-empty){grid-template-columns:minmax(88px,.8fr) minmax(0,1.35fr);grid-template-areas:"applicant status" "vehicle destination" "time action";gap:13px 12px}
  .admin-booking-list .booking-applicant{grid-area:applicant}
  .admin-booking-list .booking-status{grid-area:status}
  .admin-booking-list .booking-vehicle{grid-area:vehicle}
  .admin-booking-list .booking-destination{grid-area:destination}
  .admin-booking-list .booking-time{grid-area:time}
  .admin-booking-list .booking-action{grid-area:action}

  .employee-booking-list tr:not(.booking-empty){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"vehicle status" "destination destination" "time action";gap:13px 12px}
  .employee-booking-list .booking-vehicle{grid-area:vehicle}
  .employee-booking-list .booking-status{grid-area:status}
  .employee-booking-list .booking-destination{grid-area:destination}
  .employee-booking-list .booking-time{grid-area:time}
  .employee-booking-list .booking-action{grid-area:action}
  .booking-filters{gap:7px}
  .booking-filters .btn{flex:1 1 auto;min-height:38px;padding:8px 11px;font-size:12px}
}

@media(max-width:390px){
  .admin-booking-list tr:not(.booking-empty){grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr);gap:12px 9px;padding:12px}
  .booking-list-table .booking-time strong{font-size:12px}
  .vehicle-detail-heading{display:block}
  .vehicle-detail-heading .badge{margin-top:8px}
  .detail-photo-grid img{width:92px;height:70px}
}

/* Administrator correction of the effective current parking/fuel state. */
.current-state-editor{margin-top:30px;padding:24px;border:1px solid #d9e7f2;border-radius:16px;background:linear-gradient(145deg,#f8fbfe,#fff)}
.current-state-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.current-state-heading h2{margin:2px 0 6px;font-size:21px;color:#183b56}
.current-state-heading p{margin:0;max-width:680px;line-height:1.7}
.current-state-source{display:inline-flex;align-items:center;width:max-content;padding:4px 9px;border-radius:999px;background:#edf2f6;color:#5a6b78;font-size:12px;font-weight:700;white-space:nowrap}
.current-state-source.is-admin{background:#fff3d6;color:#8a5b00}
.current-state-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid #e2ebf2}
.current-state-photo-grid .media-uploader{margin:0;padding:16px;border:1px solid #e1e9f0;border-radius:12px;background:#fff}
@media(max-width:680px){.current-state-editor{padding:18px 14px}.current-state-heading{display:grid;gap:10px}.current-state-photo-grid{grid-template-columns:1fr}.current-state-editor .fuel-choice{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Vehicle edit workspace */
.vehicle-edit-page{max-width:1180px;margin:0 auto;scroll-behavior:smooth}
.vehicle-edit-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:24px 28px;border-radius:18px;background:linear-gradient(125deg,#123b5b,#176998);color:#fff;box-shadow:0 12px 30px #173f5b24}
.vehicle-edit-hero .eyebrow{margin:0 0 5px;color:#a9d9f4;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.vehicle-edit-hero h1{margin:0;font-size:30px;line-height:1.2;letter-spacing:.03em}
.vehicle-edit-hero p{margin:6px 0 0;color:#d9edf8}
.vehicle-edit-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.vehicle-edit-hero .badge{border:1px solid #ffffff42;background:#ffffff18;color:#fff}
.vehicle-edit-hero .btn.secondary{border-color:#ffffff66;background:#fff;color:#15577f}
.vehicle-edit-nav{position:sticky;top:8px;z-index:8;display:flex;gap:8px;margin:0 0 18px;padding:8px;border:1px solid #dce7ef;border-radius:13px;background:#ffffffed;box-shadow:0 5px 18px #17375312;backdrop-filter:blur(8px)}
.vehicle-edit-nav a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 13px;border-radius:9px;color:#31566f;text-decoration:none;font-size:13px;font-weight:800}
.vehicle-edit-nav a:hover{background:#eaf4fb;color:#11669d}
.vehicle-edit-nav span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e7f1f8;color:#176b9f;font-size:10px}
.vehicle-edit-section{scroll-margin-top:76px;margin:0 0 18px;padding:24px 26px;border:1px solid #dde7ef;border-radius:16px;background:#fff;box-shadow:0 5px 18px #1737530c}
.vehicle-edit-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px;padding-bottom:17px;border-bottom:1px solid #e7edf2}
.vehicle-edit-section-head .section-number{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border-radius:10px;background:#e7f2f9;color:#176b9f;font-size:12px;font-weight:900}
.vehicle-edit-section-head>div:nth-child(2){min-width:0;flex:1}
.vehicle-edit-section-head h2{margin:0 0 4px;color:#183b56;font-size:21px}
.vehicle-edit-section-head p{margin:0;color:#71808c;font-size:13px;line-height:1.6}
.vehicle-edit-section-head>.current-state-source{align-self:center}
.vehicle-basic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 18px}
.vehicle-basic-grid .plate-field input{font-weight:800;letter-spacing:.06em}
.readonly-status{display:flex;align-items:center;gap:8px;min-height:43px;padding:10px 12px;border:1px solid #dbe4eb;border-radius:10px;background:#f5f8fa;color:#294d66}
.readonly-status small{margin-left:auto;color:#8795a0}
.status-dot{width:9px;height:9px;border-radius:50%;background:#e0a11c;box-shadow:0 0 0 4px #e0a11c1c}
.status-dot.available{background:#20a464;box-shadow:0 0 0 4px #20a4641c}.status-dot.disabled{background:#cc4b46;box-shadow:0 0 0 4px #cc4b461c}.status-dot.in_use{background:#1d77bd;box-shadow:0 0 0 4px #1d77bd1c}
.dispatch-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px!important;border:1px solid #dfe8ef;border-radius:12px;background:#f8fafc}
.dispatch-setting strong,.dispatch-setting small{display:block}.dispatch-setting strong{color:#294d66}.dispatch-setting small{margin-top:3px;color:#7c8994;line-height:1.5}
.switch-control{position:relative;flex:0 0 auto;width:48px;height:27px;cursor:pointer}.switch-control input{position:absolute;opacity:0}.switch-control span{display:block;width:100%;height:100%;border-radius:999px;background:#bdc8d0;transition:.2s}.switch-control span:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #183b5633;transition:.2s}.switch-control input:checked+span{background:#1d7aaf}.switch-control input:checked+span:after{transform:translateX(21px)}
.vehicle-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px;padding-top:17px;border-top:1px solid #e8edf2}.vehicle-form-actions>span{margin-right:auto;color:#7d8a95;font-size:12px}.vehicle-form-actions .btn{min-width:146px}
.current-state-summary{display:grid;grid-template-columns:2fr 1fr 1.4fr;margin-bottom:20px;border:1px solid #dce8f0;border-radius:13px;background:#f5f9fc;overflow:hidden}
.current-state-summary>div{min-width:0;padding:13px 15px;border-right:1px solid #dce8f0}.current-state-summary>div:last-child{border-right:0}.current-state-summary span,.current-state-summary strong{display:block}.current-state-summary span{margin-bottom:4px;color:#768795;font-size:11px}.current-state-summary strong{color:#254b65;font-size:13px;overflow-wrap:anywhere}
.current-state-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;align-items:start}
.current-state-form{display:grid;gap:17px}.current-state-form .field{margin:0}.current-state-form textarea{min-height:88px}.current-state-form .fuel-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.current-state-form .vehicle-form-actions{margin-top:0}
.current-state-photo-stack{display:grid;gap:12px}.current-state-photo-stack .media-uploader,.profile-photo-grid .media-uploader{min-width:0;margin:0;padding:14px;border-color:#dfe8ef;background:#f8fafc}.current-state-photo-stack .media-uploader-head>div,.profile-photo-grid .media-uploader-head>div{display:grid;gap:2px}.current-state-photo-stack .media-uploader-head small,.profile-photo-grid .media-uploader-head small{color:#84919b;font-size:10px;font-weight:500}
.latest-return-originals{margin:0 0 20px;padding:17px;border:1px solid #d7e6f0;border-radius:14px;background:#f5f9fc}.latest-return-originals-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}.latest-return-originals-head>div{display:grid;gap:3px}.latest-return-originals-head strong{color:#214861;font-size:14px}.latest-return-originals-head span,.latest-return-originals-head small{color:#748694;font-size:11px;line-height:1.55}.latest-return-original-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px}.latest-return-original-grid>article{min-width:0;padding:13px;border:1px solid #e0e8ee;border-radius:11px;background:#fff}.latest-return-original-grid .detail-photo-grid img{width:116px;height:84px;object-fit:contain;background:#fff}
.vehicle-section-footnote{margin:18px 0 0;padding:11px 13px;border-radius:9px;background:#f2f7fa;color:#677985;font-size:12px;line-height:1.6}
.profile-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-photo-grid .media-uploader.is-interior{grid-column:1/-1}.profile-photo-grid .media-gallery{min-height:76px}

@media(max-width:900px){.vehicle-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.current-state-workspace{grid-template-columns:1fr}.current-state-photo-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vehicle-edit-hero{align-items:flex-start;padding:19px 17px;border-radius:14px}.vehicle-edit-hero h1{font-size:24px}.vehicle-edit-hero-actions{display:grid;justify-items:end}.vehicle-edit-hero .btn{padding:7px 10px;font-size:12px}.vehicle-edit-nav{top:5px;overflow-x:auto;white-space:nowrap}.vehicle-edit-nav a{padding:6px 9px}.vehicle-edit-section{padding:18px 14px;border-radius:14px}.vehicle-edit-section-head{gap:10px;margin-bottom:18px}.vehicle-edit-section-head h2{font-size:18px}.vehicle-basic-grid{grid-template-columns:1fr;gap:14px}.vehicle-basic-grid .full{grid-column:auto}.dispatch-setting{padding:13px!important}.vehicle-form-actions{align-items:stretch;flex-direction:column}.vehicle-form-actions>span{margin:0}.vehicle-form-actions .btn{width:100%}.current-state-summary{grid-template-columns:1fr}.current-state-summary>div{border-right:0;border-bottom:1px solid #dce8f0}.current-state-summary>div:last-child{border-bottom:0}.current-state-form .fuel-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.current-state-photo-stack,.profile-photo-grid{grid-template-columns:1fr}.profile-photo-grid .media-uploader.is-interior{grid-column:auto}.current-state-photo-stack .media-pick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.current-state-photo-stack .media-pick-actions .btn{padding:7px 8px;font-size:12px}}
@media(max-width:420px){.vehicle-edit-hero{display:grid}.vehicle-edit-hero-actions{display:flex;justify-content:flex-start}.vehicle-edit-nav span{display:none}.vehicle-edit-section-head>.current-state-source{align-self:flex-start}.current-state-form .fuel-choice{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Immediate vehicle allocation conflict notice */
.vehicle-conflict-modal[hidden]{display:none}
.vehicle-conflict-modal{position:fixed;inset:0;z-index:13000;display:grid;place-items:center;padding:18px;background:#102337ad;backdrop-filter:blur(5px)}
.vehicle-conflict-dialog{width:min(480px,100%);padding:28px;border:1px solid #ffffff55;border-radius:20px;background:#fff;text-align:center;box-shadow:0 30px 90px #07182780;animation:vehicleConfirmIn .18s ease-out}
.vehicle-conflict-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:#fff0ef;color:#b63129;font-size:30px;font-weight:900;box-shadow:0 0 0 7px #fff7f6}
.vehicle-conflict-dialog .eyebrow{margin:5px 0;color:#b44740;font-size:10px;font-weight:900;letter-spacing:.12em}
.vehicle-conflict-dialog h2{margin:0;color:#17334a;font-size:23px}
.vehicle-conflict-summary{margin:10px auto 17px;color:#627788;line-height:1.7}.vehicle-conflict-summary strong{color:#173f5b}
.vehicle-conflict-time{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #efd7d4;border-radius:13px;background:#fff9f8;text-align:left;overflow:hidden}
.vehicle-conflict-time>div{padding:12px 14px;border-right:1px solid #efd7d4;border-bottom:1px solid #efd7d4}.vehicle-conflict-time>div:first-child{grid-column:1/-1;border-right:0}.vehicle-conflict-time>div:last-child{border-right:0}.vehicle-conflict-time span,.vehicle-conflict-time strong{display:block}.vehicle-conflict-time span{margin-bottom:3px;color:#9a6d69;font-size:10px}.vehicle-conflict-time strong{color:#7f2b26;font-size:13px;line-height:1.5}
.vehicle-conflict-guidance{margin:15px 0;color:#72828e;font-size:12px;line-height:1.6}.vehicle-conflict-dialog>.btn{width:100%;justify-content:center;min-height:43px}
@media(max-width:520px){.vehicle-conflict-dialog{padding:24px 17px;border-radius:17px}.vehicle-conflict-time{grid-template-columns:1fr}.vehicle-conflict-time>div,.vehicle-conflict-time>div:first-child{grid-column:auto;border-right:0}.vehicle-conflict-time>div:last-child{border-bottom:0}}

/* Unified vehicle profile used by modal details and assigned-vehicle details. */
.vehicle-modal-dialog{width:min(980px,100%)}
.vehicle-modal-body{background:#f4f7fa}
.vehicle-detail-card{display:grid;gap:17px;color:#20384b}
.vehicle-profile-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:24px 64px 0 25px;border-radius:17px;background:linear-gradient(130deg,#123c5c,#176b98);color:#fff;overflow:hidden;box-shadow:0 10px 28px #123c5c22}
.vehicle-profile-hero:after{content:"";position:absolute;right:-50px;top:-80px;width:220px;height:220px;border:34px solid #ffffff0b;border-radius:50%;pointer-events:none}
.vehicle-profile-identity{position:relative;z-index:1;min-width:0}.vehicle-profile-identity .eyebrow{color:#acd9f1}.vehicle-profile-identity h2{margin:4px 0 3px;color:#fff;font-size:30px;line-height:1.15;letter-spacing:.04em}.vehicle-profile-identity>p:last-child{margin:0;color:#d8ebf6;font-size:13px}
.vehicle-profile-hero>.badge{position:relative;z-index:1;align-self:start;border:1px solid #ffffff4d;background:#ffffff17;color:#fff;white-space:nowrap}
.vehicle-profile-specs{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px -64px 0 -25px;padding:0 64px 0 25px;border-top:1px solid #ffffff22;background:#071d2b24}
.vehicle-profile-specs>div{min-width:0;padding:13px 16px;border-right:1px solid #ffffff20}.vehicle-profile-specs>div:first-child{padding-left:0}.vehicle-profile-specs>div:last-child{border-right:0}.vehicle-profile-specs span,.vehicle-profile-specs strong{display:block}.vehicle-profile-specs span{margin-bottom:3px;color:#a9cde0;font-size:10px}.vehicle-profile-specs strong{color:#fff;font-size:13px;overflow-wrap:anywhere}
.vehicle-current-panel,.vehicle-profile-photos{padding:20px;border:1px solid #dbe6ee;border-radius:15px;background:#fff;box-shadow:0 4px 16px #1737530a}
.vehicle-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.vehicle-detail-section-head>div:first-child{min-width:0}.vehicle-detail-section-head h3{margin:2px 0 0;color:#1b405b;font-size:17px}.vehicle-detail-section-head>p{margin:0;color:#84929d;font-size:11px}.vehicle-section-kicker{color:#4d86aa;font-size:9px;font-weight:900;letter-spacing:.14em}
.vehicle-current-facts{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(120px,.65fr) minmax(180px,1fr);border:1px solid #dce7ef;border-radius:12px;background:#f5f9fc;overflow:hidden}.vehicle-current-facts article{min-width:0;padding:14px 15px;border-right:1px solid #dce7ef}.vehicle-current-facts article:last-child{border-right:0}.vehicle-current-facts span,.vehicle-current-facts strong{display:block}.vehicle-current-facts span{margin-bottom:5px;color:#718596;font-size:10px;font-weight:700}.vehicle-current-facts strong{color:#22445d;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.vehicle-current-note{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:11px;padding:10px 12px;border-radius:9px;background:#fff8e8;color:#806329;font-size:11px;line-height:1.55}
.vehicle-current-media{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px;margin-top:14px}.vehicle-current-media>article{min-width:0;padding:13px;border:1px solid #e0e8ee;border-radius:12px;background:#fafcfd}
.vehicle-media-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.vehicle-media-title strong{color:#315268;font-size:12px}.vehicle-media-title span{color:#8896a1;font-size:10px;white-space:nowrap}
.vehicle-current-media .detail-photo-grid img{width:116px;height:84px}
.vehicle-profile-note{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:14px 17px;border:1px solid #e4e9ee;border-radius:12px;background:#fff}.vehicle-profile-note>span{color:#738694;font-size:11px;font-weight:800}.vehicle-profile-note p{margin:0;color:#324d60;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.vehicle-profile-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-profile-photo-card{min-width:0;padding:13px;border:1px solid #e0e8ee;border-radius:12px;background:#f8fafc}.vehicle-profile-photo-card.is-interior{grid-column:1/-1}
.vehicle-profile-photo-card .detail-photo-grid{min-height:96px}.vehicle-profile-photo-card:not(.is-interior) .detail-photo-grid a{width:100%;background:#fff}.vehicle-profile-photo-card:not(.is-interior) .detail-photo-grid img{width:100%;height:152px;object-fit:contain;background:#fff}.vehicle-profile-photo-card.is-interior .detail-photo-grid img{width:150px;height:104px}
.vehicle-photo-empty{display:grid;place-items:center;width:100%;min-height:96px;border:1px dashed #ccd8e1;border-radius:9px;background:#fff;color:#98a4ad;font-size:11px}
.vehicle-detail-card .modal-actions{justify-content:flex-end;margin:2px 0 0;padding-top:2px}.vehicle-detail-card .modal-actions .btn{min-width:110px}
.assigned-vehicle-panel .vehicle-detail-card{max-width:none}.assigned-vehicle-panel .vehicle-profile-hero{padding-right:25px}.assigned-vehicle-panel .vehicle-profile-specs{margin-right:-25px;padding-right:25px}

@media(max-width:700px){.vehicle-profile-hero{padding:19px 55px 0 17px;border-radius:14px}.vehicle-profile-identity h2{font-size:24px}.vehicle-profile-specs{margin:3px -55px 0 -17px;padding:0 55px 0 17px}.vehicle-current-panel,.vehicle-profile-photos{padding:15px}.vehicle-current-facts{grid-template-columns:1fr 1fr}.vehicle-current-facts .is-parking{grid-column:1/-1;border-right:0;border-bottom:1px solid #dce7ef}.vehicle-current-facts article:nth-child(2){border-right:1px solid #dce7ef}.vehicle-current-facts article:last-child{border-right:0}.vehicle-current-media{grid-template-columns:1fr}.vehicle-profile-photo-card:not(.is-interior) .detail-photo-grid img{height:120px}.vehicle-profile-photo-card.is-interior .detail-photo-grid img{width:116px;height:84px}.assigned-vehicle-panel .vehicle-profile-hero{padding-right:17px}.assigned-vehicle-panel .vehicle-profile-specs{margin-right:-17px;padding-right:17px}.latest-return-originals-head{display:grid;gap:5px}.latest-return-original-grid{grid-template-columns:1fr}}
@media(max-width:430px){.vehicle-modal-body{padding:56px 10px 16px}.vehicle-detail-card{gap:12px}.vehicle-profile-hero{grid-template-columns:1fr;padding-right:17px}.vehicle-profile-hero>.badge{position:absolute;right:12px;top:12px}.vehicle-profile-identity{padding-right:70px}.vehicle-profile-specs{margin-right:-17px;padding-right:17px}.vehicle-profile-specs>div{padding:11px 9px}.vehicle-profile-specs strong{font-size:12px}.vehicle-current-panel,.vehicle-profile-photos{padding:13px}.vehicle-detail-section-head{align-items:flex-start}.vehicle-current-facts{grid-template-columns:1fr}.vehicle-current-facts .is-parking,.vehicle-current-facts article{grid-column:auto;border-right:0;border-bottom:1px solid #dce7ef}.vehicle-current-facts article:last-child{border-bottom:0}.vehicle-current-media .detail-photo-grid img{width:104px;height:76px}.vehicle-profile-photo-grid{gap:9px}.vehicle-profile-photo-card{padding:10px}.vehicle-profile-photo-card:not(.is-interior) .detail-photo-grid{min-height:72px}.vehicle-profile-photo-card:not(.is-interior) .detail-photo-grid img{height:92px}.vehicle-photo-empty{min-height:72px}.vehicle-profile-photo-card.is-interior .detail-photo-grid img{width:92px;height:70px}.vehicle-profile-note{grid-template-columns:1fr;gap:4px}.vehicle-detail-card .modal-actions{display:grid;grid-template-columns:1fr 1fr}.vehicle-detail-card .modal-actions .btn{min-width:0;width:100%}}

/* Applicant emphasis in the administrator booking detail. */
.booking-applicant-highlight{display:inline-block;padding:2px 8px;border-radius:7px;background:#e8f3fa;color:#155f8c;font-size:15px;font-weight:850;line-height:1.6}
.booking-applicant-department{color:#687f90}

/* Mobile-first planned vehicle time picker. */
.time-range-redesign{padding:20px;border-color:#c9ddea;background:linear-gradient(145deg,#f4f9fc,#edf6fb)}
.time-range-title>div{display:grid;gap:3px}.time-range-title small{color:#758999;font-size:11px;font-weight:500}
.time-range-trigger{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;padding:0;border:1px solid #ccdae4;border-radius:14px;background:#fff;color:#24465e;text-align:left;box-shadow:0 4px 14px #173b5510;cursor:pointer;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.time-range-trigger:hover{border-color:#75acd0;box-shadow:0 8px 24px #165f8c1c}.time-range-trigger:active{transform:scale(.995)}.time-range-trigger:focus-visible{outline:3px solid #2d8bc53d;outline-offset:2px}
.time-point{display:grid;gap:4px;min-width:0;padding:17px 18px}.time-point i{width:max-content;padding:2px 7px;border-radius:999px;background:#e7f2f9;color:#28749f;font-size:10px;font-style:normal;font-weight:850}.time-point b{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.time-point small{color:#83919c;font-size:11px}.end-point{border-left:1px solid #e1e9ef}.end-point i{background:#eef0fb;color:#5c63a5}
.time-range-arrow{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;margin:0 -17px;border:1px solid #dce6ed;border-radius:50%;background:#fff;color:#5b7e95;font-weight:900;box-shadow:0 3px 9px #23475d1a}.time-edit-hint{position:absolute;right:10px;top:9px;color:#2d7eaa;font-size:10px;font-weight:750}.time-range-trigger.has-value .time-point b{color:#173e59}
.time-range-redesign .quick-duration{margin-top:13px}.time-range-redesign .quick-duration button{min-height:34px;padding:6px 12px;border:1px solid #d1dee7;border-radius:9px;background:#fff;color:#315b75;font-weight:750;cursor:pointer;transition:.16s}.time-range-redesign .quick-duration button:hover{border-color:#5d9fc9;background:#eaf5fb}.time-range-redesign .quick-duration button:active{transform:translateY(1px)}
.booking-time-inline-error,.booking-time-validation{margin-top:12px;padding:9px 12px;border-radius:9px;background:#fff0ef;color:#a43d36;font-size:12px;line-height:1.55}.booking-submit-actions{margin-top:22px}
.booking-time-modal[hidden]{display:none}.booking-time-modal{position:fixed;inset:0;z-index:15000;display:grid;place-items:center;padding:18px}.booking-time-backdrop{position:absolute;inset:0;background:#10283db3;backdrop-filter:blur(5px)}body.booking-time-open{overflow:hidden}
.booking-time-dialog{position:relative;width:min(820px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #ffffff5c;border-radius:22px;background:#f5f8fb;box-shadow:0 32px 100px #07182780;animation:vehicleConfirmIn .18s ease-out}
.booking-time-dialog-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 23px;border-bottom:1px solid #dbe5ec;background:#fff}.booking-time-dialog-head span{color:#3180aa;font-size:9px;font-weight:900;letter-spacing:.15em}.booking-time-dialog-head h2{margin:3px 0 0;color:#173e59;font-size:22px}.booking-time-close{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eef3f6;color:#527083;font-size:25px;cursor:pointer}.booking-time-close:hover{background:#e1ebf1;color:#234e68}
.booking-time-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:18px 22px 8px}.booking-time-summary-card{display:grid;gap:3px;min-width:0;padding:13px 15px;border:1px solid #d8e3ea;border-radius:13px;background:#fff;color:#294e66;text-align:left;cursor:pointer;transition:.18s}.booking-time-summary-card:hover{border-color:#8ebbd6}.booking-time-summary-card.is-active{border-color:#3289b8;background:#edf7fc;box-shadow:0 0 0 3px #2d8bc518}.booking-time-summary-card span{color:#748795;font-size:10px}.booking-time-summary-card strong{font-size:14px;line-height:1.45}.booking-time-summary-card small{color:#8c99a3;font-size:10px}.booking-summary-arrow{color:#6b8799;font-weight:900}
.booking-time-editor{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(250px,.85fr);gap:16px;padding:14px 22px 18px}.booking-date-area,.booking-clock-area{min-width:0;padding:16px;border:1px solid #dce6ed;border-radius:15px;background:#fff}.booking-editor-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.booking-editor-label span{color:#244c66;font-size:13px;font-weight:850}.booking-editor-label small{color:#84939e;font-size:10px}
.booking-date-anchor{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;font-size:16px!important}.booking-date-area{overflow:hidden}.booking-date-area .flatpickr-calendar{width:100%;max-width:100%;box-shadow:none}.booking-date-area .flatpickr-innerContainer,.booking-date-area .flatpickr-rContainer,.booking-date-area .flatpickr-days,.booking-date-area .dayContainer{width:100%;max-width:100%;min-width:0}.booking-date-area .flatpickr-day{max-width:none;height:39px;line-height:39px;border-radius:10px}.booking-date-area .flatpickr-day.selected{background:#2f8fc5;border-color:#2f8fc5;box-shadow:0 4px 9px #2f8fc539}.booking-date-area .flatpickr-months{margin-bottom:7px}.booking-date-area .flatpickr-current-month{font-size:105%}
.booking-clock-selects{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;padding:18px 0}.booking-clock-selects label{display:grid;gap:6px}.booking-clock-selects label span{color:#758693;font-size:10px}.booking-clock-selects select{width:100%;height:54px;padding:0 11px;border:1px solid #cbd9e3;border-radius:11px;background:#f8fafc;color:#183f59;font-size:22px;font-weight:850;text-align:center;cursor:pointer}.booking-clock-selects select:focus{border-color:#368fc0;outline:3px solid #2d8bc51c}.booking-clock-selects>b{padding-bottom:13px;color:#678397;font-size:22px}
.booking-time-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-time-shortcuts button{min-height:39px;border:1px solid #d7e2e9;border-radius:9px;background:#f7fafc;color:#315a73;font-weight:750;cursor:pointer}.booking-time-shortcuts button:hover{border-color:#5c9fc8;background:#eaf5fb}.booking-time-shortcuts button:active{transform:scale(.97)}
.booking-time-validation{margin:0 22px 14px}.booking-time-dialog-foot{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:10px;padding:15px 22px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #dbe5ec;background:#fff}.booking-time-dialog-foot .btn{min-width:130px;justify-content:center}.booking-time-dialog-foot .btn:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.55}
@media(max-width:700px){.booking-time-modal{align-items:end;padding:0}.booking-time-dialog{width:100%;max-height:94dvh;border-radius:22px 22px 0 0}.booking-time-dialog-head{padding:16px 17px}.booking-time-dialog-head h2{font-size:19px}.booking-time-summary{padding:13px 14px 5px}.booking-time-summary-card{padding:11px}.booking-time-summary-card strong{font-size:12px}.booking-time-summary-card small{display:none}.booking-time-editor{grid-template-columns:1fr;gap:10px;padding:10px 14px 14px}.booking-date-area,.booking-clock-area{padding:13px}.booking-clock-selects{padding:9px 0 13px}.booking-clock-selects select{height:48px;font-size:20px}.booking-time-validation{margin:0 14px 10px}.booking-time-dialog-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.booking-time-dialog-foot .btn{flex:1;min-height:46px;min-width:0}.booking-date-area .flatpickr-day{height:37px;line-height:37px}}
@media(max-width:520px){.time-range-trigger{grid-template-columns:1fr}.time-point{padding:15px 14px}.end-point{border-left:0;border-top:1px solid #e1e9ef}.time-range-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);margin:0}.time-edit-hint{top:13px}.time-range-redesign .quick-duration{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.time-range-redesign .quick-duration>span{grid-column:1/-1}.time-range-redesign .quick-duration button{padding:6px 4px}.booking-time-summary{gap:6px}.booking-time-summary-card{padding:10px 8px}.booking-summary-arrow{font-size:12px}.booking-editor-label{margin-bottom:8px}.booking-time-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:370px){.booking-time-summary-card strong{font-size:11px}.booking-time-summary-card span{font-size:9px}.booking-date-area .flatpickr-day{height:34px;line-height:34px}.booking-time-shortcuts button{min-height:36px;font-size:12px}}

/* Administrator-only pending vehicle issues. */
.vehicle-pending-issue-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid #efc8c4;border-radius:999px;background:#fff1f0;color:#a6332c;text-decoration:none;font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer}.vehicle-pending-issue-badge:hover{border-color:#dfa49f;background:#ffe8e6;color:#8f241e}
.vehicle-pending-issues{position:relative;padding:20px;border:1px solid #efd4d0;border-radius:15px;background:#fffafa;box-shadow:0 4px 16px #7d2f2809}.vehicle-pending-issues .vehicle-detail-section-head{margin-bottom:13px}.vehicle-pending-issues .vehicle-section-kicker{color:#b24d45}.vehicle-pending-issues h3 em{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:5px;padding:0 6px;border-radius:999px;background:#b43f37;color:#fff;font-size:11px;font-style:normal;vertical-align:2px}
.vehicle-edit-issues{scroll-margin-top:76px;margin:0 0 18px}.vehicle-edit-issues .vehicle-pending-issues{padding:24px 26px;border-radius:16px;box-shadow:0 5px 18px #1737530c}
.vehicle-edit-history{scroll-margin-top:76px;margin:0 0 18px}.vehicle-resolved-history{overflow:hidden;border:1px solid #d9e5ec;border-radius:15px;background:#fff}.vehicle-resolved-history>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:#f7fafc;color:#20475f}.vehicle-resolved-history>summary::-webkit-details-marker{display:none}.vehicle-resolved-history>summary span{display:flex;align-items:baseline;gap:10px}.vehicle-resolved-history>summary strong{font-size:16px}.vehicle-resolved-history>summary small,.vehicle-resolved-history>summary i{color:#718494;font-size:12px;font-style:normal}.vehicle-resolved-history[open]>summary i{font-size:0}.vehicle-resolved-history[open]>summary i:after{content:'收起';font-size:12px}.vehicle-resolved-list{display:grid;gap:10px;padding:14px;border-top:1px solid #e2ebf0}.vehicle-resolved-record{border:1px solid #dde7ed;border-radius:11px;background:#fff}.vehicle-resolved-record>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.vehicle-resolved-record>summary::-webkit-details-marker{display:none}.vehicle-resolved-record>summary strong{color:#31556c;font-size:13px}.vehicle-resolved-record>summary small{color:#7a8b97;font-size:12px}.vehicle-resolved-body{padding:0 14px 14px;border-top:1px solid #edf2f5}.vehicle-resolved-body dl{display:grid;grid-template-columns:92px 1fr;gap:8px 12px;margin:13px 0}.vehicle-resolved-body dt{color:#778995;font-size:12px}.vehicle-resolved-body dd{margin:0;color:#28495e;font-size:13px}.vehicle-resolved-body .btn{width:max-content}
.vehicle-modal-issue-fallback{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:15px 18px;border:1px solid #efc9c4;border-radius:14px;background:#fff3f1;color:#8f3029}.vehicle-modal-issue-fallback>div{display:grid;gap:3px}.vehicle-modal-issue-fallback strong{font-size:15px}.vehicle-modal-issue-fallback span{color:#8c6864;font-size:12px}.vehicle-modal-issue-fallback .btn{flex:0 0 auto;text-decoration:none}
@media(max-width:620px){.vehicle-resolved-history>summary span{align-items:flex-start;flex-direction:column;gap:3px}.vehicle-resolved-record>summary{grid-template-columns:1fr auto}.vehicle-resolved-record>summary .vehicle-issue-badges{grid-column:1/-1}.vehicle-resolved-body dl{grid-template-columns:1fr;gap:3px}.vehicle-resolved-body dd{margin-bottom:7px}}
@media(max-width:520px){.vehicle-modal-issue-fallback{align-items:stretch;flex-direction:column}.vehicle-modal-issue-fallback .btn{justify-content:center;width:100%}}
.vehicle-issue-list{display:grid;gap:9px}.vehicle-issue-record{border:1px solid #e6d9d7;border-left:4px solid #d9822b;border-radius:11px;background:#fff;overflow:hidden}.vehicle-issue-record.has-return-issue{border-left-color:#c84a42}.vehicle-issue-record summary{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(0,1.15fr) auto;align-items:center;gap:14px;padding:13px 14px;cursor:pointer;list-style:none;transition:background .16s}.vehicle-issue-record summary::-webkit-details-marker{display:none}.vehicle-issue-record summary:hover{background:#fff7f6}.vehicle-issue-main{display:grid;gap:4px;min-width:0}.vehicle-issue-main>strong{color:#27475d;font-size:12px}.vehicle-issue-main>small{color:#758794;font-size:10px}.vehicle-issue-badges{display:flex;gap:5px;flex-wrap:wrap}.vehicle-issue-badges i{padding:2px 7px;border-radius:999px;font-size:9px;font-style:normal;font-weight:850}.vehicle-issue-badges .departure-issue{background:#fff2df;color:#a55a16}.vehicle-issue-badges .return-issue{background:#ffebe9;color:#a9342d}.vehicle-issue-summary{display:-webkit-box;min-width:0;color:#5d6f7b;font-size:11px;line-height:1.55;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.vehicle-issue-toggle{color:#287ba6;font-size:10px;font-weight:850;white-space:nowrap}.vehicle-issue-toggle:after{content:'⌄';display:inline-block;margin-left:5px;transition:transform .18s}.vehicle-issue-record[open] .vehicle-issue-toggle:after{transform:rotate(180deg)}.vehicle-issue-record[open] .vehicle-issue-toggle{font-size:0}.vehicle-issue-record[open] .vehicle-issue-toggle:before{content:'收起';font-size:10px}
.vehicle-issue-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:12px 14px;border-top:1px solid #eee2e0;background:#fffdfd}.vehicle-issue-actions p{flex:1;margin:0;color:#7a898f;font-size:10px;line-height:1.55}.vehicle-issue-actions .btn{min-height:34px;padding:7px 11px;font-size:11px}.vehicle-issue-message{margin-top:10px;padding:9px 11px;border-radius:8px;font-size:11px}.vehicle-issue-message.is-success{background:#eaf8f0;color:#257049}.vehicle-issue-message.is-error{background:#fff0ef;color:#a43d36}
.vehicle-issue-confirm[hidden]{display:none}.vehicle-issue-confirm{position:fixed;inset:0;z-index:17000;display:grid;place-items:center;padding:18px;background:#102337b8;backdrop-filter:blur(5px)}.vehicle-issue-confirm-dialog{width:min(430px,100%);padding:25px;border:1px solid #ffffff55;border-radius:19px;background:#fff;text-align:center;box-shadow:0 28px 80px #0718277a;animation:vehicleConfirmIn .18s ease-out}.vehicle-issue-confirm-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#eaf7f0;color:#22815a;font-size:25px;font-weight:900}.vehicle-issue-confirm-dialog h3{margin:0;color:#193d57;font-size:21px}.vehicle-issue-confirm-dialog>p{margin:9px 0 17px;color:#697d8c;font-size:12px;line-height:1.65}.vehicle-issue-confirm-dialog label{display:grid;gap:6px;text-align:left;color:#617583;font-size:10px;font-weight:750}.vehicle-issue-confirm-dialog select{width:100%;min-height:43px;padding:8px 11px;border:1px solid #cfdae2;border-radius:10px;background:#f8fafc;color:#264a63;font-size:14px}.vehicle-issue-confirm-dialog .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.vehicle-issue-confirm-dialog .btn{justify-content:center;width:100%}
@media(max-width:700px){.vehicle-card-actions{flex-wrap:wrap}.vehicle-pending-issues{padding:14px}.vehicle-issue-record summary{grid-template-columns:1fr auto;gap:7px 10px;padding:12px}.vehicle-issue-main{grid-column:1/2}.vehicle-issue-summary{grid-column:1/-1;grid-row:2}.vehicle-issue-toggle{grid-column:2;grid-row:1}.vehicle-issue-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.vehicle-issue-actions p{grid-column:1/-1}.vehicle-issue-actions .btn{justify-content:center;width:100%}}
@media(max-width:430px){.vehicle-pending-issues{padding:12px}.vehicle-issue-actions{padding:11px}.vehicle-issue-confirm{align-items:end;padding:0}.vehicle-issue-confirm-dialog{width:100%;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}}

/* Return refuelling workflow. */
.return-refuel-section{border-color:#cbdfea;background:linear-gradient(145deg,#f8fbfd,#f1f8fb)}
.refuel-fields{display:grid;gap:16px;margin-top:16px}.refuel-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.refuel-core-grid select,.refuel-core-grid input{min-height:46px}.refuel-core-grid small{display:block;margin-top:6px;color:#6f8594;font-size:11px;line-height:1.55}.field-warning{color:#aa4038!important;font-weight:750}
.return-refuel-section input[type="datetime-local"],.fuel-finance-actions input[type="datetime-local"]{font-size:16px}
.fuel-record-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fuel-record-modes label{display:block;cursor:pointer}.fuel-record-modes input{position:absolute;opacity:0;pointer-events:none}.fuel-record-modes span{display:grid;gap:4px;height:100%;padding:14px;border:1px solid #d5e1e8;border-radius:12px;background:#fff;color:#38576b;transition:.18s}.fuel-record-modes b{font-size:13px}.fuel-record-modes small{color:#7a8d99;font-size:10px;line-height:1.5}.fuel-record-modes input:checked+span{border-color:#2c8bc0;background:#eaf6fc;box-shadow:0 0 0 3px #2d8bc51c;color:#175f89}.fuel-record-modes label:active span{transform:scale(.985)}
.fuel-mode-panel{padding:16px;border:1px solid #d8e5ec;border-radius:13px;background:#fff}.fuel-mode-panel[hidden],.refuel-fields[hidden]{display:none}.receipt-uploader{margin-top:13px}.fuel-pending-hint{margin:10px 0 0;padding:10px 12px;border-radius:9px;background:#fff4df;color:#8f5b18;font-size:11px;line-height:1.6}

/* Finance fuel-card pages. */
.fuel-finance-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 17px;border:1px solid #efc997;border-radius:12px;background:#fff7e9;color:#80501a}.fuel-finance-alert strong{font-size:14px}.fuel-finance-alert span{font-size:11px}
.fuel-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.fuel-card-tile{overflow:hidden;border:1px solid #d5e3ec;border-radius:16px;background:#fff;box-shadow:0 7px 25px #163d5910}.fuel-card-tile.is-disabled{filter:saturate(.45);opacity:.75}.fuel-card-tile.is-low{border-color:#edc293}.fuel-card-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 19px 12px}.fuel-card-tile-head>div>span{color:#3581aa;font-size:10px;font-weight:850;letter-spacing:.08em}.fuel-card-tile h2{margin:4px 0 0;color:#173f5a;font-size:19px}.fuel-balance{display:grid;gap:3px;padding:18px 19px;background:linear-gradient(135deg,#134d72,#197ba4);color:#fff}.fuel-balance small{font-size:10px;opacity:.72}.fuel-balance strong{font-size:29px;line-height:1.2}.fuel-balance em{width:max-content;padding:3px 7px;border-radius:999px;background:#fff1d5;color:#8d5510;font-size:9px;font-style:normal;font-weight:850}.fuel-card-tile dl{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0;padding:13px 9px}.fuel-card-tile dl>div{min-width:0;padding:4px 10px;border-right:1px solid #e4ebf0}.fuel-card-tile dl>div:last-child{border:0}.fuel-card-tile dt{color:#81909b;font-size:9px}.fuel-card-tile dd{margin:4px 0 0;color:#294b61;font-size:11px;font-weight:800;overflow-wrap:anywhere}.fuel-pending-text{color:#b34b32!important}.fuel-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 19px 18px}.fuel-card-actions .btn{justify-content:center}
.fuel-view-toolbar{display:flex;gap:9px;margin-bottom:13px}.fuel-card-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:18px;padding:24px 28px;border-radius:18px;background:linear-gradient(135deg,#123e5d,#197ba5);color:#fff;box-shadow:0 15px 38px #123e5d2b}.fuel-card-hero.is-low{background:linear-gradient(135deg,#71462b,#bd6936)}.fuel-card-hero>div>span{font-size:11px;font-weight:850;letter-spacing:.1em;opacity:.72}.fuel-card-hero h1{margin:5px 0;font-size:25px}.fuel-card-hero small{opacity:.72}.fuel-card-hero-balance{text-align:right}.fuel-card-hero-balance>span{display:block;font-size:10px;opacity:.75}.fuel-card-hero-balance strong{display:block;margin:2px 0;font-size:35px}.fuel-finance-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.fuel-finance-actions article{padding:20px;border:1px solid #d6e3eb;border-radius:15px;background:#fff;box-shadow:0 6px 20px #183f590c}.fuel-finance-actions h2{margin:0;color:#1f4a66;font-size:17px}.fuel-finance-actions p{min-height:36px;color:#718492;font-size:11px;line-height:1.6}.fuel-finance-actions form{display:grid;gap:10px}.fuel-finance-actions .btn{justify-content:center;margin-top:3px}
.fuel-ledger-list{display:grid;gap:13px}.fuel-ledger-item{overflow:hidden;border:1px solid #dbe6ed;border-left:4px solid #6aa2c1;border-radius:13px;background:#fff}.fuel-ledger-item.pending{border-left-color:#dd8b2f}.fuel-ledger-item.verified{border-left-color:#4a9b73}.fuel-ledger-item>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f7fafc}.fuel-ledger-item>header>div{display:grid;gap:3px}.fuel-ledger-item>header span{color:#718491;font-size:10px}.fuel-ledger-item>header strong{color:#244b64;font-size:13px}.fuel-review-badge{padding:4px 8px;border-radius:999px;background:#e9f1f6;color:#477087!important;font-weight:850}.fuel-review-badge.pending{background:#fff0da;color:#985b13!important}.fuel-review-badge.verified{background:#e7f5ed;color:#287351!important}.fuel-ledger-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:13px 8px}.fuel-ledger-facts>div{padding:3px 10px;border-right:1px solid #e5edf2}.fuel-ledger-facts>div:last-child{border:0}.fuel-ledger-facts span{display:block;color:#81919c;font-size:9px}.fuel-ledger-facts strong{display:block;margin-top:4px;color:#294b61;font-size:12px;overflow-wrap:anywhere}.fuel-ledger-context{display:flex;flex-wrap:wrap;gap:8px 17px;padding:11px 16px;border-top:1px solid #e7eef3;background:#fbfcfd;color:#667e8e;font-size:11px}.fuel-ledger-context b{color:#264d66}.fuel-ledger-context a{margin-left:auto;color:#1c78a7;font-weight:800}.fuel-ledger-notes{padding:11px 16px;border-top:1px solid #e7eef3;color:#586f7e;font-size:11px;line-height:1.6}.fuel-ledger-notes p{margin:3px 0}.fuel-receipts{display:grid;gap:9px;padding:12px 16px;border-top:1px solid #e7eef3}.fuel-receipts>strong{color:#395d73;font-size:11px}.fuel-receipts .detail-photo-grid img{width:116px;height:82px;object-fit:cover}.fuel-verify-form{display:flex;gap:9px;padding:12px 16px;border-top:1px solid #eadfce;background:#fffbf4}.fuel-verify-form input{flex:1;min-width:0}.fuel-card-form .actions{margin-top:18px}

@media(max-width:720px){.refuel-core-grid,.fuel-finance-actions{grid-template-columns:1fr}.fuel-record-modes{grid-template-columns:1fr}.fuel-finance-actions p{min-height:0}.fuel-ledger-facts{grid-template-columns:1fr 1fr;gap:0}.fuel-ledger-facts>div{padding:9px 10px;border-bottom:1px solid #e5edf2}.fuel-ledger-facts>div:nth-child(2n){border-right:0}.fuel-ledger-facts>div:nth-last-child(-n+2){border-bottom:0}.fuel-card-hero{grid-template-columns:1fr;padding:20px}.fuel-card-hero-balance{text-align:left}.fuel-finance-alert{align-items:flex-start;flex-direction:column}.fuel-ledger-context a{width:100%;margin-left:0}.fuel-verify-form{align-items:stretch;flex-direction:column}}
@media(max-width:430px){.fuel-card-grid{grid-template-columns:1fr}.fuel-card-tile dl{grid-template-columns:1fr 1fr}.fuel-card-tile dl>div{border-bottom:1px solid #e4ebf0}.fuel-card-tile dl>div:nth-child(2){border-right:0}.fuel-card-tile dl>div:last-child{grid-column:1/-1;border-bottom:0}.fuel-card-actions{grid-template-columns:1fr}.fuel-card-hero h1{font-size:22px}.fuel-card-hero-balance strong{font-size:30px}.fuel-ledger-item>header{align-items:flex-start;flex-direction:column}.fuel-view-toolbar{display:grid;grid-template-columns:1fr 1fr}.fuel-view-toolbar .btn{justify-content:center}.refuel-choice{grid-template-columns:1fr}.fuel-mode-panel{padding:13px}}
