*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f9fafb}.dashboard-container{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 32px;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:16px}.logo{width:48px;height:48px;background:#5b4cff;border-radius:8px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.logo-text h1{font-size:18px;font-weight:600;color:#1f2937;margin:0}.logo-text p{font-size:12px;color:#6b7280;margin:0}.header-right{display:flex;gap:12px}.admin-btn,.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.admin-btn{background:#f0f4ff;color:#5b4cff;border:1px solid #e0e7ff}.admin-btn:hover{background:#e0e7ff}.logout-btn{background:transparent;color:#6b7280}.logout-btn:hover{color:#1f2937}.dashboard-main{flex:1;padding:32px}.nav-tabs{display:flex;gap:16px;margin-bottom:32px;border-bottom:2px solid #e5e7eb}.nav-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;background:transparent;color:#6b7280;font-size:16px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .3s ease}.nav-tab.active{color:#5b4cff;border-bottom-color:#5b4cff}.nav-tab:hover:not(.active){color:#1f2937}.vehicles-section{width:100%}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.section-header h2{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 8px}.section-header p{font-size:14px;color:#6b7280;margin:0}.btn-new-vehicle,.btn-new-user{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#5b4cff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-new-vehicle:hover,.btn-new-user:hover{background:#4c3dd9;box-shadow:0 4px 12px #5b4cff4d}.btn-new-vehicle:active,.btn-new-user:active{transform:scale(.98)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.vehicle-modal{width:min(100%,580px);background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 60px #0f172a2e}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:22px;color:#111827}.modal-close{border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#6b7280}.modal-body{display:grid;gap:14px;margin-bottom:22px}.modal-body label{display:flex;flex-direction:column;font-size:13px;color:#4b5563;gap:8px}.modal-body input{width:100%;border:1px solid #d1d5db;border-radius:12px;padding:12px 14px;font-size:14px;color:#111827;background:#f9fafb}.modal-body input:focus{outline:none;border-color:#5b4cff;box-shadow:0 0 0 4px #5b4cff1f}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.btn-primary{background:#5b4cff;color:#fff;border:none;border-radius:10px;padding:12px 20px;cursor:pointer;font-weight:600}.btn-secondary{background:#f3f4f6;color:#111827;border:none;border-radius:10px;padding:12px 20px;cursor:pointer;font-weight:600}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.vehicle-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.vehicle-card:hover{border-color:#d1d5db;box-shadow:0 4px 16px #00000014}.card-header{padding:20px;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:flex-start}.vehicle-info{display:flex;align-items:center;gap:12px}.vehicle-icon{width:48px;height:48px;background:#f3f4f6;border-radius:8px;display:flex;justify-content:center;align-items:center}.vehicle-info h3{font-size:16px;font-weight:600;color:#1f2937;margin:0}.vehicle-info p{font-size:13px;color:#6b7280;margin:4px 0 0}.card-actions{display:flex;gap:8px}.btn-icon{width:36px;height:36px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease}.btn-icon.edit{color:#6b7280}.btn-icon.edit:hover{background:#f3f4f6;color:#5b4cff}.btn-icon.delete{color:#6b7280}.btn-icon.delete:hover{background:#fee2e2;color:#ef4444}.card-body{padding:20px;display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center}.info-row .label{font-size:13px;color:#9ca3af;font-weight:500}.info-row .value{font-size:14px;color:#1f2937;font-weight:500;text-align:right}.users-section{width:100%}.table-wrapper{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.users-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.users-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .3s ease}.users-table tbody tr:hover{background-color:#f9fafb}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px 20px;font-size:14px;color:#1f2937}.user-cell{display:flex;align-items:center;gap:12px}.user-icon{font-size:20px;width:32px;height:32px;border-radius:50%;background:#f3f4f6;display:flex;justify-content:center;align-items:center}.user-name{font-weight:500;color:#1f2937}.email{color:#6b7280;font-size:13px}.badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.badge-admin{background:#f0f4ff;color:#5b4cff}.badge-user{background:#f3f4f6;color:#6b7280}.vehicles-count{font-weight:600;color:#1f2937}.table-actions{display:flex;gap:8px}.btn-icon-table{width:32px;height:32px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease}.btn-icon-table.edit{color:#6b7280}.btn-icon-table.edit:hover{background:#f3f4f6;color:#5b4cff}.btn-icon-table.delete{color:#6b7280}.btn-icon-table.delete:hover{background:#fee2e2;color:#ef4444}@media(max-width:1024px){.vehicles-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.dashboard-main{padding:24px}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:16px;align-items:flex-start;padding:16px}.header-right{width:100%;flex-direction:column}.admin-btn,.logout-btn{width:100%;justify-content:center}.section-header{flex-direction:column;gap:16px}.btn-new-vehicle,.btn-new-user{width:100%;justify-content:center}.vehicles-grid{grid-template-columns:1fr}.nav-tab{font-size:14px;padding:10px 12px}.table-wrapper{overflow-x:auto}.users-table{min-width:600px}.users-table th,.users-table td{padding:12px 16px;font-size:12px}}@media(max-width:480px){.dashboard-main{padding:16px}.logo-text h1{font-size:16px}.section-header h2{font-size:20px}.card-header,.card-body{padding:16px}.users-table{min-width:100%}.users-table th,.users-table td{padding:8px 12px;font-size:11px}.user-cell{gap:8px}.user-icon{width:28px;height:28px;font-size:16px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#e0e7ff,#f3f4f6);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.login-card{background:#fff;border-radius:16px;padding:60px 40px;width:100%;max-width:450px;box-shadow:0 10px 40px #0000001a;text-align:center}.icon-circle{width:80px;height:80px;background:#5b4cff;border-radius:50%;display:flex;justify-content:center;align-items:center;margin:0 auto 30px}.title{font-size:28px;font-weight:600;color:#1f2937;margin:0 0 10px}.subtitle{font-size:14px;color:#6b7280;margin:0 0 30px}.login-form{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.form-group{display:flex;flex-direction:column;align-items:flex-start}.form-group label{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:8px}.form-group input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;transition:all .3s ease;box-sizing:border-box}.form-group input::placeholder{color:#9ca3af}.form-group input:focus{outline:none;border-color:#5b4cff;box-shadow:0 0 0 3px #5b4cff1a}.login-button{padding:14px;background:#5b4cff;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.login-button:hover{background:#4c3dd9;box-shadow:0 4px 12px #5b4cff4d}.login-button:active{transform:scale(.98)}.test-credentials{padding-top:20px;border-top:1px solid #e5e7eb;text-align:left}.credentials-title{font-size:12px;font-weight:600;color:#6b7280;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.test-credentials p{font-size:12px;color:#6b7280;margin:4px 0;line-height:1.6}.test-credentials span{color:#5b4cff;font-weight:500}@media(max-width:480px){.login-card{padding:40px 24px}.title{font-size:24px}.icon-circle{width:70px;height:70px;margin:0 auto 20px}}@custom-variant dark (&:is(.dark *));:root{--font-size: 16px;--background: #ffffff;--foreground: oklch(.145 0 0);--card: #ffffff;--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: #030213;--primary-foreground: oklch(1 0 0);--secondary: oklch(.95 .0058 264.53);--secondary-foreground: #030213;--muted: #ececf0;--muted-foreground: #717182;--accent: #e9ebef;--accent-foreground: #030213;--destructive: #d4183d;--destructive-foreground: #ffffff;--border: rgba(0, 0, 0, .1);--input: transparent;--input-background: #f3f3f5;--switch-background: #cbced4;--font-weight-medium: 500;--font-weight-normal: 400;--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: #030213;--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.145 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(.269 0 0);--input: oklch(.269 0 0);--ring: oklch(.439 0 0);--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.269 0 0);--sidebar-ring: oklch(.439 0 0)}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-input-background: var(--input-background); --color-switch-background: var(--switch-background); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}html{font-size:var(--font-size)}h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}h4,label,button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}.login-container{min-height:100vh;background:linear-gradient(to bottom right,#dbeafe,#e0e7ff);display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;padding:2rem;width:100%;max-width:28rem}.login-header{text-align:center;margin-bottom:2rem}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background-color:#4f46e5;border-radius:50%;margin-bottom:1rem}.login-icon svg{width:2rem;height:2rem;color:#fff}.login-title{font-size:1.875rem;color:#1f2937;margin-bottom:.5rem}.login-subtitle{color:#6b7280}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;color:#374151;margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;outline:none}.form-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.login-btn{width:100%;background-color:#4f46e5;color:#fff;padding:.75rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.login-btn:hover{background-color:#4338ca}.login-test{margin-top:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:.5rem}.login-test p{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.login-test p:last-child{margin-bottom:0}.login-test .test-cred{font-size:.75rem;color:#9ca3af}.header{background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-bottom:1px solid #e5e7eb}.header-container{max-width:80rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.header-container{padding:0 1.5rem}}@media(min-width:1024px){.header-container{padding:0 2rem}}.header-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.header-left{display:flex;align-items:center;gap:.75rem}.header-logo{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:#4f46e5;border-radius:.5rem}.header-logo svg{width:1.5rem;height:1.5rem;color:#fff}.header-title{font-size:1.25rem;color:#111827}.header-subtitle{font-size:.875rem;color:#6b7280}.header-right{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f3f4f6;border-radius:.5rem}.user-info svg{width:1.25rem;height:1.25rem}.user-info.admin svg{color:#4f46e5}.user-info.user svg{color:#6b7280}.user-name{font-size:.875rem;color:#374151}.logout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:#374151;background-color:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background-color:#f3f4f6}.logout-btn svg{width:1.25rem;height:1.25rem}.min-h-screen{min-height:100vh}.bg-gray-50{background-color:#f9fafb}.max-w-7xl{max-width:80rem}.mx-auto{margin-left:auto;margin-right:auto}.px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.mb-6{margin-bottom:1.5rem}.text-2xl{font-size:1.5rem}.text-gray-900{color:#111827}.text-gray-600{color:#6b7280}.rounded-lg{border-radius:.5rem}.transition-colors{transition:background-color .2s,color .2s}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-6{gap:1.5rem}.bg-white{background-color:#fff}.rounded-xl{border-radius:.75rem}.shadow-sm{box-shadow:0 1px 2px #0000000d}.border{border:1px solid #e5e7eb}.border-gray-200{border-color:#e5e7eb}.p-6{padding:1.5rem}.w-12{width:3rem}.h-12{height:3rem}.bg-indigo-100{background-color:#e0e7ff}.text-indigo-600{color:#4f46e5}.text-lg{font-size:1.125rem}.text-gray-500{color:#6b7280}.space-y-2>*+*{margin-top:.5rem}.flex.justify-between.text-sm{display:flex;justify-content:space-between;font-size:.875rem}.pt-2{padding-top:.5rem}.border-t{border-top:1px solid #e5e7eb}.text-center{text-align:center}.py-12{padding-top:3rem;padding-bottom:3rem}.text-gray-400{color:#9ca3af}.mb-4{margin-bottom:1rem}.w-full{width:100%}.px-6{padding-left:1.5rem;padding-right:1.5rem}.focus\:outline-none:focus{outline:none}.focus\:ring-2:focus{box-shadow:0 0 0 2px #6366f133}.focus\:ring-indigo-500:focus{--tw-ring-color: #6366f1}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.bg-black{background-color:#000}.bg-opacity-50{opacity:.5}.z-50{z-index:50}.rounded-2xl{border-radius:1rem}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.max-w-md{max-width:28rem}.space-y-4>*+*{margin-top:1rem}.block{display:block}.text-sm{font-size:.875rem}.mb-2{margin-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.hover\:bg-gray-50:hover{background-color:#f9fafb}.flex.gap-3.pt-4{display:flex;gap:.75rem;padding-top:1rem}.flex-1{flex:1 1 0%}.border-gray-300{border-color:#d1d5db}.text-gray-700{color:#374151}.bg-indigo-600{background-color:#4f46e5}.text-white{color:#fff}.hover\:bg-indigo-700:hover{background-color:#4338ca}
