:root{--brand-primary: #0f172a;--brand-primary-hover: #1e293b;--brand-accent: #2563eb;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--border: #e2e8f0;--border-strong: #cbd5e1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .06);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .18), 0 4px 12px rgba(15, 23, 42, .08);--ease: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .18s}.table-scroll{overflow-x:auto}.clickable-row:hover{background:#f1f5f9}.nav-link{background:transparent}.nav-link:hover{background:var(--brand-primary-hover)}.nav-dropdown-item{background:transparent}.nav-dropdown-item:hover{background:var(--brand-primary-hover)}.list-row:hover{background:#eef2ff}.report-btn:hover{background:#f1f5f9;border-color:#94a3b8}.report-btn:disabled{opacity:.5;cursor:default}.report-btn:disabled:hover{background:#fff;border-color:#cbd5e1}.report-btn-primary:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.report-btn-primary:disabled{opacity:.6;cursor:default}.report-btn-primary:disabled:hover{background:var(--brand-primary);border-color:var(--brand-primary)}.report-link-btn:hover{background:#eff6ff;text-decoration:underline}.report-tab:hover{background:#e2e8f0}@media (max-width: 640px){.responsive-row{flex-direction:column!important;align-items:stretch!important}.cal-day-word,.cal-day-detail{display:none!important}}@media (max-width: 800px){.split-pane{flex-direction:column!important;height:auto!important}.split-pane-sidebar{width:auto!important;max-height:40vh;border-right:none!important;border-bottom:1px solid #e2e8f0}}.help-btn-wrap{display:inline-block;position:relative;margin-left:4px;vertical-align:middle;line-height:0;white-space:nowrap}.help-btn{width:max(12px,1.55em);height:max(12px,1.55em);padding:0;border-radius:50%;border:1px solid var(--border-strong);background:#f8fafc;color:#64748b;font-size:max(8px,.62em);line-height:1;font-weight:700;cursor:pointer;vertical-align:middle;opacity:.8;transition:opacity var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.help-btn:hover,.help-btn[aria-expanded=true]{opacity:1;border-color:var(--brand-primary);color:var(--brand-primary)}.help-panel{display:block;z-index:10001;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-left:3px solid var(--brand-primary);border-radius:10px;box-shadow:0 10px 30px #0f172a24,0 2px 6px #0f172a14;font-size:13px;white-space:normal;text-transform:none;letter-spacing:normal;font-weight:400;overflow-y:auto;animation:help-panel-in .12s ease-out}@keyframes help-panel-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.help-panel{animation:none}}.help-panel-title{display:block;margin:0 0 4px;font-weight:600;color:#0f172a}.help-panel-body{display:block;margin:0;color:#475569;line-height:1.5}.staff-sidebar{width:220px;flex:0 0 auto;height:100vh;overflow-y:auto;background:var(--brand-primary);color:#cbd5e1;padding:10px 8px 24px;box-sizing:border-box;display:flex;flex-direction:column}.staff-sidebar.desktop-hidden{display:none}.staff-sidebar-brand{padding:4px 6px 14px}.staff-sidebar-link{display:block;width:100%;text-align:left;border:none;background:transparent;color:#cbd5e1;font-size:13px;padding:7px 10px;border-radius:5px;cursor:pointer}.staff-sidebar-link:hover{background:var(--brand-primary-hover);color:#fff}.staff-sidebar-link.active{background:var(--brand-primary-hover);color:#fff;font-weight:700}.staff-sidebar-group{margin-top:2px}.staff-sidebar-group-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:36px;border:none;background:transparent;color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;cursor:pointer}.staff-sidebar-group-toggle:hover{color:#fff}.staff-sidebar-backdrop{display:none}@media (max-width: 900px){.staff-sidebar,.staff-sidebar.desktop-hidden{display:flex;position:fixed;inset:0 auto 0 0;z-index:1100;transform:translate(-100%);transition:transform .2s ease}.staff-sidebar.open{transform:translate(0)}.staff-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1090;background:#0006}.staff-sidebar-link{padding:11px 12px;font-size:14px}.staff-sidebar-group-toggle{min-height:44px}}@media print{.staff-sidebar,.staff-topbar{display:none!important}}.page-enter{height:100%;animation:page-enter .14s ease-out}@keyframes page-enter{0%{opacity:0}to{opacity:1}}.page-skeleton{padding:24px;max-width:1100px;margin:0 auto}.skeleton-rows{display:flex;flex-direction:column;gap:12px;padding:8px 0}.skeleton{border-radius:8px;background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-title{height:26px;width:220px;margin-bottom:18px}.skeleton-row{height:16px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.page-enter,.skeleton{animation:none}}.staff-shell button,.staff-shell .nav-link,.staff-shell .staff-sidebar-link,.staff-shell .clickable-row{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.staff-shell button:not(:disabled):not(.help-btn):hover{filter:brightness(.96)}.staff-shell button:not(:disabled):not(.help-btn):active{transform:translateY(.5px) scale(.985)}.staff-shell input:not([type=checkbox]):not([type=radio]),.staff-shell select,.staff-shell textarea{transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.staff-shell input:focus-visible,.staff-shell select:focus-visible,.staff-shell textarea:focus-visible,.staff-shell button:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb47}.modal-backdrop{animation:backdrop-in var(--dur) var(--ease)}.modal-backdrop>div{box-shadow:var(--shadow-lg);animation:modal-in var(--dur) var(--ease)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.staff-shell .staff-sidebar-link{border-radius:var(--r-md)}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal-backdrop>div{animation:none}.staff-shell button:not(:disabled):active{transform:none}}:where(.staff-shell) :where(button){border-radius:var(--r-md);border:1px solid var(--border-strong);background:#fff;color:#0f172a;padding:4px 10px;cursor:pointer}:where(.staff-shell) :where(button):disabled{cursor:not-allowed;opacity:.6}:where(.staff-shell) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border-radius:var(--r-md);border:1px solid var(--border-strong);background-color:#fff}:where(.staff-shell) :where(input,select,textarea):disabled{background-color:#f1f5f9;color:#64748b}.emp-page{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:24px 20px 40px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.emp-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.emp-header h2{margin:0;font-size:24px;letter-spacing:-.01em;color:var(--brand-primary)}.emp-muted{color:#64748b;font-size:13px;margin:2px 0 0}.emp-error{color:#b91c1c;font-size:13px;margin:0}.emp-btn{font:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:#fff;color:#1e293b;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.emp-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.emp-btn:disabled{opacity:.55;cursor:default}.emp-btn-primary{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;font-weight:600}.emp-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.emp-btn-danger{color:#475569}.emp-btn-danger:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.emp-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.emp-segments{display:inline-flex;padding:3px;gap:2px;background:#f1f5f9;border:1px solid var(--border);border-radius:var(--r-lg)}.emp-segments button{font:inherit;font-size:13px;font-weight:500;border:0;background:none;padding:6px 14px;border-radius:calc(var(--r-lg) - 3px);color:#475569;cursor:pointer}.emp-segments button span{font-variant-numeric:tabular-nums;color:#94a3b8;margin-left:4px;font-size:12px}.emp-segments button.on{background:#fff;color:#0f172a;box-shadow:var(--shadow-sm)}.emp-segments button.on span{color:var(--brand-accent)}.emp-search,.emp-select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff}.emp-search{flex:1 1 220px;min-width:0;max-width:320px}.emp-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.emp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.emp-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:#64748b;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border);white-space:nowrap}.emp-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.emp-table th:first-child{border-top-left-radius:var(--r-lg)}.emp-table th:last-child{border-top-right-radius:var(--r-lg)}.emp-table td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#1e293b}.emp-table tbody tr:last-child td{border-bottom:0}.emp-table tbody tr:hover>td{background:#fafcff}.emp-table tr.is-terminated td{color:#64748b}.emp-table tr.is-terminated .emp-name{color:#475569}.emp-name{font-weight:600;font-size:14px}.emp-sub{font-size:12px;color:#94a3b8;margin-top:2px}.emp-chips{display:flex;gap:6px;flex-wrap:wrap}.emp-chip{display:inline-block;font-size:12px;font-weight:500;padding:2px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;white-space:nowrap}.emp-chip-cdl{background:#fef3c7;color:#92400e;font-weight:700}.emp-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.emp-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.emp-status-active{background:#ecfdf5;color:#047857}.emp-status-on_leave{background:#fffbeb;color:#b45309}.emp-status-inactive{background:#f1f5f9;color:#64748b}.emp-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.emp-empty{padding:28px;text-align:center;color:#64748b;font-size:14px;background:#fff;border:1px dashed var(--border-strong);border-radius:var(--r-lg)}.emp-edit-row>td,.emp-subrow{padding:0!important;background:#f8fafc}.emp-panel{margin:12px 16px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:14px}.emp-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:15px}.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}.emp-field{display:flex;flex-direction:column;gap:4px;min-width:0}.emp-field>span,.emp-label{font-size:12px;font-weight:600;color:#475569}.emp-field input,.emp-field select{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fff;width:100%;box-sizing:border-box}.emp-field input:disabled{background:#f8fafc;color:#64748b}.emp-inline{flex:0 1 180px}.emp-jobs{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:12px 14px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--r-md)}.emp-check{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.emp-check input{width:16px;height:16px;accent-color:var(--brand-accent)}.emp-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.emp-newform{margin:0;flex-direction:row;flex-wrap:wrap;align-items:flex-end}.emp-newform label{display:flex;flex-direction:column;gap:4px;font-weight:600;color:#475569}.emp-newform input,.emp-newform select{font:inherit;font-size:14px;font-weight:400;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--r-md)}@media (max-width: 720px){.emp-page{padding:16px 12px 32px}.emp-table td,.emp-table th{padding:10px 12px}.emp-row-actions{justify-content:flex-start}.emp-panel{margin:8px;padding:14px}}:where(body){font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.sa-note{margin:0;padding:10px 14px;font-size:14px;color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--r-md)}.sa-warn{margin:0;font-size:12px;color:#b45309}.sa-section{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#f8fafc;border:1px solid var(--border);border-radius:var(--r-md)}.sa-perms{display:flex;flex-direction:column;gap:10px}.sa-perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 16px}.sa-perm-grid .emp-check{font-size:13px}.sa-perm-chip{background:#f1f5f9;color:#334155;font-weight:500}.sa-role-admin{background:#0f172a;color:#fff}.sa-role-dispatcher{background:#e0f2fe;color:#075985}.sa-role-billing{background:#f3e8ff;color:#6b21a8}.sa-role-driver{background:#ecfccb;color:#3f6212}.sa-status-active{background:#ecfdf5;color:#047857}.sa-status-setup{background:#eff6ff;color:#1d4ed8}.sa-status-locked{background:#fef2f2;color:#b91c1c}.sa-status-inactive,.sa-status-suspended{background:#f1f5f9;color:#64748b}.sa-actions{flex-wrap:nowrap}@media (max-width: 720px){.sa-actions{flex-wrap:wrap}}.row-menu{position:relative;display:inline-block}.row-menu-trigger{font-size:18px;line-height:1;padding:4px 10px;letter-spacing:1px}.row-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:1000;min-width:210px;padding:6px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:row-menu-in var(--dur-fast) var(--ease)}.row-menu-item{font:inherit;font-size:14px;text-align:left;padding:8px 12px;border:0;background:none;border-radius:var(--r-md);color:#1e293b;cursor:pointer;white-space:nowrap}.row-menu-item:hover,.row-menu-item:focus-visible{background:#f1f5f9;outline:none}.row-menu-item.danger{color:#b91c1c}.row-menu-item.danger:hover{background:#fef2f2}.row-menu-item.armed{background:#b91c1c;color:#fff;font-weight:600}@keyframes row-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.row-menu-list{animation:none}}.cust-row{cursor:pointer}.emp-search.cust-search{max-width:420px}.cust-email{overflow-wrap:anywhere}.cust-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.veh-detail{max-width:820px}.route-print{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.chart-toggle{margin-left:auto;padding:2px}.chart-toggle button{padding:3px 10px;font-size:12px}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--brand-accent);cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.emp-title{margin:0;font-size:24px;letter-spacing:-.01em;color:var(--brand-primary)}.emp-table-sm{font-size:13px}.emp-table-sm th,.emp-table-sm td{padding:9px 12px}.emp-box{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:16px}.emp-page .emp-table:not(.emp-card .emp-table,.emp-box .emp-table,.emp-panel .emp-table){background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.emp-page>button,.emp-page>a,.emp-page>label{align-self:flex-start}.color-band{--band-c: #475569;margin-bottom:18px;scroll-margin-top:12px}.color-band-head{display:flex;align-items:baseline;gap:10px;width:100%;background:none;border:0;border-bottom:3px solid var(--band-c);padding:0 0 6px;margin:0 0 10px;font-family:inherit;text-align:left;cursor:pointer;color:#0f172a}.color-band-head:hover{background:none}.color-band-name{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--band-c);white-space:nowrap}.color-band-sub{font-size:12px;color:#64748b;flex:1;min-width:0}.color-band-hide{font-size:12px;color:#64748b}.color-band>:not(.color-band-head){border-left:4px solid var(--band-c)!important}.staff-sidebar-has-sub{display:flex;justify-content:space-between;align-items:center}.staff-sidebar-has-sub.current{color:#fff;font-weight:700}.staff-sidebar-chev{font-size:10px;transition:transform var(--dur-fast) var(--ease)}[aria-expanded=true]>.staff-sidebar-chev{transform:rotate(90deg)}.staff-sidebar-sub{margin:2px 0 6px 12px;padding-left:6px;border-left:1px solid #334155}.staff-sidebar-subhead{display:flex;justify-content:space-between;align-items:center;width:100%;border:none;background:transparent;color:#64748b;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:7px 8px;border-radius:var(--r-md);cursor:pointer;text-align:left}.staff-sidebar-subhead:hover{background:var(--brand-primary-hover);color:#fff}.staff-sidebar-subhead.here{color:#cbd5e1}.staff-sidebar-count{font-weight:400;letter-spacing:0;margin-left:5px}.staff-sidebar-sub2{margin:0 0 4px 8px;padding-left:6px;border-left:1px solid #334155}.staff-sidebar-sublink{display:block;width:100%;text-align:left;border:none;background:transparent;color:#94a3b8;font-size:12.5px;padding:5px 8px;border-radius:var(--r-md);cursor:pointer}.staff-sidebar-sublink:hover{background:var(--brand-primary-hover);color:#fff}.staff-sidebar-sublink.active{background:var(--brand-primary-hover);color:#fff;font-weight:700;box-shadow:inset 3px 0 #60a5fa}@media (max-width: 900px){.staff-sidebar-subhead{min-height:40px}.staff-sidebar-sublink{padding:10px;font-size:14px}}@media (prefers-reduced-motion: reduce){.staff-sidebar-chev{transition:none}}
