:root{--purple:#5B2A86;--purple-dark:#35164E;--orange:#F15A24;--orange-dark:#D94A16;--navy:#5B2A86;--navy2:#35164E;--blue:#F15A24;--bg:#F8F6FA;--panel:#fff;--text:#30283A;--muted:#756C7D;--line:#E7E0EA;--green:#1B7F5A;--amber:#996C14;--red:#A33B3B;--shadow:0 6px 24px rgba(53,22,78,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--navy2);color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:4px 5px 26px}.brand-mark{background:#fff;color:var(--navy2);font-weight:900;letter-spacing:.06em;border-radius:9px;padding:9px 8px}.brand strong{display:block;font-size:17px}.brand span{display:block;font-size:12px;color:#a9b9c8;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-btn{border:0;background:transparent;color:#b8c6d2;text-align:left;padding:13px 14px;border-radius:9px;cursor:pointer;font-weight:650}.nav-btn span{display:inline-block;width:30px;color:#6f879b;font-size:11px}.nav-btn:hover,.nav-btn.active{background:#203f5c;color:#fff}.nav-btn.active span{color:#8db8df}.sidebar-bottom{margin-top:auto}.folder-status{display:flex;align-items:center;gap:9px;border-top:1px solid #29445d;padding:18px 4px 12px}.folder-status .dot{width:8px;height:8px;border-radius:50%;background:#7d8d9b}.folder-status.connected .dot{background:#4ecb95}.folder-status strong,.folder-status small{display:block}.folder-status strong{font-size:12px}.folder-status small{color:#9aabba;margin-top:2px;max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.topbar h1{margin:0;font-size:24px;color:var(--navy2)}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:9px}.button,.secondary{border:1px solid transparent;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:var(--blue);color:#fff}.button.dark{background:var(--navy2);color:#fff}.button.secondary,.secondary{background:#fff;color:var(--navy);border-color:#cbd7e0}.button:disabled{opacity:.45;cursor:not-allowed}.full{width:100%}.file-button{cursor:pointer}.content{padding:28px 34px 50px}.hidden{display:none!important}.empty-state{background:#fff;border:1px dashed #c6d3de;border-radius:14px;min-height:430px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:50px;box-shadow:var(--shadow)}.upload-icon{width:66px;height:66px;border-radius:50%;background:#e8f1fa;color:var(--blue);display:grid;place-items:center;font-size:34px;font-weight:300}.empty-state h2{margin:20px 0 8px}.empty-state p{max-width:600px;color:var(--muted);line-height:1.6;margin:0 0 22px}.big{padding:13px 18px!important}.rate-panel{display:grid;grid-template-columns:150px 150px 150px 1fr;gap:14px;background:#eef4f9;border:1px solid #d7e3ed;padding:15px;border-radius:11px;margin-bottom:18px;align-items:end}.rate-panel label,.classification-box label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#567085;margin-bottom:6px}.input-prefix{display:flex;background:#fff;border:1px solid #ccd7df;border-radius:7px;overflow:hidden}.input-prefix span{padding:8px 0 8px 10px;color:#718292}.input-prefix input{width:100%;border:0;outline:0;padding:8px;background:transparent}.rate-note{font-size:12px;color:#5f7486;line-height:1.45;padding:0 6px 4px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:17px;margin:0;color:var(--navy2)}.panel-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.total-pay{text-align:right}.total-pay span{display:block;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.05em}.total-pay strong{font-size:22px;color:var(--green)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1180px}th{background:#f7f9fb;color:#506577;font-size:10px;letter-spacing:.04em;text-transform:uppercase;text-align:right;padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,th:nth-child(2),td:first-child,td:nth-child(2){text-align:left}td{font-size:12px;padding:11px 10px;border-bottom:1px solid #edf1f4;text-align:right;white-space:nowrap}tbody tr:hover{background:#fbfdff}tfoot td{font-weight:800;background:#f2f6f9;border-top:2px solid #cad6df;border-bottom:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:18px;box-shadow:var(--shadow)}.summary-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.summary-card strong{display:block;font-size:24px;color:var(--navy2);margin-top:7px}.summary-card.accent strong{color:var(--green)}.two-col{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.metric-list{padding:8px 22px 16px}.metric-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f4;font-size:13px}.metric-row strong{font-variant-numeric:tabular-nums}.metric-row.total{font-weight:800;color:var(--navy2);border-top:1px solid #d5dee6}.classification-box{padding:22px}.input-prefix.large{font-size:20px;max-width:240px}.classification-box small{display:block;color:var(--muted);line-height:1.45;margin-top:9px}.reconcile{margin:0 22px 22px;padding:13px;border-radius:8px;background:#eef8f3;color:#316b54;font-size:12px;line-height:1.45}.alert{border-radius:9px;padding:12px 14px;margin-bottom:14px;font-size:12px;line-height:1.45}.alert.warning{background:#fff7e5;border:1px solid #ecd9ad;color:#7a5a19}.alert.success{background:#eaf7f1;border:1px solid #c9e9da;color:#2d674f}.alert.error{background:#fdeeee;border:1px solid #efcccc;color:#8d3232}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.rate-panel{grid-template-columns:repeat(3,1fr)}.rate-note{grid-column:1/-1}.two-col{grid-template-columns:1fr}.topbar{padding:0 22px}.content{padding:22px}.actions .button{padding:9px 10px}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{flex-direction:row}.sidebar-bottom{display:none}.topbar{position:relative;height:auto;padding:18px;align-items:flex-start;gap:14px;flex-direction:column}.actions{flex-wrap:wrap}.content{padding:16px}.rate-panel{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}}

/* v2: statement library + date selectors */
.secondary.subtle{margin-top:8px;background:transparent;color:#b8c6d2;border-color:#35516a}.secondary.subtle:disabled{opacity:.4}.empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.date-selector-bar{display:grid;grid-template-columns:220px 220px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow);align-items:end}.selector-field label,.statement-source span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#61788a;margin-bottom:6px}.selector-field select{width:100%;appearance:none;border:1px solid #cbd7e0;border-radius:7px;background:#fff;padding:9px 34px 9px 10px;color:var(--navy2);font-weight:700;font-size:13px;background-image:linear-gradient(45deg,transparent 50%,#718292 50%),linear-gradient(135deg,#718292 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.statement-source{padding:0 4px 4px;min-width:0}.statement-source strong{display:block;font-size:12px;color:#53697a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-date-bar{grid-template-columns:240px 1fr}.summary-date-bar+.summary-grid{margin-top:0}
@media(max-width:900px){.date-selector-bar{grid-template-columns:1fr 1fr}.statement-source{grid-column:1/-1}.summary-date-bar{grid-template-columns:1fr}.summary-date-bar .statement-source{grid-column:auto}}
@media(max-width:600px){.date-selector-bar{grid-template-columns:1fr}.statement-source{grid-column:auto}.empty-actions{flex-direction:column;width:100%;max-width:320px}.empty-actions .button{width:100%}}


/* v3: all-statements settlement dashboard */
.latest-summary-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 12px;padding:2px 2px 0}.latest-summary-heading span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#61788a}.latest-summary-heading h2{margin:4px 0 2px;font-size:21px;color:var(--navy2)}.latest-summary-heading p{margin:0;color:var(--muted);font-size:12px}.latest-detail-panel{margin-bottom:18px}.latest-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:0;padding:5px 18px 18px}.latest-detail{padding:15px 14px;border-bottom:1px solid #edf1f4}.latest-detail span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.latest-detail strong{display:block;margin-top:5px;font-size:17px;color:var(--navy2);font-variant-numeric:tabular-nums}.settlement-history-panel{margin-top:0}.history-count{font-size:12px;font-weight:800;color:#61788a;background:#f2f6f9;border:1px solid #dbe4eb;border-radius:99px;padding:6px 10px}.summary-history-table{min-width:1300px}.summary-history-table th:first-child,.summary-history-table td:first-child{text-align:left;position:sticky;left:0;z-index:1}.summary-history-table th:first-child{z-index:2;background:#f7f9fb}.summary-history-table td:first-child{background:#fff}.summary-history-table .latest-row td{background:#f4faf7}.summary-history-table .latest-row td:first-child{background:#f4faf7}.latest-badge{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:99px;background:#dff3ea;color:#267052;text-transform:uppercase;font-size:8px;letter-spacing:.05em;font-weight:900;vertical-align:1px}
@media(max-width:1100px){.latest-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.latest-detail-grid{grid-template-columns:1fr}.latest-summary-heading{align-items:flex-start}.summary-history-table th:first-child,.summary-history-table td:first-child{position:static}}

/* v4: fleet maintenance */
.eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#61788a}.maintenance-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.maintenance-toolbar h2{margin:4px 0 5px;color:var(--navy2);font-size:22px}.maintenance-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:760px}.maintenance-actions{display:flex;gap:9px;flex-shrink:0}.maintenance-status-panel{margin-bottom:18px}.maintenance-history-panel{margin-top:0}.summary-card.danger{border-color:#efc7c7;background:#fffafa}.summary-card.danger strong{color:#b73a3a}.summary-card.warning-card{border-color:#ead9aa;background:#fffdf6}.summary-card.warning-card strong{color:#8b6819}.maintenance-table{min-width:1580px}.maintenance-history-table{min-width:1180px}.maintenance-table th:first-child,.maintenance-table td:first-child,.maintenance-table th:nth-child(2),.maintenance-table td:nth-child(2),.maintenance-table th:nth-child(3),.maintenance-table td:nth-child(3),.maintenance-history-table th:nth-child(2),.maintenance-history-table td:nth-child(2),.maintenance-history-table th:nth-child(5),.maintenance-history-table td:nth-child(5),.maintenance-history-table th:nth-child(6),.maintenance-history-table td:nth-child(6){text-align:left}.maintenance-row.overdue td{background:#fff1f1;border-bottom-color:#f4d3d3}.maintenance-row.overdue:hover td{background:#ffecec}.maintenance-row.due-soon td{background:#fffdf6}.maintenance-row td small{display:block;font-size:9px;color:#7e8d98;margin-top:3px}.maintenance-row .negative{color:#b52f2f;font-weight:850}.weeks-cell{font-weight:750}.status-pill{display:inline-block;border-radius:99px;padding:5px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.status-pill.overdue{background:#f8dada;color:#a52e2e}.status-pill.due-soon{background:#fff0c9;color:#7c5b10}.status-pill.ok{background:#ddf1e7;color:#276b50}.status-pill.baseline{background:#e8edf1;color:#596c7b}.table-action{border:1px solid #cbd7e0;background:#fff;color:#31506c;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.table-action:hover{background:#f3f7fa}.danger-link{color:#a53b3b;border-color:#e5c4c4}.notes-cell{max-width:360px;white-space:normal;line-height:1.4}.plan-badge{display:inline-block;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:900}.plan-badge.pm1{background:#e6f0fa;color:#315d86}.plan-badge.pm2{background:#e1eee8;color:#2d6750}.plan-badge.other{background:#f0ece5;color:#6a5a40}.empty-table-cell{text-align:center!important;padding:30px!important;color:var(--muted);font-size:12px}.selector-field.compact{width:220px}.selector-field.compact select{padding-top:7px;padding-bottom:7px}

.modal-backdrop{position:fixed;inset:0;background:rgba(12,29,44,.48);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.modal-card{width:min(620px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(9,30,48,.28);padding:24px}.modal-card.wide{width:min(720px,100%)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.modal-heading h2{margin:4px 0 0;color:var(--navy2);font-size:21px}.icon-btn{border:0;background:#eff3f6;color:#52697b;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-field{margin-bottom:14px}.form-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#5e7485;margin-bottom:6px}.form-field input,.form-field select,.form-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd7e0;border-radius:8px;padding:10px 11px;background:#fff;color:var(--navy2);font:inherit;font-size:13px;outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#6e9fc8;box-shadow:0 0 0 3px rgba(72,132,183,.12)}.form-field textarea{resize:vertical;min-height:95px}.form-note{background:#f4f7fa;border:1px solid #e0e7ed;border-radius:8px;padding:10px 12px;color:#65798a;font-size:11px;line-height:1.5;margin-top:-2px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid #e6ebef}.maintenance-scope{display:flex;gap:12px;align-items:flex-start;background:#eef5fa;border:1px solid #d8e5ef;border-radius:9px;padding:12px 13px;margin:-2px 0 15px}.maintenance-scope strong{font-size:11px;color:#2d587e;min-width:42px}.maintenance-scope span{font-size:11px;color:#536d81;line-height:1.45}

@media(max-width:900px){.maintenance-toolbar{align-items:flex-start;flex-direction:column}.maintenance-actions{width:100%;flex-wrap:wrap}.form-grid.two{grid-template-columns:1fr}.selector-field.compact{width:100%}}

/* Monthly Maintenance Record PDF controls */
.mmr-panel{margin-top:20px}
.mmr-controls{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;padding:18px 20px 8px}
.mmr-actions{display:flex;align-items:center;gap:16px;padding:10px 20px 20px}
.mmr-note{font-size:12px;color:#6b7280;line-height:1.45;max-width:720px}
.row-actions{display:flex;gap:6px;white-space:nowrap}
@media (max-width:1100px){.mmr-controls{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media (max-width:700px){.mmr-controls{grid-template-columns:1fr}.mmr-actions{align-items:flex-start;flex-direction:column}}

/* v6: maintenance cost capture + tractor spreadsheet import */
.maintenance-actions{flex-wrap:wrap;justify-content:flex-end}
.optional-label{font-size:9px;font-weight:700;color:#8797a4;text-transform:none;letter-spacing:0;margin-left:4px}
.optional-cost-group .input-prefix{width:100%;box-sizing:border-box}
.optional-cost-group .input-prefix input{border:0!important;box-shadow:none!important;border-radius:0!important;padding:10px 9px!important}
.optional-cost-group .input-prefix input:focus{box-shadow:none!important}
.cost-note{margin-bottom:14px}
.maintenance-history-table{min-width:1900px}
.maintenance-history-table th:nth-child(6),.maintenance-history-table td:nth-child(6),.maintenance-history-table th:nth-child(7),.maintenance-history-table td:nth-child(7),.maintenance-history-table th:nth-child(8),.maintenance-history-table td:nth-child(8),.maintenance-history-table th:nth-child(9),.maintenance-history-table td:nth-child(9){text-align:left}
@media(max-width:1250px){.maintenance-actions{justify-content:flex-start}}


/* v8: Nashbox Logistics / NBL Business Analyzer branding */
.sidebar{background:linear-gradient(180deg,#35164E 0%,#281039 100%)}
.brand{display:block;padding:0 6px 25px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:18px}
.brand .nbl-logo{display:block;width:190px;max-width:100%;height:auto;background:#fff;border-radius:10px;padding:8px 10px;box-shadow:0 8px 24px rgba(0,0,0,.13)}
.brand .app-name{font-size:12px;font-weight:800;letter-spacing:.035em;color:#fff;margin-top:10px;padding-left:2px}
.nav-btn{color:#D8CCE1}
.nav-btn span{color:#A98BBB}
.nav-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-btn.active{background:rgba(241,90,36,.16);color:#fff;box-shadow:inset 3px 0 0 var(--orange)}
.nav-btn.active span{color:#FF9B76}
.folder-status{border-top-color:rgba(255,255,255,.13)}
.secondary.subtle{color:#D8CCE1;border-color:#65467A}
.topbar{border-bottom:2px solid rgba(241,90,36,.22)}
.topbar h1,.panel-heading h2,.maintenance-toolbar h2,.latest-summary-heading h2,.modal-heading h2{color:var(--purple-dark)}
.button.primary{background:var(--orange);color:#fff;box-shadow:0 2px 0 rgba(160,53,13,.12)}
.button.primary:hover{background:var(--orange-dark)}
.button.dark{background:var(--purple-dark);color:#fff}
.button.secondary,.secondary{color:var(--purple);border-color:#D8CCE1}
.upload-icon{background:#FFF0EA;color:var(--orange)}
.rate-panel{background:#F6F0F8;border-color:#E4D8E9}
.rate-panel label,.classification-box label,.selector-field label,.statement-source span,.eyebrow,.latest-summary-heading span{color:#6B4A7D}
.input-prefix{border-color:#DACFE0}
.selector-field select,.form-field input,.form-field select,.form-field textarea{border-color:#D9CEDF}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(241,90,36,.12)}
.history-count{color:var(--purple);background:#F7F2F9;border-color:#E5D9EA}
.latest-badge{background:#FFF0EA;color:#B74116}
.summary-card{border-top:3px solid rgba(91,42,134,.18)}
.summary-card.accent{border-top-color:var(--orange)}
.panel{border-color:#E7E0EA}
th{background:#FAF7FB;color:#66526F}
tfoot td{background:#F7F2F9;border-top-color:#D9CBDF}
.table-action{border-color:#D8CCE1;color:var(--purple)}
.table-action:hover{background:#F8F3FA}
.icon-btn{background:#F5EFF8;color:var(--purple)}
.maintenance-scope{background:#F7F2F9;border-color:#E6D9EA}
.maintenance-scope strong{color:var(--purple)}
.maintenance-scope span{color:#6D5C76}
@media(max-width:800px){.brand .nbl-logo{width:180px}.brand{border-bottom:0;margin-bottom:8px}.sidebar nav{margin-top:4px}}

/* v9: exact supplied Nashbox Logistics logo */
.brand .nbl-logo{width:205px;max-width:100%;height:auto;object-fit:contain;background:#fff;border-radius:10px;padding:10px 9px;display:block}


/* v12: Meetings module */
.meeting-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.meeting-toolbar h2{margin:4px 0 5px;color:var(--purple-dark);font-size:22px}
.meeting-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.meeting-toolbar-actions{display:flex;gap:9px;flex-shrink:0}
.meeting-panel{margin-bottom:18px}
.management-panel{margin-top:0}
.panel-heading-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.meeting-table{min-width:0;width:auto;table-layout:fixed}
.management-meeting-table{min-width:0}
.meeting-table th{position:relative;user-select:none}
.meeting-table th .column-resize-handle{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:3;touch-action:none}
.meeting-table th .column-resize-handle::after{content:"";position:absolute;top:20%;bottom:20%;left:4px;width:1px;background:#c8bfd0;opacity:0;transition:opacity .12s ease}
.meeting-table th:hover .column-resize-handle::after,.meeting-table th.resizing .column-resize-handle::after{opacity:1;background:var(--purple)}
.meeting-table.resizing-columns,.meeting-table.resizing-columns *{cursor:col-resize!important}
.meeting-table td{overflow:hidden;text-overflow:ellipsis}
.meeting-table .meeting-notes-cell,.management-meeting-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:top}
.meeting-table th:first-child,.meeting-table td:first-child,.meeting-table th:nth-child(2),.meeting-table td:nth-child(2),.meeting-table th:nth-child(3),.meeting-table td:nth-child(3){text-align:left}
.management-meeting-table th:nth-child(4),.management-meeting-table td:nth-child(4){text-align:left}
.meeting-notes-cell{white-space:normal;line-height:1.45;overflow-wrap:anywhere}
.yn-pill{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}
.yn-pill.yes{background:#dff2e7;color:#236a49;border:1px solid #bfe3cf}
.yn-pill.no{background:#f9dddd;color:#a12e2e;border:1px solid #efc0c0}
.priority-pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.priority-pill.p1{background:#f8dddd;color:#a02e2e}
.priority-pill.p2{background:#fff0c9;color:#7a5a10}
.priority-pill.p3{background:#e9eef2;color:#526675}
.resolved-row td{opacity:.72;background:#fafbfb}
.overdue-meeting-row td{background:#fff8f8}
.due-overdue{color:#b12f2f;font-weight:850}
@media(max-width:900px){.meeting-toolbar{align-items:flex-start;flex-direction:column}.meeting-toolbar-actions{width:100%;flex-wrap:wrap}.meeting-panel .panel-heading{align-items:flex-start;gap:12px;flex-direction:column}.panel-heading-actions{width:100%;flex-wrap:wrap}}

/* v14: Revenue Finder */
.revenue-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.revenue-toolbar h2{margin:4px 0 5px;color:var(--purple-dark);font-size:22px}
.revenue-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:840px}
.revenue-panel{margin-bottom:18px}
.revenue-table{min-width:1450px}
.broken-legs-table{min-width:1650px}
.missing-fuel-table{min-width:1750px}
.missing-dh-table{min-width:1700px}
.revenue-table th,.revenue-table td{vertical-align:top}
.revenue-table th:first-child,.revenue-table td:first-child,.revenue-table th:nth-child(2),.revenue-table td:nth-child(2),.revenue-table th:nth-child(3),.revenue-table td:nth-child(3){text-align:left}
.revenue-detail-cell{white-space:normal;line-height:1.42;min-width:280px;max-width:520px}
.revenue-reason-cell{white-space:normal;line-height:1.42;min-width:260px;max-width:420px}
.revenue-amount{font-weight:900;color:#a84218}
.revenue-zero{color:#a12e2e;font-weight:850}
.revenue-reference{font-size:10px;color:#667887;display:block;margin-top:3px;white-space:normal;line-height:1.35}
.revenue-flag-row td{background:#fffdf9}
.revenue-flag-row:hover td{background:#fff9f1}
.revenue-empty{padding:28px!important;text-align:center!important;color:var(--muted);font-size:12px}
.revenue-score{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#fff0c9;color:#77580f}
.revenue-score.strong{background:#f8dddd;color:#9f3030}
.revenue-score.review{background:#e9eef2;color:#526675}
@media(max-width:900px){.revenue-toolbar{align-items:flex-start;flex-direction:column}}

/* Finance access lock */
.nav-lock{margin-left:auto;font-style:normal;font-size:12px;opacity:.8}
.finance-lock-status{margin-top:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.045)}
.finance-lock-status .lock-dot{width:9px;height:9px;border-radius:50%;background:#f04444;box-shadow:0 0 0 3px rgba(240,68,68,.14)}
.finance-lock-status.unlocked .lock-dot{background:#3fbd73;box-shadow:0 0 0 3px rgba(63,189,115,.15)}
.finance-lock-status div{display:flex;flex-direction:column;gap:2px}.finance-lock-status strong{font-size:12px}.finance-lock-status small{font-size:11px;opacity:.7}
.finance-lock-btn{margin-top:7px}
.finance-locked-state{min-height:60vh;display:flex;align-items:center;justify-content:center}.finance-locked-state.hidden{display:none}
.finance-lock-card{max-width:520px;text-align:center;padding:48px 44px;border-radius:20px;background:#fff;border:1px solid #e4dde9;box-shadow:0 14px 44px rgba(53,22,78,.12)}
.finance-lock-icon{width:66px;height:66px;border-radius:18px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:27px;background:#f4eef8;border:1px solid #e4d9ec}
.finance-lock-card h2{margin:0 0 10px;color:#35164e}.finance-lock-card p{margin:0 auto 22px;max-width:430px;color:#6b6171;line-height:1.5}
.finance-security-card{max-width:520px}.finance-security-section{padding:4px 0 0}.security-intro{color:#625a68;line-height:1.55;margin:4px 0 18px}.security-error{padding:10px 12px;border-radius:9px;background:#fff0f0;color:#a92828;border:1px solid #f5caca;font-size:13px;margin:4px 0 12px}.security-error.hidden{display:none}
.finance-unlock-actions,.security-manage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.security-status-row{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;background:#f7f3f9;margin-bottom:14px}.security-device-note,.security-footnote{font-size:12px;line-height:1.5;color:#766d7b;margin-top:14px}.security-footnote{padding-top:14px;border-top:1px solid #ece6ef}.status-pill.yes{background:#e7f8ee;color:#167343;border:1px solid #bfe8cf;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}

/* Motive integration */
.motive-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.motive-toolbar h2{margin:4px 0 6px}.motive-toolbar p{margin:0;color:var(--muted,#6b7280)}.motive-toolbar-actions,.motive-fleet-actions,.motive-connect-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.motive-connection-panel,.motive-fleet-panel{margin-top:18px}.motive-connect-grid{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:16px;align-items:end;padding:18px 20px 4px}.motive-key-field{margin:0}.motive-security-note{margin:12px 20px 18px;padding:12px 14px;border-radius:10px;background:#f7f3fa;color:#50325f;font-size:13px}.motive-test-results{padding:0 20px 20px}.motive-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.motive-access-grid>div{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;background:#fff}.motive-access-grid span,.motive-access-grid small{display:block;color:#6b7280;font-size:12px}.motive-access-grid strong{display:block;margin-top:3px}.ok-text{color:#18794e}.bad-text{color:#b42318}.motive-table td small{display:block;color:#777;margin-top:3px;font-size:11px}.motive-table th,.motive-table td{white-space:nowrap}.motive-table td:nth-child(8){white-space:normal;min-width:180px}.status-pill.yes{background:#e7f7ee;color:#147a45;border-color:#bfe9cf}
@media(max-width:900px){.motive-toolbar{flex-direction:column}.motive-connect-grid{grid-template-columns:1fr}.motive-access-grid{grid-template-columns:1fr}}

/* v18: IVMR module */
.ivmr-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.ivmr-toolbar h2{margin:4px 0 6px;color:var(--purple-dark);font-size:22px}.ivmr-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:820px}.ivmr-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.ivmr-filter-panel{margin-bottom:18px}.ivmr-filter-grid{display:grid;grid-template-columns:190px 190px 240px 1fr;gap:14px;align-items:end;padding:18px 20px 6px}.ivmr-source-note{font-size:12px;line-height:1.45;color:#66526f;background:#faf7fb;border:1px solid #e7e0ea;border-radius:9px;padding:11px 13px;margin-bottom:14px}.ivmr-location-panel,.ivmr-fleet-panel,.ivmr-detail-panel,.ivmr-domicile-panel{margin-bottom:18px}.ivmr-table{min-width:1550px}.ivmr-detail-table{min-width:1450px}.ivmr-domicile-table{min-width:900px}.ivmr-table th:first-child,.ivmr-table td:first-child,.ivmr-detail-table th:first-child,.ivmr-detail-table td:first-child,.ivmr-detail-table th:nth-child(2),.ivmr-detail-table td:nth-child(2),.ivmr-domicile-table th:first-child,.ivmr-domicile-table td:first-child,.ivmr-domicile-table th:nth-child(2),.ivmr-domicile-table td:nth-child(2),.ivmr-domicile-table th:nth-child(3),.ivmr-domicile-table td:nth-child(3){text-align:left}.ivmr-jurisdiction-cell{white-space:normal;min-width:280px;max-width:440px;line-height:1.4}.ivmr-warning-row td{background:#fff7f7}.ivmr-missing{color:#b42318;font-weight:850}.ivmr-table .table-action:disabled{opacity:.42;cursor:not-allowed}.ivmr-detail-table td:nth-child(9){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.ivmr-detail-table th,.ivmr-detail-table td{white-space:nowrap}
@media(max-width:1100px){.ivmr-filter-grid{grid-template-columns:1fr 1fr}.ivmr-source-note{grid-column:1/-1}}@media(max-width:800px){.ivmr-toolbar{flex-direction:column}.ivmr-filter-grid{grid-template-columns:1fr}.ivmr-source-note{grid-column:auto}}

/* v20 build marker */
.app-version{margin-top:5px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f7a07d;opacity:.95}
/* v21 - FedEx FL-001 IVMR settings */
.ivmr-filter-grid-v21{grid-template-columns:180px 180px 210px minmax(230px,1fr) 210px;align-items:end}
.ivmr-filter-grid-v21 .ivmr-source-note{grid-column:1/-1;margin-bottom:14px}
@media(max-width:1250px){.ivmr-filter-grid-v21{grid-template-columns:1fr 1fr 1fr}.ivmr-filter-grid-v21 .ivmr-source-note{grid-column:1/-1}}
@media(max-width:800px){.ivmr-filter-grid-v21{grid-template-columns:1fr}.ivmr-filter-grid-v21 .ivmr-source-note{grid-column:auto}}

/* v26: non-blocking hybrid IVMR route build progress */
.ivmr-route-progress{margin-bottom:18px;padding:16px 18px;border:1px solid #eadff0;background:#fff;}
.ivmr-route-progress.hidden{display:none!important;}
.ivmr-route-progress-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px;font-size:14px;}
.ivmr-route-progress-head strong{color:#3d164f;}
.ivmr-route-progress-track{height:10px;background:#eee7f1;border-radius:999px;overflow:hidden;}
.ivmr-route-progress-bar{height:100%;background:#f65a1b;border-radius:999px;transition:width .2s ease;}
.ivmr-route-progress-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;color:#6d6271;font-size:12px;}

/* v27: Nashville Dispatch Planner */
.dispatch-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.dispatch-toolbar h2{margin:4px 0 6px;color:var(--purple-dark);font-size:22px}.dispatch-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:820px}
.dispatch-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dispatch-potential{padding:9px 12px;border-radius:999px;background:#f7f1fa;border:1px solid #e4d8eb;color:var(--purple-dark);font-size:11px;font-weight:850;white-space:nowrap}
.dispatch-summary-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.dispatch-summary-grid .danger strong{color:#a12e2e}.dispatch-summary-grid .success strong{color:var(--green)}
.dispatch-driver-panel,.dispatch-board-panel,.dispatch-gaps-panel{margin-bottom:18px}
.dispatch-save-state{font-size:11px;font-weight:800;color:#637081;background:#f5f7f9;border:1px solid #e2e7eb;border-radius:999px;padding:6px 10px}
.dispatch-driver-pool{padding:16px 18px 18px;display:flex;gap:10px;flex-wrap:wrap}
.dispatch-driver-card{border:1px solid #ddd4e4;background:#fff;border-radius:11px;padding:10px 12px;min-width:210px;cursor:grab;box-shadow:0 2px 8px rgba(53,22,78,.05);transition:.15s ease;user-select:none}
.dispatch-driver-card:hover{transform:translateY(-1px);border-color:#bda7cb}.dispatch-driver-card.selected{outline:3px solid rgba(241,90,36,.22);border-color:var(--orange)}.dispatch-driver-card:active{cursor:grabbing}
.dispatch-driver-card.urr{border-left:4px solid var(--orange)}.dispatch-driver-card.assigned{border-left:4px solid var(--purple)}
.dispatch-driver-name{font-size:12px;font-weight:850;color:var(--purple-dark);display:block}.dispatch-driver-meta{display:block;margin-top:4px;font-size:10px;color:#756c7d;line-height:1.35}.dispatch-driver-badge{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#f1ebf4;color:#5b2a86}.dispatch-driver-card.urr .dispatch-driver-badge{background:#fff0e9;color:#bd4518}
.dispatch-board-wrap{overflow:auto;padding:0 0 4px}.dispatch-board{display:grid;grid-template-columns:235px repeat(7,minmax(145px,1fr));min-width:1310px}
.dispatch-board>*{border-right:1px solid #eee8f0;border-bottom:1px solid #eee8f0}.dispatch-board>*:nth-child(8n){border-right:0}
.dispatch-corner,.dispatch-day-head{background:#f8f5fa;padding:12px 10px;position:sticky;top:0;z-index:2}.dispatch-corner{left:0;z-index:3;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#6d5e75}.dispatch-day-head{text-align:center}.dispatch-day-head strong{display:block;font-size:12px;color:var(--purple-dark)}.dispatch-day-head small{display:block;font-size:9px;color:#7c7182;margin-top:3px}.dispatch-day-head.full small{color:var(--green);font-weight:850}.dispatch-day-head.gap small{color:#a12e2e;font-weight:850}
.dispatch-run-head{padding:12px 13px;background:#fff;position:sticky;left:0;z-index:1}.dispatch-run-head.assigned{border-left:4px solid var(--purple)}.dispatch-run-head.unassigned{border-left:4px solid var(--orange)}.dispatch-run-head strong{display:block;font-size:12px;color:var(--purple-dark)}.dispatch-run-head span{display:block;font-size:10px;color:#766c7c;margin-top:3px}.dispatch-run-type{display:inline-flex!important;width:max-content;margin-top:6px!important;padding:3px 7px;border-radius:999px;background:#f1ebf4;color:#5b2a86!important;font-size:8px!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.dispatch-run-head.unassigned .dispatch-run-type{background:#fff0e9;color:#bd4518!important}
.dispatch-cell{min-height:82px;padding:7px;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;transition:.12s ease}.dispatch-cell.inactive{background:#f7f7f8;color:#bbb}.dispatch-cell.active.open{background:#fff5f5}.dispatch-cell.active.open:after{content:'OPEN';font-size:9px;font-weight:900;letter-spacing:.06em;color:#bd3c3c;border:1px dashed #e7a8a8;border-radius:999px;padding:4px 8px}.dispatch-cell.active.drop-hover{background:#fff2e8;outline:2px solid rgba(241,90,36,.45);outline-offset:-2px}.dispatch-cell.active.selected-target{box-shadow:inset 0 0 0 2px rgba(241,90,36,.25)}
.dispatch-assignment{width:100%;min-height:62px;border-radius:9px;background:#eef8f3;border:1px solid #c8e8d8;padding:8px 24px 7px 9px;cursor:grab;position:relative;text-align:left}.dispatch-assignment.primary{background:#f4eef8;border-color:#d9c7e4}.dispatch-assignment.override{background:#fff7e5;border-color:#ead29b}.dispatch-assignment strong{display:block;font-size:10px;color:#2f3540;white-space:normal;line-height:1.25}.dispatch-assignment small{display:block;font-size:8px;color:#66727e;margin-top:3px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.dispatch-remove{position:absolute;right:5px;top:4px;border:0;background:transparent;color:#8b7b90;font-size:14px;cursor:pointer;line-height:1}.dispatch-remove:hover{color:#a12e2e}
.dispatch-bench-head{padding:10px 13px;background:#fcfbfc;position:sticky;left:0;z-index:1}.dispatch-bench-head strong{font-size:11px;color:#5f5365}.dispatch-bench{min-height:88px;padding:7px;background:#fcfbfc;display:flex;flex-direction:column;gap:5px}.dispatch-bench.drop-hover{background:#f7f1fa;outline:2px solid rgba(91,42,134,.25);outline-offset:-2px}.dispatch-bench-chip{padding:5px 7px;border-radius:7px;border:1px solid #e0d8e5;background:#fff;font-size:9px;font-weight:800;color:#574a5e;cursor:grab;line-height:1.2}.dispatch-bench-chip.urr{border-left:3px solid var(--orange)}.dispatch-bench-chip.assigned{border-left:3px solid var(--purple)}
.dispatch-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:9px;font-weight:800;color:#756c7d}.dispatch-legend span{display:flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.legend-dot.covered{background:#63b58f}.legend-dot.open{background:#df7777}.legend-dot.primary{background:#8a62a5}
.dispatch-gap-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:16px 18px 18px}.dispatch-gap-day{border:1px solid #e7e0ea;border-radius:10px;padding:11px;background:#fff}.dispatch-gap-day strong{display:block;font-size:11px;color:var(--purple-dark)}.dispatch-gap-day span{display:block;margin-top:5px;font-size:10px;color:#746a79;line-height:1.35}.dispatch-gap-day.clear{background:#f1faf5;border-color:#cfeadb}.dispatch-gap-day.has-gap{background:#fff7f7;border-color:#efcece}.dispatch-gap-day.has-gap span{color:#9a3737}.dispatch-gap-day .gap-count{font-size:18px!important;font-weight:900!important;margin-top:3px!important;color:inherit!important}
@media(max-width:1100px){.dispatch-toolbar{flex-direction:column}.dispatch-toolbar-actions{justify-content:flex-start}.dispatch-gap-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.dispatch-gap-strip{grid-template-columns:1fr 1fr}.dispatch-driver-card{min-width:100%}}

/* v28 Dispatch schedule editing */
.dispatch-driver-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dispatch-edit-schedule{border:1px solid #dccfe5;background:#faf7fc;color:var(--purple);border-radius:7px;padding:5px 7px;font:inherit;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.dispatch-edit-schedule:hover{border-color:var(--purple);background:#f3edf7}
.dispatch-day-checkboxes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dispatch-day-checkboxes label{display:flex;align-items:center;gap:7px;border:1px solid #ddd5e3;border-radius:8px;padding:9px 10px;background:#faf9fb;color:var(--purple-dark);font-size:11px;font-weight:800;cursor:pointer}
.dispatch-day-checkboxes input{width:auto;margin:0}
.dispatch-assignment.schedule-warning{box-shadow:inset 0 0 0 2px #e7a400}
@media(max-width:600px){.dispatch-day-checkboxes{grid-template-columns:repeat(2,1fr)}}


/* Dispatch revenue planner v30 */
.dispatch-run-head{min-height:130px}
.dispatch-run-head .dispatch-run-statline{font-size:9px;color:#5d5363;margin-top:5px;line-height:1.35}
.dispatch-run-head .dispatch-run-statline strong{display:inline;font-size:9px;color:#3a2c43}
.dispatch-run-edit{margin-top:7px;border:1px solid #ded2e6;background:#faf7fc;color:var(--purple);border-radius:7px;padding:5px 7px;font:inherit;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.dispatch-run-edit:hover{border-color:var(--purple);background:#f3edf7}
.dispatch-driver-pay{display:block;margin-top:5px;font-size:9px;font-weight:850;color:#4b4050}
.dispatch-economics-panel,.dispatch-opportunity-panel{margin-bottom:18px}
.dispatch-economics-table{width:100%;border-collapse:collapse;min-width:980px}
.dispatch-economics-table th{background:#f7f3f9;color:#5a4667;font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;border-bottom:1px solid #e4dce9;text-align:left;white-space:nowrap}
.dispatch-economics-table td{font-size:10px;color:#3f3844;padding:9px 10px;border-bottom:1px solid #eee8f0;vertical-align:middle}
.dispatch-economics-table tbody tr:hover{background:#fcfafc}
.dispatch-economics-table .money{font-variant-numeric:tabular-nums;font-weight:800}
.dispatch-economics-table .lost{color:#a12e2e;font-weight:900}
.dispatch-economics-table .good{color:var(--green);font-weight:900}
.dispatch-economics-table .muted{color:#8a818e}
.dispatch-economics-table .button{padding:5px 8px;font-size:8px}
.dispatch-driver-economics-heading{padding:16px 18px 7px;border-top:1px solid #eee8f0;margin-top:6px}
.dispatch-driver-economics-heading h3{margin:0;color:var(--purple-dark);font-size:14px}
.dispatch-driver-economics-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.dispatch-opportunity-list{padding:14px 18px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}
.dispatch-opportunity-item{border:1px solid #e7dfe9;border-radius:10px;padding:11px 12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dispatch-opportunity-item.risk{background:#fff7f7;border-color:#efcccc}
.dispatch-opportunity-item.clear{background:#f1faf5;border-color:#cfe8d9}
.dispatch-opportunity-item strong{display:block;color:#4a3655;font-size:11px}
.dispatch-opportunity-item span{display:block;margin-top:4px;color:#736978;font-size:9px;line-height:1.35}
.dispatch-opportunity-value{text-align:right;white-space:nowrap;color:#a12e2e;font-size:13px;font-weight:900}
.dispatch-opportunity-item.clear .dispatch-opportunity-value{color:var(--green)}
.dispatch-economic-note{font-size:8px;color:#8b818f;margin-top:3px}
.optional-label{font-weight:600;color:#918797;font-size:9px;text-transform:none;letter-spacing:0}
@media(max-width:900px){.dispatch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v31 multi-location dispatch */
.dispatch-location-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:10px 12px;background:#fff;border:1px solid #e8e0eb;border-radius:12px;box-shadow:0 2px 10px rgba(53,22,78,.04)}
.dispatch-location-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.dispatch-location-tab{border:1px solid #ded3e4;background:#faf8fb;color:#5f5365;border-radius:9px;padding:8px 12px;cursor:pointer;text-align:left;min-width:110px}.dispatch-location-tab strong{display:block;font-size:11px;color:inherit}.dispatch-location-tab span{display:block;font-size:8px;margin-top:2px;color:#84778a}.dispatch-location-tab.active{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 3px 10px rgba(53,22,78,.18)}.dispatch-location-tab.active span{color:#e7ddec}.dispatch-location-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.danger-outline{border-color:#e6b6b6!important;color:#a12e2e!important;background:#fff8f8!important}.danger-outline:disabled{opacity:.45;cursor:not-allowed}
.dispatch-run-actions{display:flex;gap:6px;align-items:center;margin-top:7px}.dispatch-run-actions .dispatch-run-edit{margin-top:0}.dispatch-run-delete{border:1px solid #eccaca;background:#fff8f8;color:#a12e2e;border-radius:7px;padding:5px 7px;font:inherit;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.dispatch-run-delete:hover{border-color:#c66;background:#fff0f0}
.dispatch-no-runs{grid-column:1 / -1;padding:28px;text-align:center;background:#fcfafc;border-bottom:1px solid #eee8f0;color:#716678}.dispatch-no-runs strong{display:block;color:var(--purple-dark);font-size:13px}.dispatch-no-runs span{display:block;margin-top:5px;font-size:10px}
@media(max-width:900px){.dispatch-location-bar{align-items:flex-start;flex-direction:column}.dispatch-location-actions{justify-content:flex-start}}

/* v32 Dispatch driver roster and location assignment */
.modal-card.extra-wide{width:min(1120px,100%)}
#dispatchScheduleModal{z-index:65}
.dispatch-roster-modal-card{padding-bottom:18px}
.dispatch-roster-section{border:1px solid #e8e0eb;border-radius:12px;margin:0 0 16px;background:#fff;overflow:hidden}
.dispatch-roster-section .panel-heading{border-bottom:1px solid #eee8f0}
.compact-heading{padding:14px 16px!important;align-items:center}
.compact-heading h3{margin:0;color:var(--purple-dark);font-size:14px}.compact-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.dispatch-roster-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dispatch-import-location-row{padding:13px 16px 0;align-items:end}.dispatch-import-location-row .form-field{margin-bottom:12px}.compact-note{margin:0 0 12px;padding:9px 11px}
.dispatch-roster-table-wrap{max-height:280px;overflow:auto}.dispatch-roster-table{width:100%;border-collapse:collapse;min-width:760px}.dispatch-roster-table th{position:sticky;top:0;background:#f7f3f9;color:#5a4667;font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:9px 10px;border-bottom:1px solid #e4dce9;text-align:left;z-index:1}.dispatch-roster-table td{font-size:10px;color:#3f3844;padding:9px 10px;border-bottom:1px solid #eee8f0;vertical-align:middle}.dispatch-roster-table tbody tr:hover{background:#fcfafc}.dispatch-roster-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple)}
.dispatch-manual-driver-section form{padding:14px 16px 16px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.inline-actions{border-top:0;margin-top:4px;padding-top:0}
.dispatch-location-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f2ecf6;color:var(--purple);font-size:9px;font-weight:850}
.status-pill.neutral{background:#f2f3f5;color:#66717d;border-color:#e0e4e8}
.dispatch-roster-row-actions{display:flex;gap:6px;white-space:nowrap}.dispatch-roster-row-actions .button{padding:5px 8px;font-size:8px}
.dispatch-empty-driver-pool{width:100%;border:1px dashed #d9cde0;background:#fbf9fc;border-radius:10px;padding:16px;text-align:center;color:#74687b}.dispatch-empty-driver-pool strong{display:block;color:var(--purple-dark);font-size:12px}.dispatch-empty-driver-pool span{display:block;margin-top:4px;font-size:10px}
@media(max-width:850px){.form-grid.three{grid-template-columns:1fr}.dispatch-import-location-row{grid-template-columns:1fr}.dispatch-roster-actions{justify-content:flex-start}}


/* v33 Dispatch tractor planning */
.dispatch-tractor-panel{margin-bottom:18px}
.dispatch-tractor-pool{padding:16px 18px 18px;display:flex;gap:10px;flex-wrap:wrap}
.dispatch-tractor-card{border:1px solid #ddd4e4;background:#fff;border-radius:11px;padding:10px 12px;min-width:220px;box-shadow:0 2px 8px rgba(53,22,78,.05);border-left:4px solid var(--purple)}
.dispatch-tractor-card strong{display:block;font-size:13px;color:var(--purple-dark)}
.dispatch-tractor-card span{display:block;margin-top:4px;font-size:9px;color:#756c7d;line-height:1.35}
.dispatch-tractor-card .dispatch-tractor-odo{font-size:11px;font-weight:850;color:#493750}
.dispatch-tractor-card .dispatch-tractor-location{display:inline-flex;width:max-content;margin-top:7px;padding:3px 7px;border-radius:999px;background:#f1ebf4;color:#5b2a86;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.dispatch-tractor-card .dispatch-tractor-status.ok{color:var(--green);font-weight:800}.dispatch-tractor-card .dispatch-tractor-status.warn{color:#a16b12;font-weight:800}
.dispatch-motive-state{font-size:10px;font-weight:800;color:#637081;background:#f5f7f9;border:1px solid #e2e7eb;border-radius:999px;padding:6px 10px;white-space:nowrap}
.dispatch-tractor-location-select{min-width:140px;padding:6px 8px;border:1px solid #ddd5e3;border-radius:7px;background:#fff;color:#4a3a51;font-size:10px}
.dispatch-equipment-note{font-size:8px;color:#85798a;margin-top:3px}
@media(max-width:700px){.dispatch-tractor-card{min-width:100%}.dispatch-motive-state{white-space:normal}}

/* v34 Dispatch run-to-tractor assignment */
.dispatch-run-tractor-label{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:10px;font-weight:700;color:#5f5664}.dispatch-run-tractor-label select{min-width:92px;max-width:150px;padding:3px 22px 3px 6px;border:1px solid #d8cfe0;border-radius:6px;background:#fff;color:#35164e;font-size:10px;font-weight:700}.dispatch-run-tractor-label.warning{color:#a12e2e}.dispatch-run-tractor-label.warning select{border-color:#dca5a5;background:#fff1f1}

/* v37 saved dispatch plans */
.dispatch-plan-panel{margin:0 0 18px;padding:16px 18px;background:linear-gradient(135deg,#fff 0%,#fbf8fd 100%);border:1px solid #e6ddea}
.dispatch-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dispatch-plan-heading h2{margin:3px 0 5px;color:var(--purple-dark);font-size:18px}
.dispatch-plan-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:760px}
.dispatch-plan-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:820px}
.dispatch-plan-controls select{min-width:220px;height:38px;border:1px solid #d9ccdf;border-radius:9px;background:#fff;color:#35164e;font-weight:800;padding:0 34px 0 11px}
.dispatch-plan-meta{margin-top:12px;padding-top:10px;border-top:1px solid #eee7f1;color:#6f6574;font-size:11px;font-weight:700}
@media(max-width:1200px){.dispatch-plan-heading{flex-direction:column}.dispatch-plan-controls{justify-content:flex-start;max-width:none}}

/* v38 Motive historical maintenance odometer */
.maintenance-odometer-row{display:flex;gap:10px;align-items:center}.maintenance-odometer-row input{flex:1;min-width:0}.button.compact{padding:10px 13px;white-space:nowrap;font-size:.84rem}.motive-odometer-status{margin-top:7px;min-height:18px}.motive-odometer-status.loading{color:#6a329f}.motive-odometer-status.success{color:#177245}.motive-odometer-status.warning{color:#a65b00}.motive-odometer-status.error{color:#b42318}


/* v39: flexible driver payroll */
.payroll-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 16px}.payroll-toolbar h2{margin:4px 0 5px;color:var(--purple-dark);font-size:22px}.payroll-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:780px}.payroll-default-rates{margin-bottom:18px}.payroll-table{min-width:2050px}.payroll-table th:first-child,.payroll-table td:first-child,.payroll-table th:nth-child(3),.payroll-table td:nth-child(3){text-align:left}.payroll-table td small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.3}.pay-rate-summary{max-width:210px}.override-note{color:var(--orange)!important;font-weight:800}.pay-method-pill{display:inline-block;border-radius:99px;padding:5px 8px;background:#F2ECF5;color:var(--purple);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.pay-method-pill.day_rate{background:#FFF0EA;color:#B74116}.pay-method-pill.hybrid{background:#EAF6EF;color:#276B50}.payroll-profile-add-row{display:flex;gap:10px;margin-bottom:16px}.payroll-profile-add-row select{flex:1;border:1px solid #D9CEDF;border-radius:8px;padding:10px 11px;color:var(--purple-dark);background:#fff}.payroll-profiles-table{min-width:900px}.payroll-checkbox-grid{align-items:center}.payroll-check{display:flex;gap:9px;align-items:center;color:var(--purple-dark);font-size:12px;font-weight:700;margin:4px 0 14px}.payroll-check input{width:17px;height:17px}.payroll-adjustment-list-panel{margin:6px 0 18px}.payroll-adjustment-list-panel .panel-heading{padding-bottom:10px}.payroll-adjustment-form{border-top:1px solid var(--line);padding-top:16px}.payroll-adjustment-minimum-check{margin:2px 0 5px}.payroll-adjustment-minimum-note{margin:-1px 0 14px 26px;max-width:700px}.money{white-space:nowrap}@media(max-width:850px){.payroll-toolbar{align-items:flex-start;flex-direction:column}.payroll-profile-add-row{flex-direction:column}}

/* v40 grouped payroll */
.payroll-overview-panel .panel-heading{border-bottom:1px solid var(--line)}
.payroll-group-list{padding:14px;background:#faf8fb}
.payroll-group{background:#fff;border:1px solid #ded4e2;border-radius:10px;margin-bottom:12px;overflow:hidden}
.payroll-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;background:#f8f4f9;color:var(--purple-dark);user-select:none}
.payroll-group>summary::-webkit-details-marker{display:none}
.payroll-group>summary strong{font-size:14px}
.payroll-group>summary small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:600}
.payroll-group-summary-total{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:900;color:var(--purple-dark);white-space:nowrap}
.payroll-dropdown-arrow{display:inline-block;font-size:17px;transition:transform .15s ease;color:var(--orange)}
.payroll-group[open] .payroll-dropdown-arrow{transform:rotate(180deg)}
.payroll-group .table-wrap{border-top:1px solid #e8e0eb}
.payroll-group-day>summary{border-left:4px solid var(--orange)}
.payroll-group-mileage>summary{border-left:4px solid var(--purple)}
.payroll-grand-total-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:22px;padding:15px 18px;background:var(--purple-dark);color:#fff;border-radius:9px;font-size:12px}
.payroll-grand-total-row>span:first-child{font-weight:900;letter-spacing:.04em}
.payroll-grand-total-row strong{font-size:14px}
@media(max-width:850px){.payroll-group>summary{align-items:flex-start}.payroll-grand-total-row{grid-template-columns:1fr 1fr;gap:8px 16px}}

/* v41 dynamic D&H payout mapping */
.dynamic-dh-rate-panel{grid-template-columns:180px 1fr;align-items:start}.mileage-default-field{align-self:end}.dh-mapping-panel{min-width:0}.dh-mapping-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.dh-mapping-heading p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:500}.dh-value-mappings{display:grid;gap:8px}.dh-map-row{display:grid;grid-template-columns:minmax(150px,1fr) 26px minmax(155px,190px) 90px;align-items:center;gap:10px;background:#fff;border:1px solid #dfd2e4;border-radius:9px;padding:10px 11px}.dh-map-row.unmapped{border-color:#efc58f;background:#fffaf3}.dh-source span,.dh-map-row label>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#6b4a7d}.dh-source strong{display:block;color:var(--purple-dark);font-size:16px;margin-top:2px}.dh-source small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.dh-arrow{text-align:center;color:var(--orange);font-size:18px;font-weight:900}.dh-map-status{font-size:9px;font-weight:900;text-transform:uppercase;text-align:center;border-radius:99px;padding:5px 7px;background:#eaf6ef;color:#276b50}.dh-map-row.unmapped .dh-map-status{background:#fff0df;color:#a85a10}.dh-empty{background:#fff;border:1px dashed #d9cedf;border-radius:8px;padding:13px;color:var(--muted);font-size:11px}.dh-breakdown-cell{text-align:left!important;white-space:normal!important;min-width:190px}.dh-breakdown-item{display:block;font-size:10px;line-height:1.35;margin:2px 0;color:#536878}.dh-breakdown-item.unmapped{color:#b55b22;font-weight:800}.dh-unmapped-note{color:#b55b22!important;font-weight:900!important}.payroll-dh-profile-note{grid-column:span 2}.payroll-dh-profile-note .form-note{background:#f7f2f9;border:1px solid #e3d8e8;border-radius:8px;padding:10px;color:#6b5874}
@media(max-width:900px){.dynamic-dh-rate-panel{grid-template-columns:1fr}.dh-map-row{grid-template-columns:1fr}.dh-arrow{display:none}.dh-map-status{text-align:left;width:max-content}.dh-mapping-heading{flex-direction:column}.payroll-dh-profile-note{grid-column:auto}}


/* v44 — payroll worked-day check grid */
.payroll-table-wrap{overflow-x:auto;max-width:100%}
.payroll-attendance-table{min-width:2050px}
.payroll-attendance-table .payroll-day-header{min-width:82px;text-align:center;white-space:normal;padding:9px 5px}
.payroll-day-header span{display:block;line-height:1.15;font-size:11px;font-weight:800;letter-spacing:.01em}
.payroll-workday-cell{text-align:center;padding:7px 5px!important;min-width:64px}
.payroll-workday-check{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #d9cfe0;border-radius:8px;background:#fff;cursor:pointer;position:relative;transition:.15s ease}
.payroll-workday-check:hover{border-color:#f15a24;box-shadow:0 0 0 3px rgba(241,90,36,.08)}
.payroll-workday-check input{position:absolute;opacity:0;pointer-events:none}
.payroll-workday-check span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:7px;color:transparent;font-size:18px;font-weight:900}
.payroll-workday-check input:checked + span{background:#35164e;color:#fff}
.payroll-workday-check input:focus-visible + span{outline:3px solid rgba(241,90,36,.32);outline-offset:2px}
.payroll-workday-total{text-align:center!important;font-weight:800!important}


/* v46 — Motive HOS worked-day integration */
.payroll-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:620px}
.payroll-hos-status{flex-basis:100%;text-align:right;color:var(--muted,#746b7c);font-size:12px;line-height:1.35}
.payroll-hos-status.ok{color:#18784a}.payroll-hos-status.warn{color:#9a6500}.payroll-hos-status.loading{color:#6a2c91}
.payroll-workday-check.hos-auto span{box-shadow:0 0 0 2px rgba(48,150,94,.18)}
.payroll-workday-check.manual span{box-shadow:0 0 0 2px rgba(106,44,145,.20)}
@media(max-width:900px){.payroll-toolbar-actions{justify-content:flex-start;max-width:none}.payroll-hos-status{text-align:left}}

/* v47 — compliance audit & corrective actions */
.audit-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 16px}.audit-toolbar h2{margin:4px 0 5px;color:var(--purple-dark);font-size:22px}.audit-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:820px}.audit-tab-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:7px;background:#f3eef5;border:1px solid #e3d9e7;border-radius:11px}.audit-tab{border:0;background:transparent;color:#695d70;border-radius:8px;padding:9px 13px;font:inherit;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.audit-tab:hover{background:#fff}.audit-tab.active{background:var(--purple);color:#fff;box-shadow:0 2px 8px rgba(53,22,78,.16)}.audit-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:99px;background:rgba(255,255,255,.18);font-size:9px}.audit-panel{margin-bottom:16px}.audit-table{min-width:880px}.audit-table th{text-align:left}.audit-table td{vertical-align:top}.audit-check-cell{min-width:300px;max-width:520px;white-space:normal!important;line-height:1.4}.audit-status{display:inline-flex;align-items:center;justify-content:center;min-width:54px;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.audit-status.pass{background:#e9f7ef;color:#18784a}.audit-status.fail{background:#fdecec;color:#a92525}.audit-status.check{background:#fff3df;color:#9a6500}.audit-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:7px;font-size:10px;font-weight:900}.audit-count.pass{background:#e9f7ef;color:#18784a}.audit-count.fail{background:#fdecec;color:#a92525}.audit-count.check{background:#fff3df;color:#9a6500}.audit-overdue-row{background:#fff5f5!important}.audit-new-header{display:grid;grid-template-columns:220px minmax(260px,1fr);gap:16px;padding:16px 18px}.audit-checklist{display:grid;gap:14px}.audit-check-category{overflow:hidden}.audit-category-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:#f8f4f9;border-bottom:1px solid #e7dfe9}.audit-category-heading h3{margin:2px 0 0;color:var(--purple-dark);font-size:15px}.audit-category-heading>span{font-size:9px;font-weight:900;color:#7a6d81;text-transform:uppercase}.audit-check-rows{display:grid}.audit-check-row{display:grid;grid-template-columns:minmax(300px,1.8fr) 115px minmax(190px,1fr) 160px 145px;gap:10px;align-items:end;padding:11px 14px;border-bottom:1px solid #eee8f0;transition:.12s ease}.audit-check-row:last-child{border-bottom:0}.audit-check-row.audit-pass{background:#fbfffc;border-left:4px solid #3aa96c}.audit-check-row.audit-fail{background:#fffafa;border-left:4px solid #d84a4a}.audit-check-row.audit-check{background:#fffdf8;border-left:4px solid #df9d28}.audit-check-row.audit-missing{background:#fff0f0;box-shadow:inset 0 0 0 1px #e9a5a5}.audit-check-text{align-self:center;color:#3d3243;font-size:11px;font-weight:750;line-height:1.45;padding:4px 8px 4px 0}.audit-check-row .form-field{margin:0}.audit-check-row .form-field label{font-size:8px}.audit-check-row input,.audit-check-row select{min-height:36px;padding:8px 9px;font-size:10px}.audit-save-bar{position:sticky;bottom:10px;z-index:5;margin:16px 0 4px;padding:12px 14px;background:rgba(53,22,78,.96);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 7px 22px rgba(35,16,49,.22)}.audit-save-bar>span{font-size:10px;line-height:1.4}.audit-save-bar>div{display:flex;gap:8px}.table-action.success-link{color:#18784a;border-color:#bfe3ce;background:#f3fbf6}.audit-history-detail-panel{margin-top:16px}@media(max-width:1150px){.audit-check-row{grid-template-columns:1fr 120px 1fr}.audit-check-text{grid-column:1 / -1}.audit-new-header{grid-template-columns:1fr 1fr}}@media(max-width:720px){.audit-toolbar{align-items:flex-start;flex-direction:column}.audit-check-row{grid-template-columns:1fr}.audit-new-header{grid-template-columns:1fr}.audit-save-bar{align-items:flex-start;flex-direction:column}.audit-save-bar>div{width:100%;justify-content:flex-end}}


/* v49 — settlement summary + deeper mileage analysis */
.settlement-tab-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:7px;background:#f3eef5;border:1px solid #e3d9e7;border-radius:11px;width:max-content;max-width:100%}
.settlement-tab{border:0;background:transparent;color:#695d70;border-radius:8px;padding:10px 15px;font:inherit;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.settlement-tab:hover{background:#fff}.settlement-tab.active{background:var(--purple);color:#fff;box-shadow:0 2px 8px rgba(53,22,78,.16)}
.settlement-analysis-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 18px}.settlement-analysis-toolbar h2{margin:4px 0 5px;color:var(--purple-dark);font-size:22px}.settlement-analysis-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:760px}.settlement-analysis-date{min-width:220px;margin:0}
.settlement-analysis-cards{margin-bottom:18px}.settlement-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settlement-analysis-panel{min-width:0}.settlement-analysis-panel .panel-heading{align-items:flex-start}.analysis-table{min-width:560px}.analysis-table th:first-child,.analysis-table td:first-child{text-align:left}.analysis-table th:not(:first-child),.analysis-table td:not(:first-child){text-align:right}.analysis-table tfoot td{font-weight:800;background:#f7f2f9}
.analysis-bars{display:grid;gap:10px;padding:14px 18px 16px;border-bottom:1px solid var(--line)}.analysis-bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,1.4fr) 48px;gap:10px;align-items:center}.analysis-bar-label{min-width:0}.analysis-bar-label strong{display:block;font-size:10px;color:var(--purple-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-bar-label span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.analysis-bar-track{height:9px;background:#eee8f0;border-radius:99px;overflow:hidden}.analysis-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--orange))}.analysis-bar-row small{text-align:right;color:#776b7e;font-size:9px;font-weight:800}.analysis-empty{padding:5px 0;color:var(--muted);font-size:10px}.settlement-analysis-notice{margin:0 0 16px;padding:11px 13px;border-radius:9px;border:1px solid #ecd2a8;background:#fff8ec;color:#7a5717;font-size:11px;line-height:1.45}.analysis-unassigned-row td{background:#fff8ec!important;color:#7a5717}
@media(max-width:1050px){.settlement-analysis-grid{grid-template-columns:1fr}}@media(max-width:720px){.settlement-analysis-toolbar{align-items:flex-start;flex-direction:column}.settlement-analysis-date{width:100%;min-width:0}.analysis-bar-row{grid-template-columns:1fr 100px 42px}}

/* v50 HR Recruitment */
.hr-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.hr-toolbar h2{margin:2px 0 4px;color:var(--purple-dark)}.hr-toolbar p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;max-width:760px}
.hr-tab-bar{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid #e6dfe9}.hr-tab{border:0;background:transparent;color:#766b7b;padding:10px 14px 11px;font:inherit;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-bottom:3px solid transparent}.hr-tab.active{color:var(--purple);border-bottom-color:var(--purple)}
.hr-recruitment-panel{margin-top:4px}.hr-recruitment-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.hr-recruitment-controls input,.hr-recruitment-controls select{width:auto;min-width:170px;padding:8px 10px;border:1px solid #ddd4e3;border-radius:8px;background:#fff;color:#44394b;font:inherit;font-size:10px}.hr-recruitment-controls input{min-width:210px}
.hr-recruitment-table-wrap{overflow:auto;max-width:100%;position:relative}.hr-recruitment-table{width:max-content;min-width:2420px;border-collapse:separate;border-spacing:0}.hr-recruitment-table th{position:sticky;top:0;z-index:3;background:#f7f3f9;color:#5a4667;font-size:9px;text-transform:uppercase;letter-spacing:.035em;padding:9px 10px;border-bottom:1px solid #e4dce9;border-right:1px solid #eee8f0;text-align:left;white-space:nowrap}.hr-recruitment-table td{font-size:10px;color:#3f3844;padding:9px 10px;border-bottom:1px solid #eee8f0;border-right:1px solid #f3eef4;vertical-align:middle;background:#fff;white-space:nowrap}.hr-recruitment-table tbody tr:hover td{background:#fcfafc}.hr-recruitment-table tbody tr.hr-terminal-row td{background:#fafafa;color:#756e78}.hr-recruitment-table a{color:var(--purple);text-decoration:none}.hr-recruitment-table a:hover{text-decoration:underline}
/* Freeze Name, Email and Phone */
.hr-recruitment-table th:nth-child(1),.hr-recruitment-table td:nth-child(1){position:sticky;left:0;width:190px;min-width:190px;max-width:190px;z-index:4}.hr-recruitment-table th:nth-child(2),.hr-recruitment-table td:nth-child(2){position:sticky;left:190px;width:220px;min-width:220px;max-width:220px;z-index:4}.hr-recruitment-table th:nth-child(3),.hr-recruitment-table td:nth-child(3){position:sticky;left:410px;width:150px;min-width:150px;max-width:150px;z-index:4;box-shadow:5px 0 8px -7px rgba(53,22,78,.5)}.hr-recruitment-table thead th:nth-child(-n+3){z-index:6;background:#f2ebf6}.hr-recruitment-table tbody tr:hover td:nth-child(-n+3){background:#fcfafc}.hr-recruitment-table tbody tr.hr-terminal-row td:nth-child(-n+3){background:#fafafa}
.hr-recruitment-table th:nth-child(4),.hr-recruitment-table td:nth-child(4){min-width:145px}.hr-recruitment-table th:nth-child(8),.hr-recruitment-table td:nth-child(8),.hr-recruitment-table th:nth-child(9),.hr-recruitment-table td:nth-child(9),.hr-recruitment-table th:nth-child(12),.hr-recruitment-table td:nth-child(12),.hr-recruitment-table th:nth-child(16),.hr-recruitment-table td:nth-child(16){min-width:120px}.hr-recruitment-table .hr-reason-cell{min-width:190px;max-width:260px;white-space:normal;line-height:1.35}
.hr-status-pill,.hr-fadv-pill,.hr-road-pill,.hr-offer-pill,.hr-days-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;line-height:1.1;border:1px solid transparent;white-space:nowrap}.hr-status-pill.active{background:#eef4ff;color:#315d91;border-color:#d7e5f8}.hr-status-pill.hold{background:#fff7df;color:#85630f;border-color:#eddfad}.hr-status-pill.hired{background:#ecf8f1;color:#27704e;border-color:#cce8d8}.hr-status-pill.rejected,.hr-status-pill.withdrew{background:#f4f1f4;color:#726977;border-color:#e1dce3}.hr-fadv-pill.progress{background:#eef4ff;color:#315d91}.hr-fadv-pill.complete{background:#ecf8f1;color:#27704e}.hr-fadv-pill.stuck{background:#fff0f0;color:#a12e2e;border-color:#efcccc}.hr-road-pill.pass,.hr-offer-pill.accepted{background:#ecf8f1;color:#27704e}.hr-road-pill.fail,.hr-offer-pill.declined{background:#fff0f0;color:#a12e2e}.hr-road-pill.scheduled,.hr-offer-pill.sent{background:#eef4ff;color:#315d91}.hr-road-pill.neutral,.hr-offer-pill.neutral{background:#f3f1f4;color:#756c79}.hr-days-pill.normal{background:#f1f5fa;color:#4e6278}.hr-days-pill.warning{background:#fff5da;color:#865d00}.hr-days-pill.danger{background:#fff0f0;color:#a12e2e}.hr-days-pill.complete{background:#ecf8f1;color:#27704e}
.hr-field-muted{opacity:.58}.hr-days-note{display:flex;align-items:center;margin-top:22px;min-height:40px}.hr-recruitment-table .row-actions{flex-wrap:nowrap}
@media(max-width:900px){.hr-toolbar{flex-direction:column}.hr-recruitment-controls{justify-content:flex-start}.hr-recruitment-controls input,.hr-recruitment-controls select{min-width:150px}.hr-recruitment-table th:nth-child(1),.hr-recruitment-table td:nth-child(1){width:160px;min-width:160px;max-width:160px}.hr-recruitment-table th:nth-child(2),.hr-recruitment-table td:nth-child(2){left:160px;width:190px;min-width:190px;max-width:190px}.hr-recruitment-table th:nth-child(3),.hr-recruitment-table td:nth-child(3){left:350px;width:135px;min-width:135px;max-width:135px}}

/* v50 Dispatch spot run type */
.dispatch-run-head.spot{border-left:4px solid #3478b8}.dispatch-run-head.spot .dispatch-run-type{background:#eaf4ff;color:#2866a3!important}


/* v51 HR recruitment horizontal scrolling + drug test */
.app-shell>main{min-width:0}
.content,.screen,.hr-subpanel,.hr-recruitment-panel{min-width:0}
.hr-recruitment-table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto!important;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.hr-recruitment-table{min-width:2550px}
.hr-recruitment-table th:nth-child(17),.hr-recruitment-table td:nth-child(17){min-width:120px}
.hr-status-pill,.hr-fadv-pill,.hr-road-pill,.hr-drug-pill,.hr-offer-pill,.hr-days-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;line-height:1.1;border:1px solid transparent;white-space:nowrap}
.hr-drug-pill.pass{background:#ecf8f1;color:#27704e}
.hr-drug-pill.fail{background:#fff0f0;color:#a12e2e}
.hr-drug-pill.taken{background:#eef4ff;color:#315d91}
.hr-drug-pill.neutral{background:#f3f1f4;color:#756c79}
.hr-recruitment-table-wrap::-webkit-scrollbar{height:12px}
.hr-recruitment-table-wrap::-webkit-scrollbar-track{background:#f1edf3;border-top:1px solid #e2d9e7}
.hr-recruitment-table-wrap::-webkit-scrollbar-thumb{background:#b8a8c2;border:3px solid #f1edf3;border-radius:999px}
.hr-recruitment-table-wrap::-webkit-scrollbar-thumb:hover{background:#8c739b}


/* v52 HR recruitment sortable, resizable and rearrangeable data grid */
.hr-reset-layout-btn{padding:8px 10px;white-space:nowrap}
.hr-recruitment-table.hr-layout-enabled{table-layout:fixed;width:auto;min-width:0}
.hr-recruitment-table.hr-layout-enabled th,.hr-recruitment-table.hr-layout-enabled td{width:auto!important;min-width:0!important;max-width:none!important}
.hr-recruitment-table.hr-layout-enabled td{overflow:hidden;text-overflow:ellipsis}
.hr-recruitment-table.hr-layout-enabled td.hr-reason-cell{white-space:normal;line-height:1.35;overflow-wrap:anywhere}
.hr-recruitment-table .hr-header-inner{position:relative;display:flex;align-items:center;gap:5px;min-width:0;height:100%}
.hr-recruitment-table .hr-sort-button{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;max-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:900;text-transform:inherit;letter-spacing:inherit;cursor:pointer;text-align:left}
.hr-recruitment-table .hr-sort-button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-recruitment-table .hr-sort-button:hover,.hr-recruitment-table .hr-sort-button.active{color:var(--purple)}
.hr-recruitment-table .hr-sort-indicator{flex:0 0 auto;color:#9d8ea6;font-size:8px;line-height:1}.hr-recruitment-table .hr-sort-button.active .hr-sort-indicator{color:var(--purple)}
.hr-recruitment-table .hr-header-label{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hr-recruitment-table .hr-column-drag-handle{flex:0 0 auto;color:#a99bb2;font-size:11px;line-height:1;cursor:grab;user-select:none;padding:2px 1px;letter-spacing:-2px}.hr-recruitment-table .hr-column-drag-handle:hover{color:var(--purple)}.hr-recruitment-table .hr-column-drag-handle:active{cursor:grabbing}
.hr-recruitment-table .hr-column-resize-handle{position:absolute;top:-9px;right:-10px;width:10px;height:calc(100% + 18px);cursor:col-resize;z-index:12;touch-action:none}
.hr-recruitment-table .hr-column-resize-handle::after{content:"";position:absolute;top:20%;bottom:20%;left:4px;width:1px;background:#c8bfd0;opacity:0;transition:opacity .12s ease}
.hr-recruitment-table th:hover .hr-column-resize-handle::after,.hr-recruitment-table th.hr-resizing .hr-column-resize-handle::after{opacity:1;background:var(--purple)}
.hr-recruitment-table.hr-resizing-columns,.hr-recruitment-table.hr-resizing-columns *{cursor:col-resize!important;user-select:none!important}
.hr-recruitment-table.hr-reordering-columns .hr-column-drag-handle{cursor:grabbing}.hr-recruitment-table th.hr-dragging-column{opacity:.55}
.hr-recruitment-table th.hr-drop-before::before,.hr-recruitment-table th.hr-drop-after::after{content:"";position:absolute;top:0;bottom:0;width:3px;background:var(--purple);z-index:15;pointer-events:none}.hr-recruitment-table th.hr-drop-before::before{left:0}.hr-recruitment-table th.hr-drop-after::after{right:0}
/* Frozen recruitment columns use live widths so resizing Name/Email keeps sticky offsets accurate. */
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="name"],.hr-recruitment-table.hr-layout-enabled td[data-hr-column="name"]{position:sticky!important;left:0!important;z-index:5}
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="email"],.hr-recruitment-table.hr-layout-enabled td[data-hr-column="email"]{position:sticky!important;left:var(--hr-email-left)!important;z-index:5}
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="phone"],.hr-recruitment-table.hr-layout-enabled td[data-hr-column="phone"]{position:sticky!important;left:var(--hr-phone-left)!important;z-index:5;box-shadow:5px 0 8px -7px rgba(53,22,78,.5)}
.hr-recruitment-table.hr-layout-enabled thead th[data-hr-column="name"],.hr-recruitment-table.hr-layout-enabled thead th[data-hr-column="email"],.hr-recruitment-table.hr-layout-enabled thead th[data-hr-column="phone"]{z-index:9;background:#f2ebf6}
.hr-recruitment-table.hr-layout-enabled tbody td[data-hr-column="name"],.hr-recruitment-table.hr-layout-enabled tbody td[data-hr-column="email"],.hr-recruitment-table.hr-layout-enabled tbody td[data-hr-column="phone"]{background:#fff}
.hr-recruitment-table.hr-layout-enabled tbody tr:hover td[data-hr-column="name"],.hr-recruitment-table.hr-layout-enabled tbody tr:hover td[data-hr-column="email"],.hr-recruitment-table.hr-layout-enabled tbody tr:hover td[data-hr-column="phone"]{background:#fcfafc}
.hr-recruitment-table.hr-layout-enabled tbody tr.hr-terminal-row td[data-hr-column="name"],.hr-recruitment-table.hr-layout-enabled tbody tr.hr-terminal-row td[data-hr-column="email"],.hr-recruitment-table.hr-layout-enabled tbody tr.hr-terminal-row td[data-hr-column="phone"]{background:#fafafa}

/* v53 Recruitment: Equipment Fam Sent status + Days in Process SLA colors */
.hr-equipment-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;line-height:1.1;border:1px solid transparent;white-space:nowrap}
.hr-equipment-pill.yes{background:#ecf8f1;color:#27704e;border-color:#cce8d8}
.hr-equipment-pill.sent{background:#eef4ff;color:#315d91;border-color:#d7e5f8}
.hr-equipment-pill.no{background:#f3f1f4;color:#756c79;border-color:#e1dce3}
.hr-days-pill.normal{background:#ecf8f1;color:#27704e;border-color:#cce8d8}
.hr-days-pill.warning{background:#fff5da;color:#865d00;border-color:#eddfad}
.hr-days-pill.danger{background:#fff0f0;color:#a12e2e;border-color:#efcccc}


/* v54 Recruitment grid reliability + row editing affordance */
.hr-recruitment-table.hr-layout-enabled th,.hr-recruitment-table.hr-layout-enabled td{min-width:0;max-width:none}
.hr-recruitment-table .hr-column-resize-handle{top:0;right:-1px;width:12px;height:100%;z-index:30;cursor:col-resize;touch-action:none;background:transparent}
.hr-recruitment-table .hr-column-resize-handle::after{top:10%;bottom:10%;left:5px;width:2px;opacity:.35;background:#b8a8c2}
.hr-recruitment-table th:hover .hr-column-resize-handle::after,.hr-recruitment-table th.hr-resizing .hr-column-resize-handle::after{opacity:1;background:var(--purple)}
body.hr-global-column-resize,body.hr-global-column-resize *{cursor:col-resize!important;user-select:none!important}
.hr-recruitment-table tbody tr[data-hr-candidate-id]{cursor:default}
.hr-recruitment-table tbody tr[data-hr-candidate-id]:active td{background:#f7f2f9}


/* v55 Recruitment: single frozen Name column + simplified reliable resizing */
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="email"],
.hr-recruitment-table.hr-layout-enabled td[data-hr-column="email"],
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="phone"],
.hr-recruitment-table.hr-layout-enabled td[data-hr-column="phone"]{position:static!important;left:auto!important;z-index:auto!important;box-shadow:none!important;background:inherit}
.hr-recruitment-table.hr-layout-enabled th[data-hr-column="name"],
.hr-recruitment-table.hr-layout-enabled td[data-hr-column="name"]{position:sticky!important;left:0!important;z-index:6!important;box-shadow:5px 0 8px -7px rgba(53,22,78,.5)}
.hr-recruitment-table.hr-layout-enabled thead th[data-hr-column="name"]{z-index:10!important;background:#f2ebf6!important}
.hr-recruitment-table.hr-layout-enabled tbody td[data-hr-column="name"]{background:#fff!important}
.hr-recruitment-table.hr-layout-enabled tbody tr:hover td[data-hr-column="name"]{background:#fcfafc!important}
.hr-recruitment-table.hr-layout-enabled tbody tr.hr-terminal-row td[data-hr-column="name"]{background:#fafafa!important}
.hr-recruitment-table .hr-column-resize-handle{right:-7px!important;width:16px!important}
.hr-recruitment-table .hr-column-resize-handle::after{left:7px!important;opacity:.5!important}
.hr-recruitment-table th:hover .hr-column-resize-handle{background:rgba(83,47,109,.05)}

/* v56 Recruitment application PDF import + private driver profile fields */
.hr-application-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;background:#f6f2f8;border:1px solid #ded3e4;border-radius:10px;padding:13px 14px;margin:0 0 16px}
.hr-application-upload-copy{min-width:0}.hr-application-upload-copy strong{display:block;color:#4f2f62;font-size:12px;margin-bottom:3px}.hr-application-upload-copy span{display:block;color:#6f6178;font-size:10.5px;line-height:1.45}
.hr-application-file-button{margin:0;white-space:nowrap;cursor:pointer}.hr-hidden-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.hr-application-parse-status{grid-column:1/-1;border-top:1px solid #e4dce8;padding-top:8px;color:#7b6c83;font-size:10.5px;line-height:1.4}.hr-application-parse-status.working{color:#5b5f9a}.hr-application-parse-status.success{color:#27714c}.hr-application-parse-status.warning{color:#9a6a18}.hr-application-parse-status.error{color:#a13e48}
.hr-profile-fields-heading{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:2px 0 10px;padding-top:2px}.hr-profile-fields-heading strong{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#4f2f62}.hr-profile-fields-heading span{font-size:10px;color:#7b6f82}
.hr-field-help{margin-top:5px;color:#8b7e90;font-size:9.5px;line-height:1.35}
@media(max-width:700px){.hr-application-upload{grid-template-columns:1fr}.hr-application-file-button{justify-self:start}.hr-application-parse-status{grid-column:1}}

/* v58 protected SSN reveal */
.hr-ssn-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.hr-ssn-control input{min-width:0}
.hr-ssn-reveal-btn{height:38px;min-width:72px;padding:0 11px;white-space:nowrap}
.hr-ssn-reveal-btn:disabled{opacity:.48;cursor:not-allowed}

/* v59 modal stacking: protected SSN / finance prompts must sit above candidate editor */
#ssnAccessModal,#financeSecurityModal{z-index:95}

/* v60 HR recruitment status grouping */
.hr-status-pill.progress{background:#eef4ff;color:#315d91;border-color:#d7e5f8}
.hr-status-pill.terminated{background:#fff0f0;color:#9b2d2d;border-color:#efcccc}
.hr-status-summary-card.in-progress{border-top:3px solid #6b8fbd}
.hr-status-summary-card.hired{border-top:3px solid #5b9b75}
.hr-status-summary-card.rejected{border-top:3px solid #9a909e}
.hr-status-summary-card.terminated{border-top:3px solid #b85f5f}
.hr-status-group-row td{position:static!important;left:auto!important;background:#f6f8fb!important;border-top:2px solid #dce4ee!important;border-bottom:1px solid #dce4ee!important;padding:8px 12px!important;min-width:0!important;max-width:none!important;width:auto!important}
.hr-status-group-row.in-progress td{background:#f2f6fc!important}
.hr-status-group-row.hired td{background:#eff8f3!important}
.hr-status-group-row.rejected td{background:#f5f3f6!important}
.hr-status-group-row.terminated td{background:#fff2f2!important}
.hr-status-group-heading{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900;color:#41566d}
.hr-status-group-heading strong{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#fff;border:1px solid #d6dfe9;font-size:10px;color:#33495f}

/* v61 Recruitment road-test form automation */
/* v62 Candidate CDL issuing-state support */
.road-test-template-note{display:flex;flex-direction:column;gap:4px;background:#f6f2f8;border:1px solid #ded3e4;border-radius:10px;padding:13px 14px;margin:0 0 16px}.road-test-template-note strong{color:#4f2f62;font-size:12px}.road-test-template-note span{color:#6f6178;font-size:10.5px;line-height:1.45}.road-test-signature-note{margin-top:4px}.form-field input[readonly]{background:#f6f8fa;color:#536577}.hr-recruitment-table .row-actions .road-test-action{color:#315d91;border-color:#d7e5f8;background:#f4f8fd}.hr-recruitment-table .row-actions .road-test-action:hover{background:#eaf2fb}

/* v63 Electronic Road Test signatures */


/* v64: hierarchical Admin / Operations sidebar */
.sidebar{overflow-y:auto}
.sidebar-nav{display:flex;flex-direction:column;gap:10px!important}
.nav-group{border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025)}
.nav-group.has-active{border-color:rgba(241,90,36,.24);background:rgba(241,90,36,.035)}
.nav-group-toggle{width:100%;border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;cursor:pointer;font:inherit;font-weight:850;font-size:11px;letter-spacing:.075em;text-transform:uppercase;text-align:left}
.nav-group-toggle:hover{background:rgba(255,255,255,.055)}
.nav-group-title{color:#fff}
.nav-group-chevron{color:#bca8c8;font-size:12px;transition:transform .16s ease}
.nav-group.collapsed .nav-group-chevron{transform:rotate(-90deg)}
.nav-group-items{display:flex;flex-direction:column;gap:2px;padding:0 6px 7px}
.nav-group.collapsed .nav-group-items{display:none}
.sidebar .nav-btn{width:100%;margin:0}
.sidebar .nav-btn-child{padding:10px 11px 10px 14px;border-radius:7px;font-size:12px}
.nav-subgroup{margin:3px 0 0;padding:5px 0 0;border-top:1px solid rgba(255,255,255,.06)}
.nav-subgroup-label{padding:5px 12px 3px;color:#a98bbb;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.sidebar .nav-btn-grandchild{padding:9px 10px 9px 25px;border-radius:7px;font-size:11.5px;position:relative}
.sidebar .nav-btn-grandchild:before{content:'';position:absolute;left:13px;top:50%;width:5px;height:1px;background:#9475a7}
.nav-standalone{display:flex;flex-direction:column;gap:3px;margin-top:2px}
.nav-standalone .nav-btn{padding:11px 12px;font-size:12px}
@media(max-width:800px){.sidebar-nav{display:flex!important;flex-direction:column!important}.nav-group-items,.nav-standalone{display:flex;flex-direction:column}.nav-group.collapsed .nav-group-items{display:none}}

/* v64: Recruitment Doubles qualification */
.hr-doubles-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;line-height:1.1;border:1px solid transparent;white-space:nowrap}
.hr-doubles-pill.yes{background:#ecf8f1;color:#27704e;border-color:#cce8d8}
.hr-doubles-pill.no{background:#f3f1f4;color:#756c79;border-color:#e1dce3}

/* v65 — existing-candidate First Advantage update confirmation */
#recruitmentApplicationMismatchModal{z-index:100}
.application-name-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.application-name-compare>div{border:1px solid #ded3e4;background:#faf7fb;border-radius:9px;padding:12px}
.application-name-compare span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#786681;margin-bottom:5px}
.application-name-compare strong{display:block;color:#402651;font-size:14px;line-height:1.35;word-break:break-word}
@media(max-width:620px){.application-name-compare{grid-template-columns:1fr}}


/* v66 — Motive vehicle history diagnostic */
.ivmr-history-test-panel{margin-top:16px}
.ivmr-history-test-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(260px,1.4fr);gap:12px;align-items:end}
.ivmr-history-test-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-bottom:1px}
.ivmr-history-test-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface-subtle,#f6f8fb);font-size:13px;line-height:1.45;color:var(--text-muted,#5c6777)}
.ivmr-history-summary{margin-top:14px}
.ivmr-history-results{margin-top:14px}
.panel-heading.compact{padding-top:4px;padding-bottom:8px}
.panel-heading.compact h3{margin:0 0 3px;font-size:16px}
.panel-heading.compact p{margin:0}
.ivmr-history-raw-heading{margin-top:18px}
.ivmr-history-empty-day td{opacity:.58}
#ivmrHistoryDayTable th,#ivmrHistoryRawTable th{white-space:nowrap}
#ivmrHistoryDayTable td,#ivmrHistoryRawTable td{vertical-align:top}
@media (max-width:1000px){.ivmr-history-test-controls{grid-template-columns:1fr 1fr}.ivmr-history-test-actions{grid-column:1/-1}}
@media (max-width:640px){.ivmr-history-test-controls{grid-template-columns:1fr}}

/* v77 Online Bridge */
.cloud-login-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(145deg,rgba(31,13,47,.97),rgba(53,22,78,.94));backdrop-filter:blur(8px)}
.cloud-login-overlay.hidden{display:none}
.cloud-login-card{width:min(460px,100%);background:#fff;border-radius:22px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.cloud-login-logo{display:block;max-width:185px;max-height:68px;object-fit:contain;margin:0 0 22px}
.cloud-login-card h1{margin:4px 0 8px;font-size:28px;color:#24142f}
.cloud-login-card>p{margin:0 0 22px;color:#665e6c;line-height:1.5}
.cloud-login-card form{display:grid;gap:14px}
.cloud-login-card small{display:block;margin-top:18px;color:#7b7380;line-height:1.45}
.cloud-login-error{padding:10px 12px;border-radius:10px;background:#fff0f0;color:#a52a2a;font-size:13px;line-height:1.4}
.cloud-login-error.hidden{display:none}
.cloud-status{display:flex;gap:10px;align-items:center;padding:10px 11px;border:1px solid rgba(255,255,255,.14);border-radius:10px;margin-bottom:8px;background:rgba(255,255,255,.04)}
.cloud-status .cloud-dot{width:9px;height:9px;border-radius:50%;background:#9d97a4;box-shadow:0 0 0 3px rgba(255,255,255,.05);flex:0 0 auto}
.cloud-status.connected .cloud-dot{background:#42c37a;box-shadow:0 0 0 3px rgba(66,195,122,.14)}
.cloud-status.error .cloud-dot{background:#e16363}
.cloud-status div{min-width:0;display:flex;flex-direction:column}
.cloud-status strong{font-size:12px;color:#fff}
.cloud-status small{font-size:10.5px;color:rgba(255,255,255,.64);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.cloud-sync-card{max-width:760px}
.cloud-account-summary{padding:13px 15px;border-radius:12px;background:#f5f2f7;margin-bottom:14px;color:#413748;line-height:1.5}
.cloud-sync-warning{padding:14px 16px;border:1px solid #ecd9a5;background:#fff9ea;border-radius:12px;margin-bottom:16px;color:#5f4a16}
.cloud-sync-warning strong{display:block;margin-bottom:4px}
.cloud-sync-warning p{margin:0;line-height:1.45;font-size:13px}
.cloud-sync-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cloud-sync-option{border:1px solid #e5dfe9;border-radius:14px;padding:17px;background:#fff}
.cloud-sync-option h3{margin:0 0 7px;font-size:16px;color:#2c1a37}
.cloud-sync-option p{margin:0 0 15px;color:#6d6571;font-size:13px;line-height:1.45}
.cloud-sync-progress{margin-top:14px;padding:12px 14px;border-radius:10px;background:#f0f6ff;color:#31547d;font-size:13px;line-height:1.45}
.cloud-sync-progress.hidden{display:none}
.cloud-sync-modules{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.cloud-module-pill{font-size:11px;padding:5px 8px;border-radius:999px;background:#f1edf4;color:#55465e}
.cloud-module-pill.synced{background:#e8f7ef;color:#257149}
.cloud-module-pill.local{background:#eef3fb;color:#365c85}
@media(max-width:720px){.cloud-sync-grid{grid-template-columns:1fr}.cloud-login-card{padding:26px 22px}}

/* v80 online user access */
#usersScreen .panel{margin-bottom:18px}
#userAccessServiceStatus.user-access-ready{border-color:#c9e9da;background:#eaf7f1;color:#2d674f}
#userAccessServiceStatus.user-access-needs-key{border-color:#ecd9a5;background:#fff9ea;color:#5f4a16}
#userAccessTable{min-width:980px}
#userAccessTable th,#userAccessTable td{text-align:left;vertical-align:middle}
#userAccessTable input,#userAccessTable select{width:100%;min-width:130px;border:1px solid #d9cedf;border-radius:8px;padding:8px 9px;background:#fff;color:var(--text)}
#userAccessTable td:nth-child(2){min-width:220px}
#userAccessTable td:last-child{width:140px}
#userAccessTable .muted{color:var(--muted);font-size:11px}
#userAccessCreateForm{padding:18px 22px 20px}
