:root{--color-primary:#16a34a;--color-primary-dark:#15803d;--color-primary-light:#22c55e;--color-accent:#facc15;--color-accent-dark:#eab308;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-sidebar:#14532d;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-on-primary:#fff;--border-light:#e5e7eb;--border-default:#d1d5db;--border-dark:#9ca3af;--status-success:#16a34a;--status-warning:#facc15;--status-error:#ef4444;--status-info:#3b82f6;--color-danger:#ef4444;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001f}.heading-1{color:var(--text-primary);font-size:2.25rem;font-weight:700;line-height:1.25}.heading-2{color:var(--text-primary);font-size:1.875rem;font-weight:600;line-height:1.25}.heading-3{color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1.5}.body-text{color:var(--text-secondary);font-size:1rem;font-weight:400;line-height:1.5}.small-text{color:var(--text-muted);font-size:.875rem}body{color:var(--text-primary);background:var(--bg-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem}@keyframes btn-ripple{0%{opacity:.4;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}.btn,.btn-ghost,.btn-outline,.btn-danger,.btn-accent,.btn-primary{cursor:pointer;background:var(--bg-primary);color:var(--text-primary);box-shadow:none;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:1rem;font-weight:500;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s,color .18s;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-outline:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-accent:active:not(:disabled),.btn-primary:active:not(:disabled){transition:transform 80ms;transform:scale(.97)}.btn:after,.btn-ghost:after,.btn-outline:after,.btn-danger:after,.btn-accent:after,.btn-primary:after{content:"";opacity:0;pointer-events:none;background:#ffffff40;border-radius:50%;width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.btn:active:not(:disabled):after,.btn-ghost:active:not(:disabled):after,.btn-outline:active:not(:disabled):after,.btn-danger:active:not(:disabled):after,.btn-accent:active:not(:disabled):after,.btn-primary:active:not(:disabled):after{animation:.45s ease-out forwards btn-ripple}.btn:disabled,.btn-ghost:disabled,.btn-outline:disabled,.btn-danger:disabled,.btn-accent:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #16a34a47}.btn-primary:active:not(:disabled){transform:scale(.97)translateY(0);box-shadow:0 2px 6px #16a34a33}.btn-accent{background:var(--color-accent);color:#14532d;border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-1px)}.btn-danger{background:var(--status-error);color:var(--text-on-primary);border-color:var(--status-error)}.btn-danger:hover:not(:disabled){background:#ed2d2d;border-color:#ed2d2d;transform:translateY(-1px);box-shadow:0 4px 14px #ef444447}.btn-danger:active:not(:disabled){transform:scale(.97)translateY(0)}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-outline:after{background:#16a34a26}.btn-outline:hover:not(:disabled){background:#f0fdf4;transform:translateY(-1px)}.btn-outline:active:not(:disabled){transform:scale(.97)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:after{background:#00000014}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:4px 12px;font-size:.875rem}.btn-lg{padding:12px 24px;font-size:1.125rem}.btn-loading{pointer-events:none;opacity:.8}.btn-icon{align-items:center;display:inline-flex}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:9999px;flex-shrink:0;width:1rem;height:1rem;animation:.75s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card{background:var(--bg-primary);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:10px;padding:24px;transition:all .3s}.card.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.form-group{margin-bottom:24px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:500;transition:color .15s;display:block}.form-group:focus-within .form-label{color:var(--color-primary)}.form-control{border:2px solid var(--border-default);width:100%;color:var(--text-primary);background:var(--bg-primary);border-radius:6px;padding:10px 12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-control:hover:not(:disabled):not(:focus){border-color:var(--border-dark)}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #16a34a24}.form-control:disabled{background:var(--bg-tertiary);opacity:.6;cursor:not-allowed}.form-control.form-control-error{border-color:var(--status-error);box-shadow:0 0 0 3px #ef44441a}.form-error-msg{color:var(--status-error);margin-top:4px;font-size:.78rem;display:block}@keyframes badge-pulse{0%,to{box-shadow:0 0 #eab3088c}60%{box-shadow:0 0 0 5px #eab30800}}.badge{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;align-items:center;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.badge.badge-success{color:#15803d;background:#16a34a1f}.badge.badge-danger{color:#dc2626;background:#ef44441f}.badge.badge-warning{color:#a16207;background:#eab30821}.badge.badge-transit{color:#a16207;background:#eab30821;animation:2s ease-in-out infinite badge-pulse}.badge.badge-info{color:#1d4ed8;background:#3b82f61f}.badge.badge-neutral{color:#374151;background:#6b72801a}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--border-light);border-radius:4px;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes row-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.order-row{animation:.3s both row-enter}@keyframes row-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.expanded-row-content>td>div{animation:.25s cubic-bezier(.16,1,.3,1) row-expand}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;margin-bottom:16px;overflow-x:auto}.table-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;overflow:visible;box-shadow:0 1px 3px #0000000d}.table{border-collapse:collapse;width:80%;min-width:600px}.table thead{background:var(--bg-secondary);z-index:10;position:sticky;top:0}.table thead th{text-align:left;color:var(--text-primary);white-space:nowrap;border-bottom:2px solid var(--border-default);padding:12px 16px;font-size:.875rem;font-weight:600}.table thead th.col-id{width:15%;min-width:120px}.table thead th.col-name{width:20%;min-width:150px}.table thead th.col-status{width:15%;min-width:100px}.table thead th.col-date{width:15%;min-width:120px}.table thead th.col-actions{text-align:center;width:10%;min-width:100px}.table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table thead th.sortable:hover{background:var(--bg-tertiary)}.table thead th.sortable:after{content:"↕";opacity:.3;margin-left:8px}.table thead th.sortable.sorted-asc:after{content:"↑";opacity:1}.table thead th.sortable.sorted-desc:after{content:"↓";opacity:1}.table tbody tr{border-bottom:1px solid var(--border-light);transition:background .18s}.table tbody tr:hover{background:#16a34a06}.table tbody tr:last-child{border-bottom:none}.table tbody td{color:var(--text-secondary);vertical-align:middle;padding:16px;font-size:1rem}.table tbody td.text-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}@media (max-width:768px){.table{font-size:.875rem}.table thead th,.table tbody td{padding:8px}}@media (max-width:640px){.table-responsive .table{display:block}.table-responsive .table thead{display:none}.table-responsive .table tbody{display:block}.table-responsive .table tbody tr{border:1px solid var(--border-light);border-radius:8px;margin-bottom:16px;padding:12px;display:block}.table-responsive .table tbody td{border:none;justify-content:space-between;padding:8px 0;display:flex}.table-responsive .table tbody td:before{content:attr(data-label);margin-right:12px;font-weight:600}}.sidebar{color:#fff;background-color:#111827;border-right:1px solid #1f2937;flex-direction:column;width:100%;height:100%;min-height:100vh;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow-x:hidden}.sidebar .sidebar-header{border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;min-height:64px;padding:12px;display:flex}.sidebar .sidebar-header .brand{opacity:1;flex:1;align-items:center;gap:10px;min-width:0;max-width:220px;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;overflow:hidden}.sidebar .sidebar-header .brand .brand-icon{object-fit:contain;border-radius:4px;flex-shrink:0;width:30px;height:30px}.sidebar .sidebar-header .brand .brand-text{white-space:nowrap;flex-direction:column;justify-content:center;line-height:1.1;transition:opacity .2s;display:flex;overflow:hidden}.sidebar .sidebar-header .brand .brand-text .brand-title{color:#fff;white-space:nowrap;font-size:.95rem;font-weight:700}.sidebar .sidebar-header .brand .brand-text .brand-subtitle{color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.sidebar .sidebar-header .toggle-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .2s,background .2s;display:flex}.sidebar .sidebar-header .toggle-btn:hover{color:#fff;background:#ffffff1a}.sidebar .sidebar-nav{flex:1;padding:12px 0}.sidebar .sidebar-nav ul{margin:0;padding:0;list-style:none}.sidebar .sidebar-nav li{margin-bottom:2px}.sidebar .sidebar-nav .nav-item{color:#9ca3af;white-space:nowrap;border-left:3px solid #0000;align-items:center;gap:12px;padding:8px 12px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s,padding .3s;display:flex}.sidebar .sidebar-nav .nav-item span{opacity:1;white-space:nowrap;max-width:200px;transition:max-width .28s cubic-bezier(.4,0,.2,1),opacity .2s;overflow:hidden}.sidebar .sidebar-nav .nav-item svg{flex-shrink:0;transition:transform .18s}.sidebar .sidebar-nav .nav-item:hover{color:#fff;background:#ffffff0f;border-left-color:#16a34a80}.sidebar .sidebar-nav .nav-item:hover svg{transform:scale(1.1)}.sidebar .sidebar-nav .nav-item.active{color:#fff;background:#16a34a1a;border-left-color:#16a34a}.sidebar .sidebar-nav .nav-item.active svg{color:#16a34a}.sidebar.collapsed .brand{opacity:0;pointer-events:none;max-width:0}.sidebar.collapsed .sidebar-header{justify-content:center;padding:12px 0}.sidebar.collapsed .sidebar-header .toggle-btn{margin:0}.sidebar.collapsed .sidebar-nav .nav-item{justify-content:center;gap:0;padding:12px 0}.sidebar.collapsed .sidebar-nav .nav-item span{opacity:0;max-width:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.2s modal-fade-in;display:flex;position:fixed;inset:0}.modal-backdrop>div{animation:.25s modal-slide-up}.confirm-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out confirmFadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;width:100%;max-width:420px;animation:.2s ease-out confirmSlideUp;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.confirm-modal .confirm-header{border-bottom:1px solid #f3f4f6;padding:16px 24px}.confirm-modal .confirm-header h2{color:#111827;margin:0;font-size:1.125rem;font-weight:700}.confirm-modal .confirm-body{color:#4b5563;padding:24px}.confirm-modal .confirm-body p{color:#4b5563;margin:0;font-size:1rem;line-height:1.5}.confirm-modal .confirm-footer{background-color:#f9fafb;border-top:1px solid #f3f4f6;justify-content:flex-end;gap:12px;padding:12px 24px;display:flex}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.danger-zone{border-top:1px solid var(--border-light);margin-top:24px;padding-top:16px}.danger-zone .danger-title{color:var(--status-error);margin-bottom:8px;font-size:.875rem;font-weight:600}.danger-zone .btn-delete-permanent{cursor:pointer;border:1px solid var(--status-error);color:var(--status-error);background:0 0;border-radius:6px;padding:8px 12px;font-size:.875rem;font-weight:500;transition:all .2s}.danger-zone .btn-delete-permanent:hover:not(:disabled){background-color:#dc26260d}.danger-zone .btn-delete-permanent:disabled{opacity:.6;cursor:not-allowed;color:#9ca3af;border-color:#d1d5db}.dashboard-layout{background:var(--bg-secondary);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.content-area{flex:1;padding:32px}.container{width:100%;max-width:1440px;margin:0 auto;padding:0 24px}.grid{gap:24px;display:grid}.grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.grid.grid-cols-4,.grid.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid.grid-cols-2,.grid.grid-cols-3,.grid.grid-cols-4{grid-template-columns:1fr}}.flex{display:flex}.flex.flex-between{justify-content:space-between}.flex.flex-center{justify-content:center;align-items:center}.flex.gap-sm{gap:8px}.flex.gap-md{gap:12px}.flex.gap-lg{gap:16px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--text-primary);background:var(--bg-secondary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}input,select,textarea{font:inherit;color:var(--text-primary);border:2px solid var(--border-default);background:var(--bg-primary);border-radius:6px;padding:10px 12px;transition:border-color .2s,box-shadow .2s,background .2s}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--border-dark)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #16a34a24}table{border-collapse:collapse;width:100%}thead{background:var(--bg-secondary)}th{text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding:12px 16px;font-weight:600}td{color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding:12px 16px}tr:hover{background:var(--bg-secondary)}.bg-white{background-color:var(--bg-primary)!important}.bg-gray-50{background-color:var(--bg-secondary)!important}.bg-blue-600,.bg-indigo-600{background-color:var(--color-primary)!important}.text-gray-600{color:var(--text-secondary)!important}.text-blue-600,.text-indigo-600{color:var(--color-primary)!important}.container.drivers-page{width:100%!important;max-width:100%!important}.container.drivers-page .table-wrapper,.container.drivers-page .table-container,.container.drivers-page .table{width:100%}.container.drivers-page .table{table-layout:auto}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}
