@font-face{font-family:'AaZongYiYuanLocal';src:url('/fonts/AaZongYiYuan.ttf?v=v1.1.123-hub-flight-force-refresh-20260612') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'DigitalPlayLocal';src:url('/fonts/Digital-Play-St.ttf?v=v1.1.123-hub-flight-force-refresh-20260612') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
:root{--bg:#f4f7fb;--panel:#fff;--line:#e5e7eb;--text:#1f2937;--muted:#64748b;--brand:#2563eb;--brand2:#eff6ff;--banner:#0f172a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button{border:0;border-radius:10px;background:var(--brand);color:#fff;padding:10px 14px;cursor:pointer}button:hover{opacity:.95}.app-shell{width:100%;max-width:none;margin:0;padding:0 24px 32px}.top-banner{position:sticky;top:0;z-index:40;width:calc(100% + 48px);text-align:left;background:linear-gradient(135deg,#0f172a,#1e40af);color:#fff;border-radius:0;padding:14px 28px;margin:0 -24px 20px;box-shadow:0 10px 30px rgba(15,23,42,.16)}.banner-row{display:flex;align-items:center;gap:28px}.brand-block{flex:0 0 auto;min-width:260px}.top-banner h1{margin:0;font-size:20.8px;letter-spacing:.04em;line-height:1.15}.version-text{margin:5px 0 0;font-size:9.6px;color:#cbd5e1}.header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px}.header-meta .version-text{margin:0}.header-user-area{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-user-area .nav-user{font-size:12px;color:#e0f2fe;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:999px}.header-user-area .logout-btn{font-size:12px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff}.header-user-area .nav-license{font-size:12px;padding:4px 8px;border-radius:999px;background:#eaf7ee;color:#166534}.header-user-area .nav-license.warn{background:#fff3cd;color:#92400e}.main-panel{width:100%;text-align:left}.content-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}.eyebrow{margin:0 0 6px;font-size:9.6px;letter-spacing:.14em;color:var(--muted)}h1,h2{margin:0}.muted{color:var(--muted)}.version-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--brand2);color:#0369a1;padding:6px 12px;font-weight:700}.nav{display:flex;flex-wrap:wrap;gap:8px;margin:0;align-items:center}.nav button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28)}.nav button.active{background:#fff;color:#1e40af;border-color:#fff}.dash-card{background:#fff;color:var(--text);border:1px solid var(--line)}.dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-card{padding:16px;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.dash-card strong{font-size:22.4px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.table{width:100%;border-collapse:collapse;margin-top:12px;font-size:11.2px}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;vertical-align:top}.table th{background:#f8fafc}.table td{max-width:220px;word-break:break-word}.table button{padding:7px 10px;margin-right:6px}.form-box{margin-top:18px;padding:14px;border-radius:14px;background:#f8fafc;border:1px solid var(--line)}.grid-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.grid-form label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155}.grid-form input,.grid-form select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.grid-form button{grid-column:1/-1;justify-self:start}.hidden{display:none}.status-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 14px}.status-card{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:12px}.status-card strong{display:block;font-size:17.6px}.wide{grid-column:span 2}.toast{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.toast.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.toast.hidden{display:none}.data-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.data-item{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fafc}.data-item strong{display:block}.data-item span{display:block;margin-top:4px;color:var(--muted);font-size:10.4px}
@media(max-width:900px){.dashboard,.status-cards,.data-list{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form{grid-template-columns:1fr}.wide{grid-column:auto}.table{display:block;overflow-x:auto}.top-banner h1{font-size:19.2px}}

.modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:flex-start;justify-content:center;padding:48px 24px;z-index:50;overflow:auto}.modal-card{width:min(1440px,calc(100vw - 48px));background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(15,23,42,.35);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#f8fafc}.modal-body{padding:18px}.vehicle-form{grid-template-columns:repeat(4,minmax(0,1fr))}.form-actions{grid-column:1/-1;display:flex;gap:10px}.form-actions button[type=button]{background:#64748b}
@media(max-width:900px){.banner-row{align-items:flex-start;flex-direction:column;gap:12px}.brand-block{min-width:0}.modal-mask{padding:20px 10px}.modal-card{width:100%}.vehicle-form{grid-template-columns:1fr}}
.sub-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px;padding:10px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.sub-nav button{background:#e2e8f0;color:#1f2937}.sub-nav button.active{background:#2563eb;color:#fff}.sub-nav.small{margin-top:0}.chauffeur-date-nav{gap:6px;padding:8px 10px;margin-top:-4px}.chauffeur-date-nav button{padding:8px 11px}.setting-panel{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;margin-top:12px}.setting-panel h3{margin:0}.setting-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 12px}.setting-form input,.field-label select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.setting-form button{justify-self:start}.two-col-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-label{display:flex;flex-direction:column;gap:6px;color:#334155;font-size:10.4px;margin:0 0 10px}.empty-panel{border:1px dashed #cbd5e1;border-radius:14px;padding:22px;background:#f8fafc}.empty-panel h3{margin:0 0 8px}
@media(max-width:900px){.two-col-settings,.setting-form{grid-template-columns:1fr}}
.dictionary-stack{display:flex;flex-direction:column;gap:18px}.dictionary-module{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.dictionary-module>h3{margin:0 0 8px;font-size:15.2px;color:#0f172a}.dictionary-module .setting-panel{margin-top:10px;border-radius:12px;box-shadow:none}.brand-module .two-col-settings{margin-top:10px}.main-panel>.sub-nav:first-child{margin-top:0}
.dictionary-width{width:300px;max-width:100%;overflow-x:auto}.dictionary-table{min-width:300px}.dictionary-table th,.dictionary-table td{white-space:nowrap}.compact-setting-form{grid-template-columns:1fr;max-width:300px}.compact-setting-form button{width:max-content}.dictionary-module .two-col-settings .dictionary-width{width:300px}.dictionary-module .two-col-settings{grid-template-columns:300px 300px;align-items:start}
@media(max-width:900px){.dictionary-width,.compact-setting-form{width:100%;max-width:100%}.dictionary-module .two-col-settings{grid-template-columns:1fr}}
.dictionary-row.four-dictionaries{display:grid;grid-template-columns:repeat(4,400px);gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}.four-dictionaries .dictionary-module{width:400px;box-sizing:border-box}.four-dictionaries .dictionary-width{width:400px}.four-dictionaries .dictionary-table{min-width:400px}.four-dictionaries .compact-setting-form{max-width:400px}
@media(max-width:1700px){.dictionary-row.four-dictionaries{grid-template-columns:repeat(4,400px)}}
@media(max-width:900px){.dictionary-row.four-dictionaries{display:flex;flex-direction:column;overflow-x:visible}.four-dictionaries .dictionary-module,.four-dictionaries .dictionary-width,.four-dictionaries .compact-setting-form{width:100%;max-width:100%}}
.dictionary-row.vehicle-dictionaries{display:grid;grid-template-columns:repeat(5,400px);gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}.vehicle-dictionaries .dictionary-module{width:400px;box-sizing:border-box}.vehicle-dictionaries .dictionary-width{width:400px}.vehicle-dictionaries .dictionary-table{min-width:400px}.vehicle-dictionaries .compact-setting-form{max-width:400px}.dictionary-row.finance-dictionaries{display:grid;grid-template-columns:repeat(7,360px);gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}.finance-dictionaries .dictionary-module{width:360px;box-sizing:border-box}.finance-dictionaries .dictionary-width{width:360px}.finance-dictionaries .dictionary-table{min-width:360px}.finance-dictionaries .compact-setting-form{max-width:360px}.finance-sub-nav{margin-top:0}.finance-panel{margin-top:12px}
@media(max-width:900px){.dictionary-row.vehicle-dictionaries{display:flex;flex-direction:column;overflow-x:visible}.vehicle-dictionaries .dictionary-module,.vehicle-dictionaries .dictionary-width,.vehicle-dictionaries .compact-setting-form{width:100%;max-width:100%}}
.dictionary-width{overflow-x:visible}.dictionary-row.vehicle-dictionaries{overflow-x:visible}.dictionary-row.four-dictionaries{overflow-x:visible}.main-cell{font-weight:700;color:#12213a}.sub-cell{margin-top:4px;color:#667085;font-size:9.6px;line-height:1.35}.table td div+div{margin-top:3px}
.upload-field{display:block}.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.upload-tip{color:#667085;font-size:9.6px}.upload-preview{margin-top:8px;min-height:34px}.upload-empty{color:#98a2b3;font-size:9.6px}.upload-thumb{width:96px;height:72px;object-fit:cover;border:1px solid #d0d5dd;border-radius:8px;cursor:pointer;background:#fff}.file-preview{border:1px solid #2f6fed;background:#eef4ff;color:#1d4ed8;border-radius:8px;padding:8px 12px;cursor:pointer}.large-preview{display:block;max-width:min(1200px,90vw);max-height:78vh;margin:auto;object-fit:contain}.pdf-frame{width:min(1200px,90vw);height:78vh;border:0;background:#fff;border-radius:8px}
.vehicle-table th,.vehicle-table td{text-align:center;vertical-align:middle}.vehicle-table td{line-height:1.45}.vehicle-table .main-cell,.vehicle-table .sub-cell{text-align:center}.vehicle-table-detail-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;min-height:32px}.vehicle-table button.vehicle-table-detail-cell{display:flex;width:100%;background:transparent;color:inherit;padding:0;margin:0;border-radius:0}.vehicle-table-detail-cell span{font-weight:700;color:#12213a}.vehicle-table-detail-cell small{font-size:9.6px;color:#667085;line-height:1.35}.vehicle-status{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:9.6px}.status-normal{background:#dcfce7;color:#15803d}.status-chauffeur-service{background:#fef3c7;color:#b45309}.status-offline{background:#fee2e2;color:#b91c1c}.action-buttons{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.action-buttons button{white-space:nowrap;padding:6px 9px}
.vehicle-plate-link{display:block;width:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:center}.vehicle-plate-link:hover .main-cell{text-decoration:underline}.vehicle-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.vehicle-detail-item{padding:12px 14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.vehicle-detail-item span{display:block;color:#64748b;font-size:9.6px;margin-bottom:6px}.vehicle-detail-item strong{display:block;color:#0f172a;font-size:11.2px;line-height:1.5;word-break:break-all}.vehicle-detail-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vehicle-media-block{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.vehicle-media-block h3{margin:0 0 10px;font-size:11.2px}.upload-files{display:flex;flex-wrap:wrap;gap:8px}.upload-files .upload-thumb{margin:0}.upload-files .pdf-preview{margin:0}.modal-card{max-width:min(1440px,calc(100vw - 48px))}.modal-body{max-height:calc(100vh - 140px);overflow:auto}
.action-more-wrap{gap:8px}.more-action{position:relative;display:inline-flex;align-items:center}.more-toggle{position:relative}.more-menu{display:none;position:absolute;right:0;left:auto;top:calc(100% + 6px);min-width:108px;padding:6px;background:#fff;border:1px solid #dbe3ef;border-radius:10px;box-shadow:0 14px 36px rgba(15,23,42,.16);z-index:80;flex-direction:column;gap:6px}.more-menu.open{display:flex}.more-menu button{width:100%;justify-content:center}.inspection-group div{margin-bottom:2px}.date-cell{display:inline-block;min-width:88px;padding:2px 8px;border-radius:999px;font-weight:700}.date-cell.warn-yellow{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;animation:pulse-yellow 1.2s infinite}.date-cell.warn-red{background:linear-gradient(90deg,#fecaca,#fda4af);color:#991b1b;animation:pulse-red 1s infinite}.vehicle-detail-item strong .date-cell{min-width:0;padding:0;border-radius:0;background:transparent;animation:none;font-weight:700}.vehicle-detail-item strong .date-cell.warn-yellow{background:transparent;color:#92400e;animation:pulse-yellow 1.2s infinite}.vehicle-detail-item strong .date-cell.warn-red{background:transparent;color:#991b1b;animation:pulse-red 1s infinite}@keyframes pulse-yellow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}@keyframes pulse-red{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
.quick-search{display:flex;align-items:center;gap:10px;width:100%;max-width:none;margin:0 0 14px;padding:10px 12px;border:1px solid #c7d2fe;border-radius:16px;background:linear-gradient(135deg,#fff,#eef4ff);box-shadow:0 10px 28px rgba(37,99,235,.10)}
.quick-search-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:12.8px;flex:0 0 auto}.quick-search input{flex:1;min-width:160px;border:0;outline:0;background:transparent;color:#0f172a;padding:9px 4px;font-size:12px}.quick-search input::placeholder{color:#64748b}.quick-search button{flex:0 0 auto;background:#e0e7ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:8px 14px}.quick-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12),0 12px 32px rgba(37,99,235,.14)}
.maintenance-mileage-group{display:flex;flex-direction:column;gap:3px;align-items:center;line-height:1.45}.maintenance-left.warn-red{display:inline-block;min-width:58px;padding:2px 8px;border-radius:999px;background:linear-gradient(90deg,#fecaca,#fda4af);color:#991b1b;font-weight:800;animation:pulse-red 1s infinite}.vehicle-maintenance-form{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-maintenance-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;resize:vertical}.vehicle-maintenance-form .maintenance-summary-field,.vehicle-maintenance-form .maintenance-voucher-field{grid-column:1/-1}.maintenance-records-panel{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.maintenance-records-panel h3{margin:0 0 12px}.maintenance-records{display:flex;flex-direction:column;gap:12px}.maintenance-record{padding:14px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.maintenance-record.compact-maintenance-record{overflow-x:auto}.maintenance-record-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.maintenance-record-two-line{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.05fr .8fr .8fr .9fr 1.35fr .8fr 1fr;min-width:1000px;border-left:1px solid #dbe3ef;border-top:1px solid #dbe3ef}.maintenance-record-two-line span,.maintenance-value-cell,.maintenance-record-actions-inline{padding:9px 10px;border-right:1px solid #dbe3ef;border-bottom:1px solid #dbe3ef;line-height:1.45;word-break:break-word;text-align:center;display:flex;align-items:center;justify-content:center}.maintenance-record-head span{background:#eef4ff;color:#1e3a8a;font-weight:800;text-align:center}.maintenance-record-values span{background:#fff;color:#0f172a}.maintenance-record-values .maintenance-value-cell{background:#fff;color:#0f172a}.maintenance-record-actions-inline{gap:8px}.maintenance-record-actions-inline button{padding:7px 12px}.maintenance-record-actions-inline .danger{background:#ef4444;color:#fff}.maintenance-empty-action{color:#94a3b8;font-weight:600}.link-button.maintenance-voucher-view{padding:0;border:0;background:transparent;color:#2563eb;font-weight:800;text-decoration:underline;box-shadow:none}.maintenance-record-main strong{font-size:12.8px;color:#0f172a}.maintenance-record-summary{margin-bottom:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#334155;line-height:1.5}.maintenance-record-voucher{display:flex;flex-direction:column;gap:8px}.maintenance-record-voucher>span{font-weight:700;color:#334155}.maintenance-record-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.maintenance-record-actions button{padding:7px 12px}.maintenance-record-actions .danger{background:#ef4444;color:#fff}
@media(max-width:900px){.vehicle-maintenance-form{grid-template-columns:1fr}.maintenance-record-row{grid-template-columns:1fr}}
@media(max-width:640px){.quick-search{align-items:stretch}.quick-search input{min-width:0}.quick-search button{padding:8px 10px}}
.finance-visual-cards{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin:14px 0}.finance-visual-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:18px 20px;box-shadow:0 8px 20px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:8px}.finance-visual-card strong{font-size:22.4px;line-height:1;color:#111827}.finance-visual-card span{font-size:11.2px;color:#6b7280}.finance-visual-card.settled{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#ffffff)}.finance-visual-card.settled strong{color:#15803d}.finance-visual-card.unsettled{border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#ffffff)}.finance-visual-card.unsettled strong{color:#c2410c}@media(max-width:720px){.finance-visual-cards{grid-template-columns:1fr}.finance-visual-card strong{font-size:19.2px}}
.maintenance-finance-table th:first-child,.maintenance-finance-table td:first-child{width:42px;text-align:center}.maintenance-finance-table td{vertical-align:middle}.maintenance-finance-table .link-button{white-space:nowrap}.finance-maintenance-search{margin:12px 0}.vehicle-cost-sub-nav{margin-top:8px}
.finance-maintenance-head h2{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settled-toggle{font-size:11.2px;font-weight:500;color:#374151;display:inline-flex;align-items:center;gap:6px}.finance-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-weight:700;font-size:10.4px}.finance-status-badge.settled{background:#dcfce7;color:#15803d}.finance-status-badge.unsettled{background:#fee2e2;color:#b91c1c}.maintenance-audit-card{display:flex;flex-direction:column;gap:18px}.maintenance-audit-vouchers h3{margin:0 0 10px}.maintenance-audit-vouchers{display:flex;flex-direction:column;gap:10px}.maintenance-audit-vouchers img{width:100%;max-height:70vh;object-fit:contain;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}.settlement-confirm{margin-top:16px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.settlement-confirm p{margin:0;flex:1 1 240px}.maintenance-finance-table button:disabled{opacity:.6;cursor:not-allowed}
.alert-card-mask{position:fixed;inset:0;z-index:220;background:rgba(15,23,42,.28);display:flex;align-items:center;justify-content:center;padding:20px}.alert-card{width:min(380px,calc(100vw - 40px));background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.28);border:1px solid #e5e7eb;padding:24px;text-align:center}.alert-card h3{margin:0 0 10px;font-size:16px}.alert-card p{margin:0 0 18px;line-height:1.7;color:#1f2937;white-space:pre-wrap}.alert-card.ok h3{color:#047857}.alert-card.error h3{color:#b91c1c}.alert-card button{min-width:96px}.maintenance-finance-table th,.maintenance-finance-table td{text-align:center!important;vertical-align:middle!important}.maintenance-finance-table td{max-width:none}.maintenance-audit-vouchers:empty{display:none}
.collapsible-dictionary{padding:0;overflow:hidden}.dictionary-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border-radius:16px 16px 0 0;background:#f8fafc;color:#0f172a;border-bottom:1px solid var(--line);padding:14px 16px;text-align:left}.dictionary-toggle span{font-size:15.2px;font-weight:800}.dictionary-toggle strong{font-size:10.4px;color:#2563eb;background:#dbeafe;border-radius:999px;padding:4px 10px}.dictionary-body{padding:0 16px 16px}.collapsible-dictionary.collapsed .dictionary-body{display:none}.collapsible-dictionary.collapsed .dictionary-toggle{border-radius:16px;border-bottom:0}.ledger-head{gap:12px;flex-wrap:wrap}.ledger-table .ledger-source-col{min-width:150px;width:150px;white-space:normal!important}.ledger-table th,.ledger-table td{white-space:nowrap}.ledger-table td:nth-child(7){white-space:normal;min-width:180px}.ledger-table .danger{background:#ef4444;color:#fff}.ledger-print-doc h1{text-align:center;margin:0 0 16px}.ledger-print-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px;color:#334155}.ledger-print-table th,.ledger-print-table td{text-align:center!important;border:1px solid #d1d5db}.ledger-print-sign{display:flex;justify-content:space-between;gap:24px;margin-top:24px;color:#111827}.form-actions [data-ledger-print-window]{background:#16a34a}@media(max-width:900px){.ledger-print-meta,.ledger-print-sign{flex-direction:column;gap:8px}.ledger-table{display:block;overflow-x:auto}}

.maintenance-settlement-card{display:flex;flex-direction:column;gap:16px}.settlement-voucher-section{border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:14px}.settlement-voucher-section h3{margin:0 0 10px;font-size:12px;color:#111827}.maintenance-settlement-vouchers{display:flex;flex-wrap:wrap;gap:12px}.voucher-thumb-btn{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border:1px solid #dbe3ef;background:#fff;border-radius:12px;padding:10px;cursor:pointer;max-width:180px;color:#1f2937;box-shadow:0 6px 16px rgba(15,23,42,.05)}.voucher-thumb-btn img{width:140px;height:100px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb;background:#fff}.voucher-thumb-btn span{font-size:9.6px;color:#2563eb}.settlement-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.settlement-form .form-actions{grid-column:1/-1}.settlement-form label{min-width:0}.settlement-form input,.settlement-form select{width:100%}.finance-dictionaries .dictionary-module{width:360px}.finance-dictionaries .dictionary-table{min-width:360px}.finance-dictionaries .compact-setting-form{max-width:360px}.settlement-form .wide{grid-column:1/-1}
@media(max-width:900px){.settlement-form{grid-template-columns:1fr}.voucher-thumb-btn{max-width:100%}.voucher-thumb-btn img{width:100%;height:auto}}
/* v0.0.38 财务字典、用户数据与结算卡片优化 */
.finance-dictionaries .dict-settlementParty,
.finance-dictionaries .dict-settlementParty .dictionary-width,
.finance-dictionaries .dict-settlementParty .dictionary-table,
.finance-dictionaries .dict-settlementParty .compact-setting-form{width:800px;max-width:800px}.finance-dictionaries .dict-settlementParty .setting-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.finance-dictionaries .dict-settlementParty .setting-form button{grid-column:1/-1}.voucher-thumb-only{border:1px solid #dbe3ef;background:#fff;border-radius:12px;padding:10px;max-width:180px;box-shadow:0 6px 16px rgba(15,23,42,.05)}.voucher-thumb-only img{width:140px;height:100px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb;background:#fff;display:block}.user-data-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;max-width:900px}.user-form{display:grid;grid-template-columns:240px 1fr auto;gap:12px;align-items:end;margin:10px 0 14px}.user-form label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155}.user-form input[type=text],.user-form input:not([type]){width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.permission-box{display:flex;flex-direction:column;gap:8px}.permission-box>span{font-size:10.4px;color:#334155}.permission-options{display:flex;flex-wrap:wrap;gap:8px}.permission-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px;padding:7px 10px;border:1px solid #dbe3ef;border-radius:999px;background:#f8fafc}.permission-check input{width:auto}.user-table .danger{background:#ef4444;color:#fff}@media(max-width:900px){.finance-dictionaries .dict-settlementParty,.finance-dictionaries .dict-settlementParty .dictionary-width,.finance-dictionaries .dict-settlementParty .dictionary-table,.finance-dictionaries .dict-settlementParty .compact-setting-form{width:100%;max-width:100%;min-width:0}.finance-dictionaries .dict-settlementParty .setting-form,.user-form{grid-template-columns:1fr}.user-data-panel{max-width:100%}}
/* v0.0.39 审验记录操作与审验成本合并结算 */
.inspection-record .maintenance-record-two-line{grid-template-columns:repeat(9,minmax(90px,1fr))}.inspection-finance-table th,.inspection-finance-table td{text-align:center!important;vertical-align:middle!important}.inspection-finance-table input[type=checkbox]{width:16px;height:16px}
@media(max-width:900px){.inspection-record .maintenance-record-two-line{grid-template-columns:repeat(9,120px);overflow-x:auto}}
.vehicle-detail-grid.vehicle-detail-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.vehicle-detail-grid-5 .span-4{grid-column:span 4}.vehicle-detail-grid-5 .span-2{grid-column:span 2}.vehicle-detail-grid-5 .vehicle-media-block{margin:0}.date-policy-link{border:0;cursor:pointer;text-align:center;font:inherit;line-height:1.4}.date-policy-link:hover{text-decoration:underline;filter:brightness(1.08)}@media (max-width:1100px){.vehicle-detail-grid.vehicle-detail-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-detail-grid-5 .span-4,.vehicle-detail-grid-5 .span-2{grid-column:span 2}}
.policy-direct-preview-list{display:flex;flex-direction:column;gap:16px}.policy-direct-preview-item{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:12px}.policy-direct-preview-item h3{margin:0 0 10px;font-size:12px;color:#0f172a}.policy-direct-pdf{width:min(1200px,86vw);height:72vh;border:0;border-radius:10px;background:#fff}.policy-direct-image{display:block;max-width:min(1200px,86vw);max-height:72vh;margin:auto;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer}
.vehicle-stats-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px}.vehicle-stats-bar-6{grid-template-columns:repeat(6,minmax(0,1fr))}.vehicle-stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:1px solid #dbe3ef;color:#0f172a;border-radius:14px;padding:14px 16px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.vehicle-stat-card strong{font-size:24px;line-height:1}.vehicle-stat-card span{font-size:12px;font-weight:700}.vehicle-stat-card small{font-size:9.6px;color:#64748b;line-height:1.4}.vehicle-stat-card.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 8px 20px rgba(37,99,235,.12)}@media(max-width:900px){.vehicle-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}

.audit-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.audit-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-span-3{grid-column:span 3}.audit-voucher-inline{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;width:100%;clear:both}.audit-voucher-thumb{width:160px;height:120px;object-fit:cover;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer}.audit-voucher-pdf{width:100%;min-height:420px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.audit-voucher-item{padding-bottom:14px}.audit-voucher-empty{color:#64748b;font-size:10.4px;padding:10px 0}.fuel-audit-voucher-section{margin-top:16px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.fuel-audit-voucher-section h3{margin:0 0 12px;font-size:15px}.fuel-audit-voucher-record{display:block}.fuel-audit-voucher-title{display:block;width:100%;font-weight:700;color:#334155;margin-bottom:10px}.fuel-audit-vouchers{display:flex;width:100%;margin-top:0;clear:both}.fuel-audit-voucher-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.fuel-audit-voucher-item .audit-voucher-thumb{display:block;width:260px;height:190px;object-fit:contain;background:#fff}.inspection-audit-card .audit-voucher-inline{margin-top:2px}.inspection-audit-card .audit-voucher-thumb,.inspection-audit-card .audit-voucher-pdf{max-width:100%}.inspection-audit-card .audit-voucher-pdf{height:420px}
@media(max-width:900px){.audit-grid-5,.audit-grid-3{grid-template-columns:1fr}.audit-span-3{grid-column:auto}.audit-voucher-pdf{min-height:280px;height:280px}}

.maintenance-settlement-form{grid-template-columns:repeat(5,minmax(0,1fr))}.maintenance-settlement-form .upload-field{grid-column:span 3}.maintenance-settlement-form .form-actions{grid-column:1/-1}
@media(max-width:900px){.maintenance-settlement-form{grid-template-columns:1fr}.maintenance-settlement-form .upload-field{grid-column:1/-1}}

.combine-settlement-summary h3{margin:0 0 8px}.combine-record-summary{margin:0 0 10px;color:#475569;font-weight:700}.invoice-manage-order-list-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.invoice-manage-order-list-head h3{margin:0}.invoice-manage-order-list-head .combine-record-summary{margin:0}.combine-settlement-records{margin-top:8px;font-size:10.4px}.combine-settlement-records th,.combine-settlement-records td{white-space:normal;max-width:180px}

.finance-maintenance-head button,.generic-finance-table button{padding:10px 14px;font-size:11.2px;border-radius:10px}.purchase-vehicle-btn{margin-left:auto;white-space:nowrap}.page-head.finance-maintenance-head h2{display:flex;align-items:center;gap:14px;flex-wrap:wrap;width:100%}.page-head.finance-maintenance-head h2 .settled-toggle{margin-right:auto}.purchase-payment-card{display:flex;flex-direction:column;gap:16px}.purchase-payment-top{display:grid;gap:12px}.purchase-payment-top-2{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-payment-top-5{grid-template-columns:repeat(5,minmax(0,1fr))}.purchase-payment-form-compact{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.purchase-payment-form-compact .wide{grid-column:1/-1}.purchase-payment-form-compact .form-actions{grid-column:1/-1}.purchase-payment-form-compact input[readonly]{background:#f1f5f9;color:#0f172a;font-weight:700}@media(max-width:900px){.purchase-payment-top-2,.purchase-payment-top-5,.purchase-payment-form-compact{grid-template-columns:1fr!important}}
/* 财务模块标题栏按钮统一单排靠右 */
.page-head.finance-maintenance-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.page-head.finance-maintenance-head h2{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0;width:auto!important;flex-wrap:wrap}
.page-head.finance-maintenance-head h2 .settled-toggle{margin-right:0!important;white-space:nowrap}
.finance-action-group{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:nowrap}
.finance-action-group button,.purchase-vehicle-btn{padding:10px 14px;font-size:11.2px;border-radius:10px;white-space:nowrap}
.purchase-vehicle-btn{margin-left:auto}
.purchase-payment-section{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:14px;margin-top:4px}.purchase-payment-section h3{margin:0 0 12px;font-size:12.8px}.purchase-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.purchase-section-grid label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155}.purchase-section-grid input,.purchase-section-grid textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.purchase-section-grid .wide{grid-column:span 2}@media(max-width:900px){.purchase-section-grid{grid-template-columns:1fr}.purchase-section-grid .wide{grid-column:1/-1}}
.full-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.full-remark-row,.full-voucher-row{grid-column:1/-1}.purchase-section-grid .upload-field{grid-column:1/-1}.full-voucher-row .upload-field{width:100%}@media(max-width:900px){.full-payment-grid{grid-template-columns:1fr}}
[data-purchase-tax-field].hidden{display:none!important}
/* 全款购车方案按新车/二手车要求固定行布局 */
.full-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.full-payment-grid>.full-row-1,.full-payment-grid>.full-row-2{grid-column:auto}.full-payment-grid>.full-remark-row,.full-payment-grid>.full-voucher-row{grid-column:1/-1}.full-payment-grid:has([data-purchase-tax-field].hidden){grid-template-columns:repeat(3,minmax(0,1fr))!important}.full-payment-grid:has([data-purchase-tax-field].hidden)>.full-row-1{grid-column:auto}.full-payment-grid:has([data-purchase-tax-field].hidden)>.full-row-2{grid-column:auto}@media(max-width:900px){.full-payment-grid,.full-payment-grid:has([data-purchase-tax-field].hidden){grid-template-columns:1fr!important}}
.purchase-section-grid[data-full-payment-grid]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;align-items:start}.purchase-section-grid[data-full-payment-grid].purchase-used-car{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-section-grid[data-full-payment-grid] .full-field{min-width:0}.purchase-section-grid[data-full-payment-grid] .purchase-money-field,.purchase-section-grid[data-full-payment-grid] .purchase-tax-field,.purchase-section-grid[data-full-payment-grid] .purchase-date-field,.purchase-section-grid[data-full-payment-grid] .purchase-method-field,.purchase-section-grid[data-full-payment-grid] .purchase-store-field,.purchase-section-grid[data-full-payment-grid] .purchase-party-field,.purchase-section-grid[data-full-payment-grid] .purchase-account-field,.purchase-section-grid[data-full-payment-grid] .purchase-remark-field,.purchase-section-grid[data-full-payment-grid] .purchase-voucher-field{grid-column:auto}.purchase-section-grid[data-full-payment-grid] .purchase-remark-field,.purchase-section-grid[data-full-payment-grid] .purchase-voucher-field{grid-column:1/-1}.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-money-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-date-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-method-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-store-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-party-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-account-field{grid-column:auto}.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-remark-field,.purchase-section-grid[data-full-payment-grid].purchase-used-car .purchase-voucher-field{grid-column:1/-1}.purchase-section-grid[data-full-payment-grid] .purchase-tax-field.hidden{display:none!important}
@media(max-width:900px){.purchase-section-grid[data-full-payment-grid],.purchase-section-grid[data-full-payment-grid].purchase-used-car{grid-template-columns:1fr!important}}
/* 金融付款方案五行四格布局 */
.finance-payment-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:start}.finance-payment-grid>.finance-plan-action,.finance-payment-grid>.finance-remark-row,.finance-payment-grid>.finance-voucher-row{grid-column:1/-1}.finance-payment-grid .upload-field{grid-column:1/-1;width:100%}@media(max-width:1100px){.finance-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:900px){.finance-payment-grid{grid-template-columns:1fr!important}}
.finance-plan-action{display:flex;align-items:flex-end}.finance-plan-action button{width:100%;min-height:42px}.repayment-plan-card{display:flex;flex-direction:column;gap:14px}.repayment-plan-table th,.repayment-plan-table td{text-align:center}
.finance-payment-grid input[readonly]{background:#f1f5f9;color:#0f172a;font-weight:700}
.finance-empty-cell{visibility:hidden;pointer-events:none;}

.ledger-summary-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0 18px;}
.ledger-summary-card{min-height:92px;justify-content:center;align-items:flex-start;gap:10px;border:0;color:#fff;box-shadow:0 10px 22px rgba(15,23,42,.12);}
.ledger-summary-card span{order:1;font-size:15.2px;font-weight:800;letter-spacing:.02em;color:rgba(255,255,255,.96);}
.ledger-summary-card strong{order:2;font-size:16px;line-height:1.1;color:#fff;}
.ledger-color-1{background:linear-gradient(135deg,#2563eb,#60a5fa);}
.ledger-color-2{background:linear-gradient(135deg,#16a34a,#86efac);}
.ledger-color-3{background:linear-gradient(135deg,#7c3aed,#c4b5fd);}
.ledger-color-4{background:linear-gradient(135deg,#ea580c,#fdba74);}
.ledger-color-5{background:linear-gradient(135deg,#0891b2,#67e8f9);}
.ledger-color-6{background:linear-gradient(135deg,#dc2626,#fca5a5);}
.ledger-color-7{background:linear-gradient(135deg,#9333ea,#d8b4fe);}
.ledger-color-8{background:linear-gradient(135deg,#0f766e,#5eead4);}
.ledger-color-9{background:linear-gradient(135deg,#be123c,#fb7185);}
.ledger-color-10{background:linear-gradient(135deg,#4b5563,#a3a3a3);}
@media(max-width:1080px){.ledger-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));}.ledger-summary-card span{font-size:13.6px}.ledger-summary-card strong{font-size:14.4px}}
@media(max-width:720px){.ledger-summary-cards{grid-template-columns:1fr}.ledger-summary-card strong{font-size:14.4px}}
.ledger-filter-bar{display:flex;align-items:center;gap:12px;margin:10px 0 4px;color:#64748b;font-size:11.2px;}
.ledger-filter-reset{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:7px 14px;cursor:pointer;font-weight:700;}
.ledger-filter-reset.active{background:#0f172a;color:#fff;border-color:#0f172a;}
.ledger-summary-card{cursor:pointer;text-align:left;font-family:inherit;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;}
.ledger-summary-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.18);filter:saturate(1.08);}
.ledger-summary-card.active{outline:3px solid rgba(15,23,42,.22);outline-offset:2px;box-shadow:0 16px 32px rgba(15,23,42,.22);}

/* 加油成本顶部版面：三项金额固定一排，操作区单独一排 */
.fuel-cost-summary-wrap{display:flex;flex-direction:column;gap:10px;margin:14px 0 12px;}
.fuel-cost-visual-cards{display:grid!important;grid-template-columns:repeat(3,minmax(220px,1fr))!important;gap:14px;margin:0!important;}
.fuel-cost-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;}
.fuel-cost-toolbar .settled-toggle{margin:0;white-space:nowrap;}
.fuel-card-manage-btn{padding:8px 14px;border-radius:999px;background:#2563eb;color:#fff;font-weight:700;line-height:1.2;white-space:nowrap;}
@media(max-width:900px){.fuel-cost-visual-cards{grid-template-columns:1fr!important;}.fuel-cost-toolbar{align-items:flex-start;}}

.fuel-card-manage-card{display:flex;flex-direction:column;gap:16px;}
.fuel-card-summary-row{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;}
.fuel-card-manage-form{display:flex;flex-direction:column;gap:14px;}
.fuel-card-form-row{display:grid;gap:12px;align-items:start;}
.fuel-card-form-row-fields{grid-template-columns:repeat(4,minmax(140px,1fr));}
.fuel-card-form-row-extra{grid-template-columns:1fr 1fr;}
.fuel-card-form-row label{display:flex;flex-direction:column;gap:6px;}
.fuel-card-form-row textarea{min-height:88px;resize:vertical;}
@media(max-width:900px){.fuel-card-summary-row,.fuel-card-form-row-fields,.fuel-card-form-row-extra{grid-template-columns:1fr;}}

/* 加油成本列表列宽：铺满页面，右侧审核/结算/操作靠右 */
.fuel-cost-finance-table{table-layout:fixed;width:100%;min-width:1420px;}
.fuel-cost-finance-table th,.fuel-cost-finance-table td{white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.55;}
.fuel-cost-finance-table th:nth-child(1),.fuel-cost-finance-table td:nth-child(1){width:44px;text-align:center;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(2),.fuel-cost-finance-table td:nth-child(2){width:120px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(3),.fuel-cost-finance-table td:nth-child(3){width:70px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(4),.fuel-cost-finance-table td:nth-child(4){width:130px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(5),.fuel-cost-finance-table td:nth-child(5){width:190px;}
.fuel-cost-finance-table th:nth-child(6),.fuel-cost-finance-table td:nth-child(6){width:116px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(7),.fuel-cost-finance-table td:nth-child(7){width:112px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(8),.fuel-cost-finance-table td:nth-child(8){width:auto;min-width:220px;text-align:left!important;}
.fuel-cost-finance-table th:nth-child(9),.fuel-cost-finance-table td:nth-child(9){width:106px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(10),.fuel-cost-finance-table td:nth-child(10),.fuel-cost-finance-table th:nth-child(11),.fuel-cost-finance-table td:nth-child(11){width:86px;white-space:nowrap;}
.fuel-cost-finance-table th:nth-child(12),.fuel-cost-finance-table td:nth-child(12),.fuel-cost-finance-table th:nth-child(13),.fuel-cost-finance-table td:nth-child(13),.fuel-cost-finance-table th:nth-child(14),.fuel-cost-finance-table td:nth-child(14){width:86px;white-space:nowrap;text-align:right!important;}
.fuel-cost-finance-table th:nth-child(12),.fuel-cost-finance-table th:nth-child(13),.fuel-cost-finance-table th:nth-child(14){padding-right:16px;}
.fuel-cost-finance-table td:nth-child(12) button,.fuel-cost-finance-table td:nth-child(13) button,.fuel-cost-finance-table td:nth-child(14) button{min-width:64px;padding:7px 12px;}
@media(max-width:900px){.fuel-cost-finance-table{min-width:1420px;}}
.etc-cost-summary-wrap{display:flex;flex-direction:column;gap:10px;margin:14px 0 12px;}
.etc-cost-visual-cards{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:14px;margin:0!important;}
.etc-cost-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;}
.etc-cost-toolbar .settled-toggle{margin:0;white-space:nowrap;}
.etc-cost-finance-table{table-layout:auto;width:100%;min-width:0;}
.etc-cost-finance-table th,.etc-cost-finance-table td{white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.55;}
.etc-cost-finance-table th:nth-child(1),.etc-cost-finance-table td:nth-child(1){width:44px;text-align:center;white-space:nowrap;}
.etc-cost-finance-table th:nth-child(2),.etc-cost-finance-table td:nth-child(2),.etc-cost-finance-table th:nth-child(3),.etc-cost-finance-table td:nth-child(3),.etc-cost-finance-table th:nth-child(4),.etc-cost-finance-table td:nth-child(4),.etc-cost-finance-table th:nth-child(6),.etc-cost-finance-table td:nth-child(6),.etc-cost-finance-table th:nth-child(8),.etc-cost-finance-table td:nth-child(8),.etc-cost-finance-table th:nth-child(9),.etc-cost-finance-table td:nth-child(9),.etc-cost-finance-table th:nth-child(10),.etc-cost-finance-table td:nth-child(10),.etc-cost-finance-table th:nth-child(11),.etc-cost-finance-table td:nth-child(11),.etc-cost-finance-table th:nth-child(12),.etc-cost-finance-table td:nth-child(12){white-space:nowrap;width:1%;}
.etc-cost-finance-table th:nth-child(5),.etc-cost-finance-table td:nth-child(5){min-width:120px;}
.etc-cost-finance-table th:nth-child(7),.etc-cost-finance-table td:nth-child(7){min-width:160px;text-align:left!important;}
.etc-cost-finance-table td:nth-child(11) button,.etc-cost-finance-table td:nth-child(12) button{min-width:64px;padding:7px 12px;}
@media(max-width:900px){.etc-cost-visual-cards{grid-template-columns:1fr!important;}.etc-cost-finance-table{min-width:760px;}}
.etc-account-manage-btn{padding:8px 14px;border-radius:999px;background:#2563eb;color:#fff;font-weight:700;line-height:1.2;white-space:nowrap;}
.etc-account-manage-card .fuel-card-summary-row{grid-template-columns:repeat(2,minmax(220px,1fr));}
.etc-cost-visual-cards{display:grid!important;grid-template-columns:repeat(3,minmax(220px,1fr))!important;gap:14px;margin:0!important;}
@media(max-width:900px){.etc-cost-visual-cards{grid-template-columns:1fr!important;}}
.single-vehicle-cost-head{margin-top:18px;}
.single-vehicle-cost-content{margin-top:14px;}
.single-vehicle-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.single-vehicle-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:138px;text-align:center;}
.single-vehicle-stat-card strong{font-size:16px;color:#0f172a;line-height:1.2;}
.single-vehicle-stat-card b{font-size:19.2px;color:#dc2626;line-height:1.2;}
@media(max-width:1200px){.single-vehicle-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:720px){.single-vehicle-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.single-vehicle-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;background:#f8fafc;}
.single-vehicle-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0;}
.single-vehicle-option{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;}
.single-vehicle-option span{font-weight:700;color:#0f172a;}
.single-vehicle-option small{color:#64748b;}
.single-vehicle-stat-card{cursor:pointer;appearance:none;border:1px solid #e5e7eb;}
.single-vehicle-stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.12);}
.single-vehicle-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;margin-bottom:16px;}
.single-vehicle-detail-summary div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;}
.single-vehicle-detail-summary span{font-size:10.4px;color:#64748b;}
.single-vehicle-detail-summary strong{font-size:17.6px;color:#0f172a;}
.single-vehicle-detail-summary b{font-size:19.2px;color:#dc2626;}
.single-vehicle-detail-table td:nth-child(3){color:#dc2626;font-weight:800;}
.single-vehicle-detail-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.single-vehicle-detail-tabs button{border:1px solid #e5e7eb;background:#f8fafc;color:#0f172a;border-radius:999px;padding:8px 16px;font-weight:800;cursor:pointer;}
.single-vehicle-detail-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff;}
.finance-maintenance-search{flex-wrap:wrap;gap:10px;align-items:center;}
.finance-maintenance-search input[data-finance-maint-search]{min-width:220px;}
.finance-maintenance-search input[type="date"]{height:40px;border:1px solid #dbe1ea;border-radius:12px;padding:0 12px;background:#fff;color:#0f172a;}
.finance-maint-date-sep{color:#64748b;font-size:10.4px;}
.fleet-form{grid-template-columns:repeat(3,minmax(0,1fr));}
.fleet-form .fleet-remark-row,.fleet-form .fleet-type-row,.fleet-form .form-actions{grid-column:1/-1;}
.fleet-type-row{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.fleet-type-row legend{padding:0 6px;color:#334155;font-size:10.4px;font-weight:700;}
.checkbox-pill{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;width:auto!important;padding:8px 12px;border:1px solid #dbe1ea;border-radius:999px;background:#f8fafc;color:#0f172a;font-weight:700;}
.checkbox-pill input{width:auto!important;margin:0;}
@media(max-width:900px){.fleet-form{grid-template-columns:1fr;}}
.fleet-settlement-rules{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px;}
.fleet-settlement-rules h3{margin:0 0 6px;font-size:12.8px;color:#0f172a;}
.fleet-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
.fleet-rule-card{border:1px solid #dbe1ea;border-radius:14px;background:#fff;overflow:hidden;}
.fleet-rule-card summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#0f172a;background:#eef4ff;list-style:none;}
.fleet-rule-card summary::-webkit-details-marker{display:none;}
.fleet-rule-card summary::after{content:'展开';float:right;color:#2563eb;font-size:9.6px;}
.fleet-rule-card[open] summary::after{content:'收起';}
.fleet-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;}
.fleet-rule-grid label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.fleet-rule-grid input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.fleet-rule-grid .wide{grid-column:1/-1;}
@media(max-width:900px){.fleet-rule-list,.fleet-rule-grid{grid-template-columns:1fr;}}
.fleet-rule-empty{padding:14px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;color:#64748b;margin-top:12px;}
.fleet-rule-list{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%;}
.fleet-rule-card{width:100%;}
.fleet-rule-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:10px!important;width:100%;}
.fleet-rule-grid .wide{grid-column:1/-1;}
.fleet-form{width:100%;max-width:100%;align-items:start;}
.fleet-form .fleet-settlement-rules{grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box;justify-self:stretch;}
.fleet-settlement-rules *{box-sizing:border-box;}
.fleet-settlement-rules .fleet-rule-list,.fleet-settlement-rules .fleet-rule-card,.fleet-settlement-rules .fleet-rule-grid{max-width:100%;min-width:0;}
.modal-body .fleet-form{overflow-x:hidden;}
.fleet-rule-sections{display:flex;flex-direction:column;gap:14px;padding:12px;}
.fleet-rule-section{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:12px;}
.fleet-rule-section h4{margin:0 0 10px;color:#0f172a;font-size:12px;}
.fleet-rule-section .fleet-rule-grid{padding:0;}
.charter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))!important;}
.p2p-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;}
@media(max-width:1100px){.charter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))!important;}}
@media(max-width:700px){.charter-grid{grid-template-columns:1fr!important;}}
.charter-grid{grid-template-columns:repeat(3,minmax(160px,1fr))!important;}
@media(max-width:900px){.charter-grid{grid-template-columns:1fr!important;}}
.driver-form{display:flex!important;flex-direction:column;gap:14px;width:100%;max-width:100%;align-items:stretch;}
.driver-form-row{display:grid;gap:12px;align-items:start;width:100%;}
.driver-form-row-1{grid-template-columns:repeat(5,minmax(130px,1fr));}
.driver-form-row-2{grid-template-columns:repeat(5,minmax(130px,1fr));}
.driver-form-row-3{grid-template-columns:1fr;}
.driver-form-row label{display:flex;flex-direction:column;gap:6px;}
.driver-form .upload-field{width:100%;}
.driver-form .driver-vehicles-row,.driver-form .form-actions,.driver-form .driver-settlement-rules{width:100%;}
.driver-form .driver-vehicles-row select{min-height:150px;}
@media(max-width:1200px){.driver-form-row-1,.driver-form-row-2{grid-template-columns:repeat(2,minmax(180px,1fr));}}
@media(max-width:900px){.driver-form-row-1,.driver-form-row-2{grid-template-columns:1fr;}}
.driver-vehicle-search-card{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:14px;}
.driver-vehicle-search-card h3{margin:0 0 10px;font-size:12.8px;color:#0f172a;}
.driver-vehicle-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;}
.driver-vehicle-search-row input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.driver-vehicle-selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;min-height:36px;}
.driver-vehicle-empty{color:#64748b;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;padding:9px 12px;}
.driver-vehicle-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:999px;padding:7px 8px 7px 12px;}
.driver-vehicle-chip button{padding:4px 8px;border-radius:999px;background:#64748b;color:#fff;font-size:9.6px;}
@media(max-width:700px){.driver-vehicle-search-row{grid-template-columns:1fr;}}
.driver-inherit-price-row{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:8px 10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.driver-inherit-price-row legend{padding:0 4px;color:#334155;font-size:10.4px;font-weight:700;}
.radio-pill{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;width:auto!important;padding:6px 10px;border:1px solid #dbe1ea;border-radius:999px;background:#f8fafc;font-weight:700;}
.radio-pill input{width:auto!important;margin:0;}
.driver-settlement-rules{grid-column:1/-1;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px;width:100%;}
.driver-settlement-rules h3{margin:0 0 6px;font-size:12.8px;color:#0f172a;}
.driver-rule-disabled{margin-top:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;color:#64748b;padding:14px;}
.driver-settlement-rules input[readonly]{background:#f1f5f9;color:#475569;cursor:not-allowed;}
.driver-rule-empty{margin-top:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;color:#64748b;padding:14px;}
.driver-rule-card.driver-rule-readonly input{background:#f1f5f9;color:#475569;cursor:not-allowed;}
.data-card-page{display:flex;flex-direction:column;gap:16px;}
.data-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start;}
.dictionary-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;box-shadow:0 4px 16px rgba(15,23,42,.04);}
.dictionary-card .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.dictionary-card .card-head h3{margin:0;font-size:12.8px;}
.dictionary-card-body{display:flex;flex-direction:column;gap:12px;}
.dictionary-card-row{display:flex;gap:12px;flex-wrap:wrap;}
.dictionary-card-row label,.dictionary-linked-grid label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;}
.dictionary-linked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.dictionary-linked-grid input,.dictionary-card-row input{width:100%;}


.data-card-page{display:flex;flex-direction:column;gap:16px;}
.data-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start;}
.dictionary-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;box-shadow:0 4px 16px rgba(15,23,42,.04);}
.dictionary-card-body{display:flex;flex-direction:column;gap:12px;}
.dictionary-linked-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.dictionary-linked-grid label,.dictionary-card-body label{display:flex;flex-direction:column;gap:6px;}
.dictionary-linked-grid input,.dictionary-card-body input,.dictionary-linked-grid select,.dictionary-card-body select{width:100%;}

.chauffeur-address-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.chauffeur-address-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff;box-shadow:var(--shadow-sm);}
.chauffeur-address-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.chauffeur-address-main strong{min-width:48px;color:var(--primary);}

.chauffeur-address-module{margin-bottom:12px;}
.chauffeur-address-module .dictionary-body{padding:14px 16px 16px;}
.chauffeur-address-module .dictionary-card{box-shadow:none;}

.data-chauffeur-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.data-chauffeur-form-head h3{margin:0;}
.data-chauffeur-grid{grid-template-columns:minmax(90px,.7fr) minmax(160px,1fr) minmax(220px,1.4fr) minmax(160px,1fr);align-items:end;}
.data-chauffeur-actions{justify-content:flex-end;}

.chauffeur-route-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.chauffeur-route-tools button{height:34px;}
.chauffeur-route-tools [data-chauffeur-navigation-route-result]{line-height:1.5;}

.chauffeur-navigation-popup{display:flex;flex-direction:column;gap:12px;min-width:min(760px,86vw);}
.chauffeur-navigation-summary{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#eff6ff;color:#0f172a;}
.chauffeur-navigation-summary strong{font-size:15px;}
.chauffeur-navigation-summary span{font-size:12px;color:#475569;line-height:1.5;}
.chauffeur-navigation-summary small{font-size:11px;color:#64748b;}
.chauffeur-navigation-real-map{width:min(1080px,88vw);height:min(720px,72vh);border:1px solid var(--border);border-radius:16px;background:#f8fafc;}
.chauffeur-navigation-static-fallback{font-size:12px;color:#475569;}
.chauffeur-navigation-static-fallback summary{cursor:pointer;margin:4px 0 8px;}
.chauffeur-navigation-static-map{display:block;width:100%;max-height:52vh;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:#f8fafc;}
.chauffeur-address-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;}

.coordinate-reverse-tool{display:grid;grid-template-columns:minmax(260px,420px) auto minmax(220px,1fr);align-items:end;gap:10px;margin:10px 0 12px;padding:10px 12px;border:1px dashed var(--border);border-radius:12px;background:#fffaf5;}
.coordinate-reverse-tool button{height:38px;}
.coordinate-reverse-tool [data-coordinate-reverse-result]{align-self:center;line-height:1.5;word-break:break-all;}
@media (max-width: 720px){.coordinate-reverse-tool{grid-template-columns:1fr;align-items:stretch;}}
.chauffeur-address-search{min-width:min(520px,100%);flex:1;}
.chauffeur-address-search input,
.data-chauffeur-grid input,
.data-chauffeur-grid select{
  width:100%;
  height:44px;
  border:1px solid #dbe7ff;
  border-radius:12px;
  background:#fff;
  padding:0 14px;
  font-size:11.2px;
  line-height:1.2;
  box-sizing:border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.data-chauffeur-page-numbers{display:inline-flex;align-items:center;gap:6px;margin-left:8px;flex-wrap:wrap;}
.data-chauffeur-page-numbers button{min-width:30px;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--border);background:#fff;color:#475569;font-weight:700;}
.data-chauffeur-page-numbers button.active{border-color:#dc2626;background:#fee2e2;color:#dc2626;}
.data-chauffeur-page-ellipsis{padding:0 4px;color:#64748b;font-weight:800;}
.data-chauffeur-grid select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:34px;
}
.data-chauffeur-grid input:focus,
.data-chauffeur-grid select:focus,
.chauffeur-address-search input:focus{
  outline:none;
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
.chauffeur-address-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.chauffeur-address-title strong{min-width:52px;color:#2563eb;font-size:11.2px;}
.chauffeur-address-title span{font-size:12px;font-weight:700;color:#0f172a;}
.chauffeur-address-detail{font-size:10.4px;line-height:1.5;}
.chauffeur-address-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.chauffeur-address-actions button{min-width:64px;}
@media (max-width: 900px){
  .data-chauffeur-grid{grid-template-columns:1fr;}
  .chauffeur-address-item{flex-direction:column;align-items:stretch;}
  .chauffeur-address-actions{width:100%;justify-content:flex-end;}
}
.customer-sub-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px;}
.customer-sub-tabs button{border:1px solid #dbe7ff;background:#fff;color:#334155;border-radius:999px;padding:9px 16px;font-weight:700;box-shadow:0 2px 8px rgba(15,23,42,.04);}
.customer-sub-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18);}
.customer-form label{display:flex;flex-direction:column;gap:6px;}
.customer-contact-fieldset{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:12px;display:flex;flex-direction:column;gap:12px;}
.customer-contact-fieldset legend{padding:0 6px;font-weight:700;color:#0f172a;}
.customer-contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:12px;}
.customer-contact-row .wide{grid-column:1/-1;}
@media(max-width:800px){.customer-contact-row{grid-template-columns:1fr;}}
.customer-project-list{display:flex;flex-direction:column;gap:8px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:10px;}
.customer-project-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.customer-project-list-head strong{font-size:10.4px;color:#0f172a;}
.customer-project-row{display:flex;align-items:center;gap:8px;}
.customer-project-row input{width:100%;}
.customer-contact-display-list{display:flex;flex-direction:column;gap:8px;min-width:180px;}
.customer-contact-display{display:flex;flex-direction:column;gap:3px;line-height:1.45;}
.customer-contact-display strong{color:#0f172a;}
.customer-contact-display span{color:#64748b;font-size:9.6px;}
.customer-project-display-list{margin:2px 0 0 0;padding-left:18px;color:#334155;}
.customer-project-display-list li{margin:1px 0;}
.enterprise-customer-tree-table td{vertical-align:top;}
.enterprise-customer-tree-table .enterprise-tree-company{min-width:180px;background:#f8fafc;}
.enterprise-customer-tree-table .enterprise-tree-contact{min-width:190px;color:#0f172a;}
.enterprise-customer-tree-table .enterprise-tree-contact strong{display:inline-block;margin-right:8px;}
.enterprise-customer-tree-table .enterprise-tree-contact span{display:inline-block;color:#64748b;font-size:9.6px;}
.enterprise-customer-tree-table .enterprise-tree-project{min-width:220px;color:#334155;padding-left:24px;}
.enterprise-customer-tree-table .enterprise-tree-contact{padding-left:14px;}
.customer-pre-settlement{grid-column:1/-1;border:1px solid #dbe1ea;border-radius:16px;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:14px;}
.customer-pre-settlement h3{margin:0;font-size:13.6px;color:#0f172a;}
.customer-pre-settlement-section{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px;}
.customer-pre-settlement-section h4{margin:0 0 6px;color:#0f172a;font-size:12px;}
.customer-self-drive-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px;}
.customer-self-drive-price-grid label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.customer-self-drive-price-grid input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.customer-chauffeur-rule-list{margin-top:10px;}
.enterprise-customer-form{grid-template-columns:1fr;}
.enterprise-customer-form .enterprise-customer-main{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;}
.enterprise-customer-name-field,.enterprise-customer-phone-field,.enterprise-payment-field,.enterprise-invoice-field,.customer-invoice-fields{grid-column:span 1;}
.customer-invoice-fields{display:flex;flex-direction:column;gap:10px;}
.customer-invoice-fields h3{margin:0;font-size:12.8px;color:#0f172a;}
.customer-invoice-field-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.customer-invoice-field-grid label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.customer-invoice-field-grid input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.customer-invoice-remark-field{grid-column:1/-1;}
.enterprise-contact-fieldset{grid-column:2/5;grid-row:1/5;min-width:0;}
.enterprise-customer-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;resize:vertical;font:inherit;line-height:1.45;}
.enterprise-customer-form .form-actions{grid-column:1/-1;}
@media(max-width:900px){.enterprise-customer-form .enterprise-customer-main{grid-template-columns:1fr}.enterprise-customer-name-field,.enterprise-customer-phone-field,.enterprise-payment-field,.enterprise-invoice-field,.customer-invoice-fields,.enterprise-contact-fieldset{grid-column:1/-1;grid-row:auto;}}
.enterprise-customer-name-block{grid-column:span 1;display:flex;flex-direction:column;gap:8px;}
.enterprise-customer-name-block .enterprise-customer-name-field{width:100%;}
.enterprise-price-button{align-self:flex-start;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;padding:8px 12px;}
.enterprise-price-store{display:none;}
.enterprise-price-card{display:flex;flex-direction:column;gap:14px;}
.enterprise-price-card .customer-pre-settlement{margin:0;}
@media(max-width:900px){.enterprise-customer-name-block{grid-column:1/-1;}}
.self-drive-customer-type-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;}
.self-drive-customer-type-row legend{font-weight:800;color:#334155;margin-right:4px;}
.self-drive-dynamic-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;}
.self-drive-dynamic-row label{display:flex;flex-direction:column;gap:6px;}
.inline-money-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;}
.inline-money-field input{border:0!important;border-radius:0!important;min-width:0;flex:1;}
.inline-money-field span{padding:0 12px;color:#64748b;font-weight:800;white-space:nowrap;border-left:1px solid var(--line);align-self:stretch;display:flex;align-items:center;background:#f8fafc;}
.self-drive-empty-cell{display:block;min-height:1px;}
.self-drive-remark-field{grid-column:auto;}
@media (max-width:900px){.self-drive-dynamic-row{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.self-drive-dynamic-row{grid-template-columns:1fr;}}
.self-drive-order-form .self-drive-customer-type-row{grid-column:1/-1;}
.self-drive-order-form{grid-template-columns:1fr;}
.self-drive-order-form .self-drive-customer-type-row,
.self-drive-order-form .self-drive-form-row,
.self-drive-order-form .self-drive-remark-field,
.self-drive-order-form .self-drive-rent-tip,
.self-drive-order-form .form-actions{grid-column:1/-1;}
.self-drive-form-row{display:grid;gap:10px;align-items:end;}
.self-drive-customer-info-row{grid-template-columns:repeat(4,minmax(0,1fr));}
.self-drive-rental-row{grid-template-columns:repeat(5,minmax(0,1fr));}
.self-drive-vehicle-row{grid-template-columns:repeat(4,minmax(0,1fr));}
.self-drive-external-source-field{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.self-drive-external-source-button{width:100%;height:38px;border:1px solid #2563eb;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-weight:600;cursor:pointer;}
.self-drive-external-source-button:hover{background:#dbeafe;opacity:1;}
.self-drive-fee-row{grid-template-columns:repeat(5,minmax(0,1fr));}
.self-drive-order-form .form-actions{display:flex;gap:10px;justify-content:flex-start;}
.self-drive-order-form .form-actions button{grid-column:auto;}
@media(max-width:1100px){.self-drive-rental-row{grid-template-columns:repeat(3,minmax(0,1fr));}.self-drive-customer-info-row{grid-template-columns:repeat(2,minmax(0,1fr));}.self-drive-fee-row{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:900px){.self-drive-vehicle-row{grid-template-columns:repeat(4,minmax(160px,1fr));overflow-x:auto;}.self-drive-customer-info-row{grid-template-columns:repeat(2,minmax(0,1fr));}.self-drive-fee-row{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-customer-info-row,.self-drive-rental-row,.self-drive-fee-row{grid-template-columns:1fr;}}
#moduleRoot .self-drive-order-table{table-layout:fixed!important;}
.self-drive-order-table th,
.self-drive-order-table td{text-align:center;vertical-align:middle;}
.self-drive-order-table td{white-space:normal;}
.self-drive-order-table .self-drive-vehicle-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;gap:2px;}
.self-drive-order-table .self-drive-vehicle-cell strong{font-size:10.4px;color:#111827;}
.self-drive-order-table .self-drive-vehicle-cell span{font-size:9.6px;color:#4b5563;}
.self-drive-order-table .self-drive-customer-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;gap:2px;}
.self-drive-order-table .self-drive-customer-cell strong{font-size:10.4px;color:#111827;}
.self-drive-order-table .self-drive-customer-cell span{font-size:9.6px;color:#4b5563;}
.self-drive-order-table td:last-child{white-space:nowrap;}
.self-drive-dispatch-form label{min-width:0;}
.self-drive-dispatch-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;}
.self-drive-dispatch-form label{min-width:0;}
.self-drive-dispatch-form .form-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:flex-start;}
.self-drive-dispatch-empty{min-height:1px;}
@media(max-width:640px){.self-drive-dispatch-form{grid-template-columns:1fr;}.self-drive-dispatch-empty{display:none;}}
.self-drive-dispatch-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:16px;align-items:start;}
.self-drive-dispatch-fields{display:grid;grid-template-columns:1fr;gap:12px;}
.self-drive-dispatch-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#374151;}
.self-drive-dispatch-image-wrap{border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:10px;min-height:100%;display:flex;align-items:flex-start;justify-content:center;}
.self-drive-dispatch-image-wrap img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);}
.self-drive-dispatch-form .form-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:flex-start;}
@media(max-width:900px){.self-drive-dispatch-form{grid-template-columns:1fr;}.self-drive-dispatch-image-wrap{order:2;}.self-drive-dispatch-form .form-actions{order:3;}}
/* v0.2.13 自驾发车卡片：5格布局，右侧图片占2格 */
.self-drive-dispatch-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;}
.self-drive-dispatch-form>input[type="hidden"]{display:none;}
.self-drive-dispatch-form>label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#374151;}
.self-drive-dispatch-image-wrap{grid-column:4 / 6;grid-row:1 / span 4;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;padding:10px;min-height:100%;display:flex;align-items:flex-start;justify-content:center;}
.self-drive-dispatch-image-wrap img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);}
.self-drive-dispatch-form .form-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:flex-start;}
@media(max-width:1100px){.self-drive-dispatch-form{grid-template-columns:repeat(3,minmax(0,1fr));}.self-drive-dispatch-image-wrap{grid-column:1 / -1;grid-row:auto;}.self-drive-dispatch-form .form-actions{grid-column:1 / -1;}}
@media(max-width:640px){.self-drive-dispatch-form{grid-template-columns:1fr;}}
/* v0.2.14 自驾发车卡片第5行分割线 */
.self-drive-dispatch-divider{grid-column:1 / -1;height:1px;background:#e5e7eb;margin:4px 0 2px;}
/* v0.2.15 自驾发车卡片左侧检查项 */
.self-drive-dispatch-divider{grid-column:1 / 4;}
.self-drive-dispatch-check-field select{min-height:92px;}
@media(max-width:1100px){.self-drive-dispatch-divider{grid-column:1 / -1;}}
/* v0.2.16 自驾发车检查项固定左侧3格，每行3项 */
.self-drive-dispatch-checks{grid-column:1 / 4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.self-drive-dispatch-checks label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#374151;}
@media(max-width:1100px){.self-drive-dispatch-checks{grid-column:1 / -1;}}
@media(max-width:640px){.self-drive-dispatch-checks{grid-template-columns:1fr;}}
/* v0.2.17 自驾发车检查项改为文字前复选框 */
.self-drive-dispatch-check-field{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:42px;padding:9px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-weight:700;color:#374151;}
.self-drive-dispatch-check-field input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#2563eb;flex:0 0 auto;}
.self-drive-dispatch-check-field span{line-height:1.2;}
/* v0.2.18 自驾发车卡片1-4行紧凑美化 */
.self-drive-dispatch-form{column-gap:12px;row-gap:8px;align-items:start;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field){gap:4px;font-size:9.6px;font-weight:700;color:#334155;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) input,
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) select{min-height:34px;padding:7px 9px;border-radius:9px;font-size:10.4px;background:#fff;}
.self-drive-dispatch-image-wrap{padding:8px;border-radius:12px;}
.self-drive-dispatch-image-wrap img{max-height:390px;border-radius:9px;}
.self-drive-dispatch-divider{margin:2px 0 0;}
.self-drive-dispatch-checks{gap:8px 12px;}
/* v0.2.19 自驾发车卡片1-4行进一步紧凑，右图占满两格宽度 */
.self-drive-dispatch-form{column-gap:10px;row-gap:4px;align-items:start;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field){gap:2px;font-size:9.6px;line-height:1.15;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) input,
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) select{min-height:30px;height:30px;padding:5px 8px;border-radius:8px;font-size:10.4px;}
.self-drive-dispatch-image-wrap{width:100%;box-sizing:border-box;padding:4px;align-items:flex-start;justify-content:stretch;overflow:hidden;}
.self-drive-dispatch-image-wrap img{width:100%;max-width:100%;height:auto;max-height:360px;object-fit:contain;object-position:top center;}
.self-drive-dispatch-divider{margin:0;}
.self-drive-dispatch-checks{gap:6px 10px;}
/* v0.2.20 自驾发车卡片1-4行继续紧凑，文字加大，右图约放大一倍 */
.self-drive-dispatch-form{column-gap:10px;row-gap:2px;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field){gap:1px;font-size:11.2px;line-height:1.08;font-weight:800;color:#1f2937;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) input,
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) select{min-height:28px;height:28px;padding:4px 8px;border-radius:8px;font-size:11.2px;line-height:1.1;}
.self-drive-dispatch-image-wrap{padding:2px;align-self:start;}
.self-drive-dispatch-image-wrap img{width:100%;height:auto;max-height:none;object-fit:contain;}
.self-drive-dispatch-divider{margin:0;}
/* v0.2.21 自驾发车卡片移除右侧图片后，表单占满宽度 */
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)){grid-template-columns:repeat(3,minmax(0,1fr));}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-divider,
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-checks{grid-column:1 / -1;}
@media(max-width:640px){.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)){grid-template-columns:1fr;}}
/* v0.2.22 自驾发车卡片1-4行去硬化，避免描边和字体过重 */
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field){gap:2px;font-size:9.6px;line-height:1.16;font-weight:600;color:#475569;}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) input,
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) select{
  min-height:28px;height:28px;padding:4px 8px;border-radius:8px;font-size:9.6px;line-height:1.12;
  border:1px solid #e1e6ee !important;background:#fff;box-shadow:none;appearance:none;-webkit-appearance:none;
}
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) input:focus,
.self-drive-dispatch-form>label:not(.self-drive-dispatch-check-field) select:focus{
  border-color:#bfdbfe !important;box-shadow:0 0 0 1px rgba(59,130,246,.08);outline:none;
}
.self-drive-dispatch-divider{height:1px;background:#edf2f7;margin:2px 0 0;}
/* v0.2.23 自驾发车检查项扩展到第10-12行，按5格网格前三格排列 */
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)){grid-template-columns:repeat(5,minmax(0,1fr));}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-checks{grid-column:1 / -1;grid-template-columns:repeat(5,minmax(0,1fr));}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-divider{grid-column:1 / -1;}
@media(max-width:900px){.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)){grid-template-columns:repeat(3,minmax(0,1fr));}.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-checks{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)){grid-template-columns:1fr;}.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-checks{grid-template-columns:1fr;}}
/* v0.2.24 自驾发车检查项每行只占前3格，后2格固定留空 */
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-checks{grid-auto-flow:row;}
/* v0.2.25 自驾发车上方字段也每行只占前3格，后2格固定留空 */
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap))>label:nth-of-type(3n+1){grid-column:1 / span 1;}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap))>label:nth-of-type(3n+2){grid-column:2 / span 1;}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap))>label:nth-of-type(3n){grid-column:3 / span 1;}
.self-drive-dispatch-form:not(:has(.self-drive-dispatch-image-wrap)) .self-drive-dispatch-divider{grid-column:1 / 4;}
/* v0.2.26 自驾发车检查项前增加验车明细提示行，占前3格 */
.self-drive-dispatch-check-title{grid-column:1 / 4;font-size:10.4px;font-weight:700;color:#334155;line-height:1.3;padding:4px 0 2px;}

/* v0.2.27 自驾发车卡片左右分栏，中间增加竖向分割线 */
.self-drive-dispatch-split-form{display:grid;grid-template-columns:minmax(0,3fr) 1px minmax(260px,2fr);column-gap:14px;row-gap:10px;align-items:start;}
.self-drive-dispatch-split-form>input[type="hidden"]{display:none;}
.self-drive-dispatch-left{min-width:0;display:flex;flex-direction:column;gap:8px;}
.self-drive-dispatch-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:2px;align-items:start;}
.self-drive-dispatch-field-grid label{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:9.6px;line-height:1.16;font-weight:600;color:#475569;}
.self-drive-dispatch-field-grid input,.self-drive-dispatch-field-grid select{width:100%;min-height:28px;height:28px;padding:4px 8px;border:1px solid #d7dee8;border-radius:8px;background:#fff;font-size:10.4px;line-height:1.1;outline:none;}
.self-drive-dispatch-field-grid input:focus,.self-drive-dispatch-field-grid select:focus{border-color:#9bb7e6;box-shadow:0 0 0 2px rgba(37,99,235,.08);}

.self-drive-dispatch-finance-grid{grid-template-columns:1fr 1fr;}
@media(max-width:640px){.self-drive-dispatch-finance-grid{grid-template-columns:1fr;}}
.self-drive-dispatch-split-line{width:1px;min-height:100%;align-self:stretch;background:linear-gradient(to bottom,transparent,#dbe3ef 8%,#dbe3ef 92%,transparent);}
.self-drive-dispatch-right{min-width:0;min-height:420px;border-radius:14px;background:#f8fafc;border:1px dashed #dbe3ef;}
.self-drive-dispatch-split-form .self-drive-dispatch-divider,.self-drive-dispatch-split-form .self-drive-dispatch-check-title,.self-drive-dispatch-split-form .self-drive-dispatch-checks{grid-column:auto;}
.self-drive-dispatch-split-form .self-drive-dispatch-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;}
.self-drive-dispatch-form .upload-field{grid-column:1 / -1;display:block;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}
.self-drive-dispatch-form .upload-field-title{display:block;margin-bottom:8px;font-size:10.4px;font-weight:800;color:#334155;}
.self-drive-inspection-parts{grid-template-columns:repeat(3,minmax(0,1fr));}
.self-drive-inspection-part{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#334155;cursor:pointer;font:inherit;font-size:10.4px;font-weight:800;line-height:1.2;text-align:left;transition:.15s ease;}
.self-drive-inspection-part-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.self-drive-inspection-part-status{flex:0 0 auto;border-radius:999px;padding:3px 8px;font-size:9.6px;font-weight:900;}
.self-drive-inspection-part.is-normal{border-color:#bbf7d0;background:#f0fdf4;color:#166534;}
.self-drive-inspection-part.is-normal .self-drive-inspection-part-status{background:#dcfce7;color:#15803d;}
.self-drive-inspection-part.is-abnormal{border-color:#fecaca;background:#fef2f2;color:#991b1b;}
.self-drive-inspection-part.is-abnormal .self-drive-inspection-part-status{background:#fee2e2;color:#dc2626;}
.self-drive-inspection-part:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.08);}
.self-drive-dispatch-split-form .form-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:flex-start;}
@media(max-width:900px){.self-drive-dispatch-split-form{grid-template-columns:1fr;}.self-drive-dispatch-split-line{display:none;}.self-drive-dispatch-right{min-height:160px;}.self-drive-dispatch-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-field-grid,.self-drive-dispatch-split-form .self-drive-dispatch-checks{grid-template-columns:1fr;}}

/* v0.2.27 修正：提高左右分栏样式优先级，覆盖旧的 5 格发车布局 */
.self-drive-dispatch-form.self-drive-dispatch-split-form{display:grid;grid-template-columns:minmax(0,3fr) 1px minmax(300px,2fr);column-gap:14px;row-gap:10px;align-items:start;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-left{grid-column:1;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-split-line{grid-column:2;grid-row:1;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-right{grid-column:3;grid-row:1;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .form-actions{grid-column:1 / -1;}
@media(max-width:900px){.self-drive-dispatch-form.self-drive-dispatch-split-form{grid-template-columns:1fr;}.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-left,.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-right,.self-drive-dispatch-form.self-drive-dispatch-split-form .form-actions{grid-column:1;}.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-split-line{display:none;}}

/* v0.2.28 清除发车卡片右侧栏格式，只放图片 */
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-right{min-width:0;min-height:0;border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;overflow:visible;}
.self-drive-inspection-map{position:relative;width:100%;max-width:520px;margin:0 auto;line-height:0;}
.self-drive-dispatch-right-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:top center;border:0;border-radius:0;box-shadow:none;background:transparent;}
.self-drive-inspection-anchor{position:absolute;z-index:2;transform:translate(calc(-50% + var(--inspection-anchor-offset-x,0px)),-50%);display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:36px;padding:0 15px;border:1px solid transparent;border-radius:999px;font:inherit;font-size:15.6px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 7px 18px rgba(15,23,42,.16);transition:.15s ease;}
.self-drive-inspection-anchor span{pointer-events:none;}
.self-drive-inspection-anchor.is-trunk-lid{transform:translate(calc(-50% + 10px),-50%);}
.self-drive-inspection-anchor.is-rear-bumper{transform:translate(calc(-50% + 5px),-50%);}
.self-drive-inspection-anchor.is-rear-window{transform:translate(calc(-50% - 5px),-50%);}
.self-drive-inspection-anchor.is-normal{border-color:#86efac;background:rgba(220,252,231,.96);color:#166534;}
.self-drive-inspection-anchor.is-abnormal{border-color:#fca5a5;background:rgba(254,226,226,.97);color:#b91c1c;}
.self-drive-inspection-anchor:hover{transform:translate(calc(-50% + var(--inspection-anchor-offset-x,0px)),-50%) scale(1.05);box-shadow:0 8px 18px rgba(15,23,42,.18);}
.self-drive-inspection-anchor.is-trunk-lid:hover{transform:translate(calc(-50% + 10px),-50%) scale(1.05);}
.self-drive-inspection-anchor.is-rear-bumper:hover{transform:translate(calc(-50% + 5px),-50%) scale(1.05);}
.self-drive-inspection-anchor.is-rear-window:hover{transform:translate(calc(-50% - 5px),-50%) scale(1.05);}
.self-drive-inspection-legend{display:flex;justify-content:center;gap:14px;width:100%;font-size:10.4px;font-weight:800;color:#475569;line-height:1.2;}
.self-drive-inspection-legend span{display:inline-flex;align-items:center;gap:5px;}
.self-drive-inspection-legend i{display:inline-block;width:9px;height:9px;border-radius:999px;}
.self-drive-inspection-legend i.normal{background:#22c55e;}
.self-drive-inspection-legend i.abnormal{background:#ef4444;}
@media(max-width:640px){.self-drive-inspection-anchor{min-width:63px;height:33px;padding:0 12px;font-size:13.8px;}}

/* v0.2.29 自驾订单状态徽标 */
.self-drive-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:9.6px;font-weight:700;background:#e2e8f0;color:#334155;white-space:nowrap;}
.self-drive-status-badge.self-drive-status-driving{background:#dcfce7;color:#15803d;border:1px solid #86efac;}

.self-drive-order-table .self-drive-order-no-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;gap:3px;}
.self-drive-order-table .self-drive-order-no-cell[data-edit]{cursor:pointer;border-radius:6px;outline:none;}
.self-drive-order-table .self-drive-order-no-cell[data-edit]:hover strong{text-decoration:underline;text-underline-offset:2px;color:#2563eb;}
.self-drive-order-table .self-drive-order-no-cell[data-edit]:focus-visible{box-shadow:0 0 0 2px rgba(37,99,235,.22);}
.self-drive-order-table .self-drive-order-no-cell strong{font-size:10.4px;color:#111827;}
.self-drive-order-table .self-drive-order-no-cell span{font-size:9.6px;color:#dc2626;font-weight:800;}

.self-drive-dispatch-split-form[data-module="selfDriveReturn"] .self-drive-dispatch-checks{grid-template-columns:repeat(5,minmax(0,1fr));}
@media(max-width:900px){.self-drive-dispatch-split-form[data-module="selfDriveReturn"] .self-drive-dispatch-checks{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-split-form[data-module="selfDriveReturn"] .self-drive-dispatch-checks{grid-template-columns:1fr;}}

.self-drive-return-settlement-grid .self-drive-return-remark-field{grid-column:1 / -1;}
.self-drive-return-fee-detail{display:grid;gap:8px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#ffffff);box-shadow:0 8px 22px rgba(37,99,235,.08);}
.self-drive-return-fee-detail-row,.self-drive-return-fee-detail-total{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #eef2ff;}
.self-drive-return-fee-detail-row span,.self-drive-return-fee-detail-total span{color:#374151;font-size:10.4px;}
.self-drive-return-fee-detail-row strong,.self-drive-return-fee-detail-total strong{font-size:11.2px;font-weight:800;}
.self-drive-return-fee-detail .is-charge{color:#16a34a;}
.self-drive-return-fee-detail .is-discount{color:#dc2626;}
.self-drive-return-fee-detail-total{margin-top:4px;background:#f8fafc;border-color:#cbd5e1;}
.self-drive-return-fee-detail-empty{color:#6b7280;font-size:10.4px;}

.self-drive-return-settlement-grid .self-drive-return-checkbox-field{min-height:38px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#374151;}
.self-drive-return-settlement-grid .self-drive-return-checkbox-field input{width:auto;margin:0;accent-color:#2563eb;}
.self-drive-return-settlement-grid .self-drive-return-checkbox-field span{font-size:10.4px;color:#374151;}


.finance-direction{font-weight:700;}
.finance-direction-income{color:#16a34a;}
.finance-direction-expense{color:#dc2626;}


.self-drive-finance-summary-wrap{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.self-drive-finance-visual-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;flex:1;margin-bottom:0;}
.self-drive-finance-toolbar{white-space:nowrap;}
.self-drive-finance-visual-cards .prepaid strong{color:#2563eb;}
.self-drive-finance-visual-cards .deposit strong{color:#7c3aed;}
.self-drive-finance-visual-cards .pending-payment strong{color:#f97316;}
@media (max-width:900px){.self-drive-finance-summary-wrap{display:block}.self-drive-finance-visual-cards{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto;}.self-drive-finance-visual-cards .finance-visual-card{min-width:150px}.self-drive-finance-toolbar{margin-top:8px;}}


.customer-info-multiline{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;line-height:1.55;text-align:left;min-width:160px;}
.customer-multiline-cell{white-space:normal!important;text-align:left!important;vertical-align:top!important;}
.customer-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;resize:vertical;font:inherit;line-height:1.45;}

.customer-search{margin:12px 0;}
.customer-search input{min-width:280px;}

.self-drive-return-settlement-grid .self-drive-return-deposit-transfer-field{align-self:end;min-height:28px;justify-content:center;}
.self-drive-return-settlement-grid input[readonly]{background:#f8fafc;color:#475569;}

/* v0.2.70 自驾账单退款状态蓝色 */
.finance-direction-refund{color:#2563eb;}
.finance-status-badge.refunded{background:#dbeafe;color:#1d4ed8;}

/* v0.2.76 收车结算区三行布局 */
.self-drive-return-settlement-grid-v2{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:8px;}
.self-drive-return-settlement-grid-v2 .self-drive-return-checkbox-field{min-height:30px;align-self:end;justify-content:center;}
@media(max-width:900px){.self-drive-return-settlement-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-return-settlement-grid-v2{grid-template-columns:1fr;}}

/* v0.2.77 固定收车押金行与收费选项行 */
.self-drive-return-settlement-grid-v2 .self-drive-return-policy-start{grid-column:1;}
@media(max-width:640px){.self-drive-return-settlement-grid-v2 .self-drive-return-policy-start{grid-column:auto;}}

/* v0.2.83 自驾新增预定订单承租人字段强制同一行 */
.self-drive-order-form [data-self-drive-lessee-fields]{grid-column:1/-1;}
.self-drive-lessee-enterprise-row{grid-template-columns:repeat(3,minmax(0,1fr));}
.self-drive-lessee-peer-row{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){.self-drive-lessee-enterprise-row,.self-drive-lessee-peer-row{grid-template-columns:1fr;}}

/* v0.2.84 自驾车辆押金冻结状态橙色 */
.finance-status-badge.frozen{background:#ffedd5;color:#c2410c;}

.table-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 4px;color:#334155;font-weight:700}.table-pagination button{padding:7px 12px}.table-pagination button:disabled{opacity:.45;cursor:not-allowed}.table-pagination select{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#0f172a;font:inherit}

/* 自驾模块：所有列表信息统一按表格网格显示 */
.self-drive-order-table,
.self-drive-finance-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;}
.self-drive-order-table th,
.self-drive-order-table td,
.self-drive-finance-table th,
.self-drive-finance-table td{border:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 6px;text-align:center;vertical-align:middle;}
.self-drive-order-table th,
.self-drive-finance-table th{background:#f8fafc;font-weight:800;color:#1f2937;white-space:nowrap;}
.self-drive-order-table tbody tr:nth-child(even),
.self-drive-finance-table tbody tr:nth-child(even){background:#fbfdff;}
.self-drive-order-table tbody tr:hover,
.self-drive-finance-table tbody tr:hover{background:#eff6ff;}

.self-drive-pending-refund{color:#dc2626!important;font-weight:700;}
.self-drive-finance-table .self-drive-customer-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1.35;
  gap:2px;
  white-space:normal;
}
.self-drive-finance-table .self-drive-customer-cell strong{
  display:block;
  font-size:10.4px;
  color:#111827;
}
.self-drive-finance-table .self-drive-customer-cell span{
  display:block;
  font-size:9.6px;
  color:#4b5563;
}

.self-drive-finance-group-list{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.self-drive-finance-order-group{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;}
.self-drive-finance-order-group>summary{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8fafc;cursor:pointer;font-weight:800;color:#1f2937;overflow-x:auto;}
.self-drive-finance-order-group>summary::-webkit-details-marker{display:none;}
.self-drive-finance-order-group>summary::before{content:'▾';color:#2563eb;font-weight:900;}
.self-drive-finance-order-group:not([open])>summary::before{content:'▸';}
.self-drive-finance-group-order{color:#1d4ed8;min-width:150px;}
.self-drive-finance-group-order,.self-drive-finance-group-customer,.self-drive-finance-group-plate,.self-drive-finance-group-date,.self-drive-finance-group-period,.self-drive-finance-group-metric{display:flex;flex-direction:column;gap:2px;white-space:nowrap;align-items:center;justify-content:center;text-align:center;}
.self-drive-finance-group-order em,.self-drive-finance-group-customer em,.self-drive-finance-group-plate em,.self-drive-finance-group-date em,.self-drive-finance-group-period em,.self-drive-finance-group-metric em{font-style:normal;font-size:9.6px;color:#64748b;font-weight:700;}
.self-drive-finance-group-order strong,.self-drive-finance-group-customer strong,.self-drive-finance-group-plate strong,.self-drive-finance-group-date strong,.self-drive-finance-group-period strong,.self-drive-finance-group-metric strong{font-size:11.2px;color:#111827;}
.self-drive-finance-group-order strong{color:#1d4ed8;}
.self-drive-finance-group-customer{min-width:110px;}
.self-drive-finance-group-plate{min-width:90px;}
.self-drive-finance-group-date{min-width:190px;}
.self-drive-finance-group-period{min-width:78px;}
.self-drive-finance-group-metric{min-width:78px;}
.self-drive-finance-detail-table{width:100%;border-collapse:collapse;font-size:11.2px;}
.self-drive-finance-detail-table th,.self-drive-finance-detail-table td{border-top:1px solid var(--line);padding:8px 6px;text-align:center;vertical-align:middle;}
.self-drive-finance-detail-table th{background:#fff;font-weight:800;white-space:nowrap;}
.self-drive-finance-detail-table .self-drive-customer-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;gap:2px;white-space:normal;}
.self-drive-finance-detail-table .self-drive-customer-cell strong{display:block;font-size:10.4px;color:#111827;}
.self-drive-finance-detail-table .self-drive-customer-cell span{display:block;font-size:9.6px;color:#4b5563;}

.self-drive-finance-group-actions{margin-left:auto;display:inline-flex;gap:8px;align-items:center;}
.self-drive-finance-group-actions button{padding:6px 10px;border-radius:999px;font-size:10.4px;line-height:1.2;}
.self-drive-finance-group-actions button:nth-child(1){background:#dc2626;color:#fff;}
.self-drive-finance-group-actions button:nth-child(2){background:#f97316;color:#fff;}
.self-drive-finance-group-actions button:nth-child(3){background:#dc2626;color:#fff;}
.self-drive-finance-group-actions button:nth-child(4){background:#dc2626;color:#fff;}
.self-drive-finance-group-actions .invoice-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.2;cursor:default;user-select:none;}
.self-drive-finance-group-actions .invoice-toggle.is-uninvoiced{background:#dc2626;color:#fff;}
.self-drive-finance-group-actions .invoice-toggle.is-invoiced{background:#16a34a;color:#fff;}

.self-drive-finance-group-actions button:disabled{
  background:#d1d5db!important;
  color:#6b7280!important;
  cursor:not-allowed;
  opacity:.75;
}
.self-drive-finance-group-actions button.is-refunded:disabled{
  background:#d1d5db!important;
  color:#6b7280!important;
  opacity:1;
}

.self-drive-finance-group-actions button.is-settled:disabled{
  background:#16a34a!important;
  color:#fff!important;
  cursor:not-allowed;
  opacity:1;
}

/* 自驾订单：承租人记忆联想 */
.self-drive-lessee-memory-field{position:relative}.self-drive-lessee-memory-list{position:absolute;z-index:40;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.12);padding:4px;max-height:220px;overflow:auto}.self-drive-lessee-memory-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px 10px;border-radius:8px;background:#fff;color:var(--text);text-align:left}.self-drive-lessee-memory-list button:hover{background:var(--brand2);opacity:1}.self-drive-lessee-memory-list strong{font-weight:700}.self-drive-lessee-memory-list span{color:var(--muted);font-size:11px}
.self-drive-lessee-memory-list button.hidden{display:none!important}

/* 自驾订单：预定车辆联想 */
.self-drive-vehicle-memory-field{position:relative}.self-drive-vehicle-memory-list{position:absolute;z-index:45;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.12);padding:4px;max-height:240px;overflow:auto}.self-drive-vehicle-memory-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px 10px;border-radius:8px;background:#fff;color:var(--text);text-align:left}.self-drive-vehicle-memory-list button:hover{background:var(--brand2);opacity:1}.self-drive-vehicle-memory-list strong{font-weight:700}.self-drive-vehicle-memory-list span{color:var(--muted);font-size:11px}.self-drive-vehicle-memory-list button.hidden{display:none!important}

/* 自驾完成订单：收/发两行显示 */
.self-drive-handler-two-line{display:flex;flex-direction:column;gap:3px;line-height:1.35;white-space:nowrap}

/* 外部调车：添加调车订单弹窗固定三行布局 */
.self-drive-external-dispatch-create-form{grid-template-columns:1fr;}
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-order-row,
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-unit-row,
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-remark-row,
.self-drive-external-dispatch-create-form .form-actions{grid-column:1/-1;}
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-order-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;}
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-unit-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;}
.self-drive-external-dispatch-create-form .self-drive-external-dispatch-remark-row{display:flex;flex-direction:column;gap:6px;}
.self-drive-external-dispatch-create-form .form-actions{display:flex;gap:10px;justify-content:flex-start;}
.self-drive-external-dispatch-create-form .form-actions button{grid-column:auto;}
@media(max-width:900px){.self-drive-external-dispatch-create-form .self-drive-external-dispatch-order-row{grid-template-columns:repeat(2,minmax(0,1fr));}.self-drive-external-dispatch-create-form .self-drive-external-dispatch-unit-row{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-external-dispatch-create-form .self-drive-external-dispatch-order-row,.self-drive-external-dispatch-create-form .self-drive-external-dispatch-unit-row{grid-template-columns:1fr;}}

.enterprise-customer-tree-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.enterprise-customer-collapse{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04);overflow:hidden;}
.enterprise-customer-collapse>summary{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;cursor:pointer;padding:14px 16px;list-style:none;}
.enterprise-customer-collapse>summary::-webkit-details-marker{display:none;}
.enterprise-customer-collapse>summary::before{content:'展开';justify-self:start;color:#2563eb;font-size:12px;font-weight:700;grid-column:1/-1;margin-bottom:-4px;}
.enterprise-customer-collapse[open]>summary::before{content:'收起';}
.enterprise-customer-summary-main{display:flex;align-items:center;gap:12px;min-width:0;}
.enterprise-customer-summary-main strong{font-size:15px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.enterprise-customer-summary-main em{font-style:normal;color:#64748b;font-size:12px;white-space:nowrap;}
.enterprise-customer-summary-meta{color:#64748b;font-size:12px;white-space:nowrap;}
.enterprise-customer-summary-actions{display:flex;gap:8px;justify-content:flex-end;}
.enterprise-customer-summary-actions button{margin-left:0;}
.enterprise-customer-collapse-body{border-top:1px solid var(--line);padding:14px 16px 16px;background:#f8fafc;}
.enterprise-customer-info-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:start;}
.enterprise-customer-info-grid section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;min-height:100%;}
.enterprise-customer-info-grid h4{margin:0 0 10px;font-size:13px;color:#334155;}
.enterprise-customer-contact-table td{vertical-align:top;}
.enterprise-customer-contact-table td strong{display:block;color:#0f172a;margin-bottom:4px;}
.enterprise-customer-contact-table td span{display:block;color:#64748b;font-size:12px;}
@media(max-width:900px){.enterprise-customer-collapse>summary{grid-template-columns:1fr}.enterprise-customer-summary-actions{justify-content:flex-start}.enterprise-customer-info-grid{grid-template-columns:1fr}}


/* 配驾零散/会议账单金额卡片：桌面端一行显示 6 个 */
.chauffeur-bill-visual-cards{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.chauffeur-bill-visual-cards .finance-visual-card{
  min-width:0;
  padding:14px 12px;
  cursor:pointer;
  text-align:left;
  appearance:none;
  font:inherit;
}
.chauffeur-bill-visual-cards .finance-visual-card.active{
  outline:2px solid #2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 8px 20px rgba(15,23,42,.06);
}
.chauffeur-bill-visual-cards .finance-visual-card.all strong{
  color:#2563eb;
}
.chauffeur-bill-visual-cards .finance-visual-card strong{
  font-size:18px;
}
.chauffeur-bill-visual-cards .finance-visual-card span{
  white-space:nowrap;
}
@media(max-width:1200px){
  .chauffeur-bill-visual-cards{
    grid-template-columns:repeat(6,minmax(120px,1fr));
    overflow-x:auto;
    padding-bottom:4px;
  }
}
@media(max-width:720px){
  .chauffeur-bill-visual-cards{
    grid-template-columns:repeat(6,minmax(120px,1fr));
    overflow-x:auto;
  }
}

/* 司机结算金额卡片：桌面端一行显示 6 个 */
.driver-settlement-visual-cards{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.driver-settlement-visual-cards .finance-visual-card{
  min-width:0;
}
@media(max-width:1200px){
  .driver-settlement-visual-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .driver-settlement-visual-cards{
    grid-template-columns:1fr;
  }
}

/* 客户结算金额卡片：桌面端一行显示 7 个 */
.customer-settlement-visual-cards{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.customer-settlement-visual-cards .finance-visual-card{
  min-width:0;
  cursor:pointer;
  text-align:left;
  appearance:none;
  font:inherit;
  padding:14px 12px;
}
.customer-settlement-visual-cards .finance-visual-card strong{
  font-size:18px;
}
.customer-settlement-visual-cards .finance-visual-card span{
  white-space:nowrap;
}
.customer-settlement-visual-cards .finance-visual-card.active{
  outline:2px solid #2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 8px 20px rgba(15,23,42,.06);
}
.customer-settlement-visual-cards .finance-visual-card.all strong{
  color:#2563eb;
}
@media(max-width:1200px){
  .customer-settlement-visual-cards{
    grid-template-columns:repeat(7,minmax(120px,1fr));
    overflow-x:auto;
    padding-bottom:4px;
  }
}
@media(max-width:720px){
  .customer-settlement-visual-cards{
    grid-template-columns:repeat(7,minmax(120px,1fr));
    overflow-x:auto;
  }
}

.driver-settlement-filter-bar{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr)) auto;
  gap:12px;
  align-items:end;
  margin:14px 0;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.driver-settlement-filter-bar label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  color:#4b5563;
}
.driver-settlement-filter-bar input,.driver-settlement-filter-bar select{
  height:38px;
  border:1px solid #d1d5db;
  border-radius:10px;
  padding:0 10px;
  background:#fff;
  color:#111827;
}

.chauffeur-filter-bar{
  grid-template-columns:repeat(7,minmax(0,1fr)) auto;
  grid-auto-flow:column;
  overflow-x:auto;
  align-items:end;
}
.chauffeur-filter-bar label,
.chauffeur-filter-bar label:not(.chauffeur-filter-half),
.chauffeur-filter-bar .chauffeur-filter-half{
  grid-column:auto;
  min-width:0;
}
.chauffeur-filter-bar .driver-settlement-filter-actions{
  grid-column:auto;
  white-space:nowrap;
  flex-wrap:nowrap;
}
.chauffeur-filter-bar .driver-settlement-filter-actions button{
  white-space:nowrap;
}
@media(max-width:1200px){
  .chauffeur-filter-bar{grid-template-columns:repeat(7,minmax(110px,1fr)) auto;}
  .chauffeur-filter-bar label:not(.chauffeur-filter-half),
  .chauffeur-filter-bar .chauffeur-filter-half,
  .chauffeur-filter-bar .driver-settlement-filter-actions{grid-column:auto;}
}

.driver-settlement-filter-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
@media(max-width:1200px){.driver-settlement-filter-bar{grid-template-columns:repeat(3,minmax(150px,1fr));}.driver-settlement-filter-actions{grid-column:1/-1;}}
@media(max-width:720px){.driver-settlement-filter-bar{grid-template-columns:1fr;}.driver-settlement-filter-actions{justify-content:flex-start;}}

.chauffeur-misc-finance-filter-bar{
  grid-template-columns:repeat(7,minmax(0,1fr)) auto;
  grid-auto-flow:column;
  overflow-x:auto;
  flex-wrap:nowrap;
  margin:12px 0 14px;
}
.chauffeur-misc-finance-filter-bar label{
  min-width:0;
  grid-column:auto!important;
}
.chauffeur-misc-finance-filter-bar input{
  min-width:0;
}
.chauffeur-misc-finance-filter-actions{
  grid-column:auto!important;
  white-space:nowrap;
  flex-wrap:nowrap;
}
.chauffeur-misc-finance-filter-actions button{white-space:nowrap;}
@media(max-width:1200px){
  .chauffeur-misc-finance-filter-bar{grid-template-columns:repeat(7,minmax(110px,1fr)) auto;}
  .chauffeur-misc-finance-filter-bar label,.chauffeur-misc-finance-filter-actions{grid-column:auto!important;}
}

/* 外部调车：完成后按钮显示绿色已完成且不可操作 */
.external-dispatch-completed-button:disabled{
  background:#dcfce7;
  color:#15803d;
  border-color:#86efac;
  opacity:1;
  cursor:not-allowed;
  font-weight:700;
}

/* 添加后的信息内容居中：只调整信息文字/单元格对齐，不改变模块、按钮、卡片等布局位置 */
#moduleRoot .table th,
#moduleRoot .table td{
  text-align:center;
  vertical-align:middle;
}
#moduleRoot .table .main-cell,
#moduleRoot .table .sub-cell,
#moduleRoot .self-drive-customer-cell,
#moduleRoot .self-drive-customer-cell strong,
#moduleRoot .self-drive-customer-cell span,
#moduleRoot .vehicle-table-detail-cell,
#moduleRoot .enterprise-customer-summary-main,
#moduleRoot .enterprise-customer-info-grid td,
#moduleRoot .driver-settlement-summary-table th,
#moduleRoot .driver-settlement-summary-table td,
#moduleRoot .driver-settlement-detail-table th,
#moduleRoot .driver-settlement-detail-table td{
  text-align:center;
}

/* 配驾-零散订单：添加订单弹窗五栏目信息卡片 */
.chauffeur-order-form{
  display:flex!important;
  flex-direction:column;
  gap:14px;
}
.chauffeur-card-section{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:14px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.chauffeur-card-section legend{
  padding:0 8px;
  color:#0f172a;
  font-weight:800;
  font-size:13px;
}
.chauffeur-card-section label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#334155;
  font-size:10.4px;
}
.chauffeur-card-section input,
.chauffeur-card-section select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.chauffeur-card-section .wide{grid-column:1/-1;}
@media(max-width:900px){.chauffeur-card-section{grid-template-columns:1fr;}}

/* 配驾-零散订单：客户类型单选与动态客户信息 */
.chauffeur-customer-type-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.chauffeur-customer-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:10px;
}
.chauffeur-customer-fields label{min-width:0;}
.chauffeur-customer-fields label select + input{margin-top:6px;}
.chauffeur-customer-fields[hidden]{display:none!important;}
@media(max-width:900px){.chauffeur-customer-fields{grid-template-columns:1fr;}}

/* 配驾-零散订单：预定信息服务类型与动态字段 */
.chauffeur-service-type-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
}
.chauffeur-service-type-row>span{
  font-weight:800;
  color:#334155;
}
.chauffeur-service-type-row label{
  flex-direction:row;
  align-items:center;
  gap:5px;
  width:auto;
}
.chauffeur-reservation-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:10px;
}
.chauffeur-reservation-fields label[hidden]{display:none;}
@media(max-width:900px){.chauffeur-reservation-fields{grid-template-columns:1fr;}}

.chauffeur-reservation-choice-row .chauffeur-round-trip-title{
  margin-left:12px;
  font-weight:800;
  color:#334155;
}

/* 配驾-零散订单：行程信息预设地址 */
.chauffeur-route-columns{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:16px;
  align-items:start;
}
.chauffeur-route-main{
  display:grid;
  gap:10px;
}
.chauffeur-route-side{
  min-height:1px;
  display:block;
}
.chauffeur-route-row{
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:nowrap;
}
.chauffeur-route-badge{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
  align-self:center;
  box-shadow:0 4px 10px rgba(15,23,42,.12);
}
.chauffeur-route-pickup .chauffeur-route-badge{background:#16a34a;}
.chauffeur-route-dropoff .chauffeur-route-badge{background:#dc2626;}
.chauffeur-route-via .chauffeur-route-badge{background:#f59e0b;}
.chauffeur-route-row label{min-width:0;}
.chauffeur-route-row label:first-of-type{width:100px;}
.chauffeur-route-row label:first-of-type select{width:100px;min-width:100px;}
.chauffeur-route-row label:nth-of-type(2){width:250px;}
.chauffeur-route-row label:nth-of-type(2) input{width:250px;min-width:250px;}
.chauffeur-route-row label:nth-of-type(3){width:250px;}
.chauffeur-route-row label:nth-of-type(3) input{width:250px;min-width:250px;}
.chauffeur-pickup-passengers{
  display:block;
}
.chauffeur-pickup-passenger-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.chauffeur-pickup-passenger-row{
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:nowrap;
}
.chauffeur-pickup-passenger-row label:first-of-type{width:150px;flex:0 0 150px;}
.chauffeur-pickup-passenger-row label:first-of-type input{width:150px;min-width:150px;}
.chauffeur-pickup-passenger-row label:nth-of-type(2){width:200px;flex:0 0 200px;}
.chauffeur-pickup-passenger-row label:nth-of-type(2) input{width:200px;min-width:200px;}
.chauffeur-passenger-add,
.chauffeur-passenger-remove,
.chauffeur-passenger-same{
  width:34px;
  height:34px;
  padding:0;
  flex:0 0 34px;
  border-style:dashed;
}
.chauffeur-passenger-add{
  color:#166534;
  border-color:#22c55e;
  background:#f0fdf4;
}
.chauffeur-passenger-remove{
  color:#991b1b;
  border-color:#fca5a5;
  background:#fef2f2;
}
.chauffeur-passenger-same{
  color:#166534;
  border-color:#22c55e;
  background:#f0fdf4;
  border-radius:999px;
  font-weight:800;
  border-style:solid;
}
.chauffeur-via-list{
  display:grid;
  gap:10px;
}
.chauffeur-via-actions{
  display:flex;
  justify-content:flex-start;
}
.chauffeur-via-add{
  border-style:dashed;
  color:#92400e;
  border-color:#f59e0b;
  background:#fffbeb;
}
.chauffeur-route-remove{
  align-self:end;
  width:54px;
  height:34px;
  padding:0;
  flex:0 0 54px;
  margin:0;
}
@media(max-width:900px){.chauffeur-route-columns{grid-template-columns:1fr;}.chauffeur-route-row{grid-template-columns:1fr;}.chauffeur-route-badge{align-self:auto;}}

.data-chauffeur-remark-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;resize:vertical;font:inherit;line-height:1.45;}
.chauffeur-remark-item .chauffeur-address-title span{font-weight:700;color:#0f172a;line-height:1.5;}
.chauffeur-route-remark input{width:100%;}

.data-chauffeur-remark-grid{grid-template-columns:220px minmax(0,1fr);align-items:end;}
.data-chauffeur-remark-text-field{grid-column:auto;}
.chauffeur-quick-remark-buttons{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:-2px;}
.chauffeur-quick-remark-btn{padding:7px 12px;border-radius:999px;}
.chauffeur-remark-item .chauffeur-address-title strong{color:#2563eb;}
@media(max-width:900px){.data-chauffeur-remark-grid{grid-template-columns:1fr;}}

.chauffeur-dispatch-section{grid-template-columns:120px 120px 150px 240px 190px;align-items:end;overflow-x:auto;}
.chauffeur-dispatch-section label{min-width:0;}
.chauffeur-dispatch-section input[readonly]{background:#f8fafc;color:#334155;}
.chauffeur-dispatch-id-inline{min-width:260px;}
.chauffeur-dispatch-id-row{display:flex;align-items:center;gap:8px;width:100%;}
.chauffeur-dispatch-id-row input[data-chauffeur-dispatch-id-number]{flex:1;min-width:0;}
.chauffeur-dispatch-id-row .chauffeur-id-sms-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;margin:0;white-space:nowrap;font-size:12px;color:#334155;font-weight:800;}
.chauffeur-dispatch-id-row .chauffeur-id-sms-toggle input{width:auto;margin:0;}
.chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle{flex:0 0 auto;display:inline-flex!important;align-items:center;gap:4px;margin:0;min-height:0;padding:2px 6px;border-radius:8px;white-space:nowrap;font-size:12px;line-height:1.2;writing-mode:horizontal-tb;text-orientation:mixed;}
.chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle input{width:auto;margin:0;flex:0 0 auto;}
@media(max-width:900px){.chauffeur-dispatch-section{grid-template-columns:120px 120px 150px 240px 190px;}}

.chauffeur-sms-card textarea{width:100%;min-height:220px;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font-size:15px;line-height:1.7;resize:vertical;background:#f8fafc;color:#0f172a;}

.chauffeur-order-table{font-size:9.2px;}
.chauffeur-order-table th,.chauffeur-order-table td{text-align:center;vertical-align:middle;line-height:1.45;}
.chauffeur-order-table .chauffeur-list-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:72px;white-space:normal;cursor:pointer;}
.chauffeur-order-table .chauffeur-list-cell strong{font-size:9.2px;color:#111827;font-weight:700;}
.chauffeur-order-table .chauffeur-list-cell span{font-size:8.8px;color:#4b5563;}
.chauffeur-order-table .chauffeur-list-cell .chauffeur-empty-link{color:#dc2626 !important;font-weight:800;}
.chauffeur-order-table .chauffeur-list-cell:hover .chauffeur-empty-link{color:#b91c1c !important;text-decoration:underline;}
.chauffeur-order-table .chauffeur-list-cell[role="button"]:focus{outline:2px solid #60a5fa;outline-offset:2px;border-radius:6px;}
.chauffeur-order-table .chauffeur-list-cell[role="button"]:hover strong{color:#0f172a;text-decoration:underline;}
.chauffeur-order-table .chauffeur-passenger-cell{gap:4px;}
.chauffeur-order-table .chauffeur-passenger-person{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.25;}
.chauffeur-order-table .chauffeur-passenger-person + .chauffeur-passenger-person{margin-top:3px;}
.chauffeur-order-table .chauffeur-routeDisplay,.chauffeur-order-table td:nth-child(10){min-width:180px;text-align:left;}
.chauffeur-order-table td:last-child{white-space:nowrap;}
.chauffeur-order-table button{font-size:9px;padding:4px 6px;}

.chauffeur-order-table .chauffeur-route-lines{display:flex;flex-direction:column;gap:2px;white-space:normal;line-height:1.45;}
.chauffeur-order-table .chauffeur-route-lines span{display:block;}
.chauffeur-order-table .chauffeur-service-travel-line{display:flex;justify-content:center;align-items:flex-start;gap:8px;flex-wrap:wrap;min-height:32px;}
.chauffeur-order-table .chauffeur-service-travel-block{display:inline-flex;flex-direction:column;align-items:center;gap:2px;vertical-align:top;}
.chauffeur-order-table .chauffeur-service-travel-pill{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-style:normal;font-weight:900;line-height:1.2;vertical-align:middle;white-space:nowrap;}
.chauffeur-order-table .chauffeur-service-flight-meta{display:block;color:#475569;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap;}
.chauffeur-order-table .chauffeur-remark-view{font-size:9.5px;padding:4px 7px;white-space:nowrap;}
.chauffeur-order-table .chauffeur-action-buttons{flex-direction:column;justify-content:center;align-items:center;flex-wrap:nowrap;gap:4px;}
.chauffeur-order-table .chauffeur-more-action{display:inline-flex;justify-content:center;}
.chauffeur-order-table .chauffeur-more-toggle{min-width:54px;}
.chauffeur-order-table .chauffeur-more-menu{left:auto;right:0;min-width:82px;z-index:80;}
.chauffeur-order-table .chauffeur-more-action:has(.chauffeur-more-menu.open){position:relative;z-index:2200;}
.chauffeur-order-table .chauffeur-more-menu button{font-size:11.2px;padding:7px 10px;white-space:nowrap;}
.modal-mask:has(.chauffeur-remark-popup){align-items:center;justify-content:center;}
.modal-mask:has(.chauffeur-remark-popup) .modal-card{width:min(360px,92vw);max-width:360px;margin:auto;}
.chauffeur-remark-popup{max-width:320px;max-height:220px;overflow:auto;white-space:pre-wrap;line-height:1.65;font-size:13px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;}
.chauffeur-record-popup{display:grid;gap:8px;min-width:320px;}
.chauffeur-record-popup div{display:grid;grid-template-columns:86px 1fr;gap:10px;border-bottom:1px solid #e5e7eb;padding:6px 0;}
.chauffeur-record-popup strong{color:#475569;}
.chauffeur-record-popup span{color:#0f172a;white-space:pre-wrap;}

.chauffeur-order-table .chauffeur-route-lines{display:flex;flex-direction:column;gap:2px;white-space:normal;line-height:1.45;}
.chauffeur-order-table .chauffeur-route-lines span{display:block;}
.chauffeur-order-table .chauffeur-remark-view{font-size:9.5px;padding:4px 7px;white-space:nowrap;}
.chauffeur-order-table .chauffeur-action-buttons{flex-direction:column;justify-content:center;align-items:center;flex-wrap:nowrap;gap:4px;}
.chauffeur-remark-popup{max-width:420px;white-space:pre-wrap;line-height:1.7;font-size:14px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px;}
.chauffeur-record-popup{display:grid;gap:8px;min-width:320px;}
.chauffeur-record-popup div{display:grid;grid-template-columns:86px 1fr;gap:10px;border-bottom:1px solid #e5e7eb;padding:6px 0;}
.chauffeur-record-popup strong{color:#475569;}
.chauffeur-record-popup span{color:#0f172a;white-space:pre-wrap;}

.chauffeur-order-table .chauffeur-list-cell .chauffeur-project-red{color:#dc2626;font-weight:700;}


.chauffeur-order-table .chauffeur-finance-action-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(42px,1fr));
  gap:4px;
  align-items:center;
  justify-content:center;
  min-width:94px;
}
.chauffeur-order-table .chauffeur-finance-action-buttons button{
  width:100%;
}
.chauffeur-order-table .chauffeur-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 13px;font-size:11.6px;font-weight:900;line-height:1.28;white-space:nowrap;background:#e2e8f0;color:#334155;}
.chauffeur-order-table .chauffeur-status-badge.reserved{background:#dbeafe;color:#1d4ed8;}
.chauffeur-order-table .chauffeur-status-badge.accepted{background:#fef3c7;color:#b45309;}
.chauffeur-order-table .chauffeur-status-badge.serving{background:#dcfce7;color:#15803d;}
.chauffeur-order-table .chauffeur-status-badge.pricing{background:#fee2e2;color:#b91c1c;}
.chauffeur-order-table .chauffeur-status-badge.settlement{background:#fef3c7;color:#b45309;}
.chauffeur-order-table .chauffeur-status-badge.settled{background:#dcfce7;color:#15803d;}
.chauffeur-order-table .chauffeur-status-badge.canceled{background:#fee2e2;color:#b91c1c;}
.chauffeur-dispatch-only-form .chauffeur-card-section:not(.chauffeur-dispatch-section),
.chauffeur-dispatch-only-form .chauffeur-reservation-section,
.chauffeur-dispatch-only-form .chauffeur-route-section,
.chauffeur-dispatch-only-form .chauffeur-card-section legend:not(:first-child){display:none !important;}
.chauffeur-dispatch-only-form .form-actions{display:flex !important;}

.chauffeur-status-cards{grid-template-columns:repeat(10,minmax(0,1fr));}
.chauffeur-status-cards .status-card{appearance:none;border:1px solid var(--line);background:#f8fafc;color:var(--text);text-align:left;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.chauffeur-status-cards .status-card strong{margin-left:auto;text-align:right;}
.chauffeur-status-cards .status-card:hover{background:#eff6ff;border-color:#93c5fd;opacity:1;}
.chauffeur-status-cards .status-card.status-card-blue{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;}
.chauffeur-status-cards .status-card.status-card-red{background:#fef2f2;border-color:#fca5a5;color:#b91c1c;}
.chauffeur-status-cards .status-card.status-card-yellow{background:#fffbeb;border-color:#facc15;color:#a16207;}
.chauffeur-status-cards .status-card.status-card-green{background:#f0fdf4;border-color:#86efac;color:#15803d;}
.chauffeur-status-cards .status-card.active{box-shadow:0 0 0 2px rgba(15,23,42,.16) inset;filter:saturate(1.08);}
.chauffeur-status-cards .status-card.status-card-blue.active{background:#dbeafe;border-color:#2563eb;color:#1d4ed8;}
.chauffeur-status-cards .status-card.status-card-red.active{background:#fee2e2;border-color:#ef4444;color:#991b1b;}
.chauffeur-status-cards .status-card.status-card-yellow.active{background:#fef3c7;border-color:#eab308;color:#854d0e;}
.chauffeur-status-cards .status-card.status-card-green.active{background:#dcfce7;border-color:#22c55e;color:#166534;}
@media(max-width:1200px){.chauffeur-status-cards{grid-template-columns:repeat(5,minmax(0,1fr));}}

.chauffeur-pricing-card{min-width:min(1180px,94vw);background:linear-gradient(180deg,#f8fafc 0%,#fff 34%);border-radius:18px;padding:2px;}
.chauffeur-pricing-grid{display:grid;grid-template-columns:4fr 1fr;gap:20px;align-items:stretch;}
.chauffeur-pricing-main{padding:0;}
.chauffeur-pricing-side{display:block;border-left:2px solid #e5e7eb;padding-left:18px;min-height:360px;}
.chauffeur-pricing-columns{display:flex;flex-direction:column;gap:14px;border:0;border-radius:18px;overflow:visible;background:transparent;}
.chauffeur-pricing-column{padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.chauffeur-pricing-column + .chauffeur-pricing-column{border-top:1px solid #e2e8f0;}
.chauffeur-pricing-column h3{margin:0;display:flex;align-items:center;gap:8px;font-size:16px;color:#0f172a;letter-spacing:.02em;}
.chauffeur-pricing-column h3::before{content:'';width:4px;height:16px;border-radius:999px;background:#2563eb;display:inline-block;}
.chauffeur-pricing-trip summary,.chauffeur-pricing-driver-report summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;color:#0f172a;list-style:none;}
.chauffeur-pricing-trip summary::-webkit-details-marker,.chauffeur-pricing-driver-report summary::-webkit-details-marker{display:none;}
.chauffeur-pricing-trip summary::before,.chauffeur-pricing-driver-report summary::before{content:'▶';font-size:12px;color:#64748b;transition:transform .15s ease;}
.chauffeur-pricing-trip[open] summary::before,.chauffeur-pricing-driver-report[open] summary::before{transform:rotate(90deg);}
.chauffeur-pricing-trip summary span,.chauffeur-pricing-driver-report summary span{font-size:16px;flex:1;}
.chauffeur-pricing-trip summary small,.chauffeur-pricing-driver-report summary small{font-size:12px;color:#64748b;font-weight:700;}
.chauffeur-pricing-reservation summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;color:#0f172a;list-style:none;}
.chauffeur-pricing-reservation summary::-webkit-details-marker{display:none;}
.chauffeur-pricing-reservation summary::before{content:'▶';font-size:12px;color:#64748b;transition:transform .15s ease;}
.chauffeur-pricing-reservation[open] summary::before{transform:rotate(90deg);}
.chauffeur-pricing-reservation summary span{font-size:16px;flex:1;}
.chauffeur-pricing-reservation summary small{font-size:12px;color:#64748b;font-weight:700;}
.chauffeur-pricing-info-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;}
.chauffeur-pricing-info-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px dashed #dbe3ef;border-radius:12px;background:#f8fafc;min-width:0;}
.chauffeur-pricing-info-item.reservation-row-2{grid-column:span 1;}
.chauffeur-pricing-info-item.reservation-row-3{grid-column:1/-1;}
.chauffeur-pricing-info-item.reservation-row-4{grid-column:span 2;}
.chauffeur-pricing-info-item span{font-size:12px;color:#64748b;font-weight:700;}
.chauffeur-pricing-info-item strong{font-size:13px;color:#111827;font-weight:700;line-height:1.45;word-break:break-word;}
.chauffeur-pricing-report-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;}
.chauffeur-pricing-report-item{display:flex;flex-direction:column;gap:3px;padding-bottom:8px;border-bottom:1px dashed #e5e7eb;min-width:0;}
.chauffeur-pricing-report-item span{font-size:12px;color:#64748b;font-weight:700;}
.chauffeur-pricing-report-item strong{font-size:13px;color:#111827;font-weight:700;line-height:1.45;word-break:break-word;}
.chauffeur-pricing-customer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 14px;}
.chauffeur-pricing-driver{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 14px;}
.chauffeur-pricing-report-edit-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;}
.chauffeur-pricing-customer h3,.chauffeur-pricing-driver h3,.chauffeur-pricing-remark h3{grid-column:1/-1;}
.chauffeur-pricing-report-remark{grid-column:1/-1;}
.chauffeur-pricing-column label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#334155;font-size:13px;min-width:0;}
.chauffeur-pricing-column input,.chauffeur-pricing-column textarea,.chauffeur-pricing-column select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 11px;color:#0f172a;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.chauffeur-pricing-column input:focus,.chauffeur-pricing-column textarea:focus,.chauffeur-pricing-column select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);background:#fff;}
.chauffeur-pricing-column textarea{resize:vertical;min-height:44px;}
.chauffeur-pricing-remark textarea{min-height:120px;}
.chauffeur-pricing-card .form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding-top:12px;border-top:1px solid #e2e8f0;margin-top:16px;}
@media (max-width: 980px){.chauffeur-pricing-info-list,.chauffeur-pricing-report-list,.chauffeur-pricing-customer,.chauffeur-pricing-driver,.chauffeur-pricing-report-edit-list{grid-template-columns:repeat(2,minmax(0,1fr));}.chauffeur-pricing-info-item.reservation-row-1,.chauffeur-pricing-info-item.reservation-row-2,.chauffeur-pricing-info-item.reservation-row-4{grid-column:span 1}.chauffeur-pricing-info-item.reservation-row-3,.chauffeur-pricing-report-remark{grid-column:1/-1}}
@media (max-width: 760px){.chauffeur-pricing-grid{grid-template-columns:1fr}.chauffeur-pricing-side{border-left:0;border-top:2px solid #e5e7eb;padding-left:0;padding-top:14px;min-height:80px}.chauffeur-pricing-info-list,.chauffeur-pricing-report-list,.chauffeur-pricing-customer,.chauffeur-pricing-driver,.chauffeur-pricing-report-edit-list{grid-template-columns:1fr}.chauffeur-pricing-info-item.reservation-row-1,.chauffeur-pricing-info-item.reservation-row-2,.chauffeur-pricing-info-item.reservation-row-3,.chauffeur-pricing-info-item.reservation-row-4,.chauffeur-pricing-report-remark{grid-column:1/-1}.chauffeur-pricing-card{min-width:auto;padding:0}}

.chauffeur-pricing-trip-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px;}
.chauffeur-pricing-trip-list label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#334155;min-width:0;}
.chauffeur-pricing-trip-list input{width:100%;box-sizing:border-box;}
.chauffeur-pricing-trip-list input[readonly]{background:#f8fafc;color:#475569;}
@media (max-width: 760px){.chauffeur-pricing-trip-list{grid-template-columns:1fr;}}

.chauffeur-pricing-side-stack{position:sticky;top:12px;display:flex;flex-direction:column;gap:14px;}
.chauffeur-pricing-side-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:14px;box-shadow:0 10px 24px rgba(15,23,42,.06);color:#334155;}
.chauffeur-pricing-side-card strong{display:block;color:#0f172a;margin-bottom:10px;font-size:15px;}
.chauffeur-pricing-op-list{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow:auto;padding-right:2px;}
.chauffeur-pricing-op-list div{display:grid;grid-template-columns:1fr;gap:2px;padding:8px 9px;border-left:3px solid #2563eb;background:#f8fafc;border-radius:10px;}
.chauffeur-pricing-op-list time{font-size:12px;color:#475569;font-weight:800;}
.chauffeur-pricing-op-list span{font-size:13px;color:#0f172a;font-weight:700;}
.chauffeur-pricing-side-card .muted{margin:0;font-size:12px;color:#94a3b8;}
.chauffeur-pricing-summary-list{display:flex;flex-direction:column;gap:9px;}
.chauffeur-pricing-summary-list div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#f8fafc;}
.chauffeur-pricing-summary-list span{font-size:12px;color:#64748b;font-weight:800;}
.chauffeur-pricing-summary-list b{font-size:15px;color:#0f172a;}
.chauffeur-pricing-summary-list .profit{background:#eff6ff;}
.chauffeur-pricing-summary-list .profit b{color:#1d4ed8;}

.pricing-fee-with-type{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:6px;align-items:center;}
.pricing-fee-with-type input,.pricing-fee-with-type select{min-width:0;}
.pricing-fee-with-type select{padding-left:8px;padding-right:8px;}
@media (max-width: 760px){.pricing-fee-with-type{grid-template-columns:minmax(0,1fr) 86px;}}

.chauffeur-progress-card{min-width:min(720px,92vw);display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 44%);border-radius:18px;padding:2px;color:#0f172a;}
.chauffeur-progress-card.chauffeur-progress-end{min-width:min(900px,94vw);}
.chauffeur-progress-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #dbeafe;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 10px 24px rgba(37,99,235,.08);}
.chauffeur-progress-hero div{display:flex;flex-direction:column;gap:5px;min-width:0;}
.chauffeur-progress-hero strong{font-size:18px;color:#0f172a;letter-spacing:.02em;}
.chauffeur-progress-hero span{font-size:13px;color:#475569;line-height:1.5;}
.chauffeur-progress-hero em{font-style:normal;flex:0 0 auto;padding:5px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:800;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chauffeur-progress-tip{padding:10px 12px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px;font-weight:700;}
.chauffeur-progress-section{padding:16px 18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.055);}
.chauffeur-progress-section h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:16px;color:#0f172a;}
.chauffeur-progress-section h3::before{content:'';width:4px;height:16px;border-radius:999px;background:#2563eb;display:inline-block;}
.chauffeur-progress-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;}
.chauffeur-progress-end .chauffeur-progress-fields{grid-template-columns:repeat(3,minmax(0,1fr));}
.chauffeur-progress-fields label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#334155;font-size:13px;min-width:0;}
.chauffeur-progress-fields label.wide{grid-column:1/-1;}
.chauffeur-progress-fields input,.chauffeur-progress-fields select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 11px;color:#0f172a;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.chauffeur-progress-fields input:focus,.chauffeur-progress-fields select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12);background:#fff;}
.chauffeur-progress-fields input::placeholder{color:#94a3b8;}
.chauffeur-progress-fees{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);}
.chauffeur-progress-fees .highlight-fee{padding:10px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;}
.chauffeur-progress-card .form-actions{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-start;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:14px 2px 2px;border-top:1px solid #e2e8f0;margin-top:2px;}
.chauffeur-progress-card .form-actions button:first-child{background:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18);}
.chauffeur-progress-card .form-actions button:first-child:hover{background:#1d4ed8;}
.chauffeur-progress-card .form-actions button[data-close-modal]{background:#64748b;color:#fff;}
@media (max-width: 820px){.chauffeur-progress-card,.chauffeur-progress-card.chauffeur-progress-end{min-width:auto}.chauffeur-progress-hero{flex-direction:column}.chauffeur-progress-hero em{max-width:100%}.chauffeur-progress-fields,.chauffeur-progress-end .chauffeur-progress-fields{grid-template-columns:1fr}.chauffeur-progress-section{padding:14px}.chauffeur-progress-card .form-actions{position:static;}}

/* v0.4.1-data4 车辆数据页面：两栏均分 + 栏间分隔符 */
.dictionary-row.vehicle-dictionaries{
  display:grid!important;
  grid-template-columns:repeat(4,459.5px)!important;
  width:1838px!important;
  max-width:1838px!important;
  min-width:1838px!important;
  gap:0!important;
  align-items:start;
  overflow-x:visible!important;
  padding-bottom:0!important;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.vehicle-dictionaries .dictionary-module{
  width:auto!important;
  min-width:0!important;
  box-sizing:border-box;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff;
}
.vehicle-dictionaries .dictionary-module:nth-child(2n),
.vehicle-dictionaries .dictionary-module:last-child{
  border-right:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(n+3){
  border-top:1px solid var(--line)!important;
}
.vehicle-dictionaries .dictionary-width,
.vehicle-dictionaries .dictionary-table,
.vehicle-dictionaries .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dictionary-table th,
.vehicle-dictionaries .dictionary-table td{
  white-space:normal;
}
@media(max-width:900px){
  .dictionary-row.vehicle-dictionaries{display:flex!important;flex-direction:column;border-radius:16px;}
  .vehicle-dictionaries .dictionary-module{width:100%!important;border-right:0!important;border-top:0!important;border-bottom:1px solid var(--line)!important;}
  .vehicle-dictionaries .dictionary-module:last-child{border-bottom:0!important;}
}
@media(max-width:700px){
  .dictionary-row.vehicle-dictionaries{display:flex!important;flex-direction:column;border-radius:16px;}
  .vehicle-dictionaries .dictionary-module{width:100%!important;border-right:0!important;border-bottom:1px solid var(--line)!important;}
  .vehicle-dictionaries .dictionary-module:last-child{border-bottom:0!important;}
}


.customer-p2p-rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.customer-p2p-rule-head h4{margin:0 0 4px;}
.customer-p2p-rule-list{display:flex;flex-direction:column;gap:10px;}
.customer-p2p-rule-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr auto;gap:10px;align-items:end;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;}
.customer-p2p-rule-row label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.customer-p2p-rule-row input,.customer-p2p-rule-row select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.customer-p2p-empty{padding:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;}
@media(max-width:900px){.customer-p2p-rule-head{flex-direction:column;}.customer-p2p-rule-row{grid-template-columns:1fr;}}


.customer-project-row{display:flex;gap:8px;align-items:center;}
.customer-project-row input{flex:1;min-width:0;}
.enterprise-project-price-button{white-space:nowrap;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;padding:8px 10px;}
@media(max-width:700px){.customer-project-row{align-items:stretch;flex-direction:column;}.enterprise-project-price-button{width:100%;}}
.customer-settlement-summary-table .amount-stack{display:flex;flex-direction:column;gap:4px;line-height:1.35;white-space:nowrap;}
.customer-settlement-summary-table th:nth-child(4),.customer-settlement-summary-table td:nth-child(4){min-width:180px;}
.customer-settlement-detail-tabs{display:flex;gap:8px;margin:0 0 12px;}
.customer-settlement-detail-tabs button{border:1px solid #d7dde8;background:#f8fafc;color:#334155;border-radius:999px;padding:8px 18px;cursor:pointer;font-weight:600;}
.customer-settlement-detail-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.22);}
.customer-settlement-detail-pane{display:none;}
.customer-settlement-detail-pane.active{display:block;}
.customer-settlement-detail-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px;}
.customer-settlement-detail-summary span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;color:#334155;font-weight:600;}
.meeting-manage-card{display:flex;flex-direction:column;gap:16px;}
.meeting-manage-form{border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f8fafc;}
.meeting-manage-table td:last-child{white-space:nowrap;}
.page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.meeting-customer-type-row{display:flex;align-items:center;gap:10px;border-top:1px dashed #dbe3ef;padding-top:12px;}
.meeting-customer-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.meeting-customer-fields[data-meeting-customer-section="同行"]{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){.meeting-customer-fields,.meeting-customer-fields[data-meeting-customer-section="同行"]{grid-template-columns:1fr;}}


.meeting-customer-fields[hidden],.meeting-customer-fields:not(.active){display:none!important;}
.meeting-customer-fields.active{display:grid!important;}

.meeting-order-info-section{border-color:#bfdbfe;background:#eff6ff;}
.chauffeur-meeting-order-form .meeting-order-info-section{grid-column:1/-1;}


/* 配驾订单记录弹窗：自适应列宽，避免时间和内容挤压错乱 */
.modal-mask:has(.chauffeur-record-timeline){align-items:center;justify-content:center;}
.modal-mask:has(.chauffeur-record-timeline) .modal-card{width:min(760px,94vw);max-width:760px;margin:auto;}
.chauffeur-record-popup.chauffeur-record-timeline{display:block;min-width:0;width:100%;}
.chauffeur-record-popup.chauffeur-record-timeline h3{margin:0 0 14px;font-size:16px;color:#0f172a;word-break:break-word;}
.chauffeur-record-list{display:grid;gap:10px;max-height:60vh;overflow:auto;padding-right:4px;}
.chauffeur-record-popup .chauffeur-record-list{display:grid;grid-template-columns:1fr;gap:10px;border:0;padding:0;}
.chauffeur-record-popup .chauffeur-record-item{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:10px 12px;}
.chauffeur-record-popup .chauffeur-record-item time{white-space:nowrap;color:#64748b;font-size:12px;line-height:1.6;}
.chauffeur-record-popup .chauffeur-record-item span{min-width:0;color:#0f172a;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;}
@media(max-width:560px){.chauffeur-record-popup .chauffeur-record-item{grid-template-columns:1fr;gap:4px}.chauffeur-record-popup .chauffeur-record-item time{white-space:normal}}

.chauffeur-finance-readonly-detail{display:grid;gap:14px;min-width:min(1080px,92vw);}
.chauffeur-finance-readonly-detail .maintenance-audit-card h3{margin:0 0 12px;color:#0f172a;}
/* 账户明细金额卡片：每行 6 个，可点击筛选账户明细 */
.account-detail-cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.account-detail-cards .finance-visual-card{
  min-width:0;
  padding:14px 12px;
  cursor:pointer;
  text-align:left;
  appearance:none;
  font:inherit;
}
.account-detail-cards .finance-visual-card.active{
  outline:2px solid #2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 8px 20px rgba(15,23,42,.06);
}
.account-detail-cards .finance-visual-card strong{
  font-size:18px;
}
.account-detail-cards .finance-visual-card span{
  white-space:nowrap;
}
.account-detail-amount{
  font-weight:800;
  white-space:nowrap;
}
.account-detail-amount.account-amount-income{
  color:#15803d;
}
.account-detail-amount.account-amount-expense{
  color:#dc2626;
}
.account-detail-pagination{
  margin-top:12px;
}
@media(max-width:1200px){
  .account-detail-cards{
    grid-template-columns:repeat(6,minmax(120px,1fr));
    overflow-x:auto;
    padding-bottom:4px;
  }
}
@media(max-width:720px){
  .account-detail-cards{
    grid-template-columns:repeat(6,minmax(120px,1fr));
    overflow-x:auto;
  }
}


/* v0.4.76 自驾租金收款卡片：按用户要求固定为横向第一行/第二行/第三行 */
.self-drive-settlement-card .self-drive-settlement-form{display:flex;flex-direction:column;gap:12px;}
.self-drive-settlement-card .self-drive-settlement-row{display:grid!important;gap:10px;align-items:end;width:100%;}
.self-drive-settlement-card .self-drive-settlement-row-1{grid-template-columns:repeat(4,minmax(0,1fr));}
.self-drive-settlement-card .self-drive-settlement-row-2{grid-template-columns:repeat(5,minmax(0,1fr));}
.self-drive-settlement-card .self-drive-settlement-row-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.self-drive-settlement-card .self-drive-settlement-row label{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.self-drive-settlement-card .self-drive-settlement-row .wide{grid-column:auto;}
.self-drive-settlement-card .form-actions{display:flex;gap:10px;justify-content:flex-start;}
.self-drive-settlement-card .form-actions button{grid-column:auto;}
@media(max-width:1100px){.self-drive-settlement-card .self-drive-settlement-row-1,.self-drive-settlement-card .self-drive-settlement-row-2,.self-drive-settlement-card .self-drive-settlement-row-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-settlement-card .self-drive-settlement-row-1,.self-drive-settlement-card .self-drive-settlement-row-2,.self-drive-settlement-card .self-drive-settlement-row-3{grid-template-columns:1fr;}}

.daily-expense-visual-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.daily-expense-visual-cards .finance-visual-card{min-width:0;padding:14px 12px;}
.daily-expense-visual-cards .finance-visual-card strong{font-size:18px;}
.daily-expense-visual-cards .finance-visual-card span{white-space:nowrap;}
@media(max-width:1100px){.daily-expense-visual-cards{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto;padding-bottom:4px;}}

/* v0.4.86 财务数据字典列宽修复：避免宽表卡片挤压重叠 */
.dictionary-row.finance-dictionaries{
  display:grid!important;
  grid-template-columns:320px 800px 320px!important;
  gap:14px!important;
  align-items:start!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding-bottom:10px!important;
}
.finance-dictionaries .dictionary-module{
  box-sizing:border-box!important;
  min-width:0!important;
}
.finance-dictionaries .dict-companySettlementMethod,
.finance-dictionaries .dict-dailyExpense,
.finance-dictionaries .dict-companySettlementMethod .dictionary-width,
.finance-dictionaries .dict-dailyExpense .dictionary-width,
.finance-dictionaries .dict-companySettlementMethod .dictionary-table,
.finance-dictionaries .dict-dailyExpense .dictionary-table,
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form,
.finance-dictionaries .dict-dailyExpense .compact-setting-form{
  width:320px!important;
  max-width:320px!important;
  min-width:0!important;
}
.finance-dictionaries .dict-settlementParty,
.finance-dictionaries .dict-settlementParty .dictionary-width,
.finance-dictionaries .dict-settlementParty .dictionary-table,
.finance-dictionaries .dict-settlementParty .compact-setting-form{
  width:800px!important;
  max-width:800px!important;
  min-width:0!important;
}
.finance-dictionaries .dictionary-width{
  overflow-x:auto!important;
}
.finance-dictionaries .dictionary-table{
  table-layout:auto!important;
}
.finance-dictionaries .dictionary-table th,
.finance-dictionaries .dictionary-table td{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
.finance-dictionaries .dict-settlementParty .setting-form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:800px!important;
}
.finance-dictionaries .dict-companySettlementMethod .setting-form,
.finance-dictionaries .dict-dailyExpense .setting-form{
  grid-template-columns:1fr!important;
  max-width:320px!important;
}
@media(max-width:900px){
  .dictionary-row.finance-dictionaries{
    display:flex!important;
    flex-direction:column!important;
    overflow-x:visible!important;
  }
  .finance-dictionaries .dictionary-module,
  .finance-dictionaries .dictionary-width,
  .finance-dictionaries .dictionary-table,
  .finance-dictionaries .compact-setting-form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .finance-dictionaries .dict-settlementParty .setting-form,
  .finance-dictionaries .dict-companySettlementMethod .setting-form,
  .finance-dictionaries .dict-dailyExpense .setting-form{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }
}


/* v0.4.87 财务数据只保留公司结算方式与日常费用，两列加宽 */
.dictionary-row.finance-dictionaries{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(520px,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  overflow-x:auto!important;
  padding-bottom:10px!important;
}
.finance-dictionaries .dict-companySettlementMethod,
.finance-dictionaries .dict-dailyExpense,
.finance-dictionaries .dict-companySettlementMethod .dictionary-width,
.finance-dictionaries .dict-dailyExpense .dictionary-width,
.finance-dictionaries .dict-companySettlementMethod .dictionary-table,
.finance-dictionaries .dict-dailyExpense .dictionary-table,
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form,
.finance-dictionaries .dict-dailyExpense .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:520px!important;
}
.finance-dictionaries .dict-companySettlementMethod .setting-form,
.finance-dictionaries .dict-dailyExpense .setting-form{
  grid-template-columns:2fr 1fr!important;
  max-width:100%!important;
}
.finance-dictionaries .dict-companySettlementMethod .setting-form input[name="remark"],
.finance-dictionaries .dict-dailyExpense .setting-form input[name="remark"]{
  grid-column:1 / -1!important;
}
.finance-dictionaries .dict-companySettlementMethod .setting-form button,
.finance-dictionaries .dict-dailyExpense .setting-form button{
  grid-column:1 / -1!important;
}
@media(max-width:1100px){
  .dictionary-row.finance-dictionaries{
    display:flex!important;
    flex-direction:column!important;
    overflow-x:visible!important;
  }
  .finance-dictionaries .dict-companySettlementMethod,
  .finance-dictionaries .dict-dailyExpense,
  .finance-dictionaries .dict-companySettlementMethod .dictionary-width,
  .finance-dictionaries .dict-dailyExpense .dictionary-width,
  .finance-dictionaries .dict-companySettlementMethod .dictionary-table,
  .finance-dictionaries .dict-dailyExpense .dictionary-table,
  .finance-dictionaries .dict-companySettlementMethod .compact-setting-form,
  .finance-dictionaries .dict-dailyExpense .compact-setting-form{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
}


/* v0.4.88 日常费用一级/二级分类维护 */
.daily-expense-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.finance-dictionaries .dict-dailyExpense{min-width:720px!important;}
.finance-dictionaries .dict-dailyExpense .dictionary-width,
.finance-dictionaries .dict-dailyExpense .dictionary-table,
.finance-dictionaries .dict-dailyExpense .compact-setting-form{min-width:0!important;}
@media(max-width:1100px){.daily-expense-data-grid{grid-template-columns:1fr;}.finance-dictionaries .dict-dailyExpense{min-width:0!important;}}


/* v0.4.89 日常费用资金卡片按一级分类数量动态显示 */
.daily-expense-visual-cards{
  grid-template-columns:repeat(var(--daily-expense-card-count,5),minmax(0,1fr))!important;
}
@media(max-width:1100px){
  .daily-expense-visual-cards{
    grid-template-columns:repeat(var(--daily-expense-card-count,5),minmax(120px,1fr))!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
  }
}


/* v0.4.90 日常费用新增卡片三行布局 */
.daily-expense-card-form{display:flex!important;flex-direction:column;gap:14px;}
.daily-expense-form-row{display:grid;gap:12px;align-items:start;}
.daily-expense-form-row-1{grid-template-columns:repeat(4,minmax(0,1fr));}
.daily-expense-form-row-2{grid-template-columns:repeat(4,minmax(0,1fr));}
.daily-expense-form-row-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.daily-expense-card-form label{min-width:0;}
.daily-expense-card-form input,.daily-expense-card-form select,.daily-expense-card-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;}
.daily-expense-card-form textarea{resize:vertical;min-height:96px;line-height:1.5;}
.daily-expense-card-form .upload-field{grid-column:auto!important;}
.daily-expense-card-form .form-actions{display:flex;gap:10px;}
@media(max-width:900px){.daily-expense-form-row-1,.daily-expense-form-row-2,.daily-expense-form-row-3{grid-template-columns:1fr;}}

/* v0.4.92 日常费用日期类型切换：强制隐藏非当前日期字段 */
.daily-expense-card-form .hidden,
.daily-expense-card-form label.hidden{
  display:none!important;
}


/* v0.4.93 日常费用第三行加入付款方式和经办人 */
.daily-expense-form-row-3{
  grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.2fr)!important;
}
@media(max-width:900px){.daily-expense-form-row-3{grid-template-columns:1fr!important;}}

/* v0.4.101 登录与权限体系 */
.login-page{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center;padding:36px 16px}
.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 22px 70px rgba(15,23,42,.16);display:flex;flex-direction:column;gap:16px}
.login-brand{text-align:center;margin-bottom:4px}.login-brand h2{font-size:22px;color:#0f172a}.login-brand p{margin:8px 0 0;color:#64748b;font-size:12px}
.login-card label{display:flex;flex-direction:column;gap:7px;color:#334155;font-size:12px;font-weight:700}.login-card input{width:100%;padding:12px 14px;border:1px solid #dbe1ea;border-radius:12px;background:#fff}.login-card button{width:100%;padding:12px 16px;font-weight:800}.login-card .muted{font-size:11px;line-height:1.6;margin:0;text-align:center}
.nav-user{margin-left:auto;display:inline-flex;align-items:center;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.logout-btn{background:rgba(255,255,255,.92)!important;color:#1e40af!important;border-color:#fff!important}
.user-form{grid-template-columns:220px 220px 1fr auto}.user-table td:nth-child(2){max-width:520px}
@media(max-width:900px){.login-page{min-height:auto;padding:24px 0}.login-card{padding:22px}.nav-user{margin-left:0}.user-form{grid-template-columns:1fr}}

/* v0.4.112 备份恢复页面美化 */
.backup-page{padding:0;overflow:hidden;background:linear-gradient(180deg,#f8fbff 0%,#fff 42%);border:1px solid #dbeafe;box-shadow:0 18px 50px rgba(37,99,235,.08)}
.backup-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 26px;background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 34%),linear-gradient(135deg,#eff6ff,#f8fafc);border-bottom:1px solid #dbeafe}
.backup-eyebrow{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:9px}
.backup-hero h3{margin:0;color:#0f172a;font-size:24px}.backup-hero p{max-width:760px;margin:8px 0 0;color:#475569;line-height:1.7;font-size:13px}
.backup-hero-badge{min-width:178px;padding:14px 16px;border:1px solid rgba(37,99,235,.18);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 14px 36px rgba(37,99,235,.1);display:flex;flex-direction:column;gap:5px;text-align:center}.backup-hero-badge strong{font-size:18px;color:#1d4ed8}.backup-hero-badge span{font-size:11px;color:#64748b;font-weight:700}
.backup-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);gap:18px;padding:20px}.backup-section{border:1px solid #e2e8f0;border-radius:20px;background:#fff;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:14px}.backup-section-head{display:flex;gap:12px;align-items:flex-start}.backup-section h4{margin:0;color:#0f172a;font-size:17px}.backup-section p{margin:6px 0 0;color:#64748b;line-height:1.6;font-size:12px}.backup-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900}.danger-icon{background:#fee2e2;color:#b91c1c}.backup-note,.backup-warning{padding:12px 14px;border-radius:14px;line-height:1.65;font-size:12px}.backup-note.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.backup-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.backup-actions button,.backup-actions .file-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:800}.backup-actions .secondary{background:#f1f5f9!important;color:#334155!important;border:1px solid #cbd5e1!important}.backup-actions .ghost{background:#fff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}.backup-actions .danger{background:#dc2626!important;color:#fff!important;border:1px solid #dc2626!important}.data-backup-textarea{min-height:220px;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:14px;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.55;resize:vertical}.backup-list-card{border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;overflow:hidden}.backup-list-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid #e2e8f0;background:#fff}.backup-list-head strong{display:block;color:#0f172a}.backup-list-head span{display:block;margin-top:4px;color:#64748b;font-size:11px}.backup-table-wrap{margin:0;border:0;border-radius:0}.backup-table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0}.backup-table th,.backup-table td{padding:13px 18px!important;line-height:1.55}.backup-table th{background:#eff6ff;color:#1e3a8a}.backup-table th:nth-child(1),.backup-table td:nth-child(1){width:50%;min-width:360px;word-break:break-all}.backup-table th:nth-child(2),.backup-table td:nth-child(2){width:14%;min-width:120px;text-align:center;white-space:nowrap}.backup-table th:nth-child(3),.backup-table td:nth-child(3){width:24%;min-width:190px;text-align:center;white-space:nowrap}.backup-table th:nth-child(4),.backup-table td:nth-child(4){width:12%;min-width:100px;text-align:center;white-space:nowrap}.backup-table td{vertical-align:middle}.backup-table button{padding:8px 16px;border-radius:10px;background:#2563eb;color:#fff;font-weight:800}
@media(max-width:1100px){.backup-grid{grid-template-columns:1fr}.backup-hero{flex-direction:column}.backup-hero-badge{text-align:left}.backup-table-wrap{overflow-x:auto}.backup-table{min-width:720px}}


/* v0.4.115 配驾零散订单往返字段 */
.chauffeur-service-type-row{align-items:center;gap:12px;flex-wrap:wrap}.chauffeur-round-trip-title{font-weight:800;color:#1d4ed8}.chauffeur-reservation-choice-row [data-chauffeur-round-trip-wrapper]{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.chauffeur-round-trip-time-field{grid-column:1 / -1;max-width:320px}.chauffeur-round-trip-time-field input{width:100%}
@media(max-width:900px){.chauffeur-round-trip-time-field{max-width:none}}


/* v0.4.117 登录保存密码 */
.login-remember-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin-top:-2px;font-size:14px;color:#475569}.login-remember-row input{width:auto!important;margin:0}.login-remember-row span{font-weight:700}


/* v0.4.124 配驾零散订单往返布局 */
.chauffeur-round-trip-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:12px}.chauffeur-round-trip-group[hidden]{display:none!important}.chauffeur-round-trip-group .chauffeur-round-trip-title{font-weight:800;color:#334155;margin-left:0}.chauffeur-round-trip-group label{margin:0}.chauffeur-reservation-fields{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end}.chauffeur-reservation-fields .chauffeur-round-trip-time-field{grid-column:auto;max-width:none}.chauffeur-return-start-option{width:auto!important;min-width:90px;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;margin:0 0 2px 0;font-size:13px;font-weight:800;color:#1d4ed8;white-space:nowrap}.chauffeur-return-start-option[hidden]{display:none!important}.chauffeur-return-start-option input{width:auto!important;min-width:0!important;margin:0}.chauffeur-route-row .chauffeur-return-start-option span{white-space:nowrap}
@media(max-width:900px){.chauffeur-reservation-fields{grid-template-columns:1fr}.chauffeur-round-trip-group{margin-left:0}.chauffeur-route-row{flex-wrap:wrap}.chauffeur-return-start-option{width:auto!important}}

/* v0.4.124 零散订单列表往返标记 */
.chauffeur-service-type-cell{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.35;}
.chauffeur-round-trip-list-badge{display:block;color:#dc2626;font-weight:900;white-space:nowrap;}

/* 配驾零散账单结算卡片四行布局 */
.chauffeur-finance-settlement-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.chauffeur-finance-settlement-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}
.chauffeur-finance-settlement-row-2 {
  grid-template-columns: 2fr 1fr 1fr;
}
.chauffeur-finance-settlement-row-3 {
  grid-template-columns: 1fr 1fr 2fr;
}
.chauffeur-finance-settlement-row-4 {
  grid-template-columns: 1fr;
}
.chauffeur-finance-settlement-row .upload-field,
.chauffeur-finance-settlement-row .wide {
  grid-column: auto;
}
.chauffeur-finance-settlement-row-4 .wide {
  grid-column: 1 / -1;
}
@media (max-width: 900px) {
  .chauffeur-finance-settlement-row,
  .chauffeur-finance-settlement-row-2,
  .chauffeur-finance-settlement-row-3 {
    grid-template-columns: 1fr;
  }
}

.ledger-table{width:100%;table-layout:auto}.ledger-table th,.ledger-table td{white-space:normal;vertical-align:top}.ledger-table th.ledger-plate-col,.ledger-table td.ledger-plate-col,.ledger-table th.ledger-summary-col,.ledger-table td.ledger-summary-col{width:300px;min-width:300px;max-width:300px}.ledger-stack-cell{display:flex;flex-direction:column;gap:3px;line-height:1.35}.ledger-stack-cell span{display:block;white-space:nowrap}.ledger-detail-tables{display:grid;gap:14px}.ledger-detail-card{overflow-x:auto}.ledger-detail-card h3{margin:0 0 10px;font-size:15px;color:#0f172a}.ledger-detail-table{width:100%;table-layout:auto;border-collapse:collapse}.ledger-detail-table th{width:160px;min-width:120px;background:#f8fafc;color:#475569;text-align:left;font-weight:700}.ledger-detail-table th,.ledger-detail-table td{white-space:normal;vertical-align:top;line-height:1.5}.ledger-detail-table td{min-width:180px;color:#111827}.ledger-detail-table [data-preview-file]{max-width:180px;max-height:120px;object-fit:cover;border-radius:10px;cursor:pointer}

/* 加油卡管理卡片优化 */
.fuel-card-manage-card{gap:18px;}
.fuel-card-manage-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #bfdbfe;box-shadow:0 12px 28px rgba(37,99,235,.10);}
.fuel-card-manage-hero h3{margin:0 0 6px;font-size:18px;color:#0f172a;}
.fuel-card-manage-hero p{margin:0;color:#64748b;font-size:13px;}
.fuel-card-manage-hero strong{font-size:24px;color:#1d4ed8;white-space:nowrap;}
.fuel-card-panel{padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);}
.fuel-card-panel>h3{margin:0 0 14px;font-size:15px;color:#0f172a;}
.fuel-card-history-table th,.fuel-card-history-table td{white-space:nowrap;}
.fuel-card-form-row-fields{grid-template-columns:repeat(5,minmax(130px,1fr));}
@media(max-width:1100px){.fuel-card-form-row-fields{grid-template-columns:repeat(2,minmax(160px,1fr));}.fuel-card-manage-hero{align-items:flex-start;flex-direction:column;}}
@media(max-width:900px){.fuel-card-form-row-fields{grid-template-columns:1fr;}}

.chauffeur-misc-finance-table .chauffeur-status-badge.finance-pending-settlement{background:#fee2e2;color:#b91c1c;}
.chauffeur-misc-finance-table .chauffeur-status-badge.finance-unreviewed{background:#fef3c7;color:#b45309;}


.chauffeur-completion-readonly-card{min-width:min(1120px,94vw);display:flex;flex-direction:column;gap:16px;background:linear-gradient(180deg,#f8fafc 0%,#fff 36%);border-radius:18px;padding:2px;color:#0f172a;}
.chauffeur-readonly-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.chauffeur-readonly-section h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:16px;color:#0f172a;letter-spacing:.02em;}
.chauffeur-readonly-section h3::before{content:'';width:4px;height:16px;border-radius:999px;background:#2563eb;display:inline-block;}
.chauffeur-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;}
.chauffeur-readonly-grid.grid-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.chauffeur-readonly-grid.grid-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.chauffeur-readonly-grid.grid-10{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;}
.chauffeur-readonly-subgrid{margin-top:10px;}
.chauffeur-readonly-subtitle{margin:12px 0 8px;font-size:14px;color:#0f172a;}
.chauffeur-readonly-map-box{margin-top:12px;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc;padding:14px;display:flex;flex-direction:column;gap:6px;color:#475569;}
.chauffeur-readonly-map-box strong{font-size:14px;color:#0f172a;}
.chauffeur-readonly-map-box small{color:#64748b;}
.chauffeur-readonly-track{margin-top:12px;}
.chauffeur-order-readonly-detail .chauffeur-track-layout{grid-template-columns:minmax(220px,1fr) minmax(0,3fr);}
.chauffeur-order-readonly-detail .chauffeur-track-list{max-height:420px;}
.chauffeur-order-readonly-detail .chauffeur-track-map{height:420px;min-height:360px;}
.chauffeur-readonly-info-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px dashed #dbe3ef;border-radius:12px;background:#f8fafc;min-width:0;}
.chauffeur-readonly-info-item.span-2{grid-column:span 2;}
.chauffeur-readonly-info-item.span-4{grid-column:span 4;}
.chauffeur-readonly-info-item.span-5{grid-column:span 5;}
.chauffeur-readonly-info-item.span-6{grid-column:span 6;}
.chauffeur-readonly-info-item.span-10{grid-column:span 10;}
.chauffeur-readonly-info-item.span-full{grid-column:1/-1;}
.chauffeur-readonly-info-item.highlight{border-style:solid;border-color:#bfdbfe;background:#eff6ff;}
.chauffeur-readonly-info-item span{font-size:12px;color:#64748b;font-weight:800;}
.chauffeur-readonly-info-item strong{font-size:13px;color:#111827;font-weight:800;line-height:1.45;white-space:pre-wrap;word-break:break-word;}
.chauffeur-completion-readonly-card .form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding-top:12px;border-top:1px solid #e2e8f0;margin-top:2px;}
@media (max-width: 980px){.chauffeur-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.chauffeur-readonly-info-item.span-1{grid-column:span 1;}}
@media (max-width: 760px){.chauffeur-completion-readonly-card{min-width:auto;padding:0}.chauffeur-readonly-grid,.chauffeur-readonly-grid.grid-5,.chauffeur-readonly-grid.grid-6,.chauffeur-readonly-grid.grid-10{grid-template-columns:1fr}.chauffeur-readonly-info-item.span-1,.chauffeur-readonly-info-item.span-2,.chauffeur-readonly-info-item.span-4,.chauffeur-readonly-info-item.span-5,.chauffeur-readonly-info-item.span-6,.chauffeur-readonly-info-item.span-10,.chauffeur-readonly-info-item.span-full{grid-column:1/-1;}}

/* 一级审核页：只显示审核事项数量，不显示金额汇总 */
.audit-page-head{align-items:flex-start;gap:6px;}
.audit-page-head .muted{margin:4px 0 0;color:#64748b;font-size:13px;}
.audit-section-cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin:14px 0 18px;}
.audit-section-card{appearance:none;border:1px solid #dbeafe;background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:18px;padding:18px 16px;text-align:left;box-shadow:0 12px 26px rgba(15,23,42,.06);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:.18s ease;}
.audit-section-card:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(37,99,235,.12);border-color:#93c5fd;}
.audit-section-card.active{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 18px 38px rgba(37,99,235,.18);}
.audit-section-card strong{font-size:30px;line-height:1;color:#1d4ed8;font-weight:900;}
.audit-section-card span{font-size:14px;color:#0f172a;font-weight:800;}
.audit-list-panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.06);overflow-x:auto;}
.audit-list-head{margin-bottom:10px;padding:0;}
.audit-count-pill{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:800;font-size:13px;padding:6px 12px;}
.audit-table th,.audit-table td{vertical-align:top;}
.audit-table td:nth-child(5){min-width:220px;white-space:normal;line-height:1.45;}
@media(max-width:1100px){.audit-section-cards{grid-template-columns:repeat(2,minmax(160px,1fr));}}
@media(max-width:640px){.audit-section-cards{grid-template-columns:1fr;}.audit-list-panel{padding:10px;}}

.chauffeur-finance-invoice-info-card{gap:10px;padding:16px;border:1px solid #bfdbfe;border-radius:16px;background:linear-gradient(180deg,#eff6ff 0%,#fff 72%);box-shadow:0 10px 24px rgba(37,99,235,.08)}
.chauffeur-finance-invoice-info-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chauffeur-finance-invoice-info-head h3{margin:0;color:#0f172a;font-size:16px}
.chauffeur-finance-invoice-info-head span{display:inline-flex;align-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:4px 10px;font-size:11px;font-weight:700}
.chauffeur-finance-invoice-info-card .muted{margin:0;color:#475569}
.chauffeur-finance-invoice-info-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 4px}
.chauffeur-finance-invoice-info-preview span{display:block;padding:9px 10px;border:1px solid #dbeafe;border-radius:10px;background:#fff;color:#1e293b;line-height:1.35;white-space:pre-wrap;word-break:break-word}
.chauffeur-finance-invoice-info-empty{padding:12px;border:1px dashed #bfdbfe;border-radius:12px;background:#fff;color:#64748b;text-align:center}
.chauffeur-finance-invoice-info-edit textarea{min-height:92px;border-color:#bfdbfe;background:#fff}
@media(max-width:900px){.chauffeur-finance-invoice-info-preview{grid-template-columns:1fr}}

.customer-settlement-summary-table .amount-stack .amount-success{color:#16a34a;font-weight:700;}
.customer-settlement-summary-table .amount-stack .amount-danger{color:#dc2626;font-weight:700;}

.single-vehicle-select-all{display:inline-flex;align-items:center;gap:8px;margin:12px 0 4px;padding:10px 14px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:800;cursor:pointer;}
.single-vehicle-select-all input{width:16px;height:16px;}


.dash-card.audit-alert{grid-column:1/-1;background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#b91c1c;box-shadow:0 0 0 0 rgba(239,68,68,.7),0 16px 34px rgba(220,38,38,.28);animation:auditAlertBlink 1.05s ease-in-out infinite;}
.dash-card.audit-alert strong{color:#fff;font-size:30px;}
.dash-card.audit-alert span{font-weight:900;letter-spacing:.08em;}
@keyframes auditAlertBlink{0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(239,68,68,.65),0 16px 34px rgba(220,38,38,.26);}50%{filter:brightness(1.18);box-shadow:0 0 0 8px rgba(239,68,68,.16),0 20px 42px rgba(220,38,38,.42);}}


.dash-card.vehicle-pending-alert{grid-column:span 2;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#334155;border-color:#94a3b8;box-shadow:0 14px 30px rgba(100,116,139,.16);}
.dash-card.vehicle-pending-alert strong{color:#475569;font-size:30px;}
.dash-card.vehicle-pending-alert span{font-weight:900;}
.dash-card.vehicle-pending-alert small{color:#475569;font-weight:800;}
.vehicle-pending-filter-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border:1px solid #fdba74;background:#fff7ed;color:#7c2d12;border-radius:14px;}
.vehicle-pending-filter-note strong{font-weight:900;}
.vehicle-pending-filter-note span{color:#9a3412;font-weight:700;}
.vehicle-pending-filter-note button{background:#ea580c;}

.vehicle-violation-toolbar {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 10px;
}
.vehicle-violation-record-head,
.vehicle-violation-record-values {
  grid-template-columns: 1.15fr 1.25fr 1.45fr .75fr .65fr .9fr 1fr;
}
.vehicle-violation-panel .maintenance-records {
  gap: 10px;
}
.dict-vehicleViolationAction .compact-setting-form {
  grid-template-columns: minmax(180px, 1.4fr) minmax(110px, .7fr) minmax(110px, .7fr) auto;
}

.vehicle-violation-summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.45;
  color: #0f172a;
}
.vehicle-violation-summary.empty {
  color: #64748b;
}
.vehicle-violation-panel-summary {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
  font-weight: 700;
}

.dash-card.vehicle-violation-pending-alert{grid-column:span 2;background:linear-gradient(135deg,#fef2f2,#ffffff);color:#7f1d1d;border-color:#fca5a5;box-shadow:0 14px 30px rgba(220,38,38,.14);}
.dash-card.vehicle-violation-pending-alert strong{color:#dc2626;font-size:30px;}
.dash-card.vehicle-violation-pending-alert span{font-weight:900;}
.dash-card.vehicle-violation-pending-alert small{color:#991b1b;font-weight:800;}
.vehicle-violation-pending-filter-note{border-color:#fca5a5;background:#fef2f2;color:#7f1d1d;}
.vehicle-violation-pending-filter-note span{color:#991b1b;}
.vehicle-violation-pending-filter-note button{background:#dc2626;}

@media(max-width:900px){.dash-card.vehicle-pending-alert,.dash-card.vehicle-violation-pending-alert{grid-column:1/-1}}

.single-vehicle-amount-stack{display:flex;flex-direction:column;gap:8px;width:100%;align-items:stretch;}
.single-vehicle-amount-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:#f8fafc;}
.single-vehicle-amount-row em{font-style:normal;font-size:11px;font-weight:800;color:#64748b;white-space:nowrap;}
.single-vehicle-amount-row b{font-size:16px;line-height:1.2;}
.single-vehicle-amount-row.cost b{color:#dc2626;}
.single-vehicle-amount-row.profit b{color:#16a34a;}

.single-vehicle-detail-page-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:6px;background:#f1f5f9;border-radius:999px;width:max-content;max-width:100%;}
.single-vehicle-detail-page-tabs button{border:0;background:transparent;color:#475569;border-radius:999px;padding:9px 22px;font-weight:900;cursor:pointer;}
.single-vehicle-detail-page-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.12);}
.single-vehicle-detail-card.profit-page .single-vehicle-detail-summary b,.single-vehicle-detail-card.profit-page .single-vehicle-detail-table td:nth-child(3){color:#16a34a;}

.self-drive-customer-memory-field,.self-drive-vehicle-memory-field{position:relative;}
.self-drive-customer-memory-list,.self-drive-vehicle-memory-list{position:absolute;left:0;right:0;top:100%;z-index:80;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.14);max-height:220px;overflow:auto;padding:6px;}
.self-drive-customer-memory-list button,.self-drive-vehicle-memory-list button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;color:var(--text);border-radius:8px;padding:8px 10px;text-align:left;}
.self-drive-customer-memory-list button:hover,.self-drive-vehicle-memory-list button:hover{background:#eff6ff;opacity:1;}
.self-drive-customer-memory-list span,.self-drive-vehicle-memory-list span{font-size:10px;color:var(--muted);}
.self-drive-external-vehicle-field select{height:38px;}


/* v0.9.33 配驾零散账单：开票卡片美化 */
.chauffeur-finance-invoice-card{
  width:100%;
  min-width:0;
  max-width:none;
  padding:18px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(59,130,246,.16), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(14,165,233,.12), transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#ffffff 46%,#f8fafc 100%);
  box-shadow:0 24px 60px rgba(15,23,42,.16);
}
.chauffeur-finance-invoice-card .chauffeur-finance-invoice-amount-card,
.chauffeur-finance-invoice-card .chauffeur-finance-invoice-info-card,
.chauffeur-finance-invoice-card .settlement-form{
  width:100%;
  max-width:none;
}

.chauffeur-finance-invoice-card .maintenance-audit-card{
  border-radius:22px;
  border-color:#dbeafe;
  box-shadow:0 14px 32px rgba(15,23,42,.07);
}
.chauffeur-finance-invoice-amount-card{
  position:relative;
  overflow:hidden;
  padding:18px 18px 16px;
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 52%,#0ea5e9 100%);
  color:#fff;
  border:0!important;
}
.chauffeur-finance-invoice-amount-card::after{
  content:"";
  position:absolute;
  right:-42px;
  top:-54px;
  width:170px;
  height:170px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}
.chauffeur-finance-invoice-amount-card h3{position:relative;margin:0 0 8px;color:#fff;font-size:18px;font-weight:900;letter-spacing:.02em;}
.chauffeur-finance-invoice-amount-card .combine-record-summary{position:relative;margin:0 0 12px;color:#e0f2fe;font-weight:800;}
.chauffeur-finance-invoice-amount-card .combine-settlement-records{position:relative;background:rgba(255,255,255,.12);border-radius:16px;overflow:hidden;box-shadow:none;}
.chauffeur-finance-invoice-amount-card .combine-settlement-records th{background:rgba(255,255,255,.18);color:#eff6ff;border-color:rgba(255,255,255,.14);}
.chauffeur-finance-invoice-amount-card .combine-settlement-records td{color:#fff;border-color:rgba(255,255,255,.12);font-weight:700;}
.chauffeur-finance-invoice-info-card{
  margin-top:14px;
  padding:18px!important;
  border:1px solid #bfdbfe!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#eff6ff 0%,#ffffff 58%,#f8fbff 100%)!important;
}
.chauffeur-finance-invoice-info-head h3{font-size:18px!important;font-weight:900;}
.chauffeur-finance-invoice-info-head span{padding:6px 12px!important;background:#dcfce7!important;color:#15803d!important;box-shadow:inset 0 0 0 1px rgba(22,163,74,.18);}
.chauffeur-finance-invoice-info-card .muted{margin:4px 0 12px!important;color:#64748b!important;font-weight:700;}
.chauffeur-finance-invoice-info-preview{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:8px 0 14px!important;
}
.chauffeur-finance-invoice-info-preview .detail-item{
  min-height:76px;
  padding:12px 13px;
  border:1px solid #dbeafe;
  border-radius:16px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 22px rgba(37,99,235,.07);
}
.chauffeur-finance-invoice-info-preview .detail-item span{
  display:block;
  padding:0;
  border:0;
  background:transparent;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1.2;
}
.chauffeur-finance-invoice-info-preview .detail-item strong{
  display:block;
  margin-top:7px;
  color:#0f172a;
  font-size:14px;
  font-weight:900;
  line-height:1.42;
  white-space:pre-wrap;
  word-break:break-word;
}
.chauffeur-finance-invoice-info-edit{
  margin-top:4px;
  padding:12px;
  border:1px dashed #bfdbfe;
  border-radius:18px;
  background:#ffffff;
}
.chauffeur-finance-invoice-info-edit textarea{
  min-height:128px!important;
  border-radius:14px!important;
  border-color:#bfdbfe!important;
  background:#f8fbff!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  line-height:1.55;
}
.chauffeur-finance-invoice-form{
  margin-top:14px;
  padding:18px!important;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
}
.chauffeur-finance-invoice-form label{
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:10px 12px;
  background:#f8fafc;
  color:#475569;
  font-weight:900;
}
.chauffeur-finance-invoice-form input,
.chauffeur-finance-invoice-form select,
.chauffeur-finance-invoice-form textarea{
  margin-top:7px;
  border-radius:12px;
  border-color:#dbeafe;
  background:#fff;
}
.chauffeur-finance-invoice-form input:focus,
.chauffeur-finance-invoice-form select:focus,
.chauffeur-finance-invoice-form textarea:focus,
.chauffeur-finance-invoice-info-edit textarea:focus{
  outline:none;
  border-color:#2563eb!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.chauffeur-finance-invoice-form .form-actions{
  position:sticky;
  bottom:0;
  margin:10px -18px -18px;
  padding:14px 18px;
  border-top:1px solid #e2e8f0;
  border-radius:0 0 22px 22px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}
.chauffeur-finance-invoice-form .form-actions button:first-child{
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  border:0;
  box-shadow:0 12px 22px rgba(37,99,235,.22);
}
@media(max-width:980px){
  .chauffeur-finance-invoice-card{padding:12px;}
  .chauffeur-finance-invoice-info-preview{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .chauffeur-finance-invoice-info-preview{grid-template-columns:1fr!important;}
}


/* v0.9.34 配驾零散账单：开票信息字段改为可编辑 */
.chauffeur-finance-invoice-info-inputs .detail-item{display:block;cursor:text;}
.chauffeur-finance-invoice-info-inputs .detail-item input{width:100%;margin-top:8px;padding:10px 11px;border:1px solid #bfdbfe;border-radius:12px;background:#fff;color:#0f172a;font-weight:800;line-height:1.35;box-sizing:border-box;}
.chauffeur-finance-invoice-info-inputs .detail-item input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.14);}
.chauffeur-finance-invoice-info-two-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.chauffeur-finance-invoice-info-remark{margin:2px 0 12px;padding:12px 14px;border:1px solid #fecaca;border-radius:14px;background:#fef2f2;color:#b91c1c;display:flex;gap:10px;align-items:flex-start;line-height:1.5;}
.chauffeur-finance-invoice-info-remark strong{flex:0 0 auto;color:#991b1b;font-weight:900;}
.chauffeur-finance-invoice-info-remark span{white-space:pre-wrap;word-break:break-word;font-weight:800;}
.chauffeur-finance-invoice-info-edit{display:none!important;}
.invoice-manage-table .invoice-manage-order-nos{max-width:260px;white-space:normal;word-break:break-word;line-height:1.45;}
.chauffeur-finance-invoice-amount-card .combine-record-summary:first-child{margin-top:0;font-size:18px;color:#fff;}
.invoice-manage-readonly-form input[readonly],.invoice-manage-readonly-form textarea[readonly]{background:#f8fafc;color:#0f172a;cursor:default;font-weight:700;}
.invoice-manage-view-card .chauffeur-finance-invoice-info-inputs input[readonly]{background:#f8fafc;color:#0f172a;cursor:default;font-weight:700;}

.chauffeur-finance-invoice-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:5px 10px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;line-height:1.2;cursor:default;user-select:none;}
.chauffeur-finance-invoice-status.uninvoiced{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;box-shadow:0 6px 14px rgba(220,38,38,.18)}
.chauffeur-finance-invoice-status.invoiced{background:#16a34a!important;color:#fff!important;border-color:#16a34a!important;box-shadow:0 6px 14px rgba(22,163,74,.18)}

.direct-invoice-preview{display:flex;flex-direction:column;gap:14px;align-items:center;min-width:min(1100px,86vw)}
.direct-invoice-preview .invoice-image-preview{display:block;max-width:min(1100px,86vw);max-height:78vh;object-fit:contain;border:1px solid #d0d5dd;border-radius:10px;background:#fff}
.direct-invoice-preview .invoice-pdf-frame{width:min(1100px,86vw);height:78vh;border:1px solid #d0d5dd;border-radius:10px;background:#fff}

/* 顶部授权信息仅显示在版本号旁边，导航栏只保留功能菜单 */
.nav .nav-license,.nav .nav-user,.nav .logout-btn{display:none!important}

/* v1.0.5：授权入口固定在导航栏最后；版本号旁边只显示当前用户和退出按钮 */

/* ETC成本表格紧凑美化：实际加载 styles.css */
.compact-etc-cost-table,
.etc-cost-finance-table.compact-etc-cost-table{
  table-layout:fixed!important;
  width:100%!important;
  min-width:1180px!important;
}
.compact-etc-cost-table .etc-col-check{width:36px;}
.compact-etc-cost-table .etc-col-type{width:8%;}
.compact-etc-cost-table .etc-col-direction{width:5%;}
.compact-etc-cost-table .etc-col-amount{width:8%;}
.compact-etc-cost-table .etc-col-provider{width:14%;}
.compact-etc-cost-table .etc-col-date{width:9%;}
.compact-etc-cost-table .etc-col-remark{width:24%;}
.compact-etc-cost-table .etc-col-status{width:8%;}
.compact-etc-cost-table .etc-col-person{width:7%;}
.compact-etc-cost-table .etc-col-actions{width:210px;}
.compact-etc-cost-table th,
.compact-etc-cost-table td{
  padding:8px 8px!important;
  vertical-align:middle;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-etc-cost-table th:nth-child(1),.compact-etc-cost-table td:nth-child(1),
.compact-etc-cost-table th:nth-child(3),.compact-etc-cost-table td:nth-child(3),
.compact-etc-cost-table th:nth-child(8),.compact-etc-cost-table td:nth-child(8){
  text-align:center;
  white-space:nowrap;
}
.compact-etc-cost-table th:nth-child(4),
.compact-etc-cost-table td:nth-child(4){
  text-align:right;
  white-space:nowrap;
}
.compact-etc-cost-table th:nth-child(6),
.compact-etc-cost-table td:nth-child(6){white-space:nowrap;}
.compact-etc-cost-table th:nth-child(7),
.compact-etc-cost-table td:nth-child(7){
  white-space:normal!important;
  word-break:break-word;
  line-height:1.4;
  overflow:visible;
  text-overflow:clip;
}
.compact-etc-cost-table td.etc-cost-actions{
  display:table-cell!important;
  text-align:right;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.compact-etc-cost-table td.etc-cost-actions button{
  min-width:46px!important;
  margin:2px 0 2px 4px!important;
  padding:5px 8px!important;
  font-size:12px;
  white-space:nowrap;
}

/* 工作台授权状态栏与下方卡片间距 */
.home-license-row{margin-bottom:26px!important;}
.home-license-row + .dashboard{margin-top:0!important;}
.dashboard .dash-card.home-primary-card{grid-column:span 1;}

/* 车辆页面当前公里数三行显示 */
.vehicle-mileage-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.25;min-width:76px;}
.vehicle-mileage-stack div{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;}
.vehicle-mileage-stack em{font-style:normal;font-size:11px;color:#64748b;font-weight:600;}
.vehicle-mileage-stack strong{font-size:12px;color:#12213a;font-weight:800;}
.vehicle-mileage-stack .maintenance-left{font-size:12px;font-weight:800;}

/* 配驾会议/历史订单搜索栏宽度优化 */
.chauffeur-order-filter-bar{display:flex!important;align-items:end;gap:12px;overflow-x:auto;}
.chauffeur-order-filter-bar .chauffeur-search-field{flex:0 0 170px;min-width:170px;}
.chauffeur-order-filter-bar .chauffeur-search-field-small{flex-basis:118px;min-width:118px;}
.chauffeur-order-filter-bar .chauffeur-search-field-normal{flex-basis:170px;min-width:170px;}
.chauffeur-order-filter-bar .chauffeur-search-field input,.chauffeur-order-filter-bar .chauffeur-search-field select{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;}
.chauffeur-order-filter-bar .chauffeur-search-field-blue input{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;}
.chauffeur-order-filter-bar .chauffeur-search-field-blue input::placeholder{color:#2563eb;opacity:.82;}
.chauffeur-order-filter-bar .chauffeur-search-field-green input{border-color:#16a34a;background:#f0fdf4;color:#15803d;}
.chauffeur-order-filter-bar .chauffeur-search-field-green input::placeholder{color:#16a34a;opacity:.82;}
.chauffeur-order-filter-bar .driver-settlement-filter-actions{flex:0 0 auto;white-space:nowrap;}
@media(max-width:1200px){.chauffeur-order-filter-bar .chauffeur-search-field,.chauffeur-order-filter-bar .chauffeur-search-field-normal{flex-basis:155px;min-width:155px}.chauffeur-order-filter-bar .chauffeur-search-field-small{flex-basis:112px;min-width:112px}}

/* 发票管理手动开票与粘贴行程单 */
.upload-paste-zone{border:1px dashed #b8c2d6;border-radius:10px;padding:10px 12px;margin-top:-10px;background:#f8fafc;color:#64748b;cursor:text;outline:none;}
.upload-paste-zone:focus{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.invoice-manage-open-card .upload-field{margin-bottom:10px;}

/* 发票管理开票卡片两行五列布局 */
.invoice-manage-open-row{grid-column:1/-1;display:grid;gap:12px;margin:0;}
.invoice-manage-open-row-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.invoice-manage-open-row-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.invoice-manage-open-row label{min-width:0;}
@media (max-width:1280px){.invoice-manage-open-row-5,.invoice-manage-open-row-4{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.invoice-manage-open-row-5,.invoice-manage-open-row-4{grid-template-columns:1fr;}}

/* 发票管理开票卡片第三行经办人 */
.invoice-manage-open-row-1{grid-template-columns:minmax(220px,1fr);max-width:360px;}

/* 发票管理开票卡片第三行三列 */
.invoice-manage-open-row-3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:760px){.invoice-manage-open-row-3{grid-template-columns:1fr;}}

/* 返款方式字典宽度对齐日常费用 */
.finance-dictionaries .dict-rebateMethod,
.finance-dictionaries .dict-rebateMethod .dictionary-width,
.finance-dictionaries .dict-rebateMethod .dictionary-table,
.finance-dictionaries .dict-rebateMethod .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:520px!important;
}
.finance-dictionaries .dict-rebateMethod .setting-form{
  grid-template-columns:2fr 1fr!important;
  max-width:100%!important;
}
.finance-dictionaries .dict-rebateMethod .setting-form button{
  grid-column:1 / -1!important;
}
@media(max-width:1100px){
  .finance-dictionaries .dict-rebateMethod,
  .finance-dictionaries .dict-rebateMethod .dictionary-width,
  .finance-dictionaries .dict-rebateMethod .dictionary-table,
  .finance-dictionaries .dict-rebateMethod .compact-setting-form{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .finance-dictionaries .dict-rebateMethod .setting-form{
    grid-template-columns:1fr!important;
  }
}

/* 财务数据字典布局：公司结算方式和日常费用第一行，返款方式第二行 */
.dictionary-row.finance-dictionaries{
  grid-template-columns:repeat(2,minmax(520px,1fr))!important;
}
.finance-dictionaries .dict-rebateMethod{
  grid-column:1 / -1!important;
  max-width:calc((100% - 16px) / 2)!important;
}
.finance-dictionaries .dict-rebateMethod .dictionary-width,
.finance-dictionaries .dict-rebateMethod .dictionary-table,
.finance-dictionaries .dict-rebateMethod .compact-setting-form{
  min-width:520px!important;
}
@media(max-width:1100px){
  .finance-dictionaries .dict-rebateMethod{
    grid-column:auto!important;
    max-width:100%!important;
  }
  .finance-dictionaries .dict-rebateMethod .dictionary-width,
  .finance-dictionaries .dict-rebateMethod .dictionary-table,
  .finance-dictionaries .dict-rebateMethod .compact-setting-form{
    min-width:0!important;
  }
}

.invoice-open-choice-grid{display:flex;gap:40px;align-items:stretch;justify-content:center;flex-wrap:wrap;}

.invoice-usecar-filter-bar{margin-bottom:14px;}
.invoice-usecar-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 14px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;}
.invoice-usecar-selection-actions{display:flex;gap:10px;align-items:center;}
.invoice-usecar-selected-info{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.invoice-usecar-selected-info strong{color:#0f172a;font-size:15px;}
.invoice-usecar-tabs{display:flex;gap:12px;margin:0 0 12px;border-bottom:1px solid #e5e7eb;}
.invoice-usecar-tabs button{border:0;background:transparent;color:#475569;padding:10px 16px;border-radius:10px 10px 0 0;font-weight:700;}
.invoice-usecar-tabs button.active{background:#2563eb;color:#fff;}
.invoice-usecar-tab-panel .invoice-usecar-section{margin-top:0;}
.invoice-usecar-table th:first-child,.invoice-usecar-table td:first-child{text-align:center;width:44px;}


.invoice-manage-table{min-width:1680px;}
.invoice-table-two-line{display:flex;flex-direction:column;gap:3px;line-height:1.35;min-width:0;}
.invoice-table-two-line strong{font-size:11px;color:#0f172a;font-weight:800;word-break:break-word;}
.invoice-table-two-line span{font-size:10px;color:#64748b;word-break:break-word;}
.invoice-manage-table td:last-child{white-space:normal;min-width:150px;}
.invoice-manage-table td:last-child button{margin:2px 4px 2px 0;padding:6px 8px;}

/* 发票管理账单状态卡片 */
.invoice-manage-visual-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.invoice-manage-visual-cards .finance-visual-card{min-width:0;cursor:pointer;text-align:left;appearance:none;font:inherit;padding:14px 12px;}
.invoice-manage-visual-cards .finance-visual-card strong{font-size:18px;}
.invoice-manage-visual-cards .finance-visual-card span{white-space:nowrap;}
.invoice-manage-visual-cards .finance-visual-card.active{outline:2px solid #2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12),0 8px 20px rgba(15,23,42,.06);}
.invoice-manage-visual-cards .finance-visual-card.all strong{color:#2563eb;}
@media(max-width:1200px){.invoice-manage-visual-cards{grid-template-columns:repeat(6,minmax(120px,1fr));overflow-x:auto;padding-bottom:4px;}}
@media(max-width:720px){.invoice-manage-visual-cards{grid-template-columns:repeat(6,minmax(120px,1fr));overflow-x:auto;}}


/* v0.2.85 收车卡片折叠区 */
.self-drive-return-collapse{margin:10px 0;border:1px solid #dbe3ef;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 6px 16px rgba(15,23,42,.05);}
.self-drive-return-collapse>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#f8fafc,#fff);font-weight:900;color:#1f2937;}
.self-drive-return-collapse>summary::-webkit-details-marker{display:none;}
.self-drive-return-collapse>summary::before{content:'▶';font-size:10px;color:#64748b;transition:.15s ease;}
.self-drive-return-collapse[open]>summary::before{transform:rotate(90deg);}
.self-drive-return-collapse>summary span{flex:1;font-size:12px;}
.self-drive-return-collapse>summary em{font-style:normal;font-size:9.6px;color:#64748b;font-weight:700;}
.self-drive-return-collapse-body{display:grid;gap:10px;padding:12px;border-top:1px solid #eef2f7;background:#fbfdff;}
.self-drive-return-collapse-body .self-drive-dispatch-check-title{margin:0;}
.self-drive-return-collapse-body .upload-field{margin-top:0;}
.self-drive-return-collapse-body .self-drive-dispatch-field-grid{margin:0;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-return-collapse{grid-column:auto;}


/* v0.2.86 发车卡片三行布局与折叠区 */
.self-drive-dispatch-main-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.self-drive-dispatch-main-grid label:nth-child(7){grid-column:1;}
.self-drive-dispatch-main-grid label:nth-child(8){grid-column:2;}
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-inspection-collapse,
.self-drive-dispatch-form.self-drive-dispatch-split-form .self-drive-dispatch-fee-collapse{grid-column:auto;}
.self-drive-dispatch-fee-collapse .self-drive-dispatch-fee-field{margin:0;}
.self-drive-dispatch-fee-collapse .self-drive-dispatch-field-grid{margin-top:0;}
@media(max-width:900px){.self-drive-dispatch-main-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-main-grid{grid-template-columns:1fr;}.self-drive-dispatch-main-grid label:nth-child(7),.self-drive-dispatch-main-grid label:nth-child(8){grid-column:auto;}}


/* v0.2.87 发车卡片费用区美化 */
.self-drive-dispatch-prepay-panel{margin:10px 0;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 6px 16px rgba(37,99,235,.06);}
.self-drive-dispatch-prepay-panel .self-drive-dispatch-finance-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.self-drive-dispatch-extra-fee-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.self-drive-dispatch-extra-fee-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04);}
.self-drive-dispatch-extra-fee-item span{flex:1;min-width:0;color:#334155;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.self-drive-dispatch-extra-fee-item input{width:96px;min-height:30px;height:30px;text-align:right;border:1px solid #d7dee8;border-radius:9px;padding:5px 8px;font-size:11px;font-weight:800;}
.self-drive-dispatch-fee-empty{padding:12px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;color:#64748b;font-size:11px;font-weight:800;text-align:center;}
@media(max-width:900px){.self-drive-dispatch-prepay-panel .self-drive-dispatch-finance-grid,.self-drive-dispatch-extra-fee-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-prepay-panel .self-drive-dispatch-finance-grid,.self-drive-dispatch-extra-fee-list{grid-template-columns:1fr;}.self-drive-dispatch-extra-fee-item input{width:120px;}}

.self-drive-dispatch-rent-prepay-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px;}
@media(max-width:900px){.self-drive-dispatch-rent-prepay-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.self-drive-dispatch-rent-prepay-grid{grid-template-columns:1fr;}}


/* v0.2.88 发车卡片车辆租金单位 */
.self-drive-dispatch-money-unit{display:flex;align-items:center;width:100%;border:1px solid #d7dee8;border-radius:8px;background:#fff;overflow:hidden;}
.self-drive-dispatch-money-unit input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0;flex:1;}
.self-drive-dispatch-money-unit span{flex:0 0 auto;padding:0 9px;color:#64748b;font-size:10.4px;font-weight:900;border-left:1px solid #e5e7eb;background:#f8fafc;align-self:stretch;display:flex;align-items:center;}


.vehicle-gps-system-form{min-width:960px;display:flex;flex-direction:column;gap:16px;}
.vehicle-gps-row{display:grid;gap:12px;align-items:end;}
.vehicle-gps-row-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.vehicle-gps-row-4{grid-template-columns:1.1fr 1fr 1fr 1.4fr;}
.vehicle-gps-system-form label{display:flex;flex-direction:column;gap:6px;color:#334155;font-size:10.4px;font-weight:800;}
.vehicle-gps-system-form input,.vehicle-gps-system-form select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#0f172a;}
.vehicle-gps-section-title{font-size:13px;font-weight:900;color:#0f172a;margin-bottom:8px;}
.vehicle-gps-map-box{height:360px;border:1px solid #dbe3ef;border-radius:14px;overflow:hidden;background:#f8fafc;position:relative;}
.vehicle-gps-map-box iframe{width:100%;height:100%;border:0;display:block;}
.vehicle-gps-map-info{position:absolute;left:12px;right:12px;bottom:12px;padding:9px 12px;border-radius:10px;background:rgba(15,23,42,.76);color:#fff;font-size:11px;line-height:1.4;}
.vehicle-gps-map-box.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;font-weight:900;gap:8px;}
.vehicle-gps-map-box.empty small{font-weight:700;color:#94a3b8;}
@media(max-width:1000px){.vehicle-gps-system-form{min-width:0}.vehicle-gps-row-2,.vehicle-gps-row-4{grid-template-columns:1fr}.vehicle-gps-map-box{height:300px}}


.vehicle-gps-map-box.local-map{display:block;min-height:360px;background:linear-gradient(135deg,#e0f2fe 0%,#f8fafc 42%,#dcfce7 100%);position:relative;}
.vehicle-gps-local-map-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(37,99,235,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.10) 1px,transparent 1px),radial-gradient(circle at 24% 28%,rgba(34,197,94,.20),transparent 18%),radial-gradient(circle at 74% 62%,rgba(59,130,246,.18),transparent 22%);background-size:36px 36px,36px 36px,100% 100%,100% 100%;}
.vehicle-gps-crosshair{position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%);border:1px dashed rgba(37,99,235,.32);border-radius:50%;}
.vehicle-gps-crosshair:before,.vehicle-gps-crosshair:after{content:"";position:absolute;background:rgba(37,99,235,.28);}
.vehicle-gps-crosshair:before{left:50%;top:-36px;bottom:-36px;width:1px;}
.vehicle-gps-crosshair:after{top:50%;left:-36px;right:-36px;height:1px;}
.vehicle-gps-marker{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-100%);background:#ef4444;border-radius:50% 50% 50% 0;rotate:-45deg;box-shadow:0 12px 24px rgba(239,68,68,.28);}
.vehicle-gps-marker span{position:absolute;left:9px;top:9px;width:16px;height:16px;background:#fff;border-radius:50%;}
.vehicle-gps-map-card{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 16px;border-radius:14px;background:rgba(15,23,42,.82);color:#fff;backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(15,23,42,.18);}
.vehicle-gps-map-card strong{display:block;font-size:15px;margin-bottom:6px;}
.vehicle-gps-map-card p{margin:0 0 6px;font-size:12px;line-height:1.45;}
.vehicle-gps-map-card em,.vehicle-gps-map-card small{display:block;font-style:normal;color:#dbeafe;font-size:11px;line-height:1.5;}
.vehicle-gps-map-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.vehicle-gps-map-links a{padding:5px 10px;border-radius:999px;background:#fff;color:#1d4ed8;text-decoration:none;font-size:11px;font-weight:900;}


.vehicle-gps-location-result{border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc;padding:12px;}
.vehicle-gps-location-empty{color:#64748b;font-size:12px;font-weight:800;line-height:1.5;}
.vehicle-gps-location-card{display:flex;flex-direction:column;gap:6px;color:#0f172a;}
.vehicle-gps-location-card strong{font-size:13px;line-height:1.45;}
.vehicle-gps-location-card span,.vehicle-gps-location-card small{font-size:11px;color:#64748b;line-height:1.45;}

.table-head-sort{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:900;cursor:pointer;padding:0;text-align:left;}
.table-head-sort:hover,.table-head-sort.active{color:#2563eb;}

.chauffeur-track-popup { width: min(1100px, 92vw); color: #2b2118; }
.chauffeur-track-popup h3 { margin: 0 0 14px; color: #5b3a12; }
.chauffeur-track-layout { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); gap: 16px; align-items: stretch; }
.chauffeur-track-map-wrap { min-width: 0; }
.chauffeur-track-map { width: 100%; height: min(62vh, 560px); min-height: 420px; object-fit: cover; border-radius: 16px; border: 1px solid #eadbc2; background: #fffaf0; display: block; }
iframe.chauffeur-track-map { object-fit: initial; }
.chauffeur-track-list { display: grid; gap: 10px; max-height: min(62vh, 560px); overflow: auto; align-content: start; }
.chauffeur-track-item { padding: 12px 14px; border: 1px solid #eadbc2; border-radius: 14px; background: #fffaf0; display: grid; gap: 4px; }
.chauffeur-track-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chauffeur-track-item b { color: #5b3a12; }
.chauffeur-track-item span { color: #8a7356; font-size: 12px; white-space: nowrap; }
.chauffeur-track-item em { color: #4f463d; font-style: normal; line-height: 1.45; word-break: break-all; }


body.meeting-hub-screen-mode{background:#020617;color:#e2e8f0;overflow:auto;font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif}body.meeting-hub-screen-mode .top-banner{display:none}body.meeting-hub-screen-mode .app-shell{padding:0;min-height:100vh}body.meeting-hub-screen-mode .content-card{border:0;border-radius:0;box-shadow:none;background:#020617;min-height:100vh;padding:0}.meeting-hub-screen-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top left,rgba(37,99,235,.34),transparent 34%),linear-gradient(135deg,#020617,#0f172a 55%,#111827);color:#e2e8f0}.meeting-hub-screen-head{margin:0 0 24px}.meeting-hub-screen-head h2{font-size:34px;letter-spacing:.08em;color:#f8fafc}.meeting-hub-screen-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.meeting-hub-screen-hero div,.meeting-hub-screen-panel{border:1px solid rgba(148,163,184,.28);border-radius:22px;background:rgba(15,23,42,.72);box-shadow:0 24px 60px rgba(0,0,0,.24);padding:22px}.meeting-hub-screen-hero span{display:block;color:#93c5fd;font-size:15px;margin-bottom:10px}.meeting-hub-screen-hero strong{font-size:48px;color:#fff}.meeting-hub-screen-panel h3{margin:0 0 10px;font-size:24px;color:#f8fafc}.meeting-hub-screen-panel .muted{color:#bfdbfe}


.meeting-hub-screen-head{justify-content:center;text-align:center}.meeting-hub-screen-head h2{width:100%;text-align:center}.meeting-hub-screen-select{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 24px}.meeting-hub-screen-select label{display:flex;align-items:center;gap:12px;color:#bfdbfe;font-size:17px}.meeting-hub-screen-select select{min-width:360px;max-width:70vw;border:1px solid rgba(147,197,253,.45);background:rgba(15,23,42,.9);color:#f8fafc;border-radius:14px;padding:12px 16px;font-size:16px}.meeting-hub-screen-select button{border:1px solid rgba(147,197,253,.55);border-radius:14px;background:rgba(37,99,235,.7);color:#f8fafc;padding:12px 22px;font-size:16px;font-weight:700;cursor:pointer}.meeting-hub-screen-select button:disabled{opacity:.65;cursor:wait}.meeting-hub-order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.meeting-hub-order-card{border:1px solid rgba(147,197,253,.28);border-radius:18px;background:rgba(2,6,23,.42);padding:16px;color:#e2e8f0}.meeting-hub-order-top,.meeting-hub-order-main{display:flex;justify-content:space-between;gap:12px;align-items:center}.meeting-hub-order-top strong{color:#fff;font-size:18px}.meeting-hub-order-top span{color:#fde68a;border:1px solid rgba(253,230,138,.38);border-radius:999px;padding:3px 8px;font-size:13px}.meeting-hub-order-main{margin:12px 0 8px}.meeting-hub-order-main b{font-size:20px;color:#fff}.meeting-hub-order-main em{font-style:normal;color:#93c5fd}.meeting-hub-order-card p{margin:7px 0;color:#cbd5e1;line-height:1.45}


.meeting-hub-screen-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.meeting-hub-screen-column{min-width:0}.meeting-hub-flight-table{width:100%;overflow-x:auto}.meeting-hub-order-grid{display:flex;flex-direction:column;gap:8px;min-width:760px}.meeting-hub-flight-header,.meeting-hub-flight-row{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr .9fr 1.8fr;align-items:center;gap:0;min-width:760px;padding:0;font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif}.meeting-hub-flight-header{position:sticky;top:0;z-index:2;border:1px solid rgba(147,197,253,.35);border-radius:16px;background:rgba(30,64,175,.46);color:#bfdbfe;font-weight:700;letter-spacing:.08em;text-shadow:0 0 8px rgba(147,197,253,.45)}.meeting-hub-order-card.meeting-hub-flight-row,.meeting-hub-flight-row{padding:0;border:1px solid rgba(147,197,253,.24);border-radius:16px;background:rgba(2,6,23,.42);color:#f8fafc;text-shadow:0 0 10px rgba(248,250,252,.36);image-rendering:pixelated}.meeting-hub-flight-field{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:12px 10px;font-size:16px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid rgba(147,197,253,.18);text-align:center;font-weight:700}.meeting-hub-flight-field:last-child{border-right:0}.meeting-hub-flight-header .meeting-hub-flight-field{font-size:15px;color:#bfdbfe}.meeting-hub-flight-row .meeting-hub-flight-field:last-child{font-size:16px}.meeting-hub-flight-table::-webkit-scrollbar{height:8px}.meeting-hub-flight-table::-webkit-scrollbar-thumb{background:rgba(147,197,253,.32);border-radius:999px}@media (max-width:1200px){.meeting-hub-screen-columns{grid-template-columns:1fr}}

.meeting-hub-empty-row{margin:0;border:1px dashed rgba(147,197,253,.24);border-radius:16px;padding:18px;color:#93c5fd;text-align:center;font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif;font-weight:700;letter-spacing:.08em}

.meeting-hub-time-early{color:#22c55e!important;text-shadow:0 0 12px rgba(34,197,94,.55)}
.meeting-hub-time-ontime,.meeting-hub-status-blue{color:#38bdf8!important;text-shadow:0 0 12px rgba(56,189,248,.55)}
.meeting-hub-time-late,.meeting-hub-status-yellow{color:#facc15!important;text-shadow:0 0 12px rgba(250,204,21,.55)}
.meeting-hub-status-red{color:#ef4444!important;text-shadow:0 0 12px rgba(239,68,68,.62)}
.meeting-hub-status-dark-red{color:#7f1d1d!important;text-shadow:0 0 12px rgba(127,29,29,.72)}
.meeting-hub-status-green{color:#22c55e!important;text-shadow:0 0 12px rgba(34,197,94,.55)}

.meeting-hub-flight-no-cell{gap:8px}
.meeting-hub-airline-logo{width:30px;height:30px;object-fit:contain;border-radius:6px;background:rgba(255,255,255,.92);padding:2px;box-shadow:0 0 10px rgba(255,255,255,.28)}
.meeting-hub-airline-fallback{align-items:center;justify-content:center;min-width:34px;max-width:72px;height:24px;padding:0 6px;border:1px solid rgba(147,197,253,.45);border-radius:6px;color:#bfdbfe;background:rgba(30,64,175,.28);font-size:12px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-hub-flight-no-cell b{font:inherit;color:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.meeting-hub-passenger-cell{gap:8px}
.meeting-hub-passenger-mask{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-hub-passenger-eye{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto;border:1px solid rgba(147,197,253,.45);border-radius:999px;background:rgba(15,23,42,.62);color:#bfdbfe;cursor:pointer;font-size:14px;line-height:1;box-shadow:0 0 10px rgba(147,197,253,.18)}
.meeting-hub-passenger-eye:hover{background:rgba(37,99,235,.62);color:#fff;box-shadow:0 0 14px rgba(147,197,253,.45)}

.meeting-hub-passenger-head{gap:8px}
.meeting-hub-passenger-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-hub-flight-header .meeting-hub-passenger-eye{width:24px;height:24px;font-size:13px;cursor:pointer}

.meeting-hub-screen-single-column{grid-template-columns:1fr;max-width:1600px;margin:0 auto}
.meeting-hub-screen-single-column .meeting-hub-order-grid,.meeting-hub-screen-single-column .meeting-hub-flight-header,.meeting-hub-screen-single-column .meeting-hub-flight-row{min-width:1600px}.meeting-hub-screen-single-column .meeting-hub-flight-header,.meeting-hub-screen-single-column .meeting-hub-flight-row{grid-template-columns:var(--hub-col-1,170px) var(--hub-col-2,140px) var(--hub-col-3,140px) var(--hub-col-4,120px) var(--hub-col-5,120px) var(--hub-col-6,390px) var(--hub-col-7,310px) var(--hub-col-8,180px)}

.meeting-hub-passenger-lines{flex-direction:column;align-items:center;gap:3px;white-space:normal;line-height:1.2;padding-top:8px;padding-bottom:8px}
.meeting-hub-passenger-lines em{display:block;max-width:100%;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.meeting-hub-screen-single-column .meeting-hub-order-grid{gap:0}
.meeting-hub-screen-single-column .meeting-hub-flight-header,.meeting-hub-screen-single-column .meeting-hub-flight-row,.meeting-hub-screen-single-column .meeting-hub-order-card.meeting-hub-flight-row{border-radius:0}

.meeting-hub-passenger-lines,.meeting-hub-driver-lines,.meeting-hub-driver-location-lines{flex-direction:column;align-items:stretch;gap:0;white-space:normal;line-height:1.2;padding-top:0;padding-bottom:0}
.meeting-hub-order-line-group{display:block;width:100%;border-bottom:1px solid rgba(147,197,253,.22);padding:6px 0}
.meeting-hub-order-line-group:last-child{border-bottom:0}
.meeting-hub-passenger-lines em,.meeting-hub-driver-lines em,.meeting-hub-driver-location-lines em{display:block;width:100%;max-width:100%;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;padding:2px 0;border-bottom:0}

.meeting-hub-line-placeholder{color:transparent;text-shadow:none}

.meeting-hub-passenger-lines em,.meeting-hub-driver-lines em,.meeting-hub-driver-location-lines em{text-align:left;padding-left:10px;padding-right:10px}



.meeting-hub-departed-car{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;border:1px solid rgba(147,197,253,.4);border-radius:999px;background:rgba(15,23,42,.45);color:#bfdbfe;font-size:13px;line-height:1;cursor:pointer;vertical-align:middle}
.meeting-hub-departed-car:hover{background:rgba(34,197,94,.28);border-color:rgba(134,239,172,.65);color:#dcfce7;box-shadow:0 0 12px rgba(34,197,94,.35)}

.meeting-hub-screen-single-column{width:fit-content;max-width:calc(100vw - 56px)}
.meeting-hub-screen-single-column .meeting-hub-screen-column{width:fit-content;max-width:100%}
.meeting-hub-screen-single-column .meeting-hub-flight-table{width:fit-content;max-width:100%}

.meeting-hub-screen-clock{display:flex;justify-content:center;align-items:center;gap:26px;margin:-12px 0 22px;color:#bfdbfe;font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif;font-size:18px;font-weight:700;letter-spacing:.04em;text-shadow:0 0 10px rgba(147,197,253,.35)}
.meeting-hub-screen-clock b{color:#f8fafc;font-size:20px}

.meeting-hub-screen-page>.meeting-hub-screen-panel{width:fit-content;max-width:calc(100vw - 56px);margin-left:auto;margin-right:auto}
.meeting-hub-screen-page>.meeting-hub-screen-panel .meeting-hub-screen-single-column{max-width:100%}

@media (max-width: 760px) {
  .chauffeur-track-popup { width: min(92vw, 760px); }
  .chauffeur-track-layout { grid-template-columns: 1fr; }
  .chauffeur-track-list { max-height: 260px; order: 1; }
  .chauffeur-track-map-wrap { order: 2; }
  .chauffeur-track-map { height: 420px; min-height: 360px; }
}


.invoice-manage-open-form label { position: relative; }
.invoice-manual-title-results { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; max-height: 260px; overflow: auto; background: #fff; border: 1px solid #eadfcb; border-radius: 12px; box-shadow: 0 12px 32px rgba(59,41,20,.16); padding: 6px; }
.invoice-manual-title-results:empty { display: none; }
.invoice-manual-title-results button { width: 100%; border: 0; background: transparent; text-align: left; padding: 8px 10px; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.invoice-manual-title-results button:hover { background: #fff4df; }
.invoice-manual-title-results strong { color: #2b2118; font-size: 13px; }
.invoice-manual-title-results span, .invoice-manual-title-empty { color: #8a7357; font-size: 12px; padding: 4px 10px; }

.invoice-flow-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.invoice-flow-status-red{background:#ffe8e8;color:#b42318;border:1px solid #ffb4ad}.invoice-flow-status-yellow{background:#fff4cc;color:#9a6700;border:1px solid #ffd56a}.invoice-flow-status-green{background:#e8f7ee;color:#157347;border:1px solid #9ed8b4}


.invoice-issue-apply-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.invoice-issue-info-item{background:#fffaf2;border:1px solid #f1dfbf;border-radius:10px;padding:8px 10px;min-width:0}.invoice-issue-info-item span{display:block;color:#8a7357;font-size:12px;margin-bottom:4px}.invoice-issue-info-item strong{display:block;color:#2b2118;font-size:13px;line-height:1.45;font-weight:600;white-space:normal;word-break:break-all;overflow-wrap:anywhere}.invoice-issue-info-wide{grid-column:span 2}@media(max-width:1100px){.invoice-issue-apply-info-grid{grid-template-columns:1fr}.invoice-issue-info-wide{grid-column:auto}}


.invoice-issue-row{display:grid;gap:10px;margin-top:10px}.invoice-issue-row-5{grid-template-columns:repeat(5,minmax(0,1fr))}.invoice-issue-row-2{grid-template-columns:1fr 2fr}.invoice-issue-row-files{grid-template-columns:1fr 1fr}.invoice-issue-row-files label{margin:0}.invoice-issue-upload-row{width:100%}.invoice-issue-upload-row label{width:100%}@media(max-width:1200px){.invoice-issue-row-5{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-issue-row-2,.invoice-issue-row-files{grid-template-columns:1fr}}


.ledger-invoice-project-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid transparent;}
.ledger-invoice-project-badge.use-car{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd;}
.ledger-invoice-project-badge.no-car{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}


.ledger-direction-badge,.ledger-invoice-item-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;white-space:nowrap;border:1px solid transparent;}
.ledger-direction-badge.income{background:#dcfce7;color:#15803d;border-color:#86efac;}
.ledger-direction-badge.expense{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.ledger-invoice-item-badge.income{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
.ledger-invoice-item-badge.rebate{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
.chauffeur-passenger-detail-card{display:grid;gap:14px;min-width:min(760px,92vw);max-width:920px;}
.chauffeur-passenger-detail-card section{display:grid;gap:8px;border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff;}
.chauffeur-passenger-detail-card h3{margin:0;color:#0f172a;font-size:15px;}
.chauffeur-passenger-raw-box pre{max-height:180px;overflow:auto;margin:0;padding:10px;border-radius:10px;background:#0f172a;color:#e2e8f0;font-size:12px;line-height:1.55;white-space:pre-wrap;}
.chauffeur-passenger-main-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;}
.chauffeur-passenger-detail-list{display:grid;gap:8px;}
.chauffeur-passenger-detail-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:end;}
.chauffeur-passenger-detail-row button{min-width:40px;}
@media(max-width:700px){.chauffeur-passenger-main-grid,.chauffeur-passenger-detail-row{grid-template-columns:1fr;}.chauffeur-passenger-detail-card{min-width:0;}}
.chauffeur-customer-people-row{grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(180px,1fr) auto;}
.chauffeur-customer-people-row:not(:has([data-chauffeur-customer-people-projects])){grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;}
.error-text{color:#dc2626;font-weight:700;}
@media(max-width:780px){.chauffeur-customer-people-row,.chauffeur-customer-people-row:not(:has([data-chauffeur-customer-people-projects])){grid-template-columns:1fr;}}
.chauffeur-order-table .chauffeur-top-action-buttons{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;}
.chauffeur-order-table .chauffeur-top-action-buttons button{min-width:54px;}
.chauffeur-end-waypoints .chauffeur-end-waypoint-list{display:grid;gap:8px;}
.chauffeur-end-waypoint-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:end;}
.chauffeur-end-waypoint-row button{min-width:40px;}
@media(max-width:700px){.chauffeur-end-waypoint-row{grid-template-columns:1fr;}}
.chauffeur-track-edit-row label{display:grid;gap:4px;font-size:12px;color:#8a7356;}
.chauffeur-track-edit-row input{width:100%;border:1px solid #eadbc2;border-radius:9px;padding:7px 8px;background:#fff;color:#2b2118;}
.chauffeur-track-actions{margin-top:4px;justify-content:stretch;}
.chauffeur-track-actions button{width:100%;}
.chauffeur-complete-order-card{width:min(980px,92vw);max-height:min(78vh,760px);overflow:auto;padding:2px 4px 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
.chauffeur-complete-order-hero{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fff7ed,#eff6ff);border:1px solid #f1dfbf;color:#5b3a12;box-shadow:0 12px 28px rgba(91,58,18,.08);}
.chauffeur-complete-order-hero::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#16a34a;color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(22,163,74,.24);flex:0 0 auto;}
.chauffeur-complete-order-hero strong{display:block;font-size:16px;color:#2b2118;margin-bottom:3px;}
.chauffeur-complete-order-hero span{display:block;line-height:1.55;color:#7c5f3a;font-size:13px;}
.chauffeur-complete-block{border-color:#eadbc2;background:linear-gradient(180deg,#fff,#fffaf2);box-shadow:0 12px 28px rgba(59,41,20,.07);}
.chauffeur-complete-block h3{font-size:15px;color:#5b3a12;}
.chauffeur-complete-block h3::before{background:#d97706;}
.chauffeur-complete-grid,.chauffeur-complete-fee-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.chauffeur-complete-grid label,.chauffeur-complete-fee-grid label,.chauffeur-complete-order-card .chauffeur-end-waypoint-row label{display:grid;gap:6px;color:#7c5f3a;font-size:12px;font-weight:700;}
.chauffeur-complete-grid input,.chauffeur-complete-fee-grid input,.chauffeur-complete-fee-grid select,.chauffeur-complete-order-card .chauffeur-end-waypoint-row input{height:38px;border:1px solid #eadbc2;border-radius:11px;background:#fff;padding:8px 10px;color:#2b2118;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
.chauffeur-complete-grid input:focus,.chauffeur-complete-fee-grid input:focus,.chauffeur-complete-fee-grid select:focus,.chauffeur-complete-order-card .chauffeur-end-waypoint-row input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15);}
.chauffeur-complete-order-card .chauffeur-end-waypoints{grid-column:1/-1;border-color:#dbeafe;background:linear-gradient(180deg,#fff,#eff6ff);}
.chauffeur-complete-order-card .chauffeur-end-waypoints h3::before{background:#2563eb;}
.chauffeur-complete-order-card .chauffeur-end-waypoint-list{gap:10px;}
.chauffeur-complete-order-card .chauffeur-end-waypoint-row{grid-template-columns:minmax(0,1fr) 42px;background:rgba(255,255,255,.72);border:1px dashed #bfdbfe;border-radius:13px;padding:10px;}
.chauffeur-complete-order-card [data-chauffeur-end-waypoint-add]{justify-self:start;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:800;}
.chauffeur-complete-fees{grid-column:1/-1;}
.chauffeur-complete-actions{position:sticky;bottom:0;z-index:2;margin-top:4px;padding:12px;border:1px solid #eadbc2;border-radius:16px;background:rgba(255,250,242,.94);backdrop-filter:blur(8px);box-shadow:0 -10px 24px rgba(59,41,20,.08);justify-content:flex-end;}
.chauffeur-complete-actions .primary{min-width:140px;background:#d97706;border-color:#d97706;color:#fff;font-weight:900;}
@media(max-width:900px){.chauffeur-complete-order-card{grid-template-columns:1fr;width:min(94vw,760px);}.chauffeur-complete-grid,.chauffeur-complete-fee-grid{grid-template-columns:1fr;}.chauffeur-complete-actions{position:static;}}


/* 配驾零散账单审核四栏目 */
.chauffeur-finance-audit-sections {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.chauffeur-finance-section {
  padding: 0;
  overflow: hidden;
}
.chauffeur-finance-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 7px 12px;
  cursor: pointer;
  font-weight: 700;
  color: #1f2937;
  list-style: none;
}
.chauffeur-finance-section > summary::-webkit-details-marker {
  display: none;
}
.chauffeur-finance-section > summary::before {
  content: '▸';
  margin-right: 8px;
  color: #2563eb;
  transition: transform .18s ease;
}
.chauffeur-finance-section[open] > summary::before {
  transform: rotate(90deg);
}
.chauffeur-finance-section > summary span {
  flex: 1;
}
.chauffeur-finance-section > summary em {
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  color: #64748b;
}
.chauffeur-finance-section[open] > summary em::before {
  content: '点击收起';
}
.chauffeur-finance-section[open] > summary em {
  font-size: 0;
}
.chauffeur-finance-section:not([open]) > summary em::before {
  content: '点击展开';
}
.chauffeur-finance-section:not([open]) > summary em {
  font-size: 0;
}
.chauffeur-finance-section > .vehicle-detail-grid {
  padding: 0 12px 9px;
}
.chauffeur-audit-reservation-grid .audit-span-2 {
  grid-column: span 2;
}
.chauffeur-audit-reservation-grid .audit-span-3 {
  grid-column: span 3;
}
.chauffeur-audit-reservation-grid .audit-span-5 {
  grid-column: 1 / -1;
}


.audit-grid-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
.chauffeur-audit-price-grid {
  gap: 8px;
}
.chauffeur-audit-price-grid .vehicle-detail-item {
  min-width: 0;
}
.chauffeur-audit-price-grid .vehicle-detail-item strong {
  font-size: 13px;
  white-space: nowrap;
}
.chauffeur-audit-price-grid .audit-total-green strong {
  color: #059669;
  font-weight: 900;
}
.chauffeur-audit-price-grid .audit-total-red strong {
  color: #dc2626;
  font-weight: 900;
}
@media(max-width:1200px){
  .audit-grid-10 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media(max-width:900px){
  .audit-grid-10 { grid-template-columns: 1fr; }
}


.audit-grid-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.chauffeur-audit-reservation-layout {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 12px 9px;
}
.chauffeur-finance-section > .chauffeur-audit-reservation-layout {
  padding: 0 12px 9px;
}
.chauffeur-audit-reservation-row {
  gap: 8px;
}
.chauffeur-audit-reservation-row .audit-span-2 {
  grid-column: span 2;
}
.chauffeur-audit-reservation-row .audit-span-3 {
  grid-column: span 3;
}
.chauffeur-audit-reservation-row .audit-span-5 {
  grid-column: 1 / -1;
}
@media(max-width:900px){
  .audit-grid-6 { grid-template-columns: 1fr; }
  .chauffeur-audit-reservation-row .audit-span-2,
  .chauffeur-audit-reservation-row .audit-span-3,
  .chauffeur-audit-reservation-row .audit-span-5 { grid-column: 1 / -1; }
}


.chauffeur-audit-driver-report-grid .audit-span-5 {
  grid-column: 1 / -1;
}


.chauffeur-audit-driver-report-layout {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 12px 9px;
}
.chauffeur-finance-section > .chauffeur-audit-driver-report-layout {
  padding: 0 12px 9px;
}
.chauffeur-audit-driver-report-layout .chauffeur-audit-driver-report-grid {
  gap: 8px;
}


.chauffeur-audit-money-edit input {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  text-align: right;
  outline: none;
  padding: 0;
}
.chauffeur-audit-money-edit input:focus {
  color: #1d4ed8;
}
.chauffeur-audit-money-edit input[readonly] {
  pointer-events: none;
}


/* 审核审验成本卡片布局 */
.inspection-audit-layout-card{display:grid;gap:10px;}
.inspection-audit-layout-card .audit-span-6{grid-column:1 / -1;}
.inspection-audit-voucher-row .vehicle-detail-item{align-items:flex-start;}
.inspection-audit-voucher-row .upload-preview,.inspection-audit-voucher-row .media-preview,.inspection-audit-voucher-row .maintenance-audit-vouchers{margin-top:8px;}


/* 审核维保成本卡片布局 */
.maintenance-audit-layout-card{display:grid;gap:10px;}
.maintenance-audit-layout-card .audit-span-6{grid-column:1 / -1;}
.maintenance-audit-voucher-row .vehicle-detail-item{align-items:flex-start;}
.maintenance-audit-voucher-row .audit-voucher-inline{margin-top:8px;}

.chauffeur-voucher-card{display:flex;flex-direction:column;gap:14px}.chauffeur-voucher-summary{display:flex;gap:16px;flex-wrap:wrap;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;color:#334155;font-weight:700}.chauffeur-voucher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.chauffeur-voucher-item{margin:0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}.chauffeur-voucher-item img{width:100%;height:180px;object-fit:cover;background:#f8fafc;cursor:pointer;display:block}.chauffeur-voucher-file{height:180px;display:flex;align-items:center;justify-content:center;background:#f8fafc}.chauffeur-voucher-item figcaption{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.chauffeur-voucher-item figcaption span{color:#64748b;font-size:10.4px}.chauffeur-order-readonly-detail .chauffeur-voucher-section{margin-top:12px}@media(max-width:700px){.chauffeur-voucher-grid{grid-template-columns:1fr}.chauffeur-voucher-item img{height:auto;max-height:70vh;object-fit:contain}.chauffeur-voucher-file{height:120px}}

/* v1.0.147 用户数据页面排版优化 */
.user-data-panel{max-width:none;background:transparent;border:0;padding:0;display:grid;gap:16px}
.user-data-head{align-items:flex-start;margin-bottom:0}.user-data-head h3{font-size:20px;color:#0f172a}.user-data-head .muted{margin:5px 0 0;font-size:12px}
.user-card{background:#fff;border:1px solid #dbe7f3;border-radius:18px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}
.user-card-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #edf2f7}
.user-card-title strong{font-size:15px;color:#0f172a}.user-card-title span{font-size:11px;color:#64748b}
.user-form{grid-template-columns:minmax(180px,220px) minmax(180px,220px) minmax(420px,1fr) auto;align-items:end;gap:14px;margin:0}
.user-form button{min-width:108px;font-weight:800;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.permission-box{min-width:0}.permission-options{gap:7px;align-content:flex-start}.permission-check{background:#f8fbff;border-color:#dbeafe;color:#1e3a8a;font-weight:700;line-height:1;padding:8px 11px;transition:.15s ease}.permission-check:hover{background:#eff6ff;border-color:#93c5fd}.permission-check input{accent-color:#2563eb}
.user-table-wrap{overflow:auto;border:1px solid #e5edf7;border-radius:14px}.user-table{margin:0;font-size:12px;border-collapse:separate;border-spacing:0}.user-table th{position:sticky;top:0;z-index:1;background:#f8fbff;color:#334155;font-weight:900;border-bottom:1px solid #dbe7f3}.user-table th,.user-table td{padding:12px 14px}.user-table tbody tr:nth-child(even){background:#fbfdff}.user-table tbody tr:hover{background:#eff6ff}.user-table td:nth-child(1){width:220px;max-width:260px}.user-table td:nth-child(2){max-width:none}.user-table td:nth-child(3){width:170px;max-width:190px}.user-name-cell{display:flex;flex-direction:column;gap:3px}.user-name-cell strong{font-size:13px;color:#0f172a}.user-name-cell span{font-size:10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 7px;width:max-content}.user-permission-tags{display:flex;flex-wrap:wrap;gap:6px}.user-permission-tag{display:inline-flex;align-items:center;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;white-space:nowrap}.user-action-cell{white-space:nowrap;text-align:right}.user-action-cell button{margin:0 0 0 6px;padding:7px 12px}.user-action-cell .danger{background:#ef4444;color:#fff}.empty-cell{text-align:center!important;color:#64748b;padding:28px!important}
@media(max-width:1200px){.user-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.user-form .permission-box{grid-column:1/-1}.user-form button{justify-self:start}}
@media(max-width:900px){.user-card{padding:14px}.user-card-title{align-items:flex-start;flex-direction:column}.user-form{grid-template-columns:1fr}.user-table th,.user-table td{padding:10px 12px}.user-action-cell{text-align:left}.user-action-cell button{margin:4px 6px 0 0}}

/* v1.0.148 用户细分权限 */
.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px}.permission-group{border:1px solid #dbeafe;background:linear-gradient(180deg,#fbfdff,#f8fafc);border-radius:14px;padding:10px}.permission-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.permission-group-head strong{font-size:12px;color:#0f172a}.permission-group-head .mini{padding:4px 8px;border-radius:999px;font-size:10px;background:#eef6ff;color:#1d4ed8;border:1px solid #bfdbfe}.permission-group .permission-options{gap:6px}.permission-group .permission-check{font-size:11px;padding:7px 9px;background:#fff}.user-form{grid-template-columns:minmax(180px,220px) minmax(180px,220px) minmax(520px,1fr) auto}.user-permission-tags{max-height:96px;overflow:auto}.user-permission-tag{font-size:10.5px}
@media(max-width:1400px){.permission-groups{grid-template-columns:1fr}.user-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.user-form .permission-box{grid-column:1/-1}.user-form button{justify-self:start}}
@media(max-width:900px){.permission-groups{grid-template-columns:1fr}.permission-group{padding:9px}.permission-group-head{align-items:flex-start}.user-permission-tags{max-height:none}}

/* v1.0.150 权限配置页面整理 */
.permission-box{grid-column:1/-1}.permission-groups{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:12px}.permission-section-title{grid-column:1/-1;margin:4px 0 0;font-size:13px;font-weight:900;color:#0f172a;border-left:4px solid #2563eb;padding-left:10px}.permission-finance-panel{grid-column:1/-1}.permission-finance-panel .permission-group-head{align-items:flex-start}.permission-finance-panel .permission-group-head p{margin:3px 0 0;font-size:11px}.finance-master-options{margin-bottom:10px}.finance-permission-table-wrap{overflow:auto;border:1px solid #dbeafe;border-radius:12px;background:#fff}.finance-permission-table{width:100%;border-collapse:collapse;font-size:12px}.finance-permission-table th,.finance-permission-table td{border-bottom:1px solid #e5edf7;padding:8px 10px;text-align:center;white-space:nowrap}.finance-permission-table th:first-child{text-align:left;min-width:150px;background:#f8fbff;color:#0f172a}.finance-permission-table thead th{position:sticky;top:0;background:#eff6ff;color:#1e3a8a;z-index:1}.finance-permission-table tbody tr:hover{background:#f8fbff}.finance-permission-check{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0;font-weight:700;color:#334155}.finance-permission-check input{accent-color:#2563eb}.permission-group{min-width:0}.permission-check{white-space:nowrap}.user-form{grid-template-columns:minmax(180px,240px) minmax(180px,240px) auto}.user-form>button{align-self:end}.user-card-title{position:sticky;top:0;background:#fff;z-index:2}
@media(max-width:1200px){.permission-groups{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:760px){.permission-groups{grid-template-columns:1fr}.finance-permission-table th,.finance-permission-table td{padding:7px 8px}.finance-permission-check span{display:none}}

/* v1.0.152 删除密码留空提示 */
.user-password-field .password-edit-tip{display:none}

/* v1.0.153 PostgreSQL 数据库备份恢复 */
.backup-section-postgres .backup-icon{background:#e0f2fe;color:#075985}.backup-section-postgres{border-color:#bae6fd}

/* v1.0.154 PostgreSQL 自动备份与恢复按钮加宽 */
.backup-actions .backup-upload-wide{min-width:230px;padding-left:18px!important;padding-right:18px!important}
@media(max-width:760px){.backup-actions .backup-upload-wide{width:100%;min-width:0}}

.unified-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.unified-page-switch{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.unified-page-switch button{min-width:30px;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--line, var(--border, #dbe3ef));background:#fff;color:#334155;font-weight:800}.unified-page-switch button.active{background:#2563eb;border-color:#2563eb;color:#fff}.unified-page-switch button:disabled{opacity:.45;cursor:not-allowed}.unified-page-arrow{font-size:15px}.unified-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:20px;color:#64748b;font-weight:900}.unified-page-info{display:inline-flex;align-items:center;gap:4px}.unified-page-info select{padding:5px 8px;border:1px solid var(--line, var(--border, #dbe3ef));border-radius:8px;background:#fff;color:#0f172a;font:inherit}

.repayment-plan-table tr.repayment-plan-paid-row td{background:#dcfce7!important;color:#166534;font-weight:700}

/* 车辆分期付款弹窗 */
.purchase-installment-payment-form{display:flex;flex-direction:column;gap:14px;}
.purchase-installment-row{display:grid;gap:10px;align-items:start;}
.purchase-installment-row-1{grid-template-columns:repeat(4,minmax(0,1fr));}
.purchase-installment-row-2{grid-template-columns:repeat(5,minmax(0,1fr));}
.purchase-installment-payment-form label{display:flex;flex-direction:column;gap:6px;font-size:10.4px;color:#334155;}
.purchase-installment-payment-form input,.purchase-installment-payment-form select,.purchase-installment-payment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.purchase-installment-payment-form input[readonly]{background:#f1f5f9;color:#0f172a;font-weight:700;}
.purchase-installment-payment-form .wide,.purchase-installment-payment-form .form-actions{width:100%;}
.purchase-installment-payment-form .upload-field,.purchase-installment-payment-form .upload-paste-zone{grid-column:1/-1;}
@media(max-width:900px){.purchase-installment-row-1,.purchase-installment-row-2{grid-template-columns:1fr!important;}}

/* v1.0.193 页面与弹窗宽度规范 */
.app-shell{min-width:1920px;max-width:none;width:100%;}
.modal-card{width:1440px!important;max-width:1440px!important;}
@media(max-width:900px){.modal-card{width:1440px!important;max-width:1440px!important;}}

/* v1.0.194 全局数据表格统一按自驾页面规则显示 */
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table){
  width:100%!important;
  table-layout:auto!important;
  border-collapse:collapse;
}
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th,
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) td{
  text-align:center!important;
  vertical-align:middle!important;
  white-space:normal!important;
  max-width:none!important;
  word-break:break-word;
}
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th{
  background:#f8fafc;
  font-weight:800;
  color:#1f2937;
}
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) td:last-child,
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) .action-buttons{
  white-space:nowrap!important;
}
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) tbody tr:nth-child(even){
  background:#fbfdff;
}
#moduleRoot .table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) tbody tr:hover{
  background:#eff6ff;
}

/* v1.0.195 强制统一所有普通页面表格为自驾页面自适应列宽 */
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table),
#moduleRoot table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table),
.content-card table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table),
.modal-body table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table){
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  table-layout:auto!important;
  display:table!important;
  border-collapse:collapse!important;
}
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th,
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) td,
#moduleRoot table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th,
#moduleRoot table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) td{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  text-align:center!important;
  vertical-align:middle!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th{
  background:#f8fafc!important;
  color:#1f2937!important;
  font-weight:800!important;
}
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) td:last-child,
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) th:last-child,
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) .action-buttons{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) tbody tr:nth-child(even){background:#fbfdff!important;}
table.table:not(.ledger-print-table):not(.ledger-detail-table):not(.finance-permission-table):not(.backup-table) tbody tr:hover{background:#eff6ff!important;}
.table-scroll,.dictionary-width,.user-table-wrap{overflow-x:visible!important;}

/* v1.1.2 全站表格按自驾页面显示规则统一 */
#moduleRoot table,
.modal-body table,
.content-card table,
.table{
  width:100%!important;
  border-collapse:collapse!important;
  table-layout:auto!important;
  border:1px solid var(--line,#e5e7eb)!important;
  background:#fff!important;
}
#moduleRoot table th,
#moduleRoot table td,
.modal-body table th,
.modal-body table td,
.content-card table th,
.content-card table td,
.table th,
.table td{
  border:1px solid var(--line,#e5e7eb)!important;
  padding:8px 6px!important;
  text-align:center!important;
  vertical-align:middle!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  max-width:none!important;
}
#moduleRoot table th,
.modal-body table th,
.content-card table th,
.table th{
  background:#f8fafc!important;
  color:#1f2937!important;
  font-weight:800!important;
}
#moduleRoot table td:last-child,
.modal-body table td:last-child,
.content-card table td:last-child,
.table td:last-child,
#moduleRoot table .action-buttons,
.modal-body table .action-buttons,
.content-card table .action-buttons,
.table .action-buttons{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
#moduleRoot table tbody tr:nth-child(even),
.modal-body table tbody tr:nth-child(even),
.content-card table tbody tr:nth-child(even),
.table tbody tr:nth-child(even){
  background:#fbfdff!important;
}
#moduleRoot table tbody tr:hover,
.modal-body table tbody tr:hover,
.content-card table tbody tr:hover,
.table tbody tr:hover{
  background:#eff6ff!important;
}

/* v1.1.3 全站页面信息表格字号统一为自驾页面字号 */
#moduleRoot table,
.modal-body table,
.content-card table,
.table,
.vehicle-table,
.self-drive-order-table,
.self-drive-finance-table,
.chauffeur-order-table,
.chauffeur-misc-finance-table,
.invoice-usecar-table,
.combine-settlement-records{
  font-size:11.2px!important;
}
#moduleRoot table th,
#moduleRoot table td,
.modal-body table th,
.modal-body table td,
.content-card table th,
.content-card table td,
.table th,
.table td,
.vehicle-table th,
.vehicle-table td,
.self-drive-order-table th,
.self-drive-order-table td,
.self-drive-finance-table th,
.self-drive-finance-table td,
.chauffeur-order-table th,
.chauffeur-order-table td,
.chauffeur-misc-finance-table th,
.chauffeur-misc-finance-table td,
.invoice-usecar-table th,
.invoice-usecar-table td,
.combine-settlement-records th,
.combine-settlement-records td{
  font-size:11.2px!important;
}
#moduleRoot table button,
.modal-body table button,
.content-card table button,
.table button,
.vehicle-table button,
.self-drive-order-table button,
.self-drive-finance-table button,
.chauffeur-order-table button,
.chauffeur-misc-finance-table button,
.invoice-usecar-table button,
.combine-settlement-records button{
  font-size:11.2px!important;
}

/* v1.1.4 全站页面信息表格字号统一为 16px */
#moduleRoot table,
.modal-body table,
.content-card table,
.table,
.vehicle-table,
.self-drive-order-table,
.self-drive-finance-table,
.chauffeur-order-table,
.chauffeur-misc-finance-table,
.invoice-usecar-table,
.combine-settlement-records,
.finance-permission-table,
.backup-table{
  font-size:16px!important;
}
#moduleRoot table th,
#moduleRoot table td,
.modal-body table th,
.modal-body table td,
.content-card table th,
.content-card table td,
.table th,
.table td,
.vehicle-table th,
.vehicle-table td,
.self-drive-order-table th,
.self-drive-order-table td,
.self-drive-finance-table th,
.self-drive-finance-table td,
.chauffeur-order-table th,
.chauffeur-order-table td,
.chauffeur-misc-finance-table th,
.chauffeur-misc-finance-table td,
.invoice-usecar-table th,
.invoice-usecar-table td,
.combine-settlement-records th,
.combine-settlement-records td,
.finance-permission-table th,
.finance-permission-table td,
.backup-table th,
.backup-table td{
  font-size:16px!important;
}
#moduleRoot table button,
.modal-body table button,
.content-card table button,
.table button,
.vehicle-table button,
.self-drive-order-table button,
.self-drive-finance-table button,
.chauffeur-order-table button,
.chauffeur-misc-finance-table button,
.invoice-usecar-table button,
.combine-settlement-records button,
.finance-permission-table button,
.backup-table button{
  font-size:16px!important;
}

/* v1.1.5 车辆页面定位列固定宽度 */
.vehicle-table th:nth-child(13),
.vehicle-table td:nth-child(13){
  width:200px!important;
  min-width:200px!important;
  max-width:200px!important;
}
.vehicle-table td:nth-child(13) .vehicle-location-cell,
.vehicle-table td:nth-child(13) .vehicle-location-cell strong{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}

/* v1.1.6 车辆页面定位列固定宽度调整为 100px */
.vehicle-table th:nth-child(13),
.vehicle-table td:nth-child(13){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-table td:nth-child(13) .vehicle-location-cell,
.vehicle-table td:nth-child(13) .vehicle-location-cell strong{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}


/* v1.1.7 车辆页面定位列按字段类名固定宽度 */
.vehicle-table .vehicle-location-col{
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-table td.vehicle-location-col .vehicle-location-cell,
.vehicle-table td.vehicle-location-col .vehicle-location-cell strong{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}


/* v1.1.8 车辆页面定位列通过 colgroup 强制固定 100px */
.vehicle-table col.vehicle-location-col,
.vehicle-table th.vehicle-location-col,
.vehicle-table td.vehicle-location-col{
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-table td.vehicle-location-col{
  overflow:hidden!important;
}
.vehicle-table td.vehicle-location-col .vehicle-location-cell,
.vehicle-table td.vehicle-location-col .vehicle-location-cell strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}


/* v1.1.9 车辆页面定位列查看按钮与定位卡片 */
.vehicle-table .vehicle-location-view-btn{
  width:100%!important;
  padding:6px 8px!important;
  font-size:16px!important;
  white-space:nowrap!important;
}
.vehicle-location-modal-card .vehicle-location-current-card h3{
  margin:0 0 10px;
}
.vehicle-location-modal-card .vehicle-location-current-card p{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.6;
  word-break:break-word;
  overflow-wrap:anywhere;
}

/* v1.1.10 配驾页面关键字段内部文字统一为 16px */
.chauffeur-order-table .chauffeur-list-cell strong,
.chauffeur-order-table .chauffeur-list-cell span,
.chauffeur-order-table .chauffeur-order-no-cell strong,
.chauffeur-order-table .chauffeur-order-no-cell span,
.chauffeur-order-table .chauffeur-fleet-driver-cell strong,
.chauffeur-order-table .chauffeur-fleet-driver-cell span,
.chauffeur-order-table .chauffeur-vehicle-cell strong,
.chauffeur-order-table .chauffeur-vehicle-cell span,
.chauffeur-order-table .chauffeur-booker-cell strong,
.chauffeur-order-table .chauffeur-booker-cell span,
.chauffeur-order-table .chauffeur-passenger-cell strong,
.chauffeur-order-table .chauffeur-passenger-cell span{
  font-size:16px!important;
}


/* v1.1.11 配驾历史订单类别显示为彩色简称 */
.chauffeur-kind-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:32px!important;
  height:32px!important;
  border-radius:999px!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  border:1px solid currentColor!important;
}
.chauffeur-kind-badge.misc{
  background:#dbeafe!important;
  color:#1d4ed8!important;
}
.chauffeur-kind-badge.meeting{
  background:#fee2e2!important;
  color:#dc2626!important;
}


/* v1.1.12 车辆类型新能源标识与车辆所有人简称 */
.vehicle-energy-type{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  white-space:nowrap!important;
}
.vehicle-energy-icon{
  color:#16a34a!important;
  font-weight:900!important;
  font-size:18px!important;
  line-height:1!important;
}
.vehicle-license-owner-short{
  display:inline-block!important;
  max-width:5.5em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  vertical-align:middle!important;
}


/* v1.1.13 车辆所有人完整提示与车辆颜色列 */
.vehicle-license-owner-short{
  position:relative!important;
  cursor:help!important;
}
.vehicle-license-owner-short:hover::after{
  content:attr(data-full-text)!important;
  position:absolute!important;
  left:50%!important;
  bottom:calc(100% + 8px)!important;
  transform:translateX(-50%)!important;
  z-index:500!important;
  min-width:max-content!important;
  max-width:360px!important;
  padding:8px 10px!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.5!important;
  white-space:normal!important;
  word-break:break-word!important;
  box-shadow:0 12px 30px rgba(15,23,42,.28)!important;
  pointer-events:none!important;
}
.vehicle-license-owner-short:hover::before{
  content:''!important;
  position:absolute!important;
  left:50%!important;
  bottom:100%!important;
  transform:translateX(-50%)!important;
  border:6px solid transparent!important;
  border-top-color:#0f172a!important;
  z-index:501!important;
  pointer-events:none!important;
}

/* v1.1.14 车辆定位查看按钮尺寸跟操作列按钮一致 */
.vehicle-table .vehicle-location-view-btn{
  width:auto!important;
  min-width:0!important;
  padding:6px 9px!important;
  margin:0!important;
  font-size:16px!important;
  white-space:nowrap!important;
}

/* v1.1.16 全站表格单元格内边距压缩 */
#moduleRoot table th,
#moduleRoot table td,
.modal-body table th,
.modal-body table td,
.content-card table th,
.content-card table td,
.table th,
.table td,
.vehicle-table th,
.vehicle-table td,
.self-drive-order-table th,
.self-drive-order-table td,
.self-drive-finance-table th,
.self-drive-finance-table td,
.chauffeur-order-table th,
.chauffeur-order-table td,
.chauffeur-misc-finance-table th,
.chauffeur-misc-finance-table td,
.invoice-usecar-table th,
.invoice-usecar-table td,
.combine-settlement-records th,
.combine-settlement-records td,
.finance-permission-table th,
.finance-permission-table td,
.backup-table th,
.backup-table td{
  padding:4px 3px!important;
}

/* v1.1.17 车辆当前公里数列内部文字统一为 16px */
.vehicle-mileage-stack em,
.vehicle-mileage-stack strong,
.vehicle-mileage-stack .maintenance-left{
  font-size:16px!important;
}

/* v1.1.18 车辆状态胶囊尺寸对齐日期胶囊 */
.vehicle-status{
  min-width:88px!important;
  padding:2px 8px!important;
  font-size:16px!important;
  line-height:1.45!important;
}

/* v1.1.23 全站表格单元格上下内边距恢复为 8px */
#moduleRoot table th,
#moduleRoot table td,
.modal-body table th,
.modal-body table td,
.content-card table th,
.content-card table td,
.table th,
.table td,
.vehicle-table th,
.vehicle-table td,
.self-drive-order-table th,
.self-drive-order-table td,
.self-drive-finance-table th,
.self-drive-finance-table td,
.chauffeur-order-table th,
.chauffeur-order-table td,
.chauffeur-misc-finance-table th,
.chauffeur-misc-finance-table td,
.invoice-usecar-table th,
.invoice-usecar-table td,
.combine-settlement-records th,
.combine-settlement-records td,
.finance-permission-table th,
.finance-permission-table td,
.backup-table th,
.backup-table td{
  padding:8px 3px!important;
}

/* v1.1.24 车辆新增/编辑表单上传粘贴框紧凑化 */
.vehicle-form .upload-field,
.vehicle-form .upload-paste-zone{
  grid-column:span 1!important;
  width:100%!important;
}
.vehicle-form .upload-paste-zone{
  margin-top:0!important;
  padding:6px 8px!important;
  min-height:0!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.vehicle-form .upload-row{
  gap:6px!important;
  margin-top:4px!important;
}
.vehicle-form .upload-tip,
.vehicle-form .upload-empty{
  font-size:12px!important;
}
.vehicle-form .upload-preview{
  margin-top:4px!important;
  min-height:24px!important;
}
.vehicle-form .upload-thumb{
  width:72px!important;
  height:54px!important;
}

/* v1.1.25 粘贴框放到选择文件组件下面并统一高度 */
.upload-field .upload-paste-zone{
  width:100%!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  margin-top:6px!important;
  padding:4px 8px!important;
  box-sizing:border-box!important;
}
.vehicle-form .upload-paste-zone{
  grid-column:auto!important;
  min-height:32px!important;
  padding:4px 8px!important;
}

/* v1.1.27 车辆新增/编辑照片上传区三等分 */
.vehicle-form .vehicle-photo-upload-row{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
}
.vehicle-form .vehicle-photo-upload-row .upload-field{
  grid-column:auto!important;
  width:100%!important;
}
@media(max-width:900px){
  .vehicle-form .vehicle-photo-upload-row{
    grid-template-columns:1fr!important;
  }
}

/* v1.1.28 全部弹窗标题 16px，内部文字 12px */
.modal-card,
.alert-card{
  font-size:12px!important;
}
.modal-card .modal-head,
.modal-card .modal-head *,
.modal-card h1,
.modal-card h2,
.modal-card h3,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:16px!important;
}
.modal-card .modal-body,
.modal-card .modal-body *,
.alert-card p,
.alert-card button,
.alert-card input,
.alert-card select,
.alert-card textarea{
  font-size:12px!important;
}
.modal-card input,
.modal-card select,
.modal-card textarea,
.modal-card button,
.modal-card label,
.modal-card span,
.modal-card p,
.modal-card small,
.modal-card strong,
.modal-card em,
.modal-card td,
.modal-card th,
.modal-card summary,
.modal-card option{
  font-size:12px!important;
}
.modal-card .modal-head h1,
.modal-card .modal-head h2,
.modal-card .modal-head h3,
.modal-card .modal-head strong,
.modal-card .modal-head span,
.modal-card .modal-head button,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:16px!important;
}

/* v1.1.29 全部弹窗标题 20px，内部文字 16px */
.modal-card,
.alert-card{
  font-size:16px!important;
}
.modal-card .modal-head,
.modal-card .modal-head *,
.modal-card h1,
.modal-card h2,
.modal-card h3,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:20px!important;
}
.modal-card .modal-body,
.modal-card .modal-body *,
.alert-card p,
.alert-card button,
.alert-card input,
.alert-card select,
.alert-card textarea{
  font-size:16px!important;
}
.modal-card input,
.modal-card select,
.modal-card textarea,
.modal-card button,
.modal-card label,
.modal-card span,
.modal-card p,
.modal-card small,
.modal-card strong,
.modal-card em,
.modal-card td,
.modal-card th,
.modal-card summary,
.modal-card option{
  font-size:16px!important;
}
.modal-card .modal-head h1,
.modal-card .modal-head h2,
.modal-card .modal-head h3,
.modal-card .modal-head strong,
.modal-card .modal-head span,
.modal-card .modal-head button,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:20px!important;
}

/* v1.1.30 全部弹窗标题 22px，内部文字 14px */
.modal-card,
.alert-card{
  font-size:14px!important;
}
.modal-card .modal-head,
.modal-card .modal-head *,
.modal-card h1,
.modal-card h2,
.modal-card h3,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:22px!important;
}
.modal-card .modal-body,
.modal-card .modal-body *,
.alert-card p,
.alert-card button,
.alert-card input,
.alert-card select,
.alert-card textarea{
  font-size:14px!important;
}
.modal-card input,
.modal-card select,
.modal-card textarea,
.modal-card button,
.modal-card label,
.modal-card span,
.modal-card p,
.modal-card small,
.modal-card strong,
.modal-card em,
.modal-card td,
.modal-card th,
.modal-card summary,
.modal-card option{
  font-size:14px!important;
}
.modal-card .modal-head h1,
.modal-card .modal-head h2,
.modal-card .modal-head h3,
.modal-card .modal-head strong,
.modal-card .modal-head span,
.modal-card .modal-head button,
.alert-card h1,
.alert-card h2,
.alert-card h3{
  font-size:22px!important;
}

/* v1.1.33 车辆详情照片区三格等宽 */
.vehicle-detail-grid .vehicle-media-block{
  grid-column:span 1!important;
}

/* v1.1.34 车辆详情照片第六行整体三列布局 */
.vehicle-detail-grid .vehicle-detail-photo-row{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
}
.vehicle-detail-grid .vehicle-detail-photo-row .vehicle-media-block{
  grid-column:auto!important;
  width:100%!important;
}
@media(max-width:900px){
  .vehicle-detail-grid .vehicle-detail-photo-row{
    grid-template-columns:1fr!important;
  }
}

/* v1.1.35 修复车辆详情交强/商业到期保单按钮白字不可见 */
.vehicle-detail-item strong .date-policy-link,
.vehicle-detail-item strong button.date-cell{
  color:#0f172a!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  cursor:default!important;
}
.vehicle-detail-item strong .date-policy-link:hover,
.vehicle-detail-item strong button.date-cell:hover{
  color:#2563eb!important;
  text-decoration:underline!important;
  opacity:1!important;
}
.vehicle-detail-item strong .date-policy-link.warn-yellow,
.vehicle-detail-item strong button.date-cell.warn-yellow{
  color:#92400e!important;
}
.vehicle-detail-item strong .date-policy-link.warn-red,
.vehicle-detail-item strong button.date-cell.warn-red{
  color:#991b1b!important;
}

/* v1.1.36 配驾订单轨迹地图固定最右侧，剩余空间给左栏 */
.chauffeur-track-layout,
.chauffeur-order-readonly-detail .chauffeur-track-layout{
  grid-template-columns:minmax(0,1fr) 520px!important;
  justify-content:stretch!important;
}
.chauffeur-track-map-wrap{
  width:520px!important;
  justify-self:end!important;
}
.chauffeur-track-map{
  width:520px!important;
  max-width:100%!important;
}
@media(max-width:900px){
  .chauffeur-track-layout,
  .chauffeur-order-readonly-detail .chauffeur-track-layout{
    grid-template-columns:1fr!important;
  }
  .chauffeur-track-map-wrap,
  .chauffeur-track-map{
    width:100%!important;
  }
}

/* v1.1.37 配驾订单轨迹内容区撑满弹窗，让地图贴最右侧 */
.chauffeur-track-popup{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.chauffeur-track-popup .chauffeur-track-layout{
  width:100%!important;
}
.chauffeur-track-popup .chauffeur-track-map-wrap{
  margin-left:auto!important;
}

/* v1.1.38 配驾订单轨迹地图占卡片一半并同步列宽 */
.chauffeur-track-popup .chauffeur-track-layout,
.chauffeur-order-readonly-detail .chauffeur-track-layout{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
}
.chauffeur-track-popup .chauffeur-track-map-wrap,
.chauffeur-order-readonly-detail .chauffeur-track-map-wrap{
  width:100%!important;
  justify-self:stretch!important;
  margin-left:0!important;
}
.chauffeur-track-popup .chauffeur-track-map,
.chauffeur-order-readonly-detail .chauffeur-track-map{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:900px){
  .chauffeur-track-popup .chauffeur-track-layout,
  .chauffeur-order-readonly-detail .chauffeur-track-layout{
    grid-template-columns:1fr!important;
  }
}

/* v1.1.39 配驾订单轨迹左侧时间/地点各占一行 */
.chauffeur-track-edit-row{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.chauffeur-track-edit-row .chauffeur-track-field{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  color:#5b3a12!important;
  font-weight:800!important;
}
.chauffeur-track-edit-row .chauffeur-track-field input{
  width:100%!important;
  min-width:0!important;
}

/* v1.1.40 配驾订单轨迹每栏两行：标题时间同一行，地点第二行 */
.chauffeur-track-edit-row{
  grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:10px!important;
}
.chauffeur-track-edit-row > b{
  grid-column:1!important;
  grid-row:1!important;
  white-space:nowrap!important;
}
.chauffeur-track-edit-row > .chauffeur-track-field:first-of-type{
  grid-column:2!important;
  grid-row:1!important;
}
.chauffeur-track-edit-row > .chauffeur-track-field:last-of-type{
  grid-column:1/-1!important;
  grid-row:2!important;
}
.chauffeur-track-edit-row .chauffeur-track-field{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}
.chauffeur-track-edit-row .chauffeur-track-field input{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:900px){
  .chauffeur-track-edit-row{
    grid-template-columns:1fr!important;
  }
  .chauffeur-track-edit-row > b,
  .chauffeur-track-edit-row > .chauffeur-track-field:first-of-type,
  .chauffeur-track-edit-row > .chauffeur-track-field:last-of-type{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

/* v1.1.41 配驾订单轨迹页面只读，不显示可编辑操作 */
.chauffeur-track-popup .chauffeur-track-actions{
  display:none!important;
}

/* v1.1.42 配驾修改订单实际行程下方新增可编辑行程栏 */
.chauffeur-completed-route-section{
  display:grid!important;
  gap:12px!important;
}
.chauffeur-completed-route-list{
  display:grid!important;
  gap:10px!important;
}
.chauffeur-completed-route-row{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr) minmax(0,1.4fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:10px 12px!important;
  border:1px solid #eadbc2!important;
  border-radius:14px!important;
  background:#fffaf0!important;
}
.chauffeur-completed-route-fixed{
  grid-template-columns:82px minmax(0,1fr) minmax(0,1.4fr) 74px!important;
}
.chauffeur-completed-route-row b{
  align-self:center!important;
  white-space:nowrap!important;
  color:#5b3a12!important;
}
.chauffeur-completed-route-row label{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
  min-width:0!important;
}
.chauffeur-completed-route-row input{
  width:100%!important;
  min-width:0!important;
}
.chauffeur-completed-route-row [data-chauffeur-completed-route-remove]{
  align-self:end!important;
}
.chauffeur-completed-route-section [data-chauffeur-completed-route-add]{
  justify-self:start!important;
}
@media(max-width:900px){
  .chauffeur-completed-route-row,
  .chauffeur-completed-route-fixed{
    grid-template-columns:1fr!important;
  }
}

/* v1.1.44 有用车申请开票摘要表强制显示单元格内容 */
.invoice-usecar-mixed-summary-table td{
  color:#1f2937!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:28px!important;
}
.invoice-usecar-mixed-summary-table td:empty::after{
  content:'-'!important;
  color:#6b7280!important;
}

/* v1.1.56 配驾预设地址排序标签 */
.chauffeur-address-title .chauffeur-address-sort {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #4338ca;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
}

/* v1.1.59 配驾预设地址表格 */
.data-chauffeur-address-table th,
.data-chauffeur-address-table td {
  color: #111827;
  vertical-align: middle;
}
.data-chauffeur-address-table .data-chauffeur-sort-col {
  font-weight: 700;
  color: #4338ca;
  white-space: nowrap;
}
.data-chauffeur-address-table td:last-child {
  white-space: nowrap;
}
.data-chauffeur-address-table td:last-child button + button {
  margin-left: 8px;
}

/* v1.1.73 会议订单第一列会议名称最多显示两行 */
.chauffeur-order-table tr[data-row-module="chauffeurMeeting"] td:first-child{text-align:center!important;vertical-align:middle;}
.chauffeur-order-table .chauffeur-meeting-order-no-cell{min-width:180px;max-width:240px;width:100%;margin:0 auto;text-align:center!important;align-items:center!important;justify-content:center;}
.chauffeur-order-table .chauffeur-meeting-order-no-cell strong{display:block;width:100%;text-align:center!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chauffeur-order-table .chauffeur-meeting-order-no-cell .chauffeur-meeting-name-two-line{display:-webkit-box!important;width:100%;text-align:center!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal!important;word-break:break-all;line-height:1.35;max-height:2.7em;}
.meeting-hub-screen-mode .meeting-hub-screen-page>.meeting-hub-screen-panel,.meeting-hub-screen-mode .meeting-hub-flight-header,.meeting-hub-screen-mode .meeting-hub-flight-row,.meeting-hub-screen-mode .meeting-hub-order-card.meeting-hub-flight-row,.meeting-hub-screen-mode .meeting-hub-empty-row{border-radius:0}

.chauffeur-driver-location-cell{display:flex;align-items:center;justify-content:center;gap:8px;white-space:pre-line;line-height:1.35}.chauffeur-driver-location-cell>span{min-width:0}.chauffeur-location-refresh-btn{width:26px;height:26px;min-width:26px;border-radius:999px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;font-size:17px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.chauffeur-location-refresh-btn:hover{background:#dbeafe}.chauffeur-location-refresh-btn.is-loading{opacity:.72;cursor:wait;animation:chauffeur-location-spin .8s linear infinite}@keyframes chauffeur-location-spin{to{transform:rotate(360deg)}}

.chauffeur-driver-location-head{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}

.meeting-hub-flight-row .meeting-hub-flight-field:nth-child(-n+3){font-family:'DigitalPlayLocal','AaZongYiYuanLocal','Microsoft YaHei',sans-serif;font-weight:800;letter-spacing:.04em}

.meeting-hub-screen-mode .meeting-hub-train-no-cell{gap:8px;justify-content:flex-start;text-align:left}
.meeting-hub-screen-mode .meeting-hub-train-icon{font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif;font-size:22px;line-height:1;filter:drop-shadow(0 0 6px rgba(96,165,250,.55))}
.meeting-hub-screen-mode .meeting-hub-train-no{display:inline-flex;align-items:baseline;gap:1px;color:#f8fafc;font:inherit;letter-spacing:.04em}
.meeting-hub-screen-mode .meeting-hub-train-prefix{color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.75)}

.meeting-hub-screen-mode .meeting-hub-flight-header .meeting-hub-flight-field{justify-content:center!important;text-align:center!important}
.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:first-child{justify-content:flex-start;text-align:left}
.meeting-hub-screen-mode .meeting-hub-flight-no-cell{justify-content:flex-start;text-align:left}
.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row{grid-template-columns:var(--hub-col-1,170px) var(--hub-col-2,140px) var(--hub-col-3,140px) var(--hub-col-4,120px) var(--hub-col-5,120px) var(--hub-col-6,390px) var(--hub-col-7,310px) var(--hub-col-8,180px)}
.meeting-hub-screen-mode .meeting-hub-driver-lines .meeting-hub-order-line-group em{display:block;text-align:left;white-space:nowrap}
.meeting-hub-screen-mode .meeting-hub-passenger-name{color:#facc15;text-shadow:0 0 10px rgba(250,204,21,.62)}
.meeting-hub-screen-mode .meeting-hub-driver-name{color:#f8fafc}
.meeting-hub-screen-mode .meeting-hub-driver-plate{color:#bfdbfe}
.meeting-hub-screen-mode .meeting-hub-vehicle-type{font-weight:900;text-shadow:0 0 10px currentColor}
.meeting-hub-screen-mode .meeting-hub-vehicle-type-comfort{color:#22c55e}
.meeting-hub-screen-mode .meeting-hub-vehicle-type-business{color:#38bdf8}
.meeting-hub-screen-mode .meeting-hub-vehicle-type-bus{color:#facc15}
.meeting-hub-screen-mode .meeting-hub-vehicle-type-normal{color:#e2e8f0;text-shadow:0 0 8px rgba(226,232,240,.35)}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:1px 7px;border:1px solid rgba(147,197,253,.55);border-radius:999px;background:rgba(37,99,235,.22);color:#dbeafe;font-size:13px;line-height:1.35;font-family:'AaZongYiYuanLocal','Microsoft YaHei',sans-serif;text-shadow:0 0 8px rgba(147,197,253,.45);vertical-align:baseline}
.meeting-hub-screen-mode .meeting-hub-driver-lines em{white-space:normal!important;line-height:1.45}
.meeting-hub-screen-mode .meeting-hub-flight-row.is-canceled-order .meeting-hub-flight-field,.meeting-hub-screen-mode .meeting-hub-flight-row.is-canceled-order .meeting-hub-flight-field *{color:#ef4444!important;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#ef4444;text-shadow:0 0 10px rgba(239,68,68,.55)!important}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-canceled{background:#020617!important;color:#ef4444!important;border-color:rgba(239,68,68,.75)!important;text-decoration:none!important;text-shadow:0 0 8px rgba(239,68,68,.55)!important}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-canceled *{text-decoration:none!important}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-yellow{color:#facc15!important;border-color:rgba(250,204,21,.65)!important;text-shadow:0 0 8px rgba(250,204,21,.58)!important}
@keyframes meetingHubDriverServingPulse{0%,100%{background:rgba(22,163,74,.28);border-color:rgba(134,239,172,.78);color:#dcfce7;box-shadow:0 0 10px rgba(34,197,94,.42),0 0 22px rgba(34,197,94,.22);text-shadow:0 0 10px rgba(220,252,231,.86)}50%{background:rgba(34,197,94,.88);border-color:#bbf7d0;color:#052e16;box-shadow:0 0 18px rgba(74,222,128,.86),0 0 38px rgba(34,197,94,.52);text-shadow:0 0 8px rgba(240,253,244,.95)}}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-serving{background:rgba(22,163,74,.30)!important;color:#dcfce7!important;border-color:rgba(134,239,172,.82)!important;font-weight:900;animation:meetingHubDriverServingPulse 1.15s ease-in-out infinite;}
@keyframes meetingHubDriverCompletedPulse{0%,100%{background:rgba(37,99,235,.32);border-color:rgba(147,197,253,.82);color:#dbeafe;box-shadow:0 0 10px rgba(59,130,246,.48),0 0 22px rgba(59,130,246,.26);text-shadow:0 0 10px rgba(191,219,254,.88)}50%{background:rgba(59,130,246,.90);border-color:#bfdbfe;color:#eff6ff;box-shadow:0 0 18px rgba(96,165,250,.90),0 0 38px rgba(37,99,235,.58);text-shadow:0 0 8px rgba(239,246,255,.95)}}
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-completed{background:rgba(37,99,235,.34)!important;color:#dbeafe!important;border-color:rgba(147,197,253,.86)!important;font-weight:900;animation:meetingHubDriverCompletedPulse 1.15s ease-in-out infinite;}
.meeting-hub-screen-mode .meeting-hub-hub-name-cell{color:#fde68a;text-shadow:0 0 10px rgba(253,230,138,.55)}

.meeting-hub-screen-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:-6px 0 18px;flex-wrap:wrap}
.meeting-hub-screen-controls .meeting-hub-screen-select{margin:0;min-width:280px;max-width:520px;flex:1 1 360px}
.meeting-hub-screen-controls .meeting-hub-screen-select label{display:block;width:100%}
.meeting-hub-screen-controls .meeting-hub-screen-select select{width:100%}
.meeting-hub-screen-controls .meeting-hub-trip-toggle{margin:0;flex:0 0 auto}
.meeting-hub-trip-toggle{display:flex;justify-content:center;align-items:center;gap:14px;margin:-10px 0 22px}
.meeting-hub-trip-toggle button{min-width:120px;border:1px solid rgba(147,197,253,.5);border-radius:999px;background:rgba(15,23,42,.72);color:#bfdbfe;padding:10px 24px;font-size:18px;font-weight:900;letter-spacing:.12em;cursor:pointer;box-shadow:0 0 12px rgba(147,197,253,.18)}
.meeting-hub-trip-toggle button.active{background:rgba(37,99,235,.82);color:#fff;border-color:rgba(191,219,254,.85);box-shadow:0 0 18px rgba(59,130,246,.55)}
.meeting-hub-trip-toggle .meeting-hub-fullscreen-btn{min-width:48px;width:48px;height:48px;padding:0;border-radius:50%;font-size:26px;line-height:1;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center}
.meeting-hub-trip-toggle .meeting-hub-fullscreen-btn.is-fullscreen{background:rgba(14,165,233,.82);color:#fff;border-color:rgba(186,230,253,.9);box-shadow:0 0 18px rgba(56,189,248,.55)}

.meeting-hub-device-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:4px}
.meeting-hub-trip-toggle .meeting-hub-device-btn{min-width:44px;width:44px;height:44px;padding:0;border-radius:50%;font-size:21px;line-height:1;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center}
.meeting-hub-trip-toggle .meeting-hub-device-btn.active{background:rgba(37,99,235,.82);color:#fff;border-color:rgba(191,219,254,.9);box-shadow:0 0 18px rgba(59,130,246,.55)}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-page{max-width:1180px;margin:0 auto;padding-left:14px;padding-right:14px}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row{grid-template-columns:var(--hub-col-1,80px) var(--hub-col-2,60px) var(--hub-col-3,60px) var(--hub-col-4,60px) var(--hub-col-5,60px) var(--hub-col-6,220px) var(--hub-col-7,220px) var(--hub-col-8,220px);min-width:980px}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-flight-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-page{max-width:430px;margin:0 auto;min-height:100vh;padding:12px 10px 18px;background:radial-gradient(circle at top,rgba(30,64,175,.30),transparent 34%),#020617}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-head h2{font-size:24px;letter-spacing:.06em}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-select label{width:100%}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-select select{width:100%;max-width:none;min-height:42px;font-size:15px}
body.meeting-hub-device-mobile .meeting-hub-trip-toggle{gap:8px;margin:8px 0 12px;flex-wrap:wrap}
body.meeting-hub-device-mobile .meeting-hub-trip-toggle button{min-width:76px;padding:9px 12px;font-size:15px;letter-spacing:.08em}
body.meeting-hub-device-mobile .meeting-hub-trip-toggle .meeting-hub-device-btn,body.meeting-hub-device-mobile .meeting-hub-trip-toggle .meeting-hub-fullscreen-btn{min-width:40px;width:40px;height:40px;padding:0;font-size:21px}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-panel{padding:0;background:transparent;border:0;box-shadow:none}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-table{overflow:visible}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-header{display:none}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-order-grid{display:grid;gap:12px}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row,body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid rgba(96,165,250,.32);border-radius:18px;background:linear-gradient(145deg,rgba(15,23,42,.94),rgba(15,23,42,.76));box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(148,163,184,.10)}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field,body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:first-child,body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-no-cell,body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-train-no-cell{min-height:54px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;justify-content:stretch!important;text-align:left!important;padding:8px 10px;border:1px solid rgba(51,65,85,.78);border-radius:12px;background:rgba(2,6,23,.56);font-size:15px;line-height:1.35;overflow:hidden}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field::before{content:attr(data-hub-label);color:#93c5fd;font-size:12px;font-weight:900;letter-spacing:.04em;text-shadow:none}
body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(1),body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(6),body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(7),body.meeting-hub-device-mobile.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(8){grid-column:1/-1}
.meeting-hub-driver-distance-cell{color:#fde68a;font-weight:900}
.meeting-hub-screen-mode .meeting-hub-driver-location-lines .meeting-hub-order-line-group em{display:block;text-align:left;white-space:normal!important;line-height:1.45}
.meeting-hub-driver-location-head{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px;line-height:1!important;}
.meeting-hub-driver-location-head>span{display:inline-flex;align-items:center;line-height:1;}
.meeting-hub-driver-location-refresh{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;min-height:22px;padding:0;margin:0;border-radius:999px;border:1px solid rgba(147,197,253,.65);background:rgba(37,99,235,.24);color:#dbeafe;font-size:15px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 0 10px rgba(59,130,246,.28);vertical-align:middle;transform-origin:center;}
.meeting-hub-driver-location-refresh:hover{background:rgba(59,130,246,.48);border-color:rgba(191,219,254,.9);box-shadow:0 0 16px rgba(96,165,250,.55);}
.meeting-hub-driver-location-refresh.is-loading{animation:meetingHubRefreshSpin .8s linear infinite;opacity:.75;cursor:wait;}
@keyframes meetingHubRefreshSpin{to{transform:rotate(360deg)}}

.chauffeur-flight-query-page {
  display: grid;
  gap: 16px;
}
.chauffeur-flight-query-form {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(180px, 240px) auto;
  gap: 14px;
  align-items: end;
  padding: 18px;
  border: 1px solid #dbe7fb;
  border-radius: 18px;
  background: #f7fbff;
}
.chauffeur-flight-query-form label {
  display: grid;
  gap: 8px;
  color: #50637c;
  font-weight: 700;
}
.chauffeur-flight-query-results {
  display: grid;
  gap: 14px;
}
.chauffeur-flight-query-result-card {
  padding: 18px;
  border: 1px solid #dce7f8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(41, 74, 124, .08);
}
.chauffeur-flight-query-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.chauffeur-flight-query-result-head strong {
  font-size: 24px;
  color: #1857c9;
}
.chauffeur-flight-query-result-head span {
  padding: 6px 12px;
  border-radius: 999px;
  background: #eaf4ff;
  color: #0b65a8;
  font-weight: 800;
}
.chauffeur-flight-query-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 12px;
}
.chauffeur-flight-query-grid div {
  padding: 12px;
  border-radius: 14px;
  background: #f4f7fc;
}
.chauffeur-flight-query-grid span {
  display: block;
  margin-bottom: 6px;
  color: #718198;
  font-size: 12px;
}
.chauffeur-flight-query-grid b {
  color: #172945;
  font-size: 16px;
}
.chauffeur-flight-query-raw {
  margin-top: 14px;
}
.chauffeur-flight-query-raw summary {
  cursor: pointer;
  color: #315b9f;
  font-weight: 700;
}
.chauffeur-flight-query-raw pre {
  max-height: 260px;
  overflow: auto;
  padding: 14px;
  border-radius: 14px;
  background: #101827;
  color: #dce8ff;
}
.chauffeur-flight-query-error {
  margin: 0;
}
@media (max-width: 860px) {
  .chauffeur-flight-query-form,
  .chauffeur-flight-query-grid {
    grid-template-columns: 1fr;
  }
}

.chauffeur-flight-query-table th,
.chauffeur-flight-query-table td {
  text-align: center;
  white-space: nowrap;
}
.chauffeur-flight-query-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef3fb;
  color: #55657c;
  font-weight: 800;
  font-size: 12px;
}
.chauffeur-flight-query-status.pending {
  background: #fff7df;
  color: #a36500;
}
.chauffeur-flight-query-status.ok {
  background: #e7fff2;
  color: #0c7e47;
}
.chauffeur-flight-query-status.error {
  max-width: 220px;
  background: #fff0f0;
  color: #bd2736;
  white-space: normal;
}

.chauffeur-flight-query-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.chauffeur-flight-query-actions button {
  min-width: 68px;
  width: auto;
  padding-left: 14px;
  padding-right: 14px;
  white-space: nowrap;
}

.chauffeur-flight-query-page-size {
  margin: -6px 0 0;
  text-align: right;
  font-size: 13px;
}

.data-chauffeur-flight-info-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.data-chauffeur-flight-info-table th,
.data-chauffeur-flight-info-table td {
  white-space: nowrap;
}

.data-chauffeur-flight-info-hint {
  margin: -4px 0 0;
}

.data-chauffeur-flight-info-hint.error {
  color: #dc2626;
  font-weight: 700;
}

.data-chauffeur-flight-info-hint.ok {
  color: #16a34a;
}

.chauffeur-flight-query-no {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}

.chauffeur-flight-query-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.chauffeur-flight-query-remove:hover {
  background: #fecaca;
}
.chauffeur-flight-query-log-card { min-width: min(1100px, 86vw); }
.chauffeur-flight-query-log-table th,
.chauffeur-flight-query-log-table td { white-space: nowrap; }
.chauffeur-flight-query-log-table td:last-child { white-space: normal; min-width: 220px; }

.customer-order-alert-card h3{margin:0 0 14px;color:#475569}.customer-order-alert-list{display:grid;gap:10px}.customer-order-alert-list div{display:flex;justify-content:space-between;gap:20px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1}.customer-order-alert-list span{color:#475569}.customer-order-alert-list strong{color:#1f2937;text-align:right}


.nav .customer-order-nav-alert{background:linear-gradient(135deg,#facc15,#f59e0b)!important;color:#78350f!important;border-color:#fde68a!important;font-weight:900;box-shadow:0 0 0 0 rgba(250,204,21,.75);animation:customerOrderNavBlink 1s infinite;}
@keyframes customerOrderNavBlink{0%,100%{filter:brightness(1);box-shadow:0 0 0 0 rgba(250,204,21,.75),0 8px 18px rgba(245,158,11,.25)}50%{filter:brightness(1.18);box-shadow:0 0 0 8px rgba(250,204,21,.22),0 12px 26px rgba(245,158,11,.45)}}
.customer-order-new-row-highlight{animation:customerOrderRowHighlight 1s infinite;background:#e2e8f0!important;}
.customer-order-new-row-highlight td{background:#e2e8f0!important;}
@keyframes customerOrderRowHighlight{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}


/* v1.1.153 用户角色下拉框统一输入框样式 */
.user-form{grid-template-columns:minmax(180px,240px) minmax(180px,240px) minmax(180px,240px) auto}
.user-form label{min-width:0}
.user-form select[name="role"]{width:100%;height:42px;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#0f172a;font:inherit;padding:0 36px 0 12px;appearance:auto}
@media(max-width:1200px){.user-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:900px){.user-form{grid-template-columns:1fr}}


/* v1.1.174 枢纽大屏平板/手机第二风格 */
@media (max-width: 1180px) {
  .meeting-hub-screen-mode { overflow-x: hidden; }
  .meeting-hub-screen-mode .meeting-hub-screen-page { padding: 14px 12px 22px; }
  .meeting-hub-screen-mode .meeting-hub-screen-head h2 { font-size: clamp(24px, 4.8vw, 42px); }
  .meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,
  .meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row { grid-template-columns: 1.2fr .9fr .9fr .8fr .9fr 1.55fr 1.45fr 1.15fr; }
  .meeting-hub-screen-mode .meeting-hub-flight-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .meeting-hub-screen-mode .meeting-hub-flight-header,
  .meeting-hub-screen-mode .meeting-hub-flight-row { min-width: 980px; }
  .meeting-hub-screen-mode .meeting-hub-flight-field { font-size: clamp(14px, 1.65vw, 18px); padding: 8px 7px; }
  .meeting-hub-screen-mode .meeting-hub-driver-status-pill { font-size: 12px; }
}
@media (max-width: 720px) {
  .meeting-hub-screen-mode, .meeting-hub-screen-mode body { min-width: 0; }
  .meeting-hub-screen-mode .meeting-hub-screen-page { min-height: 100vh; padding: 12px 10px 18px; background: radial-gradient(circle at top, rgba(30,64,175,.30), transparent 34%), #020617; }
  .meeting-hub-screen-mode .meeting-hub-screen-head { margin-bottom: 10px; }
  .meeting-hub-screen-mode .meeting-hub-screen-head h2 { font-size: 24px; letter-spacing: .06em; }
  .meeting-hub-screen-mode .meeting-hub-screen-select label { width: 100%; }
  .meeting-hub-screen-mode .meeting-hub-screen-controls { gap: 8px; margin: 6px 0 12px; }
  .meeting-hub-screen-mode .meeting-hub-screen-controls .meeting-hub-screen-select { flex-basis: 100%; min-width: 0; }
  .meeting-hub-screen-mode .meeting-hub-screen-select select { width: 100%; max-width: none; min-height: 42px; font-size: 15px; }
  .meeting-hub-trip-toggle { gap: 8px; margin: 8px 0 12px; }
  .meeting-hub-trip-toggle button { min-width: 86px; padding: 9px 14px; font-size: 15px; letter-spacing: .08em; }
  .meeting-hub-trip-toggle .meeting-hub-fullscreen-btn { min-width: 40px; width: 40px; height: 40px; font-size: 22px; }
  .meeting-hub-screen-mode .meeting-hub-screen-clock { margin-bottom: 12px; font-size: 13px; }
  .meeting-hub-screen-mode .meeting-hub-screen-panel { padding: 0; background: transparent; border: 0; box-shadow: none; }
  .meeting-hub-screen-mode .meeting-hub-flight-table { overflow: visible; }
  .meeting-hub-screen-mode .meeting-hub-flight-header { display: none; }
  .meeting-hub-screen-mode .meeting-hub-order-grid { display: grid; gap: 12px; }
  .meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row,
  .meeting-hub-screen-mode .meeting-hub-flight-row { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px; border: 1px solid rgba(96,165,250,.32); border-radius: 18px; background: linear-gradient(145deg, rgba(15,23,42,.94), rgba(15,23,42,.76)); box-shadow: 0 12px 34px rgba(0,0,0,.28), inset 0 0 0 1px rgba(148,163,184,.10); }
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field,
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:first-child,
  .meeting-hub-screen-mode .meeting-hub-flight-no-cell,
  .meeting-hub-screen-mode .meeting-hub-train-no-cell { min-height: 54px; display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 8px; justify-content: stretch!important; text-align: left!important; padding: 8px 10px; border: 1px solid rgba(51,65,85,.78); border-radius: 12px; background: rgba(2,6,23,.56); font-size: 15px; line-height: 1.35; overflow: hidden; }
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field::before { content: attr(data-hub-label); color: #93c5fd; font-size: 12px; font-weight: 900; letter-spacing: .04em; text-shadow: none; }
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:not([data-hub-label])::before { content: ''; }
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(1),
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(6),
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(7),
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:nth-child(8) { grid-column: 1 / -1; }
  .meeting-hub-screen-mode .meeting-hub-flight-no-cell b,
  .meeting-hub-screen-mode .meeting-hub-train-no { font-size: 22px; }
  .meeting-hub-screen-mode .meeting-hub-passenger-lines .meeting-hub-order-line-group,
  .meeting-hub-screen-mode .meeting-hub-driver-lines .meeting-hub-order-line-group,
  .meeting-hub-screen-mode .meeting-hub-driver-location-lines .meeting-hub-order-line-group { display: grid; gap: 3px; }
  .meeting-hub-screen-mode .meeting-hub-driver-lines .meeting-hub-order-line-group em,
  .meeting-hub-screen-mode .meeting-hub-driver-location-lines .meeting-hub-order-line-group em { white-space: normal!important; }
  .meeting-hub-screen-mode .meeting-hub-empty-row { min-width: 0; border-radius: 16px; }
}
@media (max-width: 420px) {
  .meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row,
  .meeting-hub-screen-mode .meeting-hub-flight-row { grid-template-columns: 1fr; }
  .meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field { grid-column: 1 / -1; }
}

/* v1.1.178 枢纽大屏去掉信息表格最外层边框 */
.meeting-hub-screen-mode .meeting-hub-screen-page > .meeting-hub-screen-panel{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}


/* v1.1.179 枢纽大屏平板模式专属字号 */
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-head h2{font-size:16px!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-select select{font-size:10px!important}
body.meeting-hub-device-tablet .meeting-hub-trip-toggle button{font-size:10px!important}
body.meeting-hub-device-tablet .meeting-hub-trip-toggle .meeting-hub-device-btn{font-size:12px!important}
body.meeting-hub-device-tablet .meeting-hub-trip-toggle .meeting-hub-fullscreen-btn{font-size:16px!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-flight-field{font-size:10px!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-flight-header .meeting-hub-flight-field{font-size:10px!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-flight-row .meeting-hub-flight-field:last-child{font-size:10px!important}


/* v1.1.180 枢纽大屏平板模式表头与明细行对齐 */
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-order-grid,
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row{width:980px!important;min-width:980px!important;max-width:980px!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-table{width:980px!important;max-width:100%!important;overflow-x:auto!important}


/* v1.1.181 枢纽大屏表格按内容自适应列宽 */
.meeting-hub-screen-single-column .meeting-hub-order-grid,
.meeting-hub-screen-single-column .meeting-hub-flight-header,
.meeting-hub-screen-single-column .meeting-hub-flight-row{width:var(--hub-table-width,1600px);min-width:var(--hub-table-width,1600px);max-width:var(--hub-table-width,1600px)}
.meeting-hub-screen-single-column .meeting-hub-flight-table{width:var(--hub-table-width,1600px);max-width:100%;overflow-x:auto}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-order-grid,
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row{width:var(--hub-table-width,980px)!important;min-width:var(--hub-table-width,980px)!important;max-width:var(--hub-table-width,980px)!important}
body.meeting-hub-device-tablet.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-table{width:var(--hub-table-width,980px)!important;max-width:100%!important;overflow-x:auto!important}


/* v1.1.183 恢复电脑大屏固定列宽，仅平板自适应 */
body.meeting-hub-device-desktop.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-header,
body.meeting-hub-device-desktop.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-order-grid,
body.meeting-hub-device-desktop.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-row{width:1570px!important;min-width:1570px!important;max-width:1570px!important}
body.meeting-hub-device-desktop.meeting-hub-screen-mode .meeting-hub-screen-single-column .meeting-hub-flight-table{width:1570px!important;max-width:100%!important;overflow-x:auto!important}
/* 配驾历史订单标题价格统计 */
.chauffeur-history-price-summary{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:14px;font-size:13px;font-weight:600;color:#475569;vertical-align:middle}
.chauffeur-history-price-summary span{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0}
.chauffeur-history-price-summary strong{color:#0f766e;font-size:14px}
@media(max-width:900px){.chauffeur-history-price-summary{display:flex;margin:8px 0 0;gap:6px}}

/* 发票管理：查看合并开票明细表强制可见 */
.invoice-manage-view-card .combine-settlement-records,
.invoice-manage-view-card .combine-settlement-records thead,
.invoice-manage-view-card .combine-settlement-records tbody,
.invoice-manage-view-card .combine-settlement-records tr,
.invoice-manage-view-card .combine-settlement-records th,
.invoice-manage-view-card .combine-settlement-records td {
  color: #111827 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.invoice-manage-view-card .combine-settlement-records th {
  background: #f3f4f6 !important;
  font-weight: 700;
}
.invoice-manage-view-card .combine-settlement-records td,
.invoice-manage-view-card .combine-settlement-records th {
  border-bottom: 1px solid #e5e7eb;
}

.invoice-manage-search-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) minmax(150px, auto) auto;
  gap: 12px;
  align-items: end;
  margin: 12px 0 16px;
  padding: 14px 16px;
  border: 1px solid #e0e7ff;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
  box-shadow: 0 8px 22px rgba(37, 99, 235, 0.08);
}
.invoice-manage-search-bar label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  color: #334155;
  font-size: 13px;
  font-weight: 600;
}
.invoice-manage-search-bar input {
  height: 36px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  padding: 0 11px;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}
.invoice-manage-search-bar .invoice-manage-search-check{height:36px;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;}
.invoice-manage-search-bar .invoice-manage-search-check input{width:16px;height:16px;padding:0;box-shadow:none;accent-color:#2563eb;}
.invoice-manage-search-bar input:focus {
  border-color: #2563eb;
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}
.invoice-manage-search-bar button {
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #475569;
  color: #fff;
  padding: 0 16px;
  font-weight: 700;
  cursor: pointer;
}
.invoice-manage-search-bar button:hover { background: #334155; }
@media (max-width: 1180px) {
  .invoice-manage-search-bar { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 720px) {
  .invoice-manage-search-bar { grid-template-columns: 1fr; }
}

/* 发票费用：按税号分组视图 */
.ledger-invoice-view-switch{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;color:#475569;font-size:13px;}
.ledger-invoice-view-switch button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:6px 12px;}
.ledger-invoice-view-switch button.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.22);}
.invoice-ledger-tax-groups{display:grid;gap:14px;margin-top:12px;}
.invoice-ledger-tax-card{overflow:auto;}
.invoice-ledger-tax-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px;}
.invoice-ledger-tax-head h3{margin:0 0 4px;font-size:17px;color:#0f172a;}
.invoice-ledger-tax-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.invoice-ledger-tax-summary span,.invoice-ledger-tax-summary strong{background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:13px;}
.invoice-ledger-tax-summary strong{background:#ecfdf5;color:#047857;}
.invoice-ledger-tax-table{margin-top:12px;}
.invoice-ledger-tax-table .account-amount-income{color:#15803d;font-weight:700;}
.invoice-ledger-tax-table .account-amount-expense{color:#dc2626;font-weight:700;}

/* 发票费用：发票号分组收纳栏 */
.invoice-ledger-collapse{padding:0;overflow:hidden;}
.invoice-ledger-collapse-summary{display:grid;grid-template-columns:1.4fr 1.7fr 1.2fr .9fr .9fr .9fr 1.1fr;gap:10px;align-items:center;padding:14px 16px;cursor:pointer;background:linear-gradient(90deg,#f8fbff,#ffffff);border-radius:18px;list-style:none;}
.invoice-ledger-collapse-summary::-webkit-details-marker{display:none;}
.invoice-ledger-collapse-summary span{display:flex;flex-direction:column;gap:3px;min-width:0;}
.invoice-ledger-collapse-summary em{font-style:normal;font-size:11px;color:#64748b;}
.invoice-ledger-collapse-summary strong{font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.invoice-ledger-collapse-summary::after{content:'展开/收起';font-size:11px;color:#2563eb;justify-self:end;align-self:start;grid-column:7;}
.invoice-ledger-collapse-body{padding:0 16px 16px;}
@media(max-width:1200px){.invoice-ledger-collapse-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.invoice-ledger-collapse-summary::after{grid-column:auto;justify-self:start;}}

/* 发票管理：收款/返款操作按钮颜色 */
.invoice-manage-table td:last-child button.invoice-action-receive{background:#dc2626;border-color:#dc2626;color:#fff;}
.invoice-manage-table td:last-child button.invoice-action-receive:hover{background:#b91c1c;border-color:#b91c1c;color:#fff;}
.invoice-manage-table td:last-child button.invoice-action-rebate{background:#111827;border-color:#111827;color:#fff;}
.invoice-manage-table td:last-child button.invoice-action-rebate:hover{background:#000;border-color:#000;color:#fff;}


/* v1.2.4 数据-车辆数据：固定外层框宽度，取消车辆数据区域圆角 */
.main-panel > .content-card:has(.dictionary-row.vehicle-dictionaries){
  width:1872px!important;
  max-width:1872px!important;
  min-width:1872px!important;
  box-sizing:border-box!important;
}
.dictionary-row.vehicle-dictionaries{
  width:1838px!important;
  max-width:1838px!important;
  min-width:1838px!important;
  border-radius:0!important;
}
.vehicle-dictionaries .dictionary-module,
.vehicle-dictionaries .dictionary-toggle,
.vehicle-dictionaries .dictionary-body,
.vehicle-dictionaries .setting-panel,
.vehicle-dictionaries .dictionary-width,
.vehicle-dictionaries .dictionary-table,
.vehicle-dictionaries .dictionary-table th,
.vehicle-dictionaries .dictionary-table td,
.vehicle-dictionaries .compact-setting-form input,
.vehicle-dictionaries .compact-setting-form button,
.vehicle-dictionaries button{
  border-radius:0!important;
}


/* v1.2.5 数据-车辆数据：固定宽度后居中显示 */
.main-panel > .content-card:has(.dictionary-row.vehicle-dictionaries){
  margin-left:auto!important;
  margin-right:auto!important;
}
.dictionary-row.vehicle-dictionaries{
  margin-left:auto!important;
  margin-right:auto!important;
}


/* v1.2.6 数据字典卡片：取消收纳效果，全部固定展开 */
.dictionary-fixed-open .dictionary-body{
  display:block!important;
}
.dictionary-fixed-open .dictionary-static-title{
  cursor:default!important;
  pointer-events:none!important;
}
.dictionary-fixed-open .dictionary-static-title::after{
  content:'';
}


/* v1.2.7 数据字典四列边框与操作按钮精简 */
.vehicle-dictionaries .dictionary-module{
  border:1px solid var(--line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 6px 14px rgba(15,23,42,.05)!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(2n),
.vehicle-dictionaries .dictionary-module:last-child,
.vehicle-dictionaries .dictionary-module:nth-child(n+3){
  border:1px solid var(--line)!important;
}
.dictionary-table .dict-edit-btn{
  min-width:34px;
  padding:6px 9px;
}
.dictionary-table .dict-del-btn{
  min-width:34px;
  padding:6px 9px;
  background:#dc2626!important;
  color:#fff!important;
}
.dictionary-table .dict-del-btn:hover{
  background:#b91c1c!important;
}


/* v1.2.8 数据-车辆数据：清理列内多层嵌套边框 */
.vehicle-dictionaries .setting-panel.dictionary-width{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:14px!important;
  margin-top:0!important;
}
.vehicle-dictionaries .dictionary-table{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.vehicle-dictionaries .dictionary-table th,
.vehicle-dictionaries .dictionary-table td{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.vehicle-dictionaries .dictionary-table tbody tr:last-child td{
  border-bottom:0!important;
}
.vehicle-dictionaries .dictionary-body{
  background:transparent!important;
}
.vehicle-dictionaries .dictionary-toggle{
  border-bottom:1px solid var(--line)!important;
}


/* v1.2.9 数据-车辆数据：表头去底色、居中、放大 */
.vehicle-dictionaries .dictionary-table th{
  background:transparent!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#0f172a!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
}
.vehicle-dictionaries .dictionary-table td{
  text-align:center!important;
}


/* v1.2.10 数据-车辆数据：卡片标题栏去底色、居中、放大 */
.vehicle-dictionaries .dictionary-toggle,
.vehicle-dictionaries .dictionary-static-title{
  background:transparent!important;
  justify-content:center!important;
  text-align:center!important;
  color:#0f172a!important;
}
.vehicle-dictionaries .dictionary-toggle span,
.vehicle-dictionaries .dictionary-static-title span{
  width:100%!important;
  display:block!important;
  text-align:center!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}


/* v1.2.11 数据-车辆数据：卡片标题栏上方距离缩小50% */
.vehicle-dictionaries .dictionary-toggle,
.vehicle-dictionaries .dictionary-static-title{
  padding-top:7px!important;
  padding-bottom:7px!important;
  min-height:0!important;
  height:auto!important;
  line-height:1.2!important;
}
.vehicle-dictionaries .dictionary-toggle span,
.vehicle-dictionaries .dictionary-static-title span{
  line-height:1.2!important;
}


/* v1.2.12 数据-车辆数据：输入栏和表格左右留白改为5px */
.vehicle-dictionaries .dictionary-body{
  padding-left:5px!important;
  padding-right:5px!important;
}
.vehicle-dictionaries .setting-panel.dictionary-width{
  width:auto!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.vehicle-dictionaries .compact-setting-form,
.vehicle-dictionaries .dictionary-table{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}


/* v1.2.13 数据-车辆数据：车辆类型数据输入框与添加按钮同排 */
.vehicle-dictionaries .dict-vehicleType .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-vehicleType .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-vehicleType .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}


/* v1.2.14 数据-车辆数据：车辆类型表格排序/操作列固定宽度 */
.vehicle-dictionaries .dict-vehicleType .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleType .dictionary-table td:nth-child(2){
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-vehicleType .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}


/* v1.2.15 数据-车辆数据：车辆类型表格操作列改为50px */
.vehicle-dictionaries .dict-vehicleType .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-vehicleType .dictionary-table td:nth-child(3){
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
}


/* v1.2.16 数据-车辆数据：车辆类型表格列宽使用colgroup硬固定 */
.vehicle-dictionaries .dict-vehicleType .dictionary-table col:nth-child(2),
.vehicle-dictionaries .dict-vehicleType .dictionary-table col:nth-child(3){
  width:50px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-vehicleType .dictionary-table .dict-del-btn{
  min-width:22px!important;
  width:22px!important;
  padding:4px 0!important;
  margin:0 1px!important;
  font-size:12px!important;
}


/* v1.2.17 数据-车辆数据：车辆类型表格排序60px、操作100px */
.vehicle-dictionaries .dict-vehicleType .dictionary-table col:nth-child(2){
  width:60px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table col:nth-child(3){
  width:100px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleType .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-vehicleType .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleType .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-vehicleType .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.18 数据-车辆数据：车辆来源数据同排输入与固定列宽 */
.vehicle-dictionaries .dict-vehicleSource .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-vehicleSource .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-vehicleSource .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table col:nth-child(2){
  width:60px!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table col:nth-child(3){
  width:100px!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleSource .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-vehicleSource .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-vehicleSource .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.19 数据-车辆数据：维保修理厂名称与添加同排，操作列100px */
.vehicle-dictionaries .dict-repairShop .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-repairShop .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-repairShop .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-repairShop .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-repairShop .dictionary-table col:nth-child(2){
  width:100px!important;
}
.vehicle-dictionaries .dict-repairShop .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-repairShop .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-repairShop .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-repairShop .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.21 数据-车辆数据：违章行为输入自适应，操作列100px */
.vehicle-dictionaries .dict-vehicleViolationAction .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table col:nth-child(2){
  width:100px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.22 数据-车辆数据：违章行为单行省略，悬停显示完整信息 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  cursor:default!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell span{
  display:block!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table tbody tr{
  cursor:default!important;
}


/* v1.2.23 数据-车辆数据：违章行为内容超出单元格隐藏，不改变列宽 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell{
  max-width:0!important;
  width:auto!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell span{
  display:block!important;
  max-width:100%!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}


/* v1.2.24 数据-车辆数据：违章行为单元格强制截断，禁止内容撑开 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table{
  width:100%!important;
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:first-child,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:first-child{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}


/* v1.2.25 数据-车辆数据：违章行为使用内部裁剪盒，彻底禁止溢出 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table{
  table-layout:fixed!important;
  width:100%!important;
  max-width:100%!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:first-child,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:first-child{
  width:auto!important;
  min-width:0!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td.dict-single-line-cell{
  padding-left:8px!important;
  padding-right:8px!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dict-ellipsis-box{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
}


/* v1.2.26 数据-车辆数据：违章行为表格改为固定网格行，彻底防止文本溢出 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table thead,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table tbody{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table tr{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:first-child,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:first-child{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dict-ellipsis-box{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td[colspan]{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
}


/* v1.2.27 数据-车辆数据：违章行为列自适应，操作列100px */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table tr{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:first-child,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:first-child{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dict-ellipsis-box{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}


/* v1.2.28 数据-车辆数据：违章行为操作列靠右对齐 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  text-align:right!important;
  justify-content:flex-end!important;
  justify-self:end!important;
  padding-right:4px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}


/* v1.2.29 数据-车辆数据：清理违章行为操作列固定宽度，右侧自然占位 */
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table col:nth-child(2){
  width:auto!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table tr{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:first-child,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:first-child{
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:end!important;
  text-align:right!important;
  padding-left:4px!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table td:nth-child(2){
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dict-ellipsis-box{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}


/* v1.2.31 数据-车辆数据：违章行为分页控件紧凑显示 */
.vehicle-dictionaries .vehicle-violation-action-pagination{
  margin-top:8px!important;
  padding:6px 0 0!important;
  font-size:12px!important;
}
.vehicle-dictionaries .vehicle-violation-action-pagination .unified-page-info{
  font-size:12px!important;
}


/* v1.2.32 数据-车辆数据：新增品牌型号数据字段卡片 */
.vehicle-dictionaries .dict-brandModel .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-brandModel .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-brandModel .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table col:nth-child(2){
  width:60px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table col:nth-child(3){
  width:100px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-brandModel .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-brandModel .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.33 数据-车辆数据：品牌型号改为品牌一级、型号二级 */
.vehicle-dictionaries .dict-brandModel .dictionary-body{
  padding-left:5px!important;
  padding-right:5px!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings > div,
.vehicle-dictionaries .dict-brandModel .dictionary-width,
.vehicle-dictionaries .dict-brandModel .dictionary-table,
.vehicle-dictionaries .dict-brandModel .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-brandModel .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 60px 50px!important;
  gap:5px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-brandModel .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-brandModel .compact-setting-form button{
  width:50px!important;
  min-width:50px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-brandModel .field-label{
  margin:0 0 6px!important;
  font-size:12px!important;
}
.vehicle-dictionaries .dict-brandModel .field-label select{
  width:100%!important;
  min-width:0!important;
  border-radius:0!important;
}
.vehicle-dictionaries .dict-brandModel .page-head{
  margin:0 0 6px!important;
  padding:0!important;
}
.vehicle-dictionaries .dict-brandModel .page-head h3{
  font-size:14px!important;
  margin:0!important;
  text-align:center!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-del-btn{
  min-width:24px!important;
  width:24px!important;
  padding:4px 0!important;
  margin:0 1px!important;
  font-size:12px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table th:last-child,
.vehicle-dictionaries .dict-brandModel .dictionary-table td:last-child{
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
}
@media(max-width:900px){
  .vehicle-dictionaries .dict-brandModel .two-col-settings{
    grid-template-columns:1fr!important;
  }
}


/* v1.2.34 数据-车辆数据：品牌型号数据整体占两列 */
.vehicle-dictionaries .dict-brandModel{
  grid-column:span 2!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-width,
.vehicle-dictionaries .dict-brandModel .dictionary-table,
.vehicle-dictionaries .dict-brandModel .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(2n),
.vehicle-dictionaries .dictionary-module:last-child{
  border-right:1px solid var(--line)!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(3),
.vehicle-dictionaries .dictionary-module:nth-child(5),
.vehicle-dictionaries .dictionary-module:nth-child(9){
  border-right:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(n+3){
  border-top:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(n+4){
  border-top:1px solid var(--line)!important;
}
@media(max-width:900px){
  .vehicle-dictionaries .dict-brandModel{
    grid-column:auto!important;
  }
}


/* v1.2.37 数据-车辆数据：品牌型号数据操作列统一100px */
.vehicle-dictionaries .dict-brandModel .dictionary-table th:last-child,
.vehicle-dictionaries .dict-brandModel .dictionary-table td:last-child{
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-brandModel .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}


/* v1.2.38 数据-车辆数据：品牌型号操作列使用colgroup硬固定100px */
.vehicle-dictionaries .dict-brandModel .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table col:nth-child(2){
  width:100px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-brandModel .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table th:last-child,
.vehicle-dictionaries .dict-brandModel .dictionary-table td:last-child{
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}


/* v1.2.39 数据-车辆数据：点击品牌行选择一级分类，取消型号下拉选择 */
.vehicle-dictionaries .dict-brandModel .dictionary-table tr[data-brand-pick]{
  cursor:pointer!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table tr[data-brand-pick]:hover td{
  background:#eef4ff!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table tr.selected-brand-row td{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  font-weight:800!important;
}
.vehicle-dictionaries .dict-brandModel .brand-model-selected-tip{
  margin:0 0 6px!important;
  padding:6px 8px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-size:12px!important;
}

/* v1.2.43 数据-车辆数据：按指定两行顺序排列字典卡片 */
.dictionary-row.vehicle-dictionaries{
  grid-template-columns:repeat(4,459.5px)!important;
}
.vehicle-dictionaries .dict-brandModel{
  grid-column:span 2!important;
}
.vehicle-dictionaries .dictionary-module{
  border-right:1px solid var(--line)!important;
  border-top:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(3),
.vehicle-dictionaries .dictionary-module:nth-child(7){
  border-right:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(n+4){
  border-top:1px solid var(--line)!important;
}
@media(max-width:900px){
  .vehicle-dictionaries .dict-brandModel{
    grid-column:auto!important;
  }
  .vehicle-dictionaries .dictionary-module{
    border-right:0!important;
    border-top:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .vehicle-dictionaries .dictionary-module:last-child{
    border-bottom:0!important;
  }
}

/* v1.2.44 数据-车辆数据：车辆性质数据添加排序字段 */
.vehicle-dictionaries .dict-vehicleNature .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-vehicleNature .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-vehicleNature .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table col:nth-child(2){
  width:60px!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table col:nth-child(3){
  width:100px!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-vehicleNature .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-vehicleNature .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-vehicleNature .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-vehicleNature .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}

/* v1.2.45 数据-车辆数据：车辆性质按排序升序，机构数据输入与列宽统一 */
.vehicle-dictionaries .dict-organization .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px 60px!important;
  gap:6px!important;
  align-items:center!important;
}
.vehicle-dictionaries .dict-organization .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-organization .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table col:nth-child(2){
  width:60px!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table col:nth-child(3){
  width:100px!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table th:nth-child(2),
.vehicle-dictionaries .dict-organization .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table th:nth-child(3),
.vehicle-dictionaries .dict-organization .dictionary-table td:nth-child(3){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
}
.vehicle-dictionaries .dict-organization .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dict-organization .dictionary-table .dict-del-btn{
  min-width:34px!important;
  width:34px!important;
  padding:4px 0!important;
  margin:0 2px!important;
  font-size:12px!important;
}

/* v1.2.46 数据-车辆数据：少于10条的字典表格补齐高度 */
.vehicle-dictionaries .dictionary-table tbody tr.dictionary-filler-row td{
  color:transparent!important;
  pointer-events:none!important;
  user-select:none!important;
  background:#fff!important;
}
.vehicle-dictionaries .dictionary-table tbody tr.dictionary-filler-row:hover td{
  background:#fff!important;
}
.vehicle-dictionaries .dictionary-table tbody tr.dictionary-filler-row td:last-child{
  text-align:center!important;
}

/* v1.2.47 数据-车辆数据：表格高度对齐但不增加空白行 */
.vehicle-dictionaries .dictionary-table-height-box{
  min-height:430px!important;
  width:100%!important;
}
.vehicle-dictionaries .dict-brandModel .dictionary-table-height-box{
  min-height:430px!important;
}
.vehicle-dictionaries .dictionary-table-height-box .dictionary-table{
  margin-bottom:0!important;
}

/* v1.2.48 数据-车辆数据：按10行真实表格高度统一对齐 */
.vehicle-dictionaries .dictionary-table-height-box{
  min-height:486px!important;
  display:block!important;
  width:100%!important;
}
.vehicle-dictionaries .dict-vehicleSource .dictionary-table-height-box,
.vehicle-dictionaries .dict-vehicleNature .dictionary-table-height-box,
.vehicle-dictionaries .dict-organization .dictionary-table-height-box,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table-height-box{
  min-height:486px!important;
}
.vehicle-dictionaries .dictionary-table-height-box .dictionary-table{
  margin-bottom:0!important;
}
.vehicle-dictionaries .dictionary-table-height-box + .dictionary-pagination{
  margin-top:8px!important;
}

/* v1.2.49 数据-车辆数据：统一表头和数据行真实行高，确保上下边界对齐 */
.vehicle-dictionaries .dictionary-table-height-box{
  min-height:452px!important;
  display:block!important;
  width:100%!important;
}
.vehicle-dictionaries .dictionary-table{
  table-layout:fixed!important;
}
.vehicle-dictionaries .dictionary-table thead tr,
.vehicle-dictionaries .dictionary-table tbody tr{
  height:40px!important;
}
.vehicle-dictionaries .dictionary-table th,
.vehicle-dictionaries .dictionary-table td{
  height:40px!important;
  min-height:40px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:40px!important;
  vertical-align:middle!important;
  overflow:hidden!important;
}
.vehicle-dictionaries .dictionary-table td > *{
  vertical-align:middle!important;
}
.vehicle-dictionaries .dictionary-table .dict-edit-btn,
.vehicle-dictionaries .dictionary-table .dict-del-btn{
  height:26px!important;
  line-height:18px!important;
  vertical-align:middle!important;
}
.vehicle-dictionaries .dictionary-table .dict-single-line-cell,
.vehicle-dictionaries .dictionary-table .dict-ellipsis-box{
  height:40px!important;
  line-height:40px!important;
  max-height:40px!important;
}
.vehicle-dictionaries .dictionary-table-height-box + .dictionary-pagination{
  margin-top:8px!important;
}

/* v1.2.50 数据-车辆数据：同一行卡片整体等高拉伸，确保上下边界对齐 */
.dictionary-row.vehicle-dictionaries{
  align-items:stretch!important;
}
.vehicle-dictionaries .dictionary-module{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.vehicle-dictionaries .dictionary-body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.vehicle-dictionaries .dictionary-body > .setting-panel,
.vehicle-dictionaries .dictionary-body > .two-col-settings{
  flex:1 1 auto!important;
}
.vehicle-dictionaries .setting-panel.dictionary-width{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.vehicle-dictionaries .dictionary-table-height-box{
  flex:1 1 auto!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings{
  height:100%!important;
  align-items:stretch!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings > div{
  display:flex!important;
  flex-direction:column!important;
}
.vehicle-dictionaries .dict-brandModel .two-col-settings .setting-panel.dictionary-width{
  flex:1 1 auto!important;
}
.vehicle-dictionaries .dict-vehicleSource,
.vehicle-dictionaries .dict-vehicleNature,
.vehicle-dictionaries .dict-organization,
.vehicle-dictionaries .dict-vehicleViolationAction{
  min-height:100%!important;
}

/* v1.2.51 数据-车辆数据：GPS服务商占两列，违章行为放到第三行 */
.vehicle-dictionaries .dict-gpsProvider{
  grid-column:span 2!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(6){
  border-right:0!important;
}
.vehicle-dictionaries .dictionary-module:nth-child(7){
  border-right:1px solid var(--line)!important;
  border-top:1px solid var(--line)!important;
}
@media(max-width:900px){
  .vehicle-dictionaries .dict-gpsProvider{
    grid-column:auto!important;
  }
}

/* v1.2.52 数据-车辆数据：GPS服务商表单五项同排 */
.vehicle-dictionaries .dict-gpsProvider .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr) minmax(0,.95fr) minmax(0,.95fr) 60px!important;
  gap:6px!important;
  align-items:center!important;
  max-width:none!important;
  width:100%!important;
}
.vehicle-dictionaries .dict-gpsProvider .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.vehicle-dictionaries .dict-gpsProvider .compact-setting-form button{
  width:60px!important;
  min-width:60px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vehicle-dictionaries .dict-gpsProvider .dictionary-width,
.vehicle-dictionaries .dict-gpsProvider .dictionary-table{
  width:100%!important;
  max-width:100%!important;
}

/* v1.2.53 数据-车辆数据：违章行为数据第三行占三列 */
.vehicle-dictionaries .dict-vehicleViolationAction{
  grid-column:span 3!important;
}
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-width,
.vehicle-dictionaries .dict-vehicleViolationAction .dictionary-table,
.vehicle-dictionaries .dict-vehicleViolationAction .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:900px){
  .vehicle-dictionaries .dict-vehicleViolationAction{
    grid-column:auto!important;
  }
}


/* v1.2.57 数据页面：配驾/自驾/客户/司机/财务/用户/备份恢复固定宽度居中 */
.data-page-fixed{
  width:1872px!important;
  max-width:1872px!important;
  min-width:1872px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.data-page-fixed > .sub-nav,
.data-page-fixed > .data-card-page,
.data-page-fixed > .dictionary-row,
.data-page-fixed > .user-data-panel,
.data-page-fixed > .empty-panel,
.data-page-fixed > .backup-page,
.data-page-fixed > .page-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.data-page-fixed .data-card-page,
.data-page-fixed .user-data-panel,
.data-page-fixed .backup-page,
.data-page-fixed .empty-panel{
  box-sizing:border-box!important;
}
.data-page-fixed .finance-dictionaries,
.data-page-fixed .self-drive-dictionaries{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  justify-content:flex-start!important;
}
@media(max-width:900px){
  .data-page-fixed{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

/* v1.2.58 数据页面：外层白色内容框也固定宽度居中 */
.main-panel > .content-card:has(.data-page-fixed){
  width:1872px!important;
  max-width:1872px!important;
  min-width:1872px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:900px){
  .main-panel > .content-card:has(.data-page-fixed){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

/* v1.2.63 数据页面外框宽度修正：外层含 padding 计算，内层占满可用内容区，避免右侧溢出 */
.main-panel > .content-card:has(.data-page-fixed){
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
.main-panel > .content-card:has(.data-page-fixed) .data-page-fixed{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.data-page-fixed > .sub-nav,
.data-page-fixed > .data-card-page,
.data-page-fixed > .dictionary-row,
.data-page-fixed > .user-data-panel,
.data-page-fixed > .empty-panel,
.data-page-fixed > .backup-page,
.data-page-fixed > .page-card{
  box-sizing:border-box!important;
}

/* v1.2.65 配驾预设地址表单：隐藏字段标题，状态提示跟随经纬度输入框 */
.data-chauffeur-grid-compact{
  grid-template-columns:minmax(88px,.55fr) minmax(138px,.75fr) minmax(220px,1.2fr) minmax(280px,1.5fr) minmax(460px,2.2fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.data-chauffeur-grid-compact > input,
.data-chauffeur-grid-compact > select,
.data-chauffeur-coordinate-line input{
  margin:0!important;
}
.data-chauffeur-coordinate-line{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.data-chauffeur-coordinate-line input{
  flex:0 0 220px;
  min-width:180px;
}
.data-chauffeur-coordinate-line [data-data-chauffeur-geocode-status]{
  flex:1 1 auto;
  min-width:0;
  font-size:11.2px;
  line-height:1.45;
  color:#64748b;
  word-break:break-word;
}
.data-chauffeur-coordinate-line [data-data-chauffeur-geocode-status].error{color:#b91c1c;}
@media(max-width:1200px){
  .data-chauffeur-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .data-chauffeur-coordinate-line{grid-column:1/-1;}
}
@media(max-width:720px){
  .data-chauffeur-grid-compact{grid-template-columns:1fr!important;}
  .data-chauffeur-coordinate-line{flex-direction:column;align-items:stretch;}
  .data-chauffeur-coordinate-line input{flex:auto;min-width:0;}
}

/* v1.2.67 配驾航班信息：去掉标题，录入项和添加按钮同一行 */
.data-chauffeur-flight-info-grid-inline{
  grid-template-columns:minmax(135px,.9fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.75fr) minmax(130px,.75fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.data-chauffeur-flight-info-grid-inline input{
  width:100%;
  height:44px;
  border:1px solid #dbe7ff;
  border-radius:12px;
  background:#fff;
  padding:0 14px;
  font-size:11.2px;
  line-height:1.2;
  box-sizing:border-box;
}
.data-chauffeur-flight-info-grid-inline button{
  height:44px;
  min-width:78px;
  white-space:nowrap;
}
.data-chauffeur-flight-info-grid-inline input:focus{
  outline:none;
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
@media(max-width:1200px){.data-chauffeur-flight-info-grid-inline{grid-template-columns:repeat(3,minmax(0,1fr))!important;}.data-chauffeur-flight-info-grid-inline button{width:100%;}}
@media(max-width:720px){.data-chauffeur-flight-info-grid-inline{grid-template-columns:1fr!important;}}

/* v1.2.68 配驾快捷备注：去掉标题和检索栏，录入项与按钮同一行 */
.data-chauffeur-remark-grid-inline{
  grid-template-columns:minmax(180px,.9fr) minmax(520px,2.8fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.data-chauffeur-remark-grid-inline input,
.data-chauffeur-remark-grid-inline textarea{
  width:100%;
  height:44px;
  border:1px solid #dbe7ff;
  border-radius:12px;
  background:#fff;
  padding:0 14px;
  font-size:11.2px;
  line-height:44px;
  box-sizing:border-box;
  resize:none;
}
.data-chauffeur-remark-grid-inline button{
  height:44px;
  min-width:78px;
  white-space:nowrap;
}
.data-chauffeur-remark-grid-inline input:focus,
.data-chauffeur-remark-grid-inline textarea:focus{
  outline:none;
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
@media(max-width:900px){.data-chauffeur-remark-grid-inline{grid-template-columns:1fr!important;}.data-chauffeur-remark-grid-inline button{width:100%;}}

/* v1.2.69 配驾快捷备注：色卡选择与彩色胶囊 */
.data-chauffeur-remark-grid-inline{
  grid-template-columns:minmax(180px,.9fr) auto minmax(520px,2.8fr) auto!important;
}
.chauffeur-remark-color-picker{
  display:flex;
  align-items:center;
  gap:7px;
  height:44px;
  padding:0 10px;
  border:1px solid #dbe7ff;
  border-radius:12px;
  background:#fff;
  box-sizing:border-box;
  white-space:nowrap;
}
.chauffeur-remark-color-picker label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.chauffeur-remark-color-picker input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.chauffeur-remark-color-picker span{
  display:block;
  width:20px;
  height:20px;
  border-radius:999px;
  background:var(--remark-bg);
  border:2px solid var(--remark-border);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.chauffeur-remark-color-picker input:checked + span{
  outline:2px solid var(--remark-color);
  outline-offset:2px;
}
.chauffeur-remark-pill{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:52px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--remark-bg)!important;
  color:var(--remark-color)!important;
  border:1px solid var(--remark-border)!important;
  font-size:11.2px;
  line-height:1.2;
  font-weight:800;
}
@media(max-width:900px){.data-chauffeur-remark-grid-inline{grid-template-columns:1fr!important;}.chauffeur-remark-color-picker{width:100%;}}

/* v1.2.71 订单快捷备注按钮同步使用数据页色卡 */
.chauffeur-quick-remark-btn{
  background:var(--remark-bg,#eff6ff)!important;
  color:var(--remark-color,#2563eb)!important;
  border:1px solid var(--remark-border,#bfdbfe)!important;
  font-weight:800;
}
.chauffeur-quick-remark-btn:hover{filter:brightness(.98);opacity:1;}

/* v1.2.72 自驾数据按车辆数据风格四列布局，自驾相关费用独占一列 */
.dictionary-row.self-drive-dictionaries{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  padding-bottom:0!important;
}
.self-drive-dictionaries .dictionary-module{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}
.self-drive-dictionaries .dictionary-toggle,
.self-drive-dictionaries .dictionary-static-title{
  min-height:44px!important;
  padding:12px 14px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font-weight:900!important;
}
.self-drive-dictionaries .dictionary-toggle span,
.self-drive-dictionaries .dictionary-static-title span{
  font-size:13px!important;
  letter-spacing:.02em!important;
}
.self-drive-dictionaries .dictionary-body{
  padding:12px!important;
  min-width:0!important;
}
.self-drive-dictionaries .setting-panel.dictionary-width,
.self-drive-dictionaries .dictionary-width,
.self-drive-dictionaries .compact-setting-form,
.self-drive-dictionaries .dictionary-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.self-drive-dictionaries .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
}
.self-drive-dictionaries .compact-setting-form input:not([type="hidden"]){
  width:100%!important;
  min-width:0!important;
}
.self-drive-dictionaries .compact-setting-form button{
  white-space:nowrap!important;
}
.self-drive-dictionaries .dictionary-table th,
.self-drive-dictionaries .dictionary-table td{
  padding:8px 7px!important;
  font-size:11px!important;
  max-width:none!important;
}
.self-drive-dictionaries .dictionary-table th:last-child,
.self-drive-dictionaries .dictionary-table td:last-child{
  width:92px!important;
  white-space:nowrap!important;
  text-align:center!important;
}
@media(max-width:1280px){.dictionary-row.self-drive-dictionaries{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){.dictionary-row.self-drive-dictionaries{grid-template-columns:1fr!important;}.self-drive-dictionaries .compact-setting-form{grid-template-columns:1fr!important;}.self-drive-dictionaries .compact-setting-form button{width:100%!important;}}

/* v1.2.73 自驾数据样式继续贴近车辆数据：去圆角、弱化多层框、表头居中放大 */
.dictionary-row.self-drive-dictionaries{
  gap:0!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.self-drive-dictionaries .dictionary-module{
  border:0!important;
  border-right:1px solid #e5e7eb!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
  overflow:visible!important;
}
.self-drive-dictionaries .dictionary-module:nth-child(4n),
.self-drive-dictionaries .dictionary-module:last-child{
  border-right:0!important;
}
.self-drive-dictionaries .dictionary-toggle,
.self-drive-dictionaries .dictionary-static-title{
  justify-content:center!important;
  text-align:center!important;
  min-height:48px!important;
  padding:13px 10px!important;
  border-bottom:1px solid #dbe3ef!important;
  background:#f8fafc!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.self-drive-dictionaries .dictionary-toggle span,
.self-drive-dictionaries .dictionary-static-title span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  font-size:16px!important;
  font-weight:900!important;
  color:#0f172a!important;
  letter-spacing:.04em!important;
}
.self-drive-dictionaries .dictionary-body{
  padding:10px!important;
  background:#fff!important;
}
.self-drive-dictionaries .setting-panel.dictionary-width,
.self-drive-dictionaries .dictionary-width{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
.self-drive-dictionaries .compact-setting-form{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 10px!important;
}
.self-drive-dictionaries .compact-setting-form input:not([type="hidden"]){
  border-radius:0!important;
}
.self-drive-dictionaries .compact-setting-form button{
  border-radius:0!important;
}
.self-drive-dictionaries .dictionary-table{
  border:1px solid #e5e7eb!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin-top:0!important;
  background:#fff!important;
  border-collapse:collapse!important;
}
.self-drive-dictionaries .dictionary-table th{
  text-align:center!important;
  font-size:13px!important;
  font-weight:900!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
.self-drive-dictionaries .dictionary-table td{
  font-size:12px!important;
  vertical-align:middle!important;
}
.self-drive-dictionaries .dictionary-table button{
  border-radius:0!important;
}
@media(max-width:1280px){
  .self-drive-dictionaries .dictionary-module:nth-child(2n){border-right:0!important;}
  .self-drive-dictionaries .dictionary-module:nth-child(n+3){border-top:1px solid #e5e7eb!important;}
}
@media(max-width:900px){
  .self-drive-dictionaries .dictionary-module{border-right:0!important;border-bottom:1px solid #e5e7eb!important;}
  .self-drive-dictionaries .dictionary-module:last-child{border-bottom:0!important;}
}

/* v1.2.74 自驾相关费用：表单删除备注，名称/排序/添加同排；备注列60、操作列100 */
.self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 60px 78px!important;
  gap:8px!important;
  align-items:center!important;
}
.self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form input[name="name"]{min-width:0!important;}
.self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form input[name="sort"]{
  width:60px!important;
  min-width:60px!important;
  text-align:center!important;
}
.self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form button{
  width:78px!important;
  min-width:78px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table{
  table-layout:fixed!important;
  width:100%!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table th:nth-child(2),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(2),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table th:nth-child(3),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(3){
  width:60px!important;
  max-width:60px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table th:nth-child(4),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(4){
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(4) button{
  min-width:36px!important;
  padding:5px 7px!important;
  margin-right:4px!important;
}
@media(max-width:900px){
  .self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form{grid-template-columns:1fr!important;}
  .self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form input[name="sort"],
  .self-drive-dictionaries .dict-selfDriveFee .self-drive-fee-form button{width:100%!important;min-width:0!important;}
}

/* v1.2.75 自驾相关费用：删除备注列后，排序60px、操作100px */
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table col:nth-child(2){width:60px!important;}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table col:nth-child(3){width:100px!important;}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table th:nth-child(2),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(2){
  width:60px!important;
  max-width:60px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table th:nth-child(3),
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(3){
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.self-drive-dictionaries .dict-selfDriveFee .dictionary-table td:nth-child(3) button{
  min-width:36px!important;
  padding:5px 7px!important;
  margin-right:4px!important;
}

/* v1.2.76 自驾数据四列补齐边框 */
.dictionary-row.self-drive-dictionaries{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border-top:1px solid #dbe3ef!important;
  border-left:1px solid #dbe3ef!important;
  border-right:1px solid #dbe3ef!important;
  border-bottom:1px solid #dbe3ef!important;
}
.self-drive-dictionaries .dictionary-module{
  min-height:120px!important;
  border-right:1px solid #dbe3ef!important;
}
.self-drive-dictionaries .dictionary-module:nth-child(4n){border-right:0!important;}
.self-drive-dictionaries .self-drive-empty-col{
  background:#fff!important;
  pointer-events:none;
}
.self-drive-dictionaries .self-drive-empty-col .dictionary-static-title{
  background:#f8fafc!important;
}
.self-drive-dictionaries .self-drive-empty-col .dictionary-body{
  min-height:72px!important;
}
@media(max-width:1280px){
  .self-drive-dictionaries .dictionary-module:nth-child(2n){border-right:0!important;}
  .self-drive-dictionaries .dictionary-module:nth-child(3),
  .self-drive-dictionaries .dictionary-module:nth-child(4){border-top:1px solid #dbe3ef!important;}
}
@media(max-width:900px){
  .self-drive-dictionaries .self-drive-empty-col{display:none!important;}
  .self-drive-dictionaries .dictionary-module{border-right:0!important;}
}

/* v1.2.78 财务数据：两列扁平布局，去圆角、表头放大居中、减少多层框 */
.dictionary-row.finance-dictionaries{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  padding-bottom:0!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.finance-dictionaries .dictionary-module{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-right:1px solid #dbe3ef!important;
  border-bottom:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.finance-dictionaries .dictionary-module:nth-child(2n){border-right:0!important;}
.finance-dictionaries .dictionary-module:nth-last-child(-n+2){border-bottom:0!important;}
.finance-dictionaries .dict-dailyExpense{
  grid-column:auto!important;
  min-width:0!important;
}
.finance-dictionaries .dictionary-toggle,
.finance-dictionaries .dictionary-static-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:13px 10px!important;
  border:0!important;
  border-bottom:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  text-align:center!important;
}
.finance-dictionaries .dictionary-toggle span,
.finance-dictionaries .dictionary-static-title span{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  font-size:16px!important;
  font-weight:900!important;
  color:#0f172a!important;
  letter-spacing:.04em!important;
}
.finance-dictionaries .dictionary-body{
  padding:10px!important;
  background:#fff!important;
  min-width:0!important;
}
.finance-dictionaries .setting-panel.dictionary-width,
.finance-dictionaries .dictionary-width{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
.finance-dictionaries .compact-setting-form,
.finance-dictionaries .setting-form{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0 0 10px!important;
}
.finance-dictionaries .compact-setting-form input:not([type="hidden"]),
.finance-dictionaries .setting-form input:not([type="hidden"]),
.finance-dictionaries .setting-form select{
  border-radius:0!important;
}
.finance-dictionaries .compact-setting-form button,
.finance-dictionaries .setting-form button,
.finance-dictionaries .dictionary-table button{
  border-radius:0!important;
}
.finance-dictionaries .dictionary-table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border:1px solid #e5e7eb!important;
  border-radius:0!important;
  border-collapse:collapse!important;
  box-shadow:none!important;
  background:#fff!important;
  margin-top:0!important;
}
.finance-dictionaries .dictionary-table th{
  text-align:center!important;
  font-size:13px!important;
  font-weight:900!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
.finance-dictionaries .dictionary-table td{
  font-size:12px!important;
  vertical-align:middle!important;
}
.finance-dictionaries .dictionary-table th:last-child,
.finance-dictionaries .dictionary-table td:last-child{
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .daily-expense-data-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  align-items:start!important;
}
.finance-dictionaries .daily-expense-data-grid > div{
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.finance-dictionaries .daily-expense-data-grid .page-head{
  justify-content:center!important;
  text-align:center!important;
  margin:0 0 8px!important;
}
.finance-dictionaries .daily-expense-data-grid .page-head h3{
  width:100%!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:900!important;
}
.finance-dictionaries .daily-expense-data-grid .field-label select{
  border-radius:0!important;
}
@media(max-width:1280px){
  .finance-dictionaries .daily-expense-data-grid{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  .dictionary-row.finance-dictionaries{grid-template-columns:1fr!important;}
  .finance-dictionaries .dictionary-module{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .finance-dictionaries .dictionary-module:last-child{border-bottom:0!important;}
}

/* v1.2.79 财务数据-公司结算方式：名称/排序/按钮同排，排序100px、操作160px */
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form,
.finance-dictionaries .dict-companySettlementMethod .setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px 88px!important;
  gap:8px!important;
  align-items:center!important;
}
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form input[name="name"],
.finance-dictionaries .dict-companySettlementMethod .setting-form input[name="name"]{
  min-width:0!important;
  width:100%!important;
}
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form input[name="sort"],
.finance-dictionaries .dict-companySettlementMethod .setting-form input[name="sort"]{
  width:100px!important;
  min-width:100px!important;
  text-align:center!important;
}
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form input[name="remark"],
.finance-dictionaries .dict-companySettlementMethod .setting-form input[name="remark"]{
  display:none!important;
}
.finance-dictionaries .dict-companySettlementMethod .compact-setting-form button,
.finance-dictionaries .dict-companySettlementMethod .setting-form button{
  width:88px!important;
  min-width:88px!important;
  padding-left:0!important;
  padding-right:0!important;
  grid-column:auto!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table{
  table-layout:fixed!important;
  width:100%!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table col:nth-child(2){width:100px!important;}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table col:nth-child(4){width:160px!important;}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table th:nth-child(2),
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(2){
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table th:nth-child(4),
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(4){
  width:160px!important;
  max-width:160px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(4) button{
  min-width:50px!important;
  padding:6px 10px!important;
  margin-right:6px!important;
}
@media(max-width:900px){
  .finance-dictionaries .dict-companySettlementMethod .compact-setting-form,
  .finance-dictionaries .dict-companySettlementMethod .setting-form{grid-template-columns:1fr!important;}
  .finance-dictionaries .dict-companySettlementMethod .compact-setting-form input[name="sort"],
  .finance-dictionaries .dict-companySettlementMethod .setting-form input[name="sort"],
  .finance-dictionaries .dict-companySettlementMethod .compact-setting-form button,
  .finance-dictionaries .dict-companySettlementMethod .setting-form button{width:100%!important;min-width:0!important;}
}

/* v1.2.80 修正公司结算方式列宽：三列表格，排序100px、操作160px */
.finance-dictionaries .dict-companySettlementMethod .dictionary-table{
  table-layout:fixed!important;
  width:100%!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table col:nth-child(1){width:auto!important;}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table col:nth-child(2){width:100px!important;}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table col:nth-child(3){width:160px!important;}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table th:nth-child(2),
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(2){
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table th:nth-child(3),
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(3),
.finance-dictionaries .dict-companySettlementMethod .dictionary-table th:last-child,
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:last-child{
  width:160px!important;
  min-width:160px!important;
  max-width:160px!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:nth-child(3) button,
.finance-dictionaries .dict-companySettlementMethod .dictionary-table td:last-child button{
  width:58px!important;
  min-width:58px!important;
  padding:6px 0!important;
  margin:0 4px!important;
}
.finance-dictionaries .dict-companySettlementMethod .setting-form{
  grid-template-columns:minmax(0,1fr) 100px 88px!important;
}

/* v1.2.81 财务数据-日常费用：两列、去备注，一级分类表单同排 */
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div{
  padding:10px!important;
  border-right:1px solid #dbe3ef!important;
}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div:last-child{border-right:0!important;}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div:first-child .page-head{display:none!important;}
.finance-dictionaries .dict-dailyExpense .setting-form,
.finance-dictionaries .dict-dailyExpense .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px 88px!important;
  gap:8px!important;
  align-items:center!important;
  margin:0 0 10px!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form input[name="name"],
.finance-dictionaries .dict-dailyExpense .compact-setting-form input[name="name"]{
  min-width:0!important;
  width:100%!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form input[name="sort"],
.finance-dictionaries .dict-dailyExpense .compact-setting-form input[name="sort"]{
  width:100px!important;
  min-width:100px!important;
  text-align:center!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form input[name="remark"],
.finance-dictionaries .dict-dailyExpense .compact-setting-form input[name="remark"]{
  display:none!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form button,
.finance-dictionaries .dict-dailyExpense .compact-setting-form button{
  width:88px!important;
  min-width:88px!important;
  padding-left:0!important;
  padding-right:0!important;
  grid-column:auto!important;
}
.finance-dictionaries .dict-dailyExpense .dictionary-table{
  table-layout:fixed!important;
  width:100%!important;
}
.finance-dictionaries .dict-dailyExpense .dictionary-table col:nth-child(2){width:100px!important;}
.finance-dictionaries .dict-dailyExpense .dictionary-table col:nth-child(3){width:100px!important;}
.finance-dictionaries .dict-dailyExpense .dictionary-table th:nth-child(2),
.finance-dictionaries .dict-dailyExpense .dictionary-table td:nth-child(2){
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .dict-dailyExpense .dictionary-table th:nth-child(3),
.finance-dictionaries .dict-dailyExpense .dictionary-table td:nth-child(3),
.finance-dictionaries .dict-dailyExpense .dictionary-table th:last-child,
.finance-dictionaries .dict-dailyExpense .dictionary-table td:last-child{
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
@media(max-width:1280px){
  .finance-dictionaries .dict-dailyExpense .daily-expense-data-grid{grid-template-columns:1fr!important;}
  .finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div:last-child{border-bottom:0!important;}
}
@media(max-width:900px){
  .finance-dictionaries .dict-dailyExpense .setting-form,
  .finance-dictionaries .dict-dailyExpense .compact-setting-form{grid-template-columns:1fr!important;}
  .finance-dictionaries .dict-dailyExpense .setting-form input[name="sort"],
  .finance-dictionaries .dict-dailyExpense .compact-setting-form input[name="sort"],
  .finance-dictionaries .dict-dailyExpense .setting-form button,
  .finance-dictionaries .dict-dailyExpense .compact-setting-form button{width:100%!important;min-width:0!important;}
}

/* v1.2.82 日常费用：点击一级分类选择二级分类，排序60、操作100 */
.finance-dictionaries .dict-dailyExpense .dictionary-table col:nth-child(2){width:60px!important;}
.finance-dictionaries .dict-dailyExpense .dictionary-table col:nth-child(3){width:100px!important;}
.finance-dictionaries .dict-dailyExpense .dictionary-table th:nth-child(2),
.finance-dictionaries .dict-dailyExpense .dictionary-table td:nth-child(2){
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .dict-dailyExpense .dictionary-table th:nth-child(3),
.finance-dictionaries .dict-dailyExpense .dictionary-table td:nth-child(3),
.finance-dictionaries .dict-dailyExpense .dictionary-table th:last-child,
.finance-dictionaries .dict-dailyExpense .dictionary-table td:last-child{
  width:100px!important;
  min-width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.finance-dictionaries .dict-dailyExpense .dictionary-table td:nth-child(3) button,
.finance-dictionaries .dict-dailyExpense .dictionary-table td:last-child button{
  min-width:36px!important;
  padding:5px 7px!important;
  margin-right:4px!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form,
.finance-dictionaries .dict-dailyExpense .compact-setting-form{
  grid-template-columns:minmax(0,1fr) 60px 78px!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form input[name="sort"],
.finance-dictionaries .dict-dailyExpense .compact-setting-form input[name="sort"]{
  width:60px!important;
  min-width:60px!important;
}
.finance-dictionaries .dict-dailyExpense .setting-form button,
.finance-dictionaries .dict-dailyExpense .compact-setting-form button{
  width:78px!important;
  min-width:78px!important;
}
.finance-dictionaries .dict-dailyExpense tr[data-daily-expense-pick]{cursor:pointer;}
.finance-dictionaries .dict-dailyExpense tr.selected-daily-expense-row td{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-weight:800!important;
}
.finance-dictionaries .dict-dailyExpense tr.selected-daily-expense-row td:first-child{
  box-shadow:inset 4px 0 0 #2563eb!important;
}

/* v1.2.83 日常费用：去掉内部外层边框，隐藏二级分类表头标题 */
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid{
  border:0!important;
}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div{
  border-right:0!important;
  padding:8px!important;
}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div + div{
  border-left:1px solid #dbe3ef!important;
}
.finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div:nth-child(2) .page-head{
  display:none!important;
}
@media(max-width:1280px){
  .finance-dictionaries .dict-dailyExpense .daily-expense-data-grid > div + div{
    border-left:0!important;
    border-top:1px solid #dbe3ef!important;
  }
}

/* v1.2.84 财务数据：两列完整边框；返款方式占一列并四项同排 */
.dictionary-row.finance-dictionaries{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
.finance-dictionaries .dictionary-module{
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border:0!important;
  border-right:1px solid #dbe3ef!important;
  border-bottom:1px solid #dbe3ef!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.finance-dictionaries .dictionary-module:nth-child(2n){border-right:0!important;}
.finance-dictionaries .dictionary-module:nth-last-child(-n+2){border-bottom:0!important;}
.finance-dictionaries .dict-rebateMethod{
  grid-column:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.finance-dictionaries .dict-rebateMethod .dictionary-width,
.finance-dictionaries .dict-rebateMethod .dictionary-table,
.finance-dictionaries .dict-rebateMethod .compact-setting-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.finance-dictionaries .dict-rebateMethod .setting-form,
.finance-dictionaries .dict-rebateMethod .compact-setting-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 78px!important;
  gap:8px!important;
  align-items:center!important;
  margin:0 0 10px!important;
}
.finance-dictionaries .dict-rebateMethod .setting-form input,
.finance-dictionaries .dict-rebateMethod .compact-setting-form input{
  min-width:0!important;
  width:100%!important;
}
.finance-dictionaries .dict-rebateMethod .setting-form button,
.finance-dictionaries .dict-rebateMethod .compact-setting-form button{
  grid-column:auto!important;
  width:78px!important;
  min-width:78px!important;
  padding-left:0!important;
  padding-right:0!important;
}
.finance-dictionaries .dict-rebateMethod .dictionary-table{
  table-layout:fixed!important;
}
.finance-dictionaries .dict-rebateMethod .dictionary-table th:last-child,
.finance-dictionaries .dict-rebateMethod .dictionary-table td:last-child{
  width:100px!important;
  max-width:100px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .dictionary-row.finance-dictionaries{grid-template-columns:1fr!important;}
  .finance-dictionaries .dictionary-module{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .finance-dictionaries .dictionary-module:last-child{border-bottom:0!important;}
  .finance-dictionaries .dict-rebateMethod .setting-form,
  .finance-dictionaries .dict-rebateMethod .compact-setting-form{grid-template-columns:1fr!important;}
  .finance-dictionaries .dict-rebateMethod .setting-form button,
  .finance-dictionaries .dict-rebateMethod .compact-setting-form button{width:100%!important;min-width:0!important;}
}

/* v1.2.85 用户数据：删除顶部标题，账号表单四项同排 */
.user-data-panel .user-data-head,
.user-data-panel .user-form-card > .user-card-title{
  display:none!important;
}
.user-data-panel .user-form-card{
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.user-data-panel .user-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 180px 108px!important;
  gap:10px!important;
  align-items:end!important;
  margin:0!important;
}
.user-data-panel .user-form label{
  min-width:0!important;
}
.user-data-panel .user-form input,
.user-data-panel .user-form select{
  width:100%!important;
  box-sizing:border-box!important;
}
.user-data-panel .user-form > .muted{
  display:none!important;
}
.user-data-panel .user-form > button{
  grid-column:auto!important;
  width:108px!important;
  min-width:108px!important;
  height:42px!important;
  align-self:end!important;
  padding-left:0!important;
  padding-right:0!important;
  white-space:nowrap!important;
}
@media(max-width:1100px){
  .user-data-panel .user-form{grid-template-columns:1fr 1fr!important;}
  .user-data-panel .user-form > button{width:100%!important;min-width:0!important;}
}
@media(max-width:700px){
  .user-data-panel .user-form{grid-template-columns:1fr!important;}
}

/* v1.2.86 用户数据：页面两列，原内容在左列，右列空白 */
.user-data-panel.user-data-two-col{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0!important;
  overflow:hidden!important;
}
.user-data-two-col .user-data-left-col,
.user-data-two-col .user-data-right-col{
  min-width:0!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
.user-data-two-col .user-data-left-col{
  padding:12px!important;
  border-right:1px solid #dbe3ef!important;
  display:grid!important;
  gap:12px!important;
  align-content:start!important;
}
.user-data-two-col .user-data-right-col{
  min-height:240px!important;
}
.user-data-two-col .user-card{
  border-radius:0!important;
  box-shadow:none!important;
}
.user-data-two-col .user-form-card{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
@media(max-width:900px){
  .user-data-panel.user-data-two-col{grid-template-columns:1fr!important;}
  .user-data-two-col .user-data-left-col{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .user-data-two-col .user-data-right-col{display:none!important;}
}

/* v1.2.87 用户数据：去掉管理员账号胶囊，支持多角色显示/选择 */
.user-data-panel .user-form select[name="roles"]{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #d1d5db!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0f172a!important;
  font:inherit!important;
  padding:0 8px!important;
}
.user-data-panel .user-permission-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  max-height:none!important;
}
.user-data-panel .user-name-cell span{display:none!important;}

/* v1.2.88 用户数据：隐藏用户名/密码/角色标签文字，角色框与输入框统一 */
.user-data-panel .user-form .user-form-field-no-title{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  font-size:0!important;
  color:transparent!important;
}
.user-data-panel .user-form .user-form-field-no-title input,
.user-data-panel .user-form .user-form-field-no-title select,
.user-data-panel .user-form select[name="roles"]{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #d1d5db!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:13px!important;
  line-height:42px!important;
  font-family:inherit!important;
  padding:0 12px!important;
  box-shadow:none!important;
  outline:none!important;
}
.user-data-panel .user-form .user-form-field-no-title select,
.user-data-panel .user-form select[name="roles"]{
  appearance:auto!important;
  line-height:normal!important;
}
.user-data-panel .user-form .user-form-field-no-title input:focus,
.user-data-panel .user-form .user-form-field-no-title select:focus,
.user-data-panel .user-form select[name="roles"]:focus{
  border-color:#2563eb!important;
  box-shadow:0 0 0 2px rgba(37,99,235,.12)!important;
}

/* v1.3.2 顶部新增系统模块：仅管理员可见 */
.system-page{
  border-radius:0!important;
  box-shadow:none!important;
}
.system-page .page-head h2{
  margin:0!important;
}

/* v1.3.4 系统-备份恢复：左右各50%，自动备份时间可配置 */
.system-page-backup .backup-grid,
.backup-page .backup-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.backup-page .backup-section{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-right:1px solid #dbe3ef!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.backup-page .backup-section:nth-child(2n){border-right:0!important;}
.backup-schedule-form{
  display:grid!important;
  grid-template-columns:1fr 92px 92px 96px 70px 84px!important;
  gap:8px!important;
  align-items:end!important;
  padding:10px!important;
  margin:10px 0!important;
  border:1px solid #e5e7eb!important;
  border-radius:0!important;
  background:#f8fafc!important;
}
.backup-schedule-form label{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  font-size:11px!important;
  color:#475569!important;
  min-width:0!important;
}
.backup-schedule-form input,
.backup-schedule-form select{
  width:100%!important;
  height:36px!important;
  box-sizing:border-box!important;
  border:1px solid #d1d5db!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:0 8px!important;
}
.backup-schedule-form .backup-enabled-check{
  flex-direction:row!important;
  align-items:center!important;
  height:36px!important;
  gap:6px!important;
}
.backup-schedule-form .backup-enabled-check input{width:auto!important;height:auto!important;}
.backup-schedule-form button{
  height:36px!important;
  border-radius:0!important;
  padding:0!important;
}
.backup-schedule-form .hidden{display:none!important;}
@media(max-width:1280px){
  .backup-schedule-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .system-page-backup .backup-grid,
  .backup-page .backup-grid{grid-template-columns:1fr!important;}
  .backup-page .backup-section{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
  .backup-page .backup-section:last-child{border-bottom:0!important;}
  .backup-schedule-form{grid-template-columns:1fr!important;}
}

/* v1.3.5 系统-接口：删除说明文字，位置服务不分栏 */
.api-settings-page .page-head,
.api-settings-page > .muted{
  display:none!important;
}
.api-settings-form-single{
  display:block!important;
}
.api-settings-form-single .chauffeur-card-section{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0 0 14px!important;
  border-radius:0!important;
}
.api-settings-form-single .chauffeur-card-section label{
  display:block!important;
  width:100%!important;
  margin:0 0 10px!important;
}
.api-settings-form-single .chauffeur-card-section input,
.api-settings-form-single textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border-radius:0!important;
}
.api-settings-form-single > label.wide{
  display:block!important;
  width:100%!important;
  margin:0 0 14px!important;
}
.api-settings-form-single .form-actions{
  display:flex!important;
  justify-content:flex-start!important;
}

/* v1.3.6 系统-接口：恢复两栏，迁入GPS服务商，补航班查询接口 */
.api-settings-page-two-col .api-settings-two-col-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  align-items:start!important;
  border:1px solid #dbe3ef!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.api-settings-page-two-col .api-settings-left-col,
.api-settings-page-two-col .api-settings-right-col{
  min-width:0!important;
  box-sizing:border-box!important;
  padding:14px!important;
}
.api-settings-page-two-col .api-settings-left-col{
  border-right:1px solid #dbe3ef!important;
}
.api-settings-form-two{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
}
.api-settings-form-two .chauffeur-card-section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  border-radius:0!important;
}
.api-settings-form-two .chauffeur-card-section label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  width:100%!important;
  margin:0!important;
}
.api-settings-form-two .wide{
  grid-column:1/-1!important;
}
.api-settings-form-two input,
.api-settings-form-two select,
.api-settings-form-two textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border-radius:0!important;
}
.api-settings-page-two-col .dict-gpsProvider{
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}
.api-settings-page-two-col .dict-gpsProvider .dictionary-body,
.api-settings-page-two-col .dict-gpsProvider .setting-panel{
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}
.api-settings-page-two-col .dict-gpsProvider .page-head{display:none!important;}
@media(max-width:1100px){
  .api-settings-page-two-col .api-settings-two-col-layout,
  .api-settings-form-two{grid-template-columns:1fr!important;}
  .api-settings-page-two-col .api-settings-left-col{border-right:0!important;border-bottom:1px solid #dbe3ef!important;}
}

/* v1.3.7 系统-接口：GPS服务商改为GPS接口，并统一接口块样式 */
.api-settings-page-two-col .gps-interface-section{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  border-radius:0!important;
}
.gps-interface-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.gps-interface-form label{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin:0!important;
  min-width:0!important;
}
.gps-interface-form input,
.gps-interface-form button{
  width:100%!important;
  box-sizing:border-box!important;
  border-radius:0!important;
}
.gps-interface-form .wide{grid-column:1/-1!important;}
.gps-interface-table-wrap{
  width:100%!important;
  overflow:auto!important;
}
.gps-interface-table th,
.gps-interface-table td{
  white-space:nowrap!important;
}
@media(max-width:1100px){.gps-interface-form{grid-template-columns:1fr!important;}}

/* v1.3.8 系统-接口：每个服务接口块占满左侧栏，不再只占1/4 */
.api-settings-form-two > .chauffeur-card-section,
.api-settings-form-two > label.wide,
.api-settings-form-two > .form-actions.wide{
  grid-column:1/-1!important;
}

/* v1.3.9 系统页签：接口、授权字号放大 */
.system-sub-nav button[data-system-tab="api"],
.system-sub-nav button[data-system-tab="license"]{
  font-size:16px!important;
  font-weight:700!important;
}

/* v1.3.10 系统-接口/授权：放大页面内部文字，恢复页签普通字号 */
.system-sub-nav button[data-system-tab="api"],
.system-sub-nav button[data-system-tab="license"]{
  font-size:inherit!important;
  font-weight:inherit!important;
}
.api-settings-page,
.api-settings-page label,
.api-settings-page input,
.api-settings-page select,
.api-settings-page textarea,
.api-settings-page button,
.api-settings-page table,
.api-settings-page .table,
.api-settings-page legend{
  font-size:15px!important;
}
.api-settings-page legend{
  font-size:17px!important;
  font-weight:800!important;
}
.api-settings-page input,
.api-settings-page select,
.api-settings-page textarea{
  min-height:40px!important;
}
.api-settings-page button{
  min-height:40px!important;
}
.system-page-license .license-card,
.system-page-license .license-card p,
.system-page-license .license-card span,
.system-page-license .license-card strong,
.system-page-license .license-card button,
.system-page-license .vehicle-detail-item,
.system-page-license .page-head h2{
  font-size:15px!important;
}
.system-page-license .page-head h2{
  font-size:22px!important;
  font-weight:800!important;
}
.system-page-license .vehicle-detail-item strong{
  font-size:17px!important;
}
.system-page-license .license-card button{
  min-height:42px!important;
}

/* v1.4.2 车辆页面头部六个分类卡片配色 */
.vehicle-stat-card.vehicle-stat-self{
  background:linear-gradient(135deg,#ecfdf5,#dcfce7)!important;
  border-color:#86efac!important;
  color:#14532d!important;
}
.vehicle-stat-card.vehicle-stat-self strong,
.vehicle-stat-card.vehicle-stat-self span{color:#166534!important;}
.vehicle-stat-card.vehicle-stat-trustee{
  background:linear-gradient(135deg,#eff6ff,#dbeafe)!important;
  border-color:#93c5fd!important;
  color:#1e3a8a!important;
}
.vehicle-stat-card.vehicle-stat-trustee strong,
.vehicle-stat-card.vehicle-stat-trustee span{color:#1d4ed8!important;}
.vehicle-stat-card.vehicle-stat-affiliate{
  background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;
  border-color:#94a3b8!important;
  color:#334155!important;
}
.vehicle-stat-card.vehicle-stat-affiliate strong,
.vehicle-stat-card.vehicle-stat-affiliate span{color:#475569!important;}
.vehicle-stat-card.vehicle-stat-fleet{
  background:linear-gradient(135deg,#f5f3ff,#ede9fe)!important;
  border-color:#c4b5fd!important;
  color:#4c1d95!important;
}
.vehicle-stat-card.vehicle-stat-fleet strong,
.vehicle-stat-card.vehicle-stat-fleet span{color:#6d28d9!important;}
.vehicle-stat-card.vehicle-stat-temporary{
  background:linear-gradient(135deg,#ecfeff,#cffafe)!important;
  border-color:#67e8f9!important;
  color:#164e63!important;
}
.vehicle-stat-card.vehicle-stat-temporary strong,
.vehicle-stat-card.vehicle-stat-temporary span{color:#0891b2!important;}
.vehicle-stat-card.vehicle-stat-offline{
  background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;
  border-color:#cbd5e1!important;
  color:#334155!important;
}
.vehicle-stat-card.vehicle-stat-offline strong,
.vehicle-stat-card.vehicle-stat-offline span{color:#475569!important;}
.vehicle-stat-card[class*="vehicle-stat-"].active{
  box-shadow:0 0 0 2px rgba(15,23,42,.16) inset,0 10px 24px rgba(15,23,42,.12)!important;
  transform:translateY(-1px);
}
.vehicle-stat-card[class*="vehicle-stat-"] small{color:inherit!important;opacity:.78;}

/* v1.4.3 车辆页面操作列图标按钮 */
.vehicle-table .vehicle-action-icons{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.vehicle-table .vehicle-icon-action{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  font-size:17px!important;
  line-height:1!important;
  margin:0!important;
}
.vehicle-table .vehicle-edit-icon{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #93c5fd!important;
}
.vehicle-table .vehicle-more-icon{
  background:#f0fdf4!important;
  color:#15803d!important;
  border:1px solid #86efac!important;
  font-size:22px!important;
  font-weight:800!important;
}
.vehicle-table .vehicle-icon-action:hover{
  filter:brightness(.97);
  transform:translateY(-1px);
}

/* v1.4.4 企业客户新增客户简称 */
.enterprise-customer-name-block .enterprise-customer-short-field{
  min-width:180px!important;
  flex:1 1 180px!important;
}
.enterprise-customer-name-block .enterprise-customer-short-field input{
  width:100%!important;
}

/* v1.4.5 企业客户列表显示客户简称 */
.enterprise-customer-short-name{
  display:inline-flex!important;
  align-items:center!important;
  max-width:180px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#eef2ff!important;
  color:#3730a3!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* v1.4.7 配驾列表行程胶囊与企业简称强调 */
.chauffeur-order-table .chauffeur-routeDisplay,
.chauffeur-order-table td:has(.chauffeur-route-lines){
  text-align:left!important;
  vertical-align:middle!important;
}
.chauffeur-order-table .chauffeur-route-lines{
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  text-align:left!important;
  min-width:180px!important;
}
.chauffeur-order-table .chauffeur-route-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  text-align:left!important;
  color:#334155!important;
}
.chauffeur-order-table .chauffeur-route-line b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-width:24px!important;
  height:24px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
}
.chauffeur-order-table .chauffeur-route-line em{
  display:block!important;
  min-width:0!important;
  font-style:normal!important;
  color:#334155!important;
  line-height:1.35!important;
  text-align:left!important;
  word-break:break-word!important;
}
.chauffeur-order-table .chauffeur-route-line-pickup b{background:#16a34a!important;}
.chauffeur-order-table .chauffeur-route-line-via b{background:#f59e0b!important;}
.chauffeur-order-table .chauffeur-route-line-dropoff b{background:#dc2626!important;}
.chauffeur-order-table .chauffeur-booker-cell .chauffeur-booker-enterprise-short{
  color:#2563eb!important;
  font-weight:900!important;
}

/* v1.4.8 配驾操作列红色胶囊按钮 */
.chauffeur-order-table button.chauffeur-red-pill-action,
.chauffeur-more-menu button.chauffeur-red-pill-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  height:24px!important;
  padding:3px 10px!important;
  border-radius:999px!important;
  border:1px solid #dc2626!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 4px 10px rgba(220,38,38,.18)!important;
  white-space:nowrap!important;
}
.chauffeur-order-table button.chauffeur-red-pill-action:hover,
.chauffeur-more-menu button.chauffeur-red-pill-action:hover{
  background:#b91c1c!important;
  border-color:#b91c1c!important;
  color:#fff!important;
}

/* v1.4.9 自驾客户列显示企业简称 */
.self-drive-customer-cell .self-drive-customer-short-name{
  color:#2563eb!important;
  font-weight:900!important;
}

/* v1.4.10 车辆页面整体视觉优化：柔和分类卡、紧凑搜索、清爽表格 */
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6{
  gap:14px!important;
  margin:0 0 16px!important;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card{
  position:relative!important;
  min-height:86px!important;
  padding:15px 16px 14px!important;
  border-radius:16px!important;
  border-width:1px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease!important;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card::after{
  content:'';
  position:absolute;
  right:-24px;
  top:-30px;
  width:82px;
  height:82px;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  pointer-events:none;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card strong{
  font-size:26px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card span{
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card small{
  font-size:11px!important;
  opacity:.7!important;
}
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card:hover,
#moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6 .vehicle-stat-card.active{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.12)!important;
}
#moduleRoot .vehicle-stat-card.vehicle-stat-self{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;}
#moduleRoot .vehicle-stat-card.vehicle-stat-trustee{background:linear-gradient(135deg,#f8fbff,#dbeafe)!important;}
#moduleRoot .vehicle-stat-card.vehicle-stat-affiliate{background:linear-gradient(135deg,#fffaf5,#ffedd5)!important;}
#moduleRoot .vehicle-stat-card.vehicle-stat-fleet{background:linear-gradient(135deg,#faf8ff,#ede9fe)!important;}
#moduleRoot .vehicle-stat-card.vehicle-stat-temporary{background:linear-gradient(135deg,#f0fdff,#cffafe)!important;}
#moduleRoot .vehicle-stat-card.vehicle-stat-offline{background:linear-gradient(135deg,#ffffff,#e2e8f0)!important;}

#moduleRoot .quick-search:has([data-vehicle-search]){
  display:grid!important;
  grid-template-columns:auto minmax(280px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #dbeafe!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05)!important;
}
#moduleRoot .quick-search:has([data-vehicle-search]) .quick-search-icon{
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eff6ff!important;
  color:#2563eb!important;
  font-size:16px!important;
}
#moduleRoot .quick-search:has([data-vehicle-search]) input{
  height:38px!important;
  border:1px solid #cbd5e1!important;
  border-radius:999px!important;
  padding:0 16px!important;
  font-size:14px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}
#moduleRoot .quick-search:has([data-vehicle-search]) input:focus{
  outline:none!important;
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(96,165,250,.18)!important;
}
#moduleRoot .quick-search:has([data-vehicle-search]) button{
  height:36px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-weight:900!important;
}

#moduleRoot .vehicle-table{
  border-collapse:separate!important;
  border-spacing:0!important;
  width:100%!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
}
#moduleRoot .vehicle-table thead th,
#moduleRoot .vehicle-table th{
  background:linear-gradient(180deg,#f8fafc,#eef2f7)!important;
  color:#334155!important;
  font-weight:900!important;
  font-size:13px!important;
  letter-spacing:.02em!important;
  padding:10px 8px!important;
  border-bottom:1px solid #dbe3ef!important;
  white-space:nowrap!important;
}
#moduleRoot .vehicle-table td{
  padding:9px 8px!important;
  border-bottom:1px solid #eef2f7!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.45!important;
  background:#fff!important;
}
#moduleRoot .vehicle-table tbody tr:nth-child(even) td{
  background:#fbfdff!important;
}
#moduleRoot .vehicle-table tbody tr:hover td{
  background:#f0f7ff!important;
}
#moduleRoot .vehicle-table tbody tr:last-child td{
  border-bottom:0!important;
}
#moduleRoot .vehicle-table-detail-cell{
  min-height:42px!important;
  gap:4px!important;
}
#moduleRoot .vehicle-table-detail-cell span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:84px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
#moduleRoot .vehicle-table-detail-cell small{
  font-size:12px!important;
  color:#64748b!important;
  font-weight:800!important;
}
#moduleRoot .vehicle-mileage-stack{
  min-width:88px!important;
  gap:4px!important;
}
#moduleRoot .vehicle-mileage-stack div{
  justify-content:space-between!important;
  gap:8px!important;
}
#moduleRoot .vehicle-mileage-stack em{
  font-size:12px!important;
  color:#64748b!important;
}
#moduleRoot .vehicle-mileage-stack strong,
#moduleRoot .vehicle-mileage-stack .maintenance-left{
  font-size:13px!important;
  color:#0f172a!important;
}
#moduleRoot .vehicle-table .date-cell,
#moduleRoot .vehicle-table .vehicle-status,
#moduleRoot .vehicle-table .date-policy-link{
  min-width:82px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
#moduleRoot .vehicle-table .vehicle-status.status-normal{
  background:#dcfce7!important;
  color:#166534!important;
}
#moduleRoot .vehicle-table .vehicle-status.status-chauffeur-service{
  background:#fef3c7!important;
  color:#92400e!important;
}
#moduleRoot .vehicle-table .vehicle-status.status-offline{
  background:#fee2e2!important;
  color:#991b1b!important;
}
#moduleRoot .vehicle-table .vehicle-action-icons{
  gap:7px!important;
}
#moduleRoot .vehicle-table .vehicle-icon-action{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:999px!important;
  box-shadow:0 4px 10px rgba(15,23,42,.08)!important;
}
#moduleRoot .vehicle-table .vehicle-edit-icon{
  background:#dbeafe!important;
  border-color:#93c5fd!important;
  color:#1d4ed8!important;
}
#moduleRoot .vehicle-table .vehicle-more-icon{
  background:#dcfce7!important;
  border-color:#86efac!important;
  color:#15803d!important;
}
#moduleRoot .vehicle-pending-filter-note{
  border:1px solid #fecaca!important;
  background:#fff7f7!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  margin:0 0 14px!important;
}
@media(max-width:1100px){
  #moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #moduleRoot .vehicle-stats-bar.vehicle-stats-bar-6{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #moduleRoot .quick-search:has([data-vehicle-search]){grid-template-columns:1fr!important;}
}

/* v1.4.11 车辆表车牌号独立胶囊，车型与车辆类型合并 */
#moduleRoot .vehicle-table-detail-cell{
  min-height:36px!important;
}
#moduleRoot .vehicle-table-detail-cell .vehicle-plate-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:92px!important;
  padding:5px 13px!important;
  border-radius:8px!important;
  background:#2563eb!important;
  color:#fff!important;
  border:1px solid rgba(147,197,253,.8)!important;
  box-shadow:0 7px 16px rgba(37,99,235,.22)!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
  line-height:1.15!important;
}
#moduleRoot .vehicle-table-detail-cell .vehicle-plate-pill.vehicle-plate-energy{
  background:linear-gradient(180deg,#ffffff 0%,#dcfce7 42%,#16a34a 100%)!important;
  color:#064e3b!important;
  border-color:#86efac!important;
  box-shadow:0 7px 16px rgba(22,163,74,.20)!important;
}
#moduleRoot .vehicle-type-model-cell{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:94px!important;
  line-height:1.25!important;
}
#moduleRoot .vehicle-type-model-cell strong{
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:900!important;
  max-width:140px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#moduleRoot .vehicle-type-model-cell span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#moduleRoot .vehicle-type-model-cell .vehicle-energy-type{
  background:linear-gradient(135deg,#dcfce7,#ffffff)!important;
  color:#15803d!important;
}

/* v1.4.14 客车类车牌号黄色胶囊 */
#moduleRoot .vehicle-table-detail-cell .vehicle-plate-pill.vehicle-plate-bus{
  background:#facc15!important;
  color:#000!important;
  border:1px solid #000!important;
  box-shadow:0 7px 16px rgba(0,0,0,.12)!important;
}


/* v1.4.16 车辆页面定位列宽度调整为 300px */
#moduleRoot .vehicle-table col.vehicle-location-col,
#moduleRoot .vehicle-table th.vehicle-location-col,
#moduleRoot .vehicle-table td.vehicle-location-col{
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
}
#moduleRoot .vehicle-table td.vehicle-location-col .vehicle-location-cell,
#moduleRoot .vehicle-table td.vehicle-location-col .vehicle-location-cell strong{
  width:100%!important;
  max-width:100%!important;
}

/* v1.4.17 车辆定位列直接显示定位地址 */
#moduleRoot .vehicle-table .vehicle-location-text{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  width:100%!important;
  min-height:34px!important;
  padding:4px 6px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:#0f172a!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#moduleRoot .vehicle-table .vehicle-location-text strong{
  display:block!important;
  width:100%!important;
  color:#0f172a!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
#moduleRoot .vehicle-table .vehicle-location-text span{
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:normal!important;
}
#moduleRoot .vehicle-table .vehicle-location-text:hover strong{
  color:#0f172a!important;
  text-decoration:none!important;
}
#moduleRoot .vehicle-table .vehicle-location-empty{
  color:#94a3b8!important;
  font-weight:800!important;
}

/* v1.4.18 车辆操作列编辑图标替换为图片 */
#moduleRoot .vehicle-table .vehicle-edit-icon{
  overflow:hidden!important;
  padding:0!important;
}
#moduleRoot .vehicle-table .vehicle-edit-icon img{
  display:block!important;
  width:20px!important;
  height:20px!important;
  object-fit:contain!important;
  pointer-events:none!important;
}

/* v1.4.19 车辆操作列更多图标替换为图片 */
#moduleRoot .vehicle-table .vehicle-more-icon{
  overflow:hidden!important;
  padding:0!important;
}
#moduleRoot .vehicle-table .vehicle-more-icon img{
  display:block!important;
  width:20px!important;
  height:20px!important;
  object-fit:contain!important;
  pointer-events:none!important;
}

/* v1.4.20 车辆违章列有违章时红色提示 */
#moduleRoot .vehicle-table .vehicle-violation-summary.has-violation,
#moduleRoot .vehicle-table .vehicle-violation-summary.has-violation div{
  color:#dc2626!important;
  font-weight:900!important;
}

/* v1.4.21 车辆车身颜色列彩色胶囊 */
#moduleRoot .vehicle-table .vehicle-color-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:50px!important;
  padding:4px 10px!important;
  border-radius:8px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.15!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
}
#moduleRoot .vehicle-table .vehicle-color-empty{background:#f8fafc!important;color:#94a3b8!important;border-color:#e2e8f0!important;}
#moduleRoot .vehicle-table .vehicle-color-black{background:#111827!important;color:#fff!important;border-color:#000!important;}
#moduleRoot .vehicle-table .vehicle-color-white{background:#fff!important;color:#111827!important;border-color:#94a3b8!important;}
#moduleRoot .vehicle-table .vehicle-color-silver{background:linear-gradient(135deg,#f8fafc,#cbd5e1)!important;color:#334155!important;border-color:#94a3b8!important;}
#moduleRoot .vehicle-table .vehicle-color-red{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important;}
#moduleRoot .vehicle-table .vehicle-color-blue{background:#2563eb!important;color:#fff!important;border-color:#1d4ed8!important;}
#moduleRoot .vehicle-table .vehicle-color-shadow-blue{background:#215273!important;color:#fff!important;border-color:#173b54!important;}
#moduleRoot .vehicle-table .vehicle-color-yellow{background:#facc15!important;color:#000!important;border-color:#000!important;}
#moduleRoot .vehicle-table .vehicle-color-green{background:#16a34a!important;color:#fff!important;border-color:#15803d!important;}
#moduleRoot .vehicle-table .vehicle-color-orange{background:#f97316!important;color:#fff!important;border-color:#ea580c!important;}
#moduleRoot .vehicle-table .vehicle-color-purple{background:#7c3aed!important;color:#fff!important;border-color:#6d28d9!important;}
#moduleRoot .vehicle-table .vehicle-color-brown{background:#5E4C40!important;color:#fff!important;border-color:#3f332b!important;}
#moduleRoot .vehicle-table .vehicle-color-other{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important;}

/* v1.5.15 配驾客价/成本表头隐藏开关 */
.chauffeur-order-table .chauffeur-amount-toggle-head{
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:900!important;
  padding:0!important;
  cursor:pointer!important;
}
.chauffeur-order-table .chauffeur-amount-toggle-head:hover{
  color:#2563eb!important;
  text-decoration:underline!important;
}
.chauffeur-order-table .chauffeur-amount-toggle-head.is-hidden{
  color:#94a3b8!important;
}

/* v1.5.17 查乘车人弹窗只读表格 */
.chauffeur-passenger-readonly-table th,
.chauffeur-passenger-readonly-table td{
  text-align:center!important;
  vertical-align:middle!important;
}
.chauffeur-passenger-readonly-table small{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:12px!important;
}

#moduleRoot .self-drive-order-table th,
#moduleRoot .self-drive-order-table td,
#moduleRoot .self-drive-order-table .self-drive-order-no-cell strong,
#moduleRoot .self-drive-order-table .self-drive-order-no-cell span,
#moduleRoot .self-drive-order-table .self-drive-vehicle-cell strong,
#moduleRoot .self-drive-order-table .self-drive-vehicle-cell span,
#moduleRoot .self-drive-order-table .self-drive-customer-cell strong,
#moduleRoot .self-drive-order-table .self-drive-customer-cell span,
#moduleRoot .self-drive-order-table .self-drive-status-badge,
#moduleRoot .self-drive-order-table button{
  font-size:16px!important;
}

#moduleRoot .self-drive-order-table .self-drive-reservation-time-cell{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  line-height:1.25!important;
}
#moduleRoot .self-drive-order-table .self-drive-reservation-time-line{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}
#moduleRoot .self-drive-order-table .self-drive-reservation-time-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:26px!important;
  height:22px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}
#moduleRoot .self-drive-order-table .self-drive-reservation-time-pill.pickup{background:#dc2626!important;}
#moduleRoot .self-drive-order-table .self-drive-reservation-time-pill.return{background:#16a34a!important;}


#moduleRoot .self-drive-order-table .self-drive-location-cell{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  line-height:1.25!important;
  text-align:left!important;
}
#moduleRoot .self-drive-order-table .self-drive-location-line{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  white-space:nowrap!important;
  width:100%!important;
  text-align:left!important;
}
#moduleRoot .self-drive-order-table .self-drive-location-line span:last-child{
  text-align:left!important;
}
#moduleRoot .self-drive-order-table .self-drive-location-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:26px!important;
  height:22px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}
#moduleRoot .self-drive-order-table .self-drive-location-pill.pickup{background:#dc2626!important;}
#moduleRoot .self-drive-order-table .self-drive-location-pill.return{background:#16a34a!important;}


#moduleRoot .self-drive-order-table .self-drive-vehicle-cell .self-drive-vehicle-plate-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:72px!important;
  min-height:28px!important;
  padding:4px 12px!important;
  border-radius:999px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.3px!important;
  box-shadow:0 8px 18px rgba(37,99,235,.22)!important;
}


#moduleRoot .self-drive-order-table .self-drive-action-icons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
#moduleRoot .self-drive-order-table .self-drive-action-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:28px!important;
  height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
#moduleRoot .self-drive-order-table .self-drive-action-badge.edit{background:#2563eb!important;}
#moduleRoot .self-drive-order-table .self-drive-action-badge.dispatch{background:#16a34a!important;}
#moduleRoot .self-drive-order-table .self-drive-action-badge.danger{background:#dc2626!important;}


#moduleRoot .self-drive-order-table .self-drive-order-no-cell,
#moduleRoot .self-drive-order-table .self-drive-order-no-cell strong{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
#moduleRoot .self-drive-order-table .self-drive-action-icons{
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
#moduleRoot .self-drive-order-table .self-drive-action-badge{
  flex:0 0 auto!important;
}

.purchase-payment-choice{width:400px;max-width:calc(100vw - 88px)}.purchase-payment-choice-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.purchase-payment-choice-actions button{width:100%;text-align:center}.purchase-payment-choice-actions button:disabled{background:#94a3b8;color:#f8fafc;cursor:not-allowed;opacity:1}

.purchase-cost-table [data-purchase-payment]{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}.purchase-cost-table [data-purchase-payment]:hover{background:#b91c1c!important;color:#fff!important;opacity:1!important}

#moduleRoot .vehicle-table tr.vehicle-bottom-action-row .more-menu{top:auto!important;bottom:calc(100% + 6px)!important}


/* 司机管理检索栏美化 */
.driver-search-bar{margin:0 0 16px;border-color:#bfdbfe;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 58%,#f8fbff 100%);box-shadow:0 12px 30px rgba(37,99,235,.10)}
.driver-search-bar .driver-search-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;font-size:14px}
.driver-search-bar input{font-size:13px;font-weight:600;color:#0f172a;letter-spacing:.01em}
.driver-search-bar input::placeholder{color:#64748b;font-weight:500}
.driver-search-bar .driver-search-submit{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:1px solid #1d4ed8;box-shadow:0 8px 18px rgba(37,99,235,.22)}
.driver-search-bar .driver-search-clear{background:#fff;color:#475569;border:1px solid #cbd5e1;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.driver-search-bar .driver-search-clear:hover{background:#f8fafc;color:#1e293b}
@media(max-width:640px){.driver-search-bar{display:grid;grid-template-columns:auto 1fr;gap:8px}.driver-search-bar input{grid-column:2}.driver-search-bar button{grid-column:span 1}}

/* v1.6.37 配驾状态栏：乘车人联系状态胶囊 */
#moduleRoot .chauffeur-order-table .chauffeur-status-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
#moduleRoot .chauffeur-order-table .chauffeur-status-badge.chauffeur-contact-badge{min-width:42px;padding:6px 11px;}
#moduleRoot .chauffeur-order-table .chauffeur-status-badge.chauffeur-contact-badge.uncontacted{background:#e5e7eb;color:#6b7280;}
#moduleRoot .chauffeur-order-table .chauffeur-status-badge.chauffeur-contact-badge.contacted{background:#16a34a;color:#fff;box-shadow:0 6px 16px rgba(22,163,74,.28);animation:chauffeurContactBlink 1s ease-in-out infinite;}
@keyframes chauffeurContactBlink{0%,100%{background:#16a34a;box-shadow:0 0 0 rgba(22,163,74,0),0 6px 16px rgba(22,163,74,.22);opacity:1;}50%{background:#22c55e;box-shadow:0 0 18px rgba(34,197,94,.68),0 6px 20px rgba(22,163,74,.34);opacity:.72;}}


/* 本地图片 */
.local-image-page{display:flex;flex-direction:column;gap:14px}.local-image-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.local-image-filter label{display:flex;flex-direction:column;gap:6px;color:#334155;font-size:10.4px}.local-image-filter input{padding:9px 10px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.local-image-batchbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.local-image-batchbar label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#334155}.local-image-batchbar span{font-size:12px;color:#64748b}.local-image-batchbar .danger{background:#ef4444;color:#fff}.local-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.local-image-card{position:relative;margin:0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}.local-image-select{position:absolute;left:10px;top:10px;z-index:2;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:11px;font-weight:800}.local-image-select input{accent-color:#2563eb}.local-image-card img{width:100%;height:180px;object-fit:cover;background:#f8fafc;cursor:pointer;display:block}.local-image-card figcaption{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.local-image-card figcaption strong{font-size:11.2px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-image-card figcaption span{font-size:10.4px;color:#64748b}.local-image-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.local-image-actions button{padding:7px 12px}.local-image-actions .danger{background:#ef4444;color:#fff}.local-image-empty{padding:34px 18px;text-align:center;border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;color:#64748b}.local-image-empty.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}@media(max-width:700px){.local-image-grid{grid-template-columns:1fr}.local-image-card img{height:auto;max-height:70vh;object-fit:contain}.local-image-filter{align-items:stretch}.local-image-filter label,.local-image-filter button{width:100%}}


/* 图片预览缩放 */
.image-zoom-viewer{position:relative;width:min(1200px,90vw);height:78vh;margin:auto;overflow:hidden;border-radius:12px;background:#0f172a;display:flex;align-items:center;justify-content:center;user-select:none}.image-zoom-tip{position:absolute;left:14px;top:12px;z-index:1;padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:10.4px;pointer-events:none}.zoomable-preview{max-width:100%;max-height:100%;transition:transform .08s ease;transform-origin:center center;will-change:transform}.image-zoom-viewer .large-preview{margin:0;object-fit:contain}.image-zoom-viewer:active .zoomable-preview{transition:none}@media(max-width:700px){.image-zoom-viewer{width:calc(100vw - 48px);height:70vh}.image-zoom-tip{font-size:9.6px}}

.invoice-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap;}
.invoice-type-badge.invoice-type-use-car{background:#dcfce7;color:#15803d;border-color:#86efac;}
.invoice-type-badge.invoice-type-no-car{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}

#moduleRoot .invoice-manage-table .invoice-type-badge,
.invoice-manage-table .invoice-type-badge{display:inline-flex!important;align-items:center;justify-content:center;min-width:58px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap;}
#moduleRoot .invoice-manage-table .invoice-type-badge.invoice-type-use-car,
.invoice-manage-table .invoice-type-badge.invoice-type-use-car{background:#dcfce7!important;color:#15803d!important;border-color:#86efac!important;}
#moduleRoot .invoice-manage-table .invoice-type-badge.invoice-type-no-car,
.invoice-manage-table .invoice-type-badge.invoice-type-no-car{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important;}

.invoice-date-cell{display:flex;flex-direction:column;gap:2px;line-height:1.25;white-space:nowrap;}
.invoice-date-cell strong{font-size:12px;color:#111827;font-weight:800;}
.invoice-date-cell span{font-size:11px;color:#64748b;font-weight:700;}
.invoice-company-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;font-size:15px;font-weight:900;border:1px solid transparent;box-shadow:0 4px 12px rgba(15,23,42,.08);}
.invoice-company-teal{background:#ccfbf1;color:#0f766e;border-color:#5eead4;}
.invoice-company-blue{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd;}
.invoice-company-purple{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd;}
.invoice-company-orange{background:#ffedd5;color:#c2410c;border-color:#fdba74;}
.invoice-company-pink{background:#fce7f3;color:#be185d;border-color:#f9a8d4;}
.invoice-company-cyan{background:#cffafe;color:#0e7490;border-color:#67e8f9;}
.invoice-company-lime{background:#ecfccb;color:#4d7c0f;border-color:#bef264;}
.invoice-company-amber{background:#fef3c7;color:#b45309;border-color:#fcd34d;}
#moduleRoot .invoice-manage-table .invoice-date-cell span{color:#64748b;}

.invoice-kind-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.2;border:1px solid transparent;white-space:nowrap;}
.invoice-kind-badge.invoice-type-normal{background:#dcfce7;color:#15803d;border-color:#86efac;}
.invoice-kind-badge.invoice-type-special{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.invoice-kind-badge.invoice-type-other{background:#e0f2fe;color:#0369a1;border-color:#7dd3fc;}
#moduleRoot .invoice-manage-table .invoice-kind-badge.invoice-type-normal{background:#dcfce7!important;color:#15803d!important;border-color:#86efac!important;}
#moduleRoot .invoice-manage-table .invoice-kind-badge.invoice-type-special{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important;}

.invoice-manage-open-form label.hidden,.invoice-manage-open-form label[hidden],.invoice-manage-open-row label.hidden,.invoice-manage-open-row label[hidden]{display:none!important;}
.invoice-rebate-amount-red{color:#dc2626;font-weight:800;}
.invoice-manage-table td.invoice-rebate-amount-cell,.invoice-manage-table td.invoice-rebate-amount-cell .invoice-rebate-amount-red{color:#dc2626!important;font-weight:900!important;}
.invoice-manage-table td.invoice-company-amount-cell .invoice-company-amount-green{color:#16a34a!important;font-weight:900!important;}

#moduleRoot .self-drive-order-table tbody tr.self-drive-completed-settled-row,
#moduleRoot .self-drive-order-table tbody tr.self-drive-completed-settled-row:nth-child(even),
#moduleRoot .self-drive-order-table tbody tr.self-drive-completed-settled-row:hover,
#moduleRoot .self-drive-order-table tbody tr.self-drive-completed-settled-row td{
  background:#ecfdf5!important;
}
#moduleRoot .self-drive-order-table tbody tr.self-drive-completed-settled-row:hover td{
  background:#dcfce7!important;
}

.customer-settlement-customer-cell{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.customer-settlement-hierarchy{display:flex;flex-direction:column;gap:8px;width:100%;font-size:12px;color:#475569;}
.customer-settlement-booker-group{width:100%;border:1px solid #dbeafe;border-radius:10px;background:#f8fafc;overflow:hidden;}
.customer-settlement-booker-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:7px 9px;background:#eff6ff;border-bottom:1px solid #dbeafe;line-height:1.45;}
.customer-settlement-booker-head strong{color:#1d4ed8;font-weight:800;}
.customer-settlement-booker-head em,.customer-settlement-project-row em{font-style:normal;color:#64748b;}
.customer-settlement-booker-head b,.customer-settlement-project-row b{font-weight:600;color:#0f172a;}
.customer-settlement-project-list{display:flex;flex-direction:column;gap:0;padding:4px 0;}
.customer-settlement-project-row{position:relative;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-left:18px;padding:5px 8px 5px 16px;line-height:1.45;border-left:2px solid #bfdbfe;}
.customer-settlement-project-row::before{content:'└';position:absolute;left:-10px;top:5px;color:#93c5fd;font-weight:700;}
.customer-settlement-project-row span{color:#334155;font-weight:600;}

.customer-settlement-unpaid{font-size:13px;font-weight:800!important;}
.customer-settlement-unpaid-stack span:first-child{font-size:14px;font-weight:800;}

.chauffeur-peer-dispatch-toggle{align-self:end;min-height:42px;display:flex!important;align-items:center;gap:8px;padding:8px 10px;border:1px dashed #93c5fd;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:700;}

.chauffeur-peer-dispatch-section{border-color:#f97316;background:#fff7ed;}
.chauffeur-peer-dispatch-section summary span{color:#c2410c;}
.chauffeur-peer-dispatch-section summary em{color:#9a3412;font-style:normal;font-size:12px;}
.chauffeur-peer-dispatch-remark{display:flex;flex-direction:column;gap:6px;margin-top:10px;color:#9a3412;font-weight:700;}
.chauffeur-peer-dispatch-remark input{border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;}

.chauffeur-pricing-peer-dispatch{border-color:#fb923c;background:#fff7ed;}
.chauffeur-pricing-peer-dispatch h3{color:#c2410c;}
.chauffeur-pricing-summary-list .peer-cost b,.chauffeur-pricing-summary-list .total-cost b{color:#c2410c;}
.chauffeur-pricing-summary-list .total-cost{border-top:1px dashed #fed7aa;padding-top:8px;margin-top:4px;}


/* 配驾派车身份证行：同行调车横排防挤压 */
.chauffeur-dispatch-section .chauffeur-dispatch-id-inline{grid-column:span 2;min-width:420px;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row input[data-chauffeur-dispatch-id-number]{flex:1 1 180px;min-width:160px;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;gap:4px;margin:0;min-width:max-content;min-height:0;padding:2px 6px;white-space:nowrap!important;word-break:keep-all;line-height:1.2;writing-mode:horizontal-tb!important;text-orientation:mixed!important;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-text{display:inline-block;white-space:nowrap!important;word-break:keep-all;writing-mode:horizontal-tb!important;text-orientation:mixed!important;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle input,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle input{width:auto;margin:0;flex:0 0 auto;}


/* 配驾派车区域：车队/司机/电话/车辆/身份证与两个复选项保持同一行 */
.chauffeur-dispatch-section{grid-template-columns:120px 120px 150px 240px minmax(420px,1fr)!important;align-items:end;overflow-x:auto;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-inline{grid-column:auto!important;min-width:420px;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;width:100%;min-width:0;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row input[data-chauffeur-dispatch-id-number]{flex:1 1 180px;min-width:160px;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle{flex:0 0 auto;display:inline-flex!important;align-items:center;justify-content:center;gap:4px;margin:0;min-width:max-content;white-space:nowrap!important;word-break:keep-all;writing-mode:horizontal-tb!important;text-orientation:mixed!important;}
@media(max-width:900px){.chauffeur-dispatch-section{grid-template-columns:120px 120px 150px 240px minmax(420px,1fr)!important;}}


/* 配驾派车行内复选项与输入框等高 */
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle{height:42px;min-height:42px;padding:0 10px;border-radius:10px;box-sizing:border-box;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle{border:1px dashed #93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:700;}


/* 配驾派车身份证区域：移除外层 label 后保持原表单标题样式，避免复选框点击被身份证输入框抢占 */
.chauffeur-dispatch-section .chauffeur-dispatch-id-inline{display:flex;flex-direction:column;gap:6px;}
.chauffeur-dispatch-section .chauffeur-dispatch-field-title{font-weight:800;color:#334155;font-size:13px;line-height:1.2;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row label{cursor:pointer;user-select:none;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle{pointer-events:auto;}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-peer-dispatch-toggle input,
.chauffeur-dispatch-section .chauffeur-dispatch-id-row .chauffeur-id-sms-toggle input{pointer-events:auto;cursor:pointer;}


.chauffeur-peer-dispatch-inline-grid{grid-template-columns:1.35fr repeat(6,minmax(92px,1fr))!important;gap:10px;align-items:stretch;overflow-x:auto;}
.chauffeur-peer-dispatch-inline-grid .vehicle-detail-item{min-width:92px;padding:10px;}
.chauffeur-peer-dispatch-inline-grid .chauffeur-peer-dispatch-partner-field{min-width:150px;}
.chauffeur-peer-dispatch-inline-grid input,.chauffeur-peer-dispatch-inline-grid select{width:100%;box-sizing:border-box;}
@media (max-width:1200px){.chauffeur-peer-dispatch-inline-grid{grid-template-columns:150px repeat(6,92px)!important;}}


.chauffeur-pricing-peer-dispatch{grid-column:1/-1;}
.chauffeur-pricing-peer-dispatch-inline-grid{display:grid;grid-template-columns:1.35fr repeat(6,minmax(92px,1fr));gap:10px;align-items:end;overflow-x:auto;}
.chauffeur-pricing-peer-dispatch-inline-grid label{min-width:92px;}
.chauffeur-pricing-peer-dispatch-inline-grid label:first-child{min-width:150px;}
.chauffeur-pricing-peer-dispatch-inline-grid input,.chauffeur-pricing-peer-dispatch-inline-grid select{width:100%;box-sizing:border-box;}
@media (max-width:1200px){.chauffeur-pricing-peer-dispatch-inline-grid{grid-template-columns:150px repeat(6,92px);}}


/* v1.7.9 配驾预设地址：绑定企业客户改为下拉多选 */
.data-chauffeur-customer-dropdown{
  position:relative;
  min-width:260px;
  margin:0!important;
}
.data-chauffeur-customer-dropdown summary{
  list-style:none;
  min-height:44px;
  border:1px solid #dbe7ff;
  border-radius:12px;
  background:#fff;
  padding:7px 38px 7px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  cursor:pointer;
  box-sizing:border-box;
  position:relative;
}
.data-chauffeur-customer-dropdown summary::-webkit-details-marker{display:none;}
.data-chauffeur-customer-dropdown summary::after{
  content:'⌄';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
  font-size:16px;
}
.data-chauffeur-customer-dropdown[open] summary::after{transform:translateY(-50%) rotate(180deg);}
.data-chauffeur-customer-title{
  color:#64748b;
  font-size:11px;
  line-height:1.1;
}
.data-chauffeur-customer-dropdown summary strong{
  color:#0f172a;
  font-size:12.5px;
  font-weight:700;
  line-height:1.2;
}
.data-chauffeur-customer-panel{
  position:absolute;
  left:0;
  right:0;
  top:48px;
  z-index:30;
  background:#fff;
  border:1px solid #dbe7ff;
  border-radius:14px;
  box-shadow:0 16px 42px rgba(15,23,42,.16);
  padding:8px;
  max-height:260px;
  overflow:auto;
}
.data-chauffeur-customer-options{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.data-chauffeur-customer-options label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  border-radius:10px;
  color:#334155;
  font-size:12px;
  cursor:pointer;
}
.data-chauffeur-customer-options label:hover{background:#f1f5f9;}
.data-chauffeur-customer-options input{width:auto!important;height:auto!important;margin:0!important;}
.data-chauffeur-customer-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}
.data-chauffeur-customer-chips span,
.data-chauffeur-customer-chips em{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  padding:2px 8px;
  font-size:11px;
  font-style:normal;
}
.data-chauffeur-customer-empty{
  margin-top:6px;
  color:#94a3b8;
  font-size:11px;
}
@media(max-width:1200px){.data-chauffeur-customer-dropdown{grid-column:1/-1;}}
@media(max-width:720px){.data-chauffeur-customer-panel{position:static;margin-top:6px;}}


/* v1.7.10 配驾预设地址：绑定企业客户下拉列表支持检索 */
.data-chauffeur-customer-search{
  width:100%!important;
  height:36px!important;
  margin:0 0 8px!important;
  border:1px solid #dbe7ff!important;
  border-radius:10px!important;
  padding:0 11px!important;
  font-size:12px!important;
  box-sizing:border-box!important;
  background:#f8fafc!important;
}
.data-chauffeur-customer-search:focus{
  outline:none!important;
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(96,165,250,.18)!important;
  background:#fff!important;
}
.data-chauffeur-customer-no-match{
  padding:12px;
  color:#94a3b8;
  font-size:12px;
  text-align:center;
}
.data-chauffeur-customer-options label[hidden]{display:none!important;}


/* v1.7.11 配驾预设地址：多客户通用地址禁用订车人/项目 */
.data-chauffeur-grid-compact input:disabled{
  background:#f1f5f9!important;
  color:#94a3b8!important;
  cursor:not-allowed!important;
}
.customer-common-address-list{display:flex;flex-direction:column;gap:8px;border:1px dashed #bfdbfe;border-radius:12px;background:#eff6ff;padding:10px;}
.customer-common-address-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.customer-common-address-head strong{display:block;font-size:11px;color:#0f172a;}
.customer-common-address-head span{display:block;font-size:10px;color:#64748b;margin-top:2px;}
.customer-common-address-row{display:grid;grid-template-columns:110px minmax(150px,1.4fr) minmax(150px,1.2fr) 120px auto;gap:8px;align-items:center;}
.customer-common-address-row input,.customer-common-address-row select{height:34px;}
@media(max-width:900px){.customer-common-address-row{grid-template-columns:1fr}.customer-common-address-head{align-items:flex-start;flex-direction:column}}
.customer-common-address-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.customer-common-address-head-actions select{min-width:220px;height:34px;}
.customer-common-address-empty-source{align-self:center;font-size:10px;}
@media(max-width:900px){.customer-common-address-head-actions{width:100%;justify-content:stretch}.customer-common-address-head-actions select,.customer-common-address-head-actions button{width:100%;}}
.customer-common-address-import{position:relative;min-width:220px;}
.customer-common-address-import summary{height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 10px;font-size:12px;color:#0f172a;cursor:pointer;list-style:none;}
.customer-common-address-import summary::-webkit-details-marker{display:none;}
.customer-common-address-import-panel{position:absolute;right:0;top:38px;z-index:30;width:min(520px,80vw);max-height:360px;overflow:hidden;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.18);padding:10px;display:flex;flex-direction:column;gap:8px;}
.customer-common-address-import-panel input{height:34px;width:100%;}
.customer-common-address-import-options{display:flex;flex-direction:column;gap:6px;max-height:270px;overflow:auto;}
.customer-common-address-import-options button{text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.35;color:#0f172a;cursor:pointer;}
.customer-common-address-import-options button:hover{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;}
.customer-common-address-import-options button[hidden]{display:none;}
.customer-common-address-no-match{margin:0;font-size:11px;text-align:center;}
@media(max-width:900px){.customer-common-address-import{width:100%;}.customer-common-address-import-panel{left:0;right:auto;width:100%;max-width:100%;}.customer-common-address-import summary{width:100%;}}
.placeholder-only-field{font-size:0;}
.placeholder-only-field input,.placeholder-only-field select{font-size:12px;}
.placeholder-only-field select:invalid,.placeholder-select:invalid{color:#94a3b8;}
.placeholder-only-field select option{color:#0f172a;}
.placeholder-only-field select option[disabled]{color:#94a3b8;}
.chauffeur-customer-info-line{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:center;}
.chauffeur-customer-info-line .chauffeur-customer-type-row{grid-column:auto;margin:0;white-space:nowrap;}
.chauffeur-customer-info-line .chauffeur-customer-fields{grid-column:auto;align-items:center;}
@media(max-width:1200px){.chauffeur-customer-info-line{grid-template-columns:1fr}.chauffeur-customer-info-line .chauffeur-customer-type-row{white-space:normal}.chauffeur-customer-info-line .chauffeur-customer-fields{grid-template-columns:repeat(2,minmax(140px,1fr));}}
@media(max-width:700px){.chauffeur-customer-info-line .chauffeur-customer-fields{grid-template-columns:1fr;}}
.chauffeur-template-inline{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;}
.chauffeur-template-inline .chauffeur-template-search{min-width:260px;flex:1 1 420px;}
.chauffeur-template-inline .chauffeur-template-hidden-select{display:none!important;}
.chauffeur-template-inline button{white-space:nowrap;flex:0 0 auto;}

/* v1.7.30 配驾预定信息栏：关键字段固定宽度 */
.chauffeur-reservation-fields label:has([name="serviceDate"]),
.chauffeur-reservation-fields label:has([name="reservedVehicleType"]),
.chauffeur-reservation-fields label:has([name="flightNo"]),
.chauffeur-reservation-fields label:has([name="trainNo"]),
.chauffeur-reservation-fields label:has([name="departureTime"]),
.chauffeur-reservation-fields label:has([name="landingTime"]),
.chauffeur-reservation-fields label:has([name="arrivalTime"]),
.chauffeur-reservation-fields label:has([name="trainDepartureTime"]){
  width:200px;
  max-width:200px;
  min-width:200px;
}
.chauffeur-reservation-fields [name="serviceDate"],
.chauffeur-reservation-fields [name="reservedVehicleType"],
.chauffeur-reservation-fields [name="flightNo"],
.chauffeur-reservation-fields [name="trainNo"],
.chauffeur-reservation-fields [name="departureTime"],
.chauffeur-reservation-fields [name="landingTime"],
.chauffeur-reservation-fields [name="arrivalTime"],
.chauffeur-reservation-fields [name="trainDepartureTime"]{
  width:200px!important;
  max-width:200px;
  min-width:200px;
  box-sizing:border-box;
}
@media(max-width:900px){
  .chauffeur-reservation-fields label:has([name="serviceDate"]),
  .chauffeur-reservation-fields label:has([name="reservedVehicleType"]),
  .chauffeur-reservation-fields label:has([name="flightNo"]),
  .chauffeur-reservation-fields label:has([name="trainNo"]),
  .chauffeur-reservation-fields label:has([name="departureTime"]),
  .chauffeur-reservation-fields label:has([name="landingTime"]),
  .chauffeur-reservation-fields label:has([name="arrivalTime"]),
  .chauffeur-reservation-fields label:has([name="trainDepartureTime"]){
    width:200px;
    max-width:100%;
    min-width:0;
  }
  .chauffeur-reservation-fields [name="serviceDate"],
  .chauffeur-reservation-fields [name="reservedVehicleType"],
  .chauffeur-reservation-fields [name="flightNo"],
  .chauffeur-reservation-fields [name="trainNo"],
  .chauffeur-reservation-fields [name="departureTime"],
  .chauffeur-reservation-fields [name="landingTime"],
  .chauffeur-reservation-fields [name="arrivalTime"],
  .chauffeur-reservation-fields [name="trainDepartureTime"]{
    width:200px!important;
    max-width:100%;
    min-width:0;
  }
}

/* v1.7.31 配驾预定信息栏：关键字段无间隔单行排列 */
.chauffeur-reservation-fields{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  align-items:flex-end!important;
  overflow-x:auto;
  padding-bottom:2px;
}
.chauffeur-reservation-fields label{
  margin:0!important;
}
.chauffeur-reservation-fields label:has([name="serviceDate"]),
.chauffeur-reservation-fields label:has([name="reservedVehicleType"]),
.chauffeur-reservation-fields label:has([name="flightNo"]),
.chauffeur-reservation-fields label:has([name="trainNo"]),
.chauffeur-reservation-fields label:has([name="departureTime"]),
.chauffeur-reservation-fields label:has([name="landingTime"]),
.chauffeur-reservation-fields label:has([name="arrivalTime"]),
.chauffeur-reservation-fields label:has([name="trainDepartureTime"]){
  flex:0 0 200px!important;
  width:200px!important;
  max-width:200px!important;
  min-width:200px!important;
}
.chauffeur-reservation-fields .chauffeur-round-trip-time-field{
  grid-column:auto!important;
  flex:0 0 200px!important;
  width:200px!important;
  max-width:200px!important;
  min-width:200px!important;
  margin:0!important;
}
@media(max-width:900px){
  .chauffeur-reservation-fields{
    grid-template-columns:none!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0!important;
  }
  .chauffeur-reservation-fields label:has([name="serviceDate"]),
  .chauffeur-reservation-fields label:has([name="reservedVehicleType"]),
  .chauffeur-reservation-fields label:has([name="flightNo"]),
  .chauffeur-reservation-fields label:has([name="trainNo"]),
  .chauffeur-reservation-fields label:has([name="departureTime"]),
  .chauffeur-reservation-fields label:has([name="landingTime"]),
  .chauffeur-reservation-fields label:has([name="arrivalTime"]),
  .chauffeur-reservation-fields label:has([name="trainDepartureTime"]),
  .chauffeur-reservation-fields .chauffeur-round-trip-time-field{
    flex:0 0 200px!important;
    width:200px!important;
    max-width:200px!important;
    min-width:200px!important;
  }
}

/* v1.7.32 配驾预定信息栏：关键字段10px间隔单行排列 */
.chauffeur-reservation-fields{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  align-items:flex-end!important;
  overflow-x:auto;
  padding-bottom:2px;
}
@media(max-width:900px){
  .chauffeur-reservation-fields{
    gap:10px!important;
  }
}


/* v1.7.34 行程信息：添加途经点按钮放到起始地点详细地址后 */
.chauffeur-route-row .chauffeur-via-add-inline{
  align-self:flex-end;
  white-space:nowrap;
  min-height:38px;
  margin:0 0 1px 0;
}


/* v1.7.35 配驾表单：字段标题改为输入框内灰色提示 */
.chauffeur-card-section input::placeholder,
.chauffeur-card-section textarea::placeholder{
  color:#9ca3af;
  opacity:1;
}
.chauffeur-card-section select:invalid{
  color:#9ca3af;
}
.chauffeur-route-row label,
.chauffeur-pickup-passenger-row label,
.chauffeur-dispatch-section label,
.chauffeur-card-section label:has([name="estimatedPrice"]),
.chauffeur-card-section label:has([name="driverSettlementAmount"]),
.chauffeur-route-remark{
  gap:0;
}

/* v1.7.36 司机派车栏：关键字段固定200px */
.chauffeur-dispatch-section [name="dispatchFleetId"],
.chauffeur-dispatch-section [name="dispatchDriverSearchText"],
.chauffeur-dispatch-section [name="dispatchDriverPhone"],
.chauffeur-dispatch-section [name="dispatchVehicleSearchText"],
.chauffeur-dispatch-section [name="dispatchDriverIdNumber"]{
  width:200px!important;
  max-width:200px!important;
  min-width:200px!important;
  box-sizing:border-box;
}
.chauffeur-dispatch-section label:has([name="dispatchFleetId"]),
.chauffeur-dispatch-section label:has([name="dispatchDriverSearchText"]),
.chauffeur-dispatch-section label:has([name="dispatchDriverPhone"]),
.chauffeur-dispatch-section label:has([name="dispatchVehicleSearchText"]),
.chauffeur-dispatch-section .chauffeur-dispatch-id-inline{
  width:200px;
  max-width:200px;
  min-width:200px;
}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
@media(max-width:900px){
  .chauffeur-dispatch-section [name="dispatchFleetId"],
  .chauffeur-dispatch-section [name="dispatchDriverSearchText"],
  .chauffeur-dispatch-section [name="dispatchDriverPhone"],
  .chauffeur-dispatch-section [name="dispatchVehicleSearchText"],
  .chauffeur-dispatch-section [name="dispatchDriverIdNumber"]{
    width:200px!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .chauffeur-dispatch-section label:has([name="dispatchFleetId"]),
  .chauffeur-dispatch-section label:has([name="dispatchDriverSearchText"]),
  .chauffeur-dispatch-section label:has([name="dispatchDriverPhone"]),
  .chauffeur-dispatch-section label:has([name="dispatchVehicleSearchText"]),
  .chauffeur-dispatch-section .chauffeur-dispatch-id-inline{
    width:200px;
    max-width:100%;
    min-width:0;
  }
}

/* v1.7.37 司机派车栏：修复200px字段重叠 */
.chauffeur-dispatch-section{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  gap:10px!important;
}
.chauffeur-dispatch-section legend{
  width:100%;
}
.chauffeur-dispatch-section label:has([name="dispatchFleetId"]),
.chauffeur-dispatch-section label:has([name="dispatchDriverSearchText"]),
.chauffeur-dispatch-section label:has([name="dispatchDriverPhone"]),
.chauffeur-dispatch-section label:has([name="dispatchVehicleSearchText"]){
  flex:0 0 200px!important;
  width:200px!important;
  max-width:200px!important;
  min-width:200px!important;
}
.chauffeur-dispatch-section .chauffeur-dispatch-id-inline{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
.chauffeur-dispatch-section .chauffeur-dispatch-id-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
}
.chauffeur-dispatch-section [name="dispatchDriverIdNumber"]{
  flex:0 0 200px!important;
  width:200px!important;
  max-width:200px!important;
  min-width:200px!important;
}
.chauffeur-dispatch-section .chauffeur-id-sms-toggle,
.chauffeur-dispatch-section .chauffeur-peer-dispatch-toggle{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:auto!important;
  max-width:none!important;
  white-space:nowrap;
}
@media(max-width:900px){
  .chauffeur-dispatch-section{
    overflow-x:auto;
    flex-wrap:nowrap!important;
  }
  .chauffeur-dispatch-section legend{
    flex:0 0 100%;
  }
  .chauffeur-dispatch-section label:has([name="dispatchFleetId"]),
  .chauffeur-dispatch-section label:has([name="dispatchDriverSearchText"]),
  .chauffeur-dispatch-section label:has([name="dispatchDriverPhone"]),
  .chauffeur-dispatch-section label:has([name="dispatchVehicleSearchText"]),
  .chauffeur-dispatch-section [name="dispatchDriverIdNumber"]{
    flex:0 0 200px!important;
    width:200px!important;
    max-width:200px!important;
    min-width:200px!important;
  }
}


/* v1.7.39 新增/编辑车辆：按栏目分组 */
.vehicle-form-sectioned{
  display:block;
}
.vehicle-form-sectioned .vehicle-form-section{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:12px;
  margin:0 0 14px;
  padding:14px;
  border:1px solid var(--border,#d8dee9);
  border-radius:12px;
  background:rgba(248,250,252,.72);
}
.vehicle-form-sectioned .vehicle-form-section legend{
  padding:0 8px;
  font-weight:700;
  color:#1f2937;
}
.vehicle-form-sectioned .vehicle-inspection-section{
  grid-template-columns:repeat(3,minmax(180px,240px));
}
.vehicle-form-sectioned .vehicle-photo-upload-row,
.vehicle-form-sectioned > .wide,
.vehicle-form-sectioned > .form-actions{
  margin-top:12px;
}
@media(max-width:900px){
  .vehicle-form-sectioned .vehicle-form-section,
  .vehicle-form-sectioned .vehicle-inspection-section{
    grid-template-columns:1fr;
  }
}

/* v1.7.40 车辆表单：指定栏目字段单行展示，附加信息隐藏保留 */
.vehicle-form-sectioned .vehicle-basic-section,
.vehicle-form-sectioned .vehicle-org-section,
.vehicle-form-sectioned .vehicle-detail-section{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  gap:10px!important;
  overflow-x:auto;
}
.vehicle-form-sectioned .vehicle-basic-section label,
.vehicle-form-sectioned .vehicle-org-section label,
.vehicle-form-sectioned .vehicle-detail-section label{
  flex:0 0 170px;
  min-width:170px;
  max-width:170px;
}
.vehicle-form-sectioned .vehicle-basic-section label:has([name="plateNumber"]),
.vehicle-form-sectioned .vehicle-detail-section label:has([name="vin"]),
.vehicle-form-sectioned .vehicle-detail-section label:has([name="engineNo"]){
  flex-basis:190px;
  min-width:190px;
  max-width:190px;
}
.vehicle-form-sectioned .vehicle-org-section label{
  flex-basis:200px;
  min-width:200px;
  max-width:200px;
}
.vehicle-form-sectioned .vehicle-extra-section{
  display:none!important;
}
@media(max-width:900px){
  .vehicle-form-sectioned .vehicle-basic-section,
  .vehicle-form-sectioned .vehicle-org-section,
  .vehicle-form-sectioned .vehicle-detail-section{
    flex-wrap:nowrap!important;
    overflow-x:auto;
  }
}


/* v1.7.41 车辆详情：加入当前公里数 */
.vehicle-form-sectioned .vehicle-detail-section label:has([name="mileage"]){
  flex:0 0 150px;
  min-width:150px;
  max-width:150px;
}


/* v1.7.43 车辆详情页：按栏目分组并单行显示 */
.vehicle-detail-sectioned{
  display:block;
}
.vehicle-detail-sectioned .vehicle-detail-section{
  margin:0 0 14px;
  padding:14px;
  border:1px solid var(--border,#d8dee9);
  border-radius:12px;
  background:rgba(248,250,252,.72);
}
.vehicle-detail-sectioned .vehicle-detail-section h3{
  margin:0 0 10px;
  font-size:16px;
  color:#1f2937;
}
.vehicle-detail-sectioned .vehicle-detail-section-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:10px;
  overflow-x:auto;
}
.vehicle-detail-sectioned .vehicle-detail-section-row .vehicle-detail-item{
  flex:0 0 170px;
  min-width:170px;
}
.vehicle-detail-sectioned .vehicle-detail-basic-section .vehicle-detail-item:nth-child(2),
.vehicle-detail-sectioned .vehicle-detail-basic-section .vehicle-detail-item:nth-child(3),
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(2),
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(3){
  flex-basis:210px;
  min-width:210px;
}
.vehicle-detail-sectioned .vehicle-detail-org-section .vehicle-detail-item{
  flex-basis:200px;
  min-width:200px;
}
.vehicle-detail-sectioned > .vehicle-detail-item.span-4{
  margin:0 0 14px;
}


/* v1.7.44 车辆详情基础信息：隐藏字段表头 */
.vehicle-detail-sectioned .vehicle-detail-basic-section .vehicle-detail-item strong{
  margin-top:0;
}

/* v1.7.46 车辆详情机构信息：表头和内容同行 */
.vehicle-detail-sectioned .vehicle-detail-org-section .vehicle-detail-item{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.vehicle-detail-sectioned .vehicle-detail-org-section .vehicle-detail-item span{
  margin:0;
  flex:0 0 auto;
}
.vehicle-detail-sectioned .vehicle-detail-org-section .vehicle-detail-item span::after{
  content:"：";
}
.vehicle-detail-sectioned .vehicle-detail-org-section .vehicle-detail-item strong{
  margin:0;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* v1.7.47 车辆详情栏：指定字段固定宽度 */
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(1),
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(2),
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(3){
  flex:0 0 250px!important;
  min-width:250px!important;
  max-width:250px!important;
}
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(4),
.vehicle-detail-sectioned .vehicle-detail-info-section .vehicle-detail-item:nth-child(5){
  flex:0 0 150px!important;
  min-width:150px!important;
  max-width:150px!important;
}

/* v1.7.48 车辆详情日期信息：固定250px且表头内容同行 */
.vehicle-detail-sectioned .vehicle-detail-date-section .vehicle-detail-item{
  flex:0 0 250px!important;
  min-width:250px!important;
  max-width:250px!important;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.vehicle-detail-sectioned .vehicle-detail-date-section .vehicle-detail-item span{
  margin:0;
  flex:0 0 auto;
}
.vehicle-detail-sectioned .vehicle-detail-date-section .vehicle-detail-item span::after{
  content:"：";
}
.vehicle-detail-sectioned .vehicle-detail-date-section .vehicle-detail-item strong{
  margin:0;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* v1.7.49 车辆详情：维保/审验记录默认收起 */
.vehicle-detail-records-collapse{
  padding:0;
}
.vehicle-detail-records-collapse > summary{
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  font-weight:700;
  color:#1f2937;
  border-radius:12px;
}
.vehicle-detail-records-collapse > summary::-webkit-details-marker{
  display:none;
}
.vehicle-detail-records-collapse > summary::before{
  content:'▶';
  display:inline-block;
  margin-right:8px;
  font-size:12px;
  transition:transform .15s ease;
}
.vehicle-detail-records-collapse[open] > summary::before{
  transform:rotate(90deg);
}
.vehicle-detail-records-collapse > .maintenance-records,
.vehicle-detail-records-collapse > .muted{
  margin:0 14px 14px;
}


/* v1.7.51 本地图片：车辆图片按车号分组 */
.local-image-vehicle-groups{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.local-image-vehicle-group{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f8fafc;
  padding:12px;
}
.local-image-vehicle-group h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 12px;
  font-size:15px;
  color:#0f172a;
}
.local-image-vehicle-group h3 span{
  font-size:12px;
  color:#64748b;
  font-weight:700;
}
.local-image-vehicle-group .local-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}


/* v1.7.53 车辆图片：照片墙展示 */
.local-image-photo-wall{
  gap:24px;
}
.local-image-photo-wall .local-image-vehicle-group{
  padding:16px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.local-image-photo-wall .local-image-vehicle-group h3{
  padding:0 2px 4px;
  font-size:17px;
}
.local-image-photo-wall .local-image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  grid-auto-flow:dense;
  gap:14px;
}
.local-image-wall-card{
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(15,23,42,.16);
  transition:transform .16s ease, box-shadow .16s ease;
}
.local-image-wall-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px rgba(15,23,42,.22);
}
.local-image-wall-card img{
  height:260px;
  object-fit:cover;
}
.local-image-wall-card:nth-child(5n+1){
  grid-row:span 2;
}
.local-image-wall-card:nth-child(5n+1) img{
  height:420px;
}
.local-image-wall-card:nth-child(7n+3){
  grid-column:span 2;
}
.local-image-wall-card figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:34px 12px 12px;
  color:#fff;
  background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.82));
}
.local-image-wall-card figcaption strong,
.local-image-wall-card figcaption span{
  color:#fff;
}
.local-image-wall-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.local-image-wall-card .local-image-actions button{
  background:rgba(255,255,255,.92);
  color:#0f172a;
}
.local-image-wall-card .local-image-actions .danger{
  background:rgba(239,68,68,.95);
  color:#fff;
}
@media(max-width:900px){
  .local-image-photo-wall .local-image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .local-image-wall-card:nth-child(7n+3){grid-column:span 1;}
  .local-image-wall-card img,.local-image-wall-card:nth-child(5n+1) img{height:240px;}
}


/* v1.7.54 车辆图片：车号封面墙与相册 */
.local-image-cover-wall .local-image-cover-grid{
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}
.local-image-vehicle-cover{
  cursor:pointer;
}
.local-image-vehicle-cover img{
  height:280px;
}
.local-image-vehicle-cover:nth-child(5n+1),
.local-image-vehicle-cover:nth-child(7n+3){
  grid-row:span 1;
  grid-column:span 1;
}
.local-image-vehicle-cover:nth-child(5n+1) img{
  height:280px;
}
.local-image-vehicle-album{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.local-image-album-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-radius:14px;
  background:#f8fafc;
  color:#334155;
}
.local-image-album-head strong{
  font-size:16px;
  color:#0f172a;
}
.local-image-album-grid{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.local-image-album-grid .local-image-wall-card img{
  height:240px;
}


/* v1.7.55 车辆图片：照片墙车牌号大字版 */
.local-image-vehicle-cover figcaption strong{
  font-size:30px!important;
  line-height:1.08;
  letter-spacing:1px;
  font-weight:900;
  text-shadow:0 3px 10px rgba(0,0,0,.45);
  white-space:normal!important;
}
.local-image-vehicle-cover .local-image-wall-meta{
  margin-top:6px;
  font-size:13px;
}
@media(max-width:700px){
  .local-image-vehicle-cover figcaption strong{font-size:24px!important;}
}


/* v1.7.56 车辆图片：照片墙封面优先车辆外观照 */
.local-image-vehicle-cover figcaption::after{
  content:'优先外观照';
  position:absolute;
  right:12px;
  top:12px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#334155;
  font-size:11px;
  font-weight:800;
}


/* v1.7.57 车辆图片：照片墙懒加载与渲染优化 */
.local-image-vehicle-cover img,
.local-image-album-grid img{
  background:#e5e7eb;
}


/* v1.7.58 车辆图片：照片墙使用服务端缩略图 */
.local-image-wall-card img{
  image-rendering:auto;
}


/* v1.7.59 车辆图片：封面点击避免重复打开相册 */
.local-image-vehicle-cover .local-image-actions button{
  pointer-events:none;
}


/* v1.7.60 全局点击顺滑：撤销照片墙content-visibility避免点击后重排 */
.local-image-photo-wall{
  content-visibility:visible;
  contain-intrinsic-size:auto;
}


/* v1.7.61 全局点击顺滑：避免重复绑定更多菜单关闭监听 */
.more-action{
  contain:layout style;
}


/* v1.7.62 全局点击顺滑：订单提醒空闲轮询，表单外部点击监听自动释放 */
body{
  -webkit-tap-highlight-color:transparent;
}


/* v1.7.63 客户订单提醒：轮询间隔调整为600秒 */
.customer-order-nav-alert{
  will-change:auto;
}


/* v1.7.64 全局点击顺滑：更多菜单关闭避免每次扫描DOM */
.more-menu.open{
  will-change:opacity,transform;
}


/* v1.7.73 配驾操作菜单：回到原始点击事件，只在菜单打开时提升按钮容器层级 */
.chauffeur-order-table .chauffeur-more-action:has(.chauffeur-more-menu.open){position:relative!important;z-index:2200!important;}
.chauffeur-order-table .chauffeur-more-menu.open{z-index:2201!important;}
.chauffeur-order-table .chauffeur-more-menu.open button{width:100%!important;font-size:11.2px!important;padding:7px 10px!important;white-space:nowrap!important;justify-content:center!important;}

/* v1.7.65 全局点击顺滑：停用高频无限闪烁动画，避免固定周期掉帧 */
.date-cell.warn-yellow,
.date-cell.warn-red,
.vehicle-detail-item strong .date-cell.warn-yellow,
.vehicle-detail-item strong .date-cell.warn-red,
.maintenance-left.warn-red,
.dash-card.audit-alert,
.nav .customer-order-nav-alert,
.customer-order-new-row-highlight,
#moduleRoot .chauffeur-order-table .chauffeur-status-badge.chauffeur-contact-badge.contacted{
  animation:none!important;
}
.date-cell.warn-yellow,
.vehicle-detail-item strong .date-cell.warn-yellow{
  box-shadow:inset 0 0 0 1px rgba(245,158,11,.34);
}
.date-cell.warn-red,
.vehicle-detail-item strong .date-cell.warn-red,
.maintenance-left.warn-red{
  box-shadow:inset 0 0 0 1px rgba(220,38,38,.34);
}
.nav .customer-order-nav-alert,
.dash-card.audit-alert{
  box-shadow:0 10px 24px rgba(220,38,38,.18)!important;
}

/* v1.10.8 性能：继续停用会让桌面合成器持续高负载的无限动画 */
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-serving,
.meeting-hub-screen-mode .meeting-hub-driver-status-pill.meeting-hub-driver-status-completed,
.meeting-hub-driver-location-refresh.is-loading,
.chauffeur-location-refresh-btn.is-loading{
  animation:none!important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms!important;
    animation-iteration-count: 1!important;
    scroll-behavior: auto!important;
    transition-duration: .001ms!important;
  }
}

/* v1.11.62 车辆外观照片拆分为五个固定位置 */
.vehicle-form .vehicle-appearance-photo-group{
  grid-column:1/-1!important;
  width:100%!important;
}
.vehicle-form .vehicle-appearance-photo-title{
  margin:0 0 8px;
  font-size:13px;
  font-weight:800;
  color:#1f2937;
}
.vehicle-form .vehicle-appearance-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:start!important;
}
.vehicle-form .vehicle-appearance-photo-slot{
  grid-column:auto!important;
  width:100%!important;
}
@media(max-width:1200px){
  .vehicle-form .vehicle-appearance-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .vehicle-form .vehicle-appearance-photo-grid{grid-template-columns:1fr!important;}
}


/* v1.11.65 车辆本地图片照片墙统一正方形 */
.local-image-photo-wall .local-image-grid,
.local-image-album-grid{
  grid-auto-flow:row!important;
}
.local-image-photo-wall .local-image-wall-card,
.local-image-cover-wall .local-image-vehicle-cover,
.local-image-album-grid .local-image-wall-card{
  grid-row:span 1!important;
  grid-column:span 1!important;
}
.local-image-photo-wall .local-image-wall-card img,
.local-image-photo-wall .local-image-wall-card:nth-child(5n+1) img,
.local-image-cover-wall .local-image-vehicle-cover img,
.local-image-cover-wall .local-image-vehicle-cover:nth-child(5n+1) img,
.local-image-album-grid .local-image-wall-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
}
@media(max-width:900px){
  .local-image-photo-wall .local-image-wall-card img,
  .local-image-photo-wall .local-image-wall-card:nth-child(5n+1) img,
  .local-image-cover-wall .local-image-vehicle-cover img,
  .local-image-cover-wall .local-image-vehicle-cover:nth-child(5n+1) img,
  .local-image-album-grid .local-image-wall-card img{
    height:auto!important;
    aspect-ratio:1/1!important;
  }
}


/* v1.11.73 车辆列表车辆照片缩略图列 */
.vehicle-photo-thumb{
  width:52px!important;
  height:52px!important;
  object-fit:cover!important;
  border-radius:10px!important;
  border:1px solid #d0d5dd!important;
  background:#f8fafc!important;
  display:block!important;
  margin:0 auto!important;
  cursor:pointer!important;
}
.vehicle-photo-empty{
  color:#98a2b3;
  font-weight:700;
}


/* v1.11.73 车辆列表车辆照片缩略图居中 */
td:has(.vehicle-photo-thumb),
td:has(.vehicle-photo-empty){
  text-align:center!important;
  vertical-align:middle!important;
}
.vehicle-photo-thumb{
  margin-left:auto!important;
  margin-right:auto!important;
}


/* v1.11.73 车辆列表缩略图点击显示全部外观照片 */
.vehicle-appearance-gallery{display:flex;flex-direction:column;gap:14px;}
.vehicle-appearance-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#f8fafc;color:#334155;}
.vehicle-appearance-gallery-head strong{font-size:16px;color:#0f172a;}
.vehicle-appearance-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
.vehicle-appearance-gallery-grid figure{margin:0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.08);}
.vehicle-appearance-gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;cursor:pointer;background:#f8fafc;}
.vehicle-appearance-gallery-grid figcaption{padding:8px 10px;font-size:12px;font-weight:800;color:#334155;text-align:center;}
/* 账户明细：固定前序列宽，摘要/备注在独立容器内自适应换行，避免挤压前面列 */
.account-detail-table{table-layout:fixed!important;width:1380px!important;min-width:1380px!important;max-width:1380px!important;}
.account-detail-table th,.account-detail-table td{white-space:nowrap;}
.account-detail-table th:nth-child(1),.account-detail-table td:nth-child(1){width:46px;}
.account-detail-table th:nth-child(2),.account-detail-table td:nth-child(2){width:100px;}
.account-detail-table th:nth-child(3),.account-detail-table td:nth-child(3){width:100px!important;min-width:100px!important;max-width:100px!important;}
.account-detail-table th:nth-child(4),.account-detail-table td:nth-child(4){width:100px!important;min-width:100px!important;max-width:100px!important;}
.account-detail-table th:nth-child(5),.account-detail-table td:nth-child(5){width:100px!important;min-width:100px!important;max-width:100px!important;}
.account-detail-table th:nth-child(6),.account-detail-table td:nth-child(6){width:92px;}
.account-detail-table th:nth-child(7),.account-detail-table td:nth-child(7){width:116px;}
.account-detail-table th:nth-child(8),.account-detail-table td:nth-child(8){width:56px;}
.account-detail-table th:nth-child(9),.account-detail-table td:nth-child(9){width:92px;}
.account-detail-table th:nth-child(10),.account-detail-table td:nth-child(10){width:92px;}
.account-detail-table th:nth-child(11),.account-detail-table td:nth-child(11){width:142px;}
.account-detail-table th:nth-child(12),.account-detail-table td:nth-child(12){width:84px;}
.account-detail-table th:nth-child(13),.account-detail-table td:nth-child(13){width:260px!important;min-width:260px!important;max-width:260px!important;text-align:left!important;vertical-align:top!important;white-space:normal!important;}
.account-detail-remark-cell{padding-top:8px!important;padding-bottom:8px!important;}
.account-detail-remark-text{display:block;width:260px!important;max-width:260px!important;white-space:normal!important;word-break:break-all;overflow-wrap:anywhere;line-height:1.65;text-align:left;}
.invoice-manage-customer-info-inline{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start;}
.invoice-manage-customer-info-line{display:flex;align-items:center;gap:10px;line-height:1.5;}
.invoice-manage-customer-info-line span{flex:0 0 auto;color:#64748b;font-weight:700;}
.invoice-manage-customer-info-line strong{flex:1 1 auto;color:#0f172a;font-weight:800;word-break:break-all;overflow-wrap:anywhere;}
@media(max-width:900px){.invoice-manage-customer-info-inline{grid-template-columns:1fr;gap:10px;}}
.invoice-manage-readonly-form .invoice-manage-open-row .invoice-manage-readonly-line-field{display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-width:0!important;text-align:left!important;justify-items:stretch!important;}
.invoice-manage-readonly-line-title{display:flex!important;align-items:center!important;align-self:center!important;height:42px!important;white-space:nowrap!important;text-align:left!important;justify-self:start!important;font-weight:700;color:#64748b;line-height:1!important;padding-top:0!important;margin-top:0!important;}
.invoice-manage-readonly-form .invoice-manage-open-row .invoice-manage-readonly-line-field>input{display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;text-align:left!important;font-weight:800;color:#0f172a;align-self:center!important;height:42px!important;line-height:42px!important;padding-top:0!important;padding-bottom:0!important;}
.invoice-manage-upload-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;}
.invoice-manage-upload-row label{min-width:0;}
@media(max-width:760px){.invoice-manage-upload-row{grid-template-columns:1fr;}}
.invoice-manage-operation-records{grid-column:1/-1;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:14px;}
.invoice-manage-operation-records h3{margin:0 0 10px;font-size:15px;color:#0f172a;}
.invoice-manage-operation-table{margin:0;width:100%;}
.invoice-manage-operation-table th,.invoice-manage-operation-table td{text-align:left;white-space:nowrap;}
.account-detail-table col:nth-child(3),.account-detail-table col:nth-child(4),.account-detail-table col:nth-child(5){width:100px!important;min-width:100px!important;max-width:100px!important;}

.invoice-manage-receive-confirm-box{font-size:15px}.invoice-manage-receive-confirm-box .muted{font-size:14px}.invoice-manage-receive-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px}.invoice-manage-receive-confirm-grid>div{padding:16px 18px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.invoice-manage-receive-confirm-grid span{display:block;margin-bottom:8px;color:#475569;font-size:15px;font-weight:600}.invoice-manage-receive-confirm-grid strong{display:block;font-size:20px;line-height:1.45;word-break:break-all}.invoice-manage-receive-confirm-grid strong.receive-account{color:#2563eb}.invoice-manage-receive-confirm-grid strong.receive-amount{color:#16a34a}@media (max-width:720px){.invoice-manage-receive-confirm-grid{grid-template-columns:1fr}.invoice-manage-receive-confirm-grid strong{font-size:18px}}
