@keyframes vehicleIconSwap{0%,20%{content:"\f5e4"}25%,45%{content:"\f21c"}50%,70%{content:"\f0d1"}75%,95%{content:"\f013"}}.vehicle-icon-rotate{display:inline-block;font-family:"Font Awesome 6 Free";font-weight:900;font-style:normal;width:1em;text-align:center}.vehicle-icon-rotate::before{content:"\f5e4";animation:vehicleIconSwap 4s infinite}:root{--primary-color:#2563eb;--primary-dark:#1e40af;--primary-light:#60a5fa;--secondary-color:#10b981;--secondary-dark:#059669;--danger-color:#dc2626;--warning-color:#d97706;--info-color:#3b82f6;--success-color:#059669;--btn-primary-bg:#1a1a2e;--btn-primary-hover:#2d2d4e;--btn-secondary-bg:#16213e;--btn-secondary-hover:#243556;--btn-danger-bg:#dc2626;--btn-danger-hover:#b91c1c;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--bg-primary:#ffffff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition-fast:150ms ease-in-out;--transition-normal:300ms ease-in-out;--font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--header-height:64px;--sidebar-width:260px;--max-width:1280px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-md)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}.wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing-xl) 0}.header{background-color:#1a1a2e;border-bottom:1px solid rgba(255,255,255,0.1);height:var(--header-height);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}.header-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--spacing-lg)}.logo{font-size:var(--font-size-xl);font-weight:700;color:#fff;display:flex;align-items:center;gap:var(--spacing-sm)}.nav-menu{display:flex;gap:var(--spacing-lg);list-style:none}.nav-link{color:rgba(255,255,255,0.7);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:#fff;background-color:rgba(255,255,255,0.1)}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.mobile-menu-toggle{display:none;background:none;border:none;font-size:var(--font-size-xl);color:#fff;cursor:pointer}.sidebar{width:var(--sidebar-width);background-color:var(--bg-primary);border-right:1px solid var(--border-color);padding:var(--spacing-lg);position:fixed;top:var(--header-height);left:0;bottom:0;overflow-y:auto;z-index:900}.sidebar-menu{list-style:none}.sidebar-item{margin-bottom:var(--spacing-xs)}.sidebar-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-link:hover,.sidebar-link.active{color:var(--primary-color);background-color:var(--bg-tertiary)}.sidebar-icon{width:20px;text-align:center}.content-with-sidebar{margin-left:var(--sidebar-width);padding:var(--spacing-xl)}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--border-color)}.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.card-title{font-size:var(--font-size-xl);font-weight:600;margin:0}.card-body{padding:0}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;line-height:1.5;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{opacity:0.6;cursor:not-allowed}.btn-primary{background-color:var(--btn-primary-bg);color:white;border-color:var(--btn-primary-bg)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,26,46,0.4)}.btn-secondary{background-color:var(--btn-secondary-bg);color:white;border-color:var(--btn-secondary-bg)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover);color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(22,33,62,0.4)}.btn-danger{background-color:var(--btn-danger-bg);color:white;border-color:var(--btn-danger-bg)}.btn-danger:hover:not(:disabled){background-color:var(--btn-danger-hover);border-color:var(--btn-danger-hover);color:white}.btn-outline{background-color:transparent;color:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}.btn-outline:hover:not(:disabled){background-color:var(--btn-primary-bg);color:white}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.header .btn-ghost{color:rgba(255,255,255,0.7)}.header .btn-ghost:hover:not(:disabled){background-color:rgba(255,255,255,0.1);color:#fff}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-block{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-weight:500;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.form-label.required::after{content:" *";color:var(--danger-color)}.form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(37,99,235,0.1)}.form-control:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.form-control.error{border-color:var(--danger-color)}.form-error{color:var(--danger-color);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-help{color:var(--text-light);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}textarea.form-control{resize:vertical;min-height:100px}select.form-control{cursor:pointer}.form-row{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.table-container,.table-responsive{overflow-x:auto;margin:var(--spacing-lg) 0}.table{width:100%;border-collapse:collapse;background-color:var(--bg-primary)}.table thead{background-color:var(--bg-tertiary)}.table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:0.05em}.table td{padding:var(--spacing-md);border-top:1px solid var(--border-color)}.table tr:hover{background-color:var(--bg-secondary)}.table-actions{display:flex;gap:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;line-height:1;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:0.05em}.badge-primary{background-color:rgba(37,99,235,0.1);color:var(--primary-color)}.badge-success{background-color:rgba(16,185,129,0.1);color:var(--success-color)}.badge-danger{background-color:rgba(239,68,68,0.1);color:var(--danger-color)}.badge-warning{background-color:rgba(245,158,11,0.1);color:var(--warning-color)}.badge-info{background-color:rgba(59,130,246,0.1);color:var(--info-color)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid}.alert-success{background-color:rgba(16,185,129,0.1);border-color:var(--success-color);color:var(--success-color)}.alert-danger{background-color:rgba(239,68,68,0.1);border-color:var(--danger-color);color:var(--danger-color)}.alert-warning{background-color:rgba(245,158,11,0.1);border-color:var(--warning-color);color:var(--warning-color)}.alert-info{background-color:rgba(59,130,246,0.1);border-color:var(--info-color);color:var(--info-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.modal-close:hover{background-color:var(--bg-tertiary)}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-warning{color:var(--warning-color)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between}.dashboard-welcome-actions{display:flex;gap:var(--spacing-sm)}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.reminder-card-grid{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-lg)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);transition:color var(--transition-fast)}.back-link:hover{color:var(--primary-color)}@media (max-width:768px){:root{--sidebar-width:0}.nav-menu{display:none;position:fixed;top:var(--header-height);left:0;right:0;background-color:#1a1a2e;flex-direction:column;padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,0.1);box-shadow:var(--shadow-md)}.nav-menu.active{display:flex}.mobile-menu-toggle{display:block}.sidebar{transform:translateX(-100%);transition:transform var(--transition-normal)}.sidebar.active{transform:translateX(0)}.content-with-sidebar{margin-left:0}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.grid-cols-2{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.table-container,.table-responsive{overflow-x:scroll}}@media (max-width:480px){:root{--spacing-lg:1rem;--spacing-xl:1.5rem}.container{padding:0 var(--spacing-md)}.card{padding:var(--spacing-md)}.modal{margin:var(--spacing-sm)}.header-container{padding:0 var(--spacing-sm)}.user-menu{gap:var(--spacing-xs)}.user-menu .btn-ghost{padding:var(--spacing-xs);min-width:36px}.user-dropdown .btn-ghost span{display:none}.header-search-wrapper #header-search-dropdown{position:fixed !important;top:var(--header-height) !important;left:var(--spacing-sm) !important;right:var(--spacing-sm) !important;width:auto !important;max-width:none !important}.dashboard-welcome{flex-direction:column}.dashboard-welcome-actions{margin-top:var(--spacing-md)}.grid-cols-3{grid-template-columns:1fr}.grid-cols-4{grid-template-columns:repeat(2,1fr)}.flex-between.mb-3,.flex-between.mb-2{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);flex-shrink:0}.reminder-card-grid{grid-template-columns:1fr}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}}@media print{.header,.sidebar,.btn,.no-print,footer,.back-link,.mobile-menu-toggle,.notification-badge,.tab,.tabs{display:none !important}.content-with-sidebar{margin-left:0}.main-content{padding:0 !important}.container{max-width:100% !important;padding:0 !important}.card{box-shadow:none !important;border:1px solid #ddd !important;margin-bottom:8px !important;break-inside:avoid}.card-body{padding:10px !important}.card-header{padding:8px 10px !important}body{font-size:12px !important;line-height:1.4 !important}h1{font-size:18px !important;margin:5px 0 !important}h2,h3,h4{font-size:14px !important;margin:5px 0 !important}p{margin:3px 0 !important}.form-row,.form-group{margin-bottom:4px !important}.mb-3{margin-bottom:8px !important}hr{margin:8px 0 !important}[style*="grid-column: span 2"]{grid-column:1 / -1 !important}.tab-content{display:block !important}.table-actions{display:none !important}.table td,.table th{padding:4px 8px !important;font-size:11px !important}.badge{padding:1px 6px !important;font-size:10px !important}@page{margin:10mm;size:A4}}.compact-service-form .form-group{margin-bottom:var(--spacing-sm)}.compact-service-form .form-label{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs,0.8125rem)}.compact-service-form .form-control{padding:.375rem .6rem;font-size:var(--font-size-sm)}.compact-service-form textarea.form-control{min-height:70px}.compact-service-form .form-row{gap:var(--spacing-sm) !important}.compact-service-form hr{margin:var(--spacing-md) 0}.compact-service-form h3{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.compact-service-form .form-help{margin-top:2px;font-size:var(--font-size-xs,0.75rem)}.service-items-grid{gap:var(--spacing-sm) !important}.service-items-grid .service-item-row{padding:.45rem .75rem !important}.service-items-grid .service-item-details{padding:.5rem .75rem !important}.service-items-grid .service-item-row input[type="checkbox"],.service-items-grid .service-item-header input[type="checkbox"]{width:16px !important;height:16px !important}.service-items-grid label{font-size:var(--font-size-sm) !important}.service-items-grid .service-item-header{padding:.45rem .75rem !important}
