:root{--primary: #D6684B;--primary-dark: #B9543A;--primary-light: #E08B4F;--secondary: #6B9E87;--accent: #E8B86D;--success: #2C7A6B;--warning: #C77D3D;--danger: #BD4A4A;--info: #558A84;--bg-dark: #FAF8F2;--bg-card: #FFFFFF;--bg-card-hover: #F5F1E9;--bg-input: #F0EDE6;--bg-surface: #FAF8F2;--bg-hover: rgba(214, 104, 75, .12);--text-primary: #2D2926;--text-secondary: #5C5652;--text-muted: #8A8480;--border-color: #E2DCD3;--border-focus: var(--primary);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 4px 15px rgba(61, 56, 53, .03);--shadow-md: 0 8px 30px rgba(61, 56, 53, .05);--shadow-lg: 0 12px 40px rgba(61, 56, 53, .08);--shadow-glow: 0 0 20px rgba(224, 122, 95, .15);--transition: all .35s cubic-bezier(.4, 0, .2, 1);--font-family: "Inter", system-ui, sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--bg-dark);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-dark);background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:40px 40px;position:relative}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;position:relative;z-index:1;box-shadow:var(--shadow-lg)}.login-card h1{font-size:24px;font-weight:600;text-align:center;margin-bottom:8px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:8px}.login-card .subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:32px}.platform-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:var(--transition)}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color)}.sidebar-header h2{font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.sidebar-header .user-info{font-size:13px;color:var(--text-secondary);margin-top:8px}.sidebar-header .user-info .role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;margin-left:4px}.role-badge.admin{background:#38bdf826;color:var(--accent)}.role-badge.user{background:#10b98126;color:var(--success)}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);margin-bottom:4px;font-size:14px;gap:12px;-webkit-user-select:none;user-select:none;font-weight:500;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:#3b82f61a;color:var(--primary);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:60%;width:3px;background:var(--primary);border-radius:0 4px 4px 0}.nav-item .nav-icon{font-size:16px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:inherit}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border-color)}.main-content{margin-left:260px;flex:1;padding:32px;min-height:100vh}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700}.page-header p{color:var(--text-secondary);font-size:14px;margin-top:4px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;transition:var(--transition);outline:none}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #3b82f633}.form-input::placeholder{color:var(--text-muted)}select.form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a7a9be' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);outline:none;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #0000001a}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{color:var(--text-primary);border-color:var(--primary)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:14px 28px;font-size:16px}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;margin-bottom:20px;transition:var(--transition)}.card:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-header h3{font-size:16px;font-weight:700}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{background:var(--bg-input);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#4361ee0d}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-pending{background:#f59e0b26;color:var(--warning)}.badge-approved{background:#10b98126;color:var(--success)}.badge-rejected{background:#ef444426;color:var(--danger)}.badge-up{background:#3b82f626;color:var(--primary-light)}.badge-down{background:#0ea5e926;color:var(--info)}.toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:8px}.toast{padding:14px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:#fff;box-shadow:var(--shadow-md);animation:toastIn .3s ease,toastOut .3s ease 2.7s forwards;max-width:400px}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-info{background:var(--info)}@keyframes toastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:32px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalIn .3s ease}.modal h2{font-size:20px;margin-bottom:20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.upload-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:var(--transition)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:#4361ee0d}.upload-zone .icon{font-size:48px;margin-bottom:12px;opacity:.6}.upload-zone p{color:var(--text-secondary);font-size:14px}.upload-zone input[type=file]{display:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;transition:var(--transition)}.stat-card:hover{border-color:#4361ee4d;transform:translateY(-2px)}.stat-card .stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-card .stat-value{font-size:28px;font-weight:700;margin-top:4px;color:var(--text-primary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state .icon{font-size:64px;margin-bottom:16px;opacity:.4}.empty-state h3{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.page-section{display:none}.page-section.active{display:block;animation:fadeIn .3s ease}.tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-input);border-radius:var(--radius-md);padding:4px}.tab{padding:8px 20px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:var(--transition);-webkit-user-select:none;user-select:none}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--primary);color:#fff}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-group{display:flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-size{color:var(--text-muted);font-size:13px}.mileage-range{font-family:Consolas,Courier New,monospace;font-size:13px;color:var(--text-secondary)}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:20px}.stats-grid{grid-template-columns:1fr 1fr}}
