.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,#1e3a8a,#0f172a)}.login-card{background:var(--card-background);border-radius:var(--radius-2xl);box-shadow:0 25px 60px -12px #00000059;padding:2.5rem;width:100%;max-width:420px}.logo{text-align:center;margin-bottom:2rem}.logo-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.logo-icon svg{width:36px;height:36px;color:#fff}.logo-image{width:250px;height:auto;margin:0 auto 1.5rem;display:block;border-radius:var(--radius-md)}.header-logo{width:75px;height:75px;object-fit:contain;border-radius:var(--radius-sm)}.logo h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.tagline{color:var(--text-secondary);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group+.form-group{margin-top:.25rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:var(--text-light)}.input-error{border-color:var(--danger-color, #ef4444)!important;box-shadow:0 0 0 3px #ef44441a!important}.validation-error{color:var(--danger-color, #ef4444);font-size:.75rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.validation-error:before{content:"⚠";font-size:.875rem}.error-message{color:var(--danger-color);font-size:.875rem;min-height:1.25rem;text-align:center}.btn-login{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-primary)}.btn-login:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.btn-login:active{transform:translateY(0) scale(.98)}.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.demo-credentials{margin-top:1rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-secondary)}.demo-credentials p{margin-bottom:.25rem}.demo-credentials code{background:var(--card-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Courier New,monospace;color:var(--primary-color)}:root{--sidebar-w: 260px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--footer-h: 48px;--sidebar-bg: #ffffff;--sidebar-border: var(--border-color, #e5e7eb);--sidebar-item-hover: rgba(15, 23, 42, .05);--sidebar-item-active-bg: rgba(37, 99, 235, .08);--sidebar-item-active-fg: var(--primary-color, #2563eb);--sidebar-section-fg: #6b7280}@media (max-width: 1100px){:root{--sidebar-w: min(300px, 90vw)}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;background:var(--background-color, #f9fafb);transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app-main-col{display:flex;flex-direction:column;min-width:0;min-height:100vh}.app-main-col .main-content{flex:1;min-width:0}.app-main-col .footer{height:var(--footer-h);padding:0 1.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);font-size:.8125rem;border-top:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.app-main-col .footer p{margin:0}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:hidden;z-index:30}.sb-brand{display:flex;align-items:center;gap:.625rem;padding:0 1rem;height:var(--topbar-h);border-bottom:1px solid var(--sidebar-border);flex-shrink:0;overflow:hidden;white-space:nowrap;text-decoration:none;color:var(--text-color, #0f172a)}.sb-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0}.sb-brand-text{font-weight:700;font-size:.95rem;color:var(--text-color, #0f172a);letter-spacing:-.01em}.app-sidebar.collapsed .sb-brand{padding:0;justify-content:center}.app-sidebar.collapsed .sb-brand-text{display:none}.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;display:flex;flex-direction:column;gap:.125rem}.sb-nav::-webkit-scrollbar{width:6px}.sb-nav::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.sb-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:6px;font-size:.875rem;color:var(--text-color, #0f172a);text-decoration:none;background:none;border:0;width:100%;cursor:pointer;text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden;position:relative;flex-shrink:0}.sb-item:hover{background:var(--sidebar-item-hover)}.sb-item.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active-fg);font-weight:600}.sb-item svg{width:18px;height:18px;flex-shrink:0}.sb-label{flex:1;overflow:hidden;text-overflow:ellipsis}.app-sidebar.collapsed .sb-label{display:none}.app-sidebar.collapsed .sb-item{justify-content:center;padding:.55rem}.app-sidebar.collapsed .sb-chevron{display:none}.sb-group-trigger,.sb-group-trigger.has-active{color:var(--text-color, #0f172a)}.sb-chevron{width:14px;height:14px;flex-shrink:0;opacity:.6;transition:transform .16s ease}.sb-group.open .sb-chevron{transform:rotate(180deg)}.sb-children{display:flex;flex-direction:column;gap:.125rem;margin-left:1rem;border-left:1px solid var(--sidebar-border);padding:.125rem 0 .25rem .5rem;flex-shrink:0}.sb-child{display:flex;align-items:center;gap:.625rem;padding:.4rem .625rem;border-radius:6px;font-size:.85rem;color:var(--text-color, #0f172a);text-decoration:none;white-space:nowrap;overflow:hidden;flex-shrink:0}.sb-child:hover{background:var(--sidebar-item-hover)}.sb-child.active{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active-fg);font-weight:700}.sb-child svg{width:16px;height:16px;flex-shrink:0;opacity:.85}.sb-child-locked{width:100%;background:transparent;border:0;font-family:inherit;text-align:left;cursor:not-allowed;color:var(--text-tertiary, #94a3b8);opacity:.65}.sb-child-locked:hover{background:transparent}.sb-child-locked .sb-label{flex:1}.sb-child-locked .sb-lock-icon,.sb-item-locked .sb-lock-icon{font-size:.7rem;opacity:.7;margin-left:auto;line-height:1}.sb-item-locked{width:100%;background:transparent;border:0;font-family:inherit;text-align:left;cursor:not-allowed;color:var(--text-tertiary, #94a3b8);opacity:.65}.sb-item-locked:hover{background:transparent}.sb-item-locked .sb-label{flex:1}.sb-divider{height:1px;background:var(--sidebar-border);margin:.375rem .5rem;flex-shrink:0}.sb-section-label{padding:.625rem .75rem .25rem;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--sidebar-muted, #8a8f98);-webkit-user-select:none;user-select:none}.sb-nav>.sb-section-label{padding:1rem .75rem .375rem}.app-sidebar.collapsed .sb-section-label{padding:.25rem 0;font-size:0;height:.5rem;color:transparent;border-top:1px solid var(--sidebar-border);margin:.375rem .5rem}.sb-drawer-extras{display:none;flex-direction:column;gap:.375rem;padding:.5rem .75rem .625rem;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sb-drawer-row{display:flex;align-items:center;gap:.625rem;cursor:pointer}.sb-drawer-row-label{flex-shrink:0;width:4.5rem;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;color:var(--text-muted, #6b7280)}.sb-drawer-select{flex:1;min-width:0;padding:.3125rem .5rem;background:#fff;border:1px solid var(--sidebar-border);border-radius:6px;font-family:inherit;font-size:.8125rem;line-height:1.2;color:var(--text-color, #0f172a);cursor:pointer}.sb-drawer-select:hover{border-color:var(--sidebar-item-active-fg)}.sb-drawer-select:focus{outline:none;border-color:var(--sidebar-item-active-fg);box-shadow:0 0 0 2px #2563eb26}.sb-footer{height:var(--footer-h);border-top:1px solid var(--sidebar-border);padding:0 .5rem;display:flex;align-items:center;flex-shrink:0}.sb-collapse-btn{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:none;border:0;width:100%;cursor:pointer;border-radius:6px;font-size:.8125rem;color:var(--text-secondary, #6b7280);font-family:inherit;text-align:left}.sb-collapse-btn:hover{background:var(--sidebar-item-hover);color:var(--text-color, #0f172a)}.sb-collapse-icon{width:16px;height:16px;flex-shrink:0;transition:transform .18s ease}.app-sidebar.collapsed .sb-collapse-icon{transform:rotate(180deg)}.app-sidebar.collapsed .sb-collapse-btn{justify-content:center;padding:.5rem}.app-topbar{height:var(--topbar-h);background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;padding:0 1rem;gap:.75rem;position:sticky;top:0;z-index:20;flex-shrink:0}.topbar-spacer{flex:1;min-width:0}.topbar-mobile-toggle{display:none;background:none;border:0;padding:.5rem;border-radius:6px;color:var(--text-color, #0f172a);cursor:pointer;flex-shrink:0}.topbar-mobile-toggle:hover{background:var(--sidebar-item-hover)}.topbar-brand{display:none;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-color, #0f172a);flex-shrink:1;min-width:0;overflow:hidden}.topbar-brand-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}.topbar-brand-text{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-controls>*{flex-shrink:0}.topbar-context{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-context>*{flex-shrink:0}.topbar-icon-btn{background:none;border:0;padding:.5rem;border-radius:6px;color:var(--text-color, #0f172a);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.topbar-icon-btn:hover{background:var(--sidebar-item-hover)}.topbar-user{display:flex;align-items:center;gap:.5rem;padding-left:.5rem;border-left:1px solid var(--sidebar-border);margin-left:.25rem;flex-shrink:0}.topbar-user .user-name{font-size:.875rem;color:var(--text-color, #0f172a);font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logout-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border-radius:6px;color:var(--text-secondary, #6b7280);text-decoration:none;flex-shrink:0}.topbar-logout-btn:hover{background:var(--sidebar-item-hover);color:#dc2626}.topbar-logout-btn svg{flex-shrink:0}.topbar-lang.language-selector-dropdown{margin:0}.topbar-tz-current{font-size:.75rem;font-weight:500;line-height:1;white-space:nowrap;max-width:7rem;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1100px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;transform:translate(-100%);transition:transform .22s ease;box-shadow:4px 0 16px #00000014}.app-sidebar.mobile-open{transform:translate(0)}.app-sidebar.collapsed{width:var(--sidebar-w)}.app-sidebar.collapsed .sb-label,.app-sidebar.collapsed .sb-brand-text,.app-sidebar.collapsed .sb-chevron{display:initial}.app-sidebar.collapsed .sb-item{justify-content:flex-start;padding:.55rem .75rem}.app-sidebar.collapsed .sb-brand{padding:0 1rem;justify-content:flex-start}.app-sidebar.collapsed .sb-collapse-btn{justify-content:flex-start;padding:.5rem .75rem}.sb-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:25}.topbar-mobile-toggle{display:inline-flex;align-items:center;justify-content:center}.topbar-brand{display:inline-flex}.topbar-user .user-name{display:none}.topbar-user{border-left:0;padding-left:0;margin-left:0}.app-topbar{padding:0 .5rem;gap:.5rem}.sb-footer{display:none}.sb-drawer-extras{display:flex}}@media (max-width: 1100px){.app-topbar .topbar-icon-btn,.app-topbar .topbar-lang,.app-topbar #companyIndicator{display:none}}.sb-drawer-company{display:none;padding:.5rem .75rem;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}@media (max-width: 1100px){.sb-drawer-company{display:block}.sb-drawer-company .company-indicator{width:100%;padding:.5rem .625rem}.sb-drawer-company .company-indicator .company-label{display:block}.sb-drawer-company .company-selector{flex:1;justify-content:space-between}.sb-drawer-company .company-selector .company-name{max-width:none;font-size:.8125rem}.sb-drawer-company .company-dropdown{left:0;right:auto;width:100%;min-width:0}}@media (max-width: 480px){.topbar-brand-text{display:none}}.company-indicator{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-shrink:0}.company-indicator .company-label{font-size:.75rem;color:var(--text-secondary);display:none}.company-selector{position:relative;display:flex;align-items:center;gap:.25rem;cursor:pointer}.company-selector .company-name{font-size:.8125rem;font-weight:600;color:var(--primary-color);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-selector .dropdown-arrow{width:16px;height:16px;color:var(--text-secondary);transition:transform .2s}.company-selector.active .dropdown-arrow{transform:rotate(180deg)}.company-selector:not(.has-dropdown) .dropdown-arrow{display:none}.company-dropdown{position:absolute;top:100%;right:0;min-width:200px;background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-md);box-shadow:0 12px 48px -4px #00000040,0 4px 16px -2px #0000001f;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s;z-index:1000;margin-top:.5rem}.company-selector.active .company-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.company-dropdown .company-option{display:block;padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background .2s;border:none;background:none;width:100%;text-align:left}.company-dropdown .company-option:hover{background:var(--background-color)}.company-dropdown .company-option.active{background:#2563eb1a;color:var(--primary-color);font-weight:500}.company-dropdown .company-option:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.company-dropdown .company-option:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}@media (min-width: 768px){.company-indicator .company-label{display:block}.company-selector .company-name{max-width:120px}}@media (min-width: 1400px){.company-selector .company-name{max-width:180px}}@media (max-width: 767px){.company-indicator{padding:.25rem .5rem;margin-right:.5rem}.company-selector .company-name{max-width:100px;font-size:.75rem}}.language-selector-dropdown{position:relative;flex-shrink:0}.language-selector-trigger{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.language-selector-trigger:hover{background:var(--background-color);border-color:var(--border-color)}.language-selector-dropdown.open .language-selector-trigger{background:var(--background-color);border-color:var(--primary-color)}.language-selector-trigger .current-lang-flag{font-size:1.5rem;line-height:1}.language-selector-trigger .dropdown-arrow{width:14px;height:14px;color:var(--text-light);transition:transform .2s}.language-selector-dropdown.open .language-selector-trigger .dropdown-arrow{transform:rotate(180deg)}.language-selector-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-lg);box-shadow:0 12px 48px -4px #00000040,0 4px 16px -2px #0000001f;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:1000;overflow:hidden;padding:.5rem}.language-selector-dropdown.open .language-selector-menu{opacity:1;visibility:visible;transform:translateY(0)}.lang-menu-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s;text-align:left}.lang-menu-option:hover{background:var(--background-color)}.lang-menu-option.active{background:var(--primary-50)}.lang-menu-flag{font-size:1.25rem;line-height:1}.lang-menu-name{flex:1;font-size:.875rem;font-weight:500;color:var(--text-primary)}@media print{.app-sidebar,.app-topbar,.footer{display:none!important}.app-shell{grid-template-columns:1fr}.main-content{padding:0}}.speeding-alerts-container{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.speeding-alerts-bell{position:relative;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--text-color, #0f172a);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.speeding-alerts-bell:hover{background:var(--sidebar-item-hover, rgba(15, 23, 42, .05))}.speeding-alerts-container.disconnected .speeding-alerts-bell{opacity:.5}.speeding-alerts-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:#dc2626;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;animation:speeding-bell-pulse 2s infinite}@keyframes speeding-bell-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.speeding-alerts-panel{position:fixed;top:calc(var(--topbar-h, 56px) + 4px);right:20px;width:360px;max-height:480px;background:var(--card-background, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;box-shadow:0 10px 40px #00000026;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.speeding-alerts-panel.open{opacity:1;visibility:visible;transform:translateY(0)}.speeding-alerts-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.speeding-alerts-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-color, #111827)}.speeding-alerts-clear{background:none;border:0;padding:6px;cursor:pointer;color:var(--text-secondary, #6b7280);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.speeding-alerts-clear:hover{background:var(--sidebar-item-hover, #f3f4f6);color:#059669}.speeding-alerts-list{max-height:360px;overflow-y:auto;flex:1}.speeding-alerts-empty{padding:32px;text-align:center;color:var(--text-secondary, #9ca3af);font-size:14px}.speeding-alert-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color, #f3f4f6);cursor:pointer;transition:background .2s}.speeding-alert-item:hover{background:var(--sidebar-item-hover, #f9fafb)}.speeding-alert-item.acknowledged{opacity:.6}.speeding-alert-item .alert-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.speeding-alert-item.severity-low .alert-icon{background:#fef3c7;color:#d97706}.speeding-alert-item.severity-medium .alert-icon{background:#fed7aa;color:#ea580c}.speeding-alert-item.severity-high .alert-icon{background:#fecaca;color:#dc2626}.speeding-alert-item.severity-critical .alert-icon{background:#dc2626;color:#fff;animation:speeding-bell-flash 1s infinite}@keyframes speeding-bell-flash{0%,to{opacity:1}50%{opacity:.7}}.speeding-alert-item .alert-content{flex:1;min-width:0}.speeding-alert-item .alert-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.speeding-alert-item .alert-title strong{font-size:14px;color:var(--text-color, #111827)}.speeding-alert-item .alert-speed{font-size:14px;font-weight:600;color:#dc2626;white-space:nowrap}.speeding-alert-item .alert-details{font-size:12px;color:var(--text-secondary, #6b7280);margin-bottom:4px}.speeding-alert-item .alert-time{font-size:11px;color:var(--text-secondary, #9ca3af)}.speeding-alert-item .alert-acknowledge{background:none;border:0;padding:6px;cursor:pointer;color:var(--text-secondary, #9ca3af);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,color .2s}.speeding-alert-item .alert-acknowledge:hover{background:#d1fae5;color:#059669}.speeding-alerts-footer{padding:12px 16px;border-top:1px solid var(--border-color, #e5e7eb);text-align:center;flex-shrink:0}.speeding-alerts-link{font-size:13px;color:var(--primary-color, #2563eb);text-decoration:none}.speeding-alerts-link:hover{text-decoration:underline}@media (max-width: 480px){.speeding-alerts-panel{width:calc(100vw - 20px);right:10px;left:10px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--card-background);border-radius:var(--radius-2xl);width:100%;max-width:var(--modal-sm);max-height:90vh;overflow-y:auto;transform:scale(.96) translateY(8px);transition:transform var(--transition-spring);box-shadow:var(--shadow-xl)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.modal-close:hover{background:var(--background-color);color:var(--text-primary)}.modal-close svg{width:20px;height:20px}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1rem}.modal-form .form-group:last-of-type{margin-bottom:0}.modal-form select{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;width:100%;background:var(--card-background);color:var(--text-primary);cursor:pointer;transition:border-color .2s,box-shadow .2s}.modal-form select:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.modal-form textarea{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;width:100%;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s}.modal-form textarea:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.modal-actions-left{flex-basis:100%;display:flex;align-items:center;gap:.75rem;min-width:0}.modal-actions-left .btn-danger{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.modal-actions .btn-primary,.modal-actions .btn-secondary{flex:1;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.modal-actions:has(.modal-actions-left) .btn-primary,.modal-actions:has(.modal-actions-left) .btn-secondary{flex:0 0 auto}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border:none;box-shadow:var(--shadow-primary)}.modal-actions .btn-primary:hover{box-shadow:var(--shadow-primary-lg);transform:translateY(-1px)}.modal-actions .btn-primary:disabled,.modal-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.modal-actions .btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.modal-actions .btn-secondary:hover{background:var(--background-color);color:var(--text-primary)}.data-table-wrapper{width:100%}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-search{flex:1;max-width:320px;min-width:200px}.table-search .search-input{width:100%;padding:8px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:14px;background:var(--card-background, #fff);color:var(--text-color, #111827);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.table-search .search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.table-search .search-input::placeholder{color:#9ca3af}.table-responsive{overflow-x:auto;width:100%}.actions-column{white-space:nowrap;text-align:right;width:1%}@media (min-width: 640px){.data-table td.actions-column,.data-table th.actions-column{position:sticky;right:0}.data-table th.actions-column{z-index:11}.data-table td.actions-column{background-color:var(--card-background, #fff)}.data-table tbody tr:nth-child(2n) td.actions-column{background-color:#f8fafc}.data-table tbody tr:hover td.actions-column{background-color:var(--primary-50)}.data-table tbody tr.selected td.actions-column{background-color:var(--primary-100)}}.actions-column button{background:none;border:1px solid transparent;border-radius:4px;padding:4px 6px;cursor:pointer;margin-left:4px;display:inline-flex;align-items:center;justify-content:center;color:#4b5563;transition:background .15s,border-color .15s,color .15s}.actions-column button:hover{background:#f3f4f6;border-color:#e5e7eb}.actions-column button.btn-delete:hover,.actions-column button.btn-icon-danger:hover{background:#fee2e2;color:#b91c1c}.actions-column button.dt-actions-trigger{margin-left:0}.dt-actions-menu{z-index:1000;min-width:168px;padding:4px;background:var(--card-background, #fff);border:1px solid var(--border-dark, #cbd5e1);border-radius:var(--radius-md, .5rem);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px}.dt-actions-menu-item-wrap{display:block;width:100%}.dt-actions-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm, .375rem);background:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary, #475569);text-align:left;white-space:nowrap;transition:background .15s,color .15s}.dt-actions-menu-item:hover:not(:disabled){background:var(--gray-100, #f1f5f9);color:var(--text-primary, #0f172a)}.dt-actions-menu-item:disabled{opacity:.45;cursor:not-allowed}.dt-actions-menu-item.btn-delete:hover:not(:disabled){background:var(--danger-light, #fee2e2);color:var(--danger-color, #ef4444)}.dt-actions-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.dt-actions-menu-icon svg{width:16px;height:16px}.table-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px;flex-wrap:wrap}.pagination-info{color:#6b7280;font-size:13px}.pagination-page-size{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.pagination-page-size select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;background:var(--card-background, #fff);color:var(--text-primary, #111827);font-size:13px;cursor:pointer}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 10px;cursor:pointer;font-size:13px;color:#374151;min-width:32px;transition:background .15s,border-color .15s}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.pagination-ellipsis{padding:0 6px;color:#9ca3af}.data-table-select-col{width:36px;text-align:center;padding:4px}.data-table-bulk-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:12px;font-size:13px;color:#1e40af;flex-wrap:wrap}.data-table-bulk-bar strong{color:#1e3a8a}.data-table-bulk-bar .bulk-actions{display:flex;gap:6px;margin-left:auto}.data-table-bulk-bar .bulk-actions button{background:#fff;border:1px solid #bfdbfe;color:#1e40af;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer}.data-table-bulk-bar .bulk-actions button:hover{background:#dbeafe}.data-table-bulk-bar .bulk-actions button.danger{color:#b91c1c;border-color:#fecaca}.data-table-bulk-bar .bulk-actions button.danger:hover{background:#fee2e2}@media (max-width: 640px){.table-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.table-search{max-width:none}}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.data-table th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:none;letter-spacing:0;white-space:nowrap;background:var(--gray-50);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:10}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.data-table th.sortable:hover{background:var(--gray-100)}.data-table th .sort-indicator{display:inline-block;margin-left:.25rem;opacity:.4}.data-table th.sorted .sort-indicator{opacity:1;color:var(--primary-color)}.data-table td{color:var(--text-primary)}.data-table tbody tr:nth-child(2n){background:#f8fafc99}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--primary-50)}.data-table tbody tr.selected{background:var(--primary-100);border-left:3px solid var(--primary-color)}.data-table tbody tr:focus-within{box-shadow:inset 0 0 0 2px var(--primary-300)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.empty-state-icon{color:var(--text-tertiary, #999);margin-bottom:1rem;opacity:.5}.empty-state-message{font-size:1rem;font-weight:500;color:var(--text-secondary, #666);margin-bottom:.5rem}.empty-state-hint{font-size:.875rem;color:var(--text-tertiary, #999)}.driver-summary-row td{padding:.75rem 1rem}.driver-summary-row:hover{background:#eff6ff!important;cursor:pointer}.driver-summary-row:hover td:first-child strong{color:#2563eb}.totals-row{background:var(--bg-tertiary)!important;border-top:2px solid var(--border-color)}.totals-row td{padding:1rem;font-weight:600}.totals-row:hover{background:var(--bg-tertiary)!important}.category-badge.fuel{background:#f59e0b1a;color:var(--warning-color)}.category-badge.maintenance{background:#3b82f61a;color:var(--primary-light)}.category-badge.tolls{background:#8b5cf61a;color:#8b5cf6}.category-badge.parking{background:#06b6d41a;color:var(--accent-color)}.category-badge.other{background:#64748b1a;color:var(--text-secondary)}.th-filterable{vertical-align:top}.th-filterable .th-content{display:flex;flex-direction:column;gap:.375rem}.th-filterable .th-label{font-weight:600}.col-filter{width:100%;padding:.3rem .5rem;font-size:.725rem;font-weight:400;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-xs);background:var(--card-background);color:var(--text-primary, #1e293b);transition:border-color .15s,box-shadow .15s}.col-filter:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 2px #3b82f61a}.col-filter::placeholder{color:#94a3b8;font-size:.65rem}select.col-filter{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' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .125rem center;background-size:14px;padding-right:1.25rem}select.col-filter:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233b82f6'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E")}input[type=date].col-filter{cursor:pointer;font-size:.65rem}.filter-wrapper{display:flex;align-items:center;gap:2px;position:relative}.filter-wrapper .col-filter{flex:1;min-width:0}.filter-toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-xs);background:var(--card-background);cursor:pointer;color:#64748b;transition:all .2s;flex-shrink:0}.filter-toggle-btn:hover{background:#f1f5f9;border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.filter-toggle-btn.active{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.filter-dropdown{display:none;position:absolute;top:100%;left:0;right:0;min-width:160px;max-height:220px;overflow-y:auto;background:var(--card-background);border:1px solid var(--border-dark);border-radius:var(--radius-md);box-shadow:0 10px 40px -4px #0003,0 4px 12px -2px #0000001a;z-index:1000;margin-top:4px}.filter-dropdown.active{display:block}.filter-dropdown-item{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:.75rem;cursor:pointer;transition:background .15s}.filter-dropdown-item:hover{background:#f1f5f9}.filter-dropdown-item input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer}.filter-dropdown-item label{flex:1;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-actions{display:flex;gap:4px;padding:6px 8px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary);position:sticky;bottom:0}.filter-dropdown-actions button{flex:1;padding:4px 8px;font-size:.7rem;border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-xs);cursor:pointer;transition:all .15s}.filter-dropdown-actions .btn-apply{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.filter-dropdown-actions .btn-apply:hover{background:#2563eb}.filter-dropdown-actions .btn-clear{background:var(--card-background);color:#64748b}.filter-dropdown-actions .btn-clear:hover{background:#f1f5f9}@media (max-width: 768px){.col-filter,.filter-toggle-btn{display:none}}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s;background:transparent}.btn-icon svg{width:18px;height:18px}.btn-edit{color:var(--primary-color)}.btn-edit:hover{background:#2563eb1a}.btn-delete{color:var(--danger-color)}.btn-delete:hover{background:#ef44441a}.btn-warning{color:#f59e0b}.btn-warning:hover{background:#f59e0b1a}.actions-cell{display:flex;gap:.25rem;justify-content:flex-end}.empty-message{text-align:center;color:var(--text-secondary);padding:2rem!important}.devices-section{margin-top:1.5rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.devices-section h4{display:flex;align-items:center;margin-bottom:1rem;color:var(--text-primary)}.devices-list{display:flex;flex-direction:column;gap:.75rem}.loading-devices,.no-devices,.error-devices{color:var(--text-secondary);font-style:italic;padding:1rem;text-align:center}.error-devices{color:var(--danger-color)}.device-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--background-color);border-radius:var(--radius-md);border-left:4px solid var(--text-secondary);gap:1rem}.device-item.approved{border-left-color:var(--success-color);background:#f0fdf4}.device-item.pending{border-left-color:var(--warning-color);background:#fffbeb}.device-item.revoked{border-left-color:var(--danger-color);background:#fef2f2}.device-item.blocked{border-left-color:#1f2937;background:#f3f4f6}.blocked-label{font-size:.75rem;font-weight:600;color:#6b7280;padding:.25rem .5rem;background:#e5e7eb;border-radius:var(--radius-sm)}.status-indicator.blocked{color:#1f2937}.device-info{display:flex;align-items:center;gap:.75rem;flex:1}.device-icon{font-size:1.5rem}.device-details{display:flex;flex-direction:column;gap:.125rem}.device-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.device-id{font-family:monospace;font-size:.75rem;color:var(--text-secondary)}.device-date{font-size:.75rem;color:var(--text-light)}.device-status{flex-shrink:0}.status-indicator{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-indicator.approved{background:var(--success-color);color:#fff}.status-indicator.pending{background:var(--warning-color);color:#fff}.status-indicator.revoked{background:var(--danger-color);color:#fff}.device-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-device-approve,.btn-device-revoke,.btn-device-delete{width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-device-approve{background:var(--success-color);color:#fff}.btn-device-approve:hover{background:#059669}.btn-device-revoke{background:var(--warning-color);color:#fff}.btn-device-revoke:hover{background:#d97706}.btn-device-delete{background:var(--danger-color);color:#fff}.btn-device-delete:hover{background:#dc2626}@media (max-width: 600px){.device-item{flex-wrap:wrap}.device-info{width:100%}.device-status,.device-actions{margin-top:.5rem}}.pending-approvals-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.pending-approvals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pending-approvals-title{display:flex;align-items:center;gap:.75rem}.pending-approvals-title svg{color:#d97706}.pending-approvals-title h3{margin:0;font-size:1.125rem;font-weight:600;color:#92400e}.pending-approvals-title p{margin:.25rem 0 0;font-size:.875rem;color:#b45309}.btn-approve-all{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #10b9814d}.btn-approve-all:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.btn-approve-all:active{transform:translateY(0)}.btn-approve-all:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.pending-approvals-list{display:flex;flex-direction:column;gap:.75rem}.pending-approval-card{display:flex;align-items:center;justify-content:space-between;background:var(--card-background);padding:1rem;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.pending-approval-card:hover{box-shadow:0 4px 6px #0000001a}.pending-approval-info{display:flex;align-items:center;gap:1rem}.pending-approval-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}.pending-approval-details h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.pending-approval-details p{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-secondary)}.pending-approval-device{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;padding:.25rem .5rem;background:#fef3c7;border-radius:var(--radius-sm);font-size:.75rem;color:#92400e}.pending-approval-actions{display:flex;gap:.5rem}.btn-quick-approve,.btn-quick-reject,.btn-quick-block{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-quick-approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.btn-quick-approve:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.btn-quick-reject{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.btn-quick-reject:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.btn-quick-block{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 2px 4px #6b72804d}.btn-quick-block:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-1px)}.btn-quick-approve:disabled,.btn-quick-reject:disabled,.btn-quick-block:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-loading{position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.pending-approvals-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-approve-all{width:100%;justify-content:center}.pending-approval-card{flex-direction:column;align-items:flex-start;gap:1rem}.pending-approval-actions{width:100%}.btn-quick-approve,.btn-quick-reject,.btn-quick-block{flex:1;justify-content:center}}.maintenance-schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.maintenance-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid #10b981}.maintenance-card.overdue,.maintenance-card.urgent{border-left-color:#ef4444;background:#fef2f2}.maintenance-card.warning{border-left-color:#f59e0b;background:#fffbeb}.maintenance-card.interval{border-left-color:#6366f1}.maintenance-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#10b981;border-radius:50%;flex-shrink:0}.maintenance-icon svg{width:20px;height:20px;fill:#fff}.maintenance-icon.last{background:#10b981}.maintenance-icon.next{background:#3b82f6}.maintenance-card.overdue .maintenance-icon.next,.maintenance-card.urgent .maintenance-icon.next{background:#ef4444}.maintenance-card.warning .maintenance-icon.next{background:#f59e0b}.maintenance-info{display:flex;flex-direction:column;gap:.25rem}.maintenance-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.maintenance-value{font-size:1rem;font-weight:600;color:#1e293b}.maintenance-km{font-size:.875rem;color:#64748b}.maintenance-status{font-size:.875rem;font-weight:500;color:#10b981}.maintenance-status.overdue,.maintenance-status.urgent{color:#ef4444}.maintenance-status.warning{color:#f59e0b}.btn-edit-interval{padding:.25rem .75rem;font-size:.75rem;background:#e0e7ff;color:#4f46e5;border:none;border-radius:var(--radius-xs);cursor:pointer;margin-top:.25rem}.btn-edit-interval:hover{background:#c7d2fe}.maintenance-history-list{margin-top:.5rem}.history-item{display:flex;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:.5rem;gap:1rem}.history-date{display:flex;flex-direction:column;min-width:120px}.history-date .date{font-weight:500;color:#1e293b}.history-date .km{font-size:.75rem;color:#64748b}.history-details{flex:1;display:flex;flex-direction:column}.history-details .type{font-weight:500;color:#3b82f6}.history-details .description{font-size:.875rem;color:#64748b}.history-cost{font-weight:600;color:#1e293b}.no-history{text-align:center;padding:2rem;color:#64748b}.btn-log-maintenance{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-decoration:none;border-radius:6px;font-weight:500}.section-link{margin-left:auto;font-size:.875rem;color:#3b82f6;text-decoration:none}.section-link:hover{text-decoration:underline}.maintenance-due-banner{background:linear-gradient(135deg,#64748b,#475569);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.maintenance-due-banner.has-due{background:linear-gradient(135deg,#ef4444,#dc2626)}.maintenance-due-banner.hidden{display:none!important}.maintenance-due-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.maintenance-due-icon svg{width:24px;height:24px;fill:#fff}.maintenance-due-text{flex:1;display:flex;flex-direction:column}.maintenance-due-title{font-size:1rem;font-weight:600;color:#fff}.maintenance-due-count{font-size:.875rem;color:#ffffffd9}.maintenance-due-action{padding:.5rem 1.25rem;background:var(--card-background);color:#64748b;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.maintenance-due-banner.has-due .maintenance-due-action{color:#dc2626}.maintenance-due-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 768px){.maintenance-schedule-grid{grid-template-columns:1fr}}@media (max-width: 600px){.maintenance-due-banner{flex-wrap:wrap}.maintenance-due-action{width:100%;margin-top:.5rem}}.consumption-alerts-banner{background:linear-gradient(135deg,#64748b,#475569);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.consumption-alerts-banner.has-alerts{background:linear-gradient(135deg,#ef4444,#dc2626)}.consumption-alerts-banner.hidden{display:none!important}.consumption-alerts-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.consumption-alerts-icon svg{width:24px;height:24px;fill:#fff}.consumption-alerts-text{flex:1;display:flex;flex-direction:column}.consumption-alerts-title{font-size:1rem;font-weight:600;color:#fff}.consumption-alerts-count{font-size:.875rem;color:#ffffffd9}.consumption-alerts-action{padding:.5rem 1.25rem;background:var(--card-background);color:#64748b;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.consumption-alerts-banner.has-alerts .consumption-alerts-action{color:#dc2626}.consumption-alerts-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 600px){.consumption-alerts-banner{flex-wrap:wrap}.consumption-alerts-action{width:100%;margin-top:.5rem}}.error-logs-banner{background:linear-gradient(135deg,#64748b,#475569);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.error-logs-banner.has-errors{background:linear-gradient(135deg,#dc2626,#b91c1c)}.error-logs-banner.hidden{display:none!important}.error-logs-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-logs-icon svg{width:24px;height:24px;fill:#fff}.error-logs-text{flex:1;color:#fff}.error-logs-title{display:block;font-weight:600;font-size:1rem;margin-bottom:.125rem}.error-logs-count{font-size:.85rem;opacity:.9}.error-logs-action{background:var(--card-background);color:#475569;border:none;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.error-logs-banner.has-errors .error-logs-action{color:#dc2626}.error-logs-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 600px){.error-logs-banner{flex-wrap:wrap}.error-logs-action{width:100%;margin-top:.5rem}}.vehicle-details-modal{max-width:800px!important;max-height:95vh!important}.vehicle-details-modal .modal-body{max-height:calc(95vh - 60px);overflow-y:auto;padding:1.5rem}.section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:600;color:#1e293b}.section-title svg{width:20px;height:20px;fill:#64748b}.details-section.full-width{grid-column:1 / -1;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.vehicle-modal-tabs{display:flex;gap:.5rem;padding:0 0 1rem;border-bottom:2px solid #e2e8f0;margin-bottom:1.5rem}.vehicle-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;background:#f1f5f9;border-radius:8px 8px 0 0;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;position:relative}.vehicle-tab-btn svg{width:18px;height:18px;fill:currentColor}.vehicle-tab-btn:hover{background:#e2e8f0;color:#475569}.vehicle-tab-btn.active{background:#4f46e5;color:#fff}.vehicle-tab-btn.active svg{fill:#fff}.tab-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.75rem;font-weight:700;border-radius:50%;margin-left:.25rem}.tab-badge.urgent{background:#ef4444;color:#fff}.tab-badge.warning{background:#f59e0b;color:#fff}.vehicle-tab-btn.active .tab-badge{background:var(--card-background)}.vehicle-tab-btn.active .tab-badge.urgent{color:#ef4444}.vehicle-tab-btn.active .tab-badge.warning{color:#f59e0b}.vehicle-tab-content{min-height:300px}.vehicle-tab-pane{display:none}.vehicle-tab-pane.active{display:block;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tab-section{margin-bottom:1.5rem}.tab-section:last-child{margin-bottom:0}.maintenance-tab-content,.insurance-tab-content{padding:0}@media (max-width: 600px){.vehicle-modal-tabs{flex-wrap:wrap}.vehicle-tab-btn{flex:1;min-width:100px;justify-content:center;font-size:.75rem;padding:.625rem .5rem}.vehicle-tab-btn svg{width:16px;height:16px}}.log-maintenance-form,.update-insurance-form{background:var(--bg-secondary);border-radius:8px;padding:1rem}.log-maintenance-form .form-row,.update-insurance-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.log-maintenance-form .form-group,.update-insurance-form .form-group{display:flex;flex-direction:column;gap:.25rem}.log-maintenance-form .form-group.full-width,.update-insurance-form .form-group.full-width{grid-column:1 / -1;margin-bottom:1rem}.log-maintenance-form label,.update-insurance-form label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.log-maintenance-form input,.log-maintenance-form select,.log-maintenance-form textarea,.update-insurance-form input,.update-insurance-form select,.update-insurance-form textarea{padding:.625rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:#1e293b;background:var(--card-background);transition:border-color .2s,box-shadow .2s}.log-maintenance-form input:focus,.log-maintenance-form select:focus,.log-maintenance-form textarea:focus,.update-insurance-form input:focus,.update-insurance-form select:focus,.update-insurance-form textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.log-maintenance-form textarea,.update-insurance-form textarea{resize:vertical;min-height:60px}.log-maintenance-form .btn-primary,.update-insurance-form .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.log-maintenance-form .btn-primary:hover,.update-insurance-form .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.log-maintenance-form .btn-primary svg,.update-insurance-form .btn-primary svg{width:18px;height:18px;fill:#fff}@media (max-width: 600px){.log-maintenance-form .form-row,.update-insurance-form .form-row{grid-template-columns:1fr}}.damages-tab-content{padding:0}.damages-list{display:flex;flex-direction:column;gap:.75rem}.damage-report-item{background:var(--bg-secondary);border-radius:8px;padding:1rem;border-left:3px solid #64748b}.damage-report-item.new-damage{border-left-color:#ef4444;background:#fef2f2}.damage-report-item.severe{border-left-color:#dc2626}.damage-report-item.moderate{border-left-color:#f59e0b}.damage-report-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.damage-date{font-weight:500;color:#1e293b}.damage-source{font-size:.75rem;color:#64748b;background:#e2e8f0;padding:.125rem .5rem;border-radius:var(--radius-xs)}.ai-badge{font-size:.7rem;font-weight:600;color:#7c3aed;background:#ede9fe;padding:.125rem .5rem;border-radius:var(--radius-xs)}.new-badge{font-size:.7rem;font-weight:600;color:#ef4444;background:#fee2e2;padding:.125rem .5rem;border-radius:var(--radius-xs)}.damage-report-body{display:flex;flex-direction:column;gap:.25rem}.damage-type-badge{display:inline-block;font-size:.75rem;font-weight:500;color:#1e293b;background:#e2e8f0;padding:.25rem .75rem;border-radius:var(--radius-xs);text-transform:capitalize;width:fit-content}.damage-type-badge.severe{background:#fee2e2;color:#dc2626}.damage-type-badge.moderate{background:#fef3c7;color:#b45309}.damage-description{font-size:.875rem;color:#475569;margin:.25rem 0}.damage-driver,.damage-photos{font-size:.75rem;color:#94a3b8}.no-damages{text-align:center;padding:2rem;color:#64748b}.gallery-tab-content{padding:0}.gallery-filter-info{font-size:.75rem;font-weight:400;color:#94a3b8;margin-left:auto}.vehicle-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.gallery-photo-item{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.gallery-photo-item:hover{transform:scale(1.02)}.gallery-photo-item img{width:100%;height:100%;object-fit:cover}.gallery-photo-item .photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:.5rem;display:flex;flex-direction:column;gap:.125rem}.photo-position{font-size:.75rem;font-weight:500;color:#fff;text-transform:capitalize}.photo-date,.photo-type{font-size:.6875rem;color:#ffffffb3}.gallery-photo-item .photo-badge{position:absolute;top:.5rem;right:.5rem;font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:var(--radius-xs)}.photo-badge.damage{background:#ef4444;color:#fff}.photo-badge.ai{background:#7c3aed;color:#fff}.gallery-photo-item.damage{border:2px solid #ef4444}.gallery-photo-item.ai-scan{border:2px solid #7c3aed}.no-photos{text-align:center;padding:2rem;color:#64748b;grid-column:1 / -1}.tab-badge.info{background:#3b82f6;color:#fff}@media (max-width: 600px){.vehicle-gallery-grid{grid-template-columns:repeat(2,1fr)}}.searchable-select-wrapper{display:flex;flex-direction:column;gap:.5rem}.vehicle-search-input{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:var(--card-background);transition:border-color .2s,box-shadow .2s}.vehicle-search-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.vehicle-search-input::placeholder{color:#94a3b8}.searchable-select-wrapper select{width:100%}.users-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.summary-icon.drivers{background:#dbeafe;color:#2563eb}.summary-icon.controllers{background:#d1fae5;color:#047857}.summary-icon.admins{background:#fee2e2;color:#dc2626}.summary-icon.superusers{background:#fef3c7;color:#d97706}.summary-icon.active-status{background:#d1fae5;color:#059669}.summary-icon.inactive-status{background:#fee2e2;color:#dc2626}.users-action-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:center}.search-box{flex:1;min-width:200px;display:flex;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.625rem .875rem}.search-box svg{width:18px;height:18px;color:var(--text-light);flex-shrink:0}.search-box input{flex:1;border:none;outline:none;font-size:.875rem;background:transparent}.users-action-bar .filter-group select{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--white);min-width:120px}.btn-add-user{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-user svg{width:18px;height:18px}.btn-add-user:hover{background:#1d4ed8}.users-table-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.users-table{width:100%;border-collapse:collapse;min-width:600px}.users-table th,.users-table td{padding:.875rem 1rem;text-align:left;font-size:.875rem}.users-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.users-table td{border-bottom:1px solid var(--border-color)}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:var(--bg-secondary)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:#fff;flex-shrink:0;overflow:hidden}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar.has-photo{background:none;padding:0}.user-avatar-large{width:80px;height:80px;object-fit:cover;border-radius:50%}.user-avatar.driver{background:linear-gradient(135deg,#3b82f6,#2563eb)}.user-avatar.controller{background:linear-gradient(135deg,#10b981,#047857)}.user-avatar.admin{background:linear-gradient(135deg,#ef4444,#dc2626)}.user-avatar.superuser{background:linear-gradient(135deg,#f59e0b,#d97706)}.user-avatar.company{background:linear-gradient(135deg,#6366f1,#4f46e5)}.user-avatar.currency{background:linear-gradient(135deg,#f59e0b,#d97706)}.user-avatar.large{width:80px;height:80px;font-size:2rem}.user-cell-info{display:flex;flex-direction:column;min-width:0}.user-cell-name{font-weight:500;color:var(--text-primary)}.user-cell-id{font-size:.75rem;color:var(--text-light);font-family:monospace}.card-number-cell{display:flex;align-items:center;gap:.5rem}.card-number-cell .card-icon{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0}.card-icon-large{width:60px;height:60px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:12px;display:flex;align-items:center;justify-content:center}.card-icon-large svg{width:32px;height:32px;color:#fff}.role-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.role-badge.driver{background:#dbeafe;color:#1d4ed8}.role-badge.controller{background:#d1fae5;color:#047857}.role-badge.admin{background:#fee2e2;color:#b91c1c}.role-badge.superuser{background:#fef3c7;color:#d97706}.currency-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#fef3c7;color:#b45309}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.25rem .5rem;border-radius:9999px;font-size:.8rem;font-weight:600}.count-badge.users{background:#dbeafe;color:#1d4ed8}.count-badge.vehicles{background:#e0e7ff;color:#4338ca}.currency-code{font-weight:600;color:var(--text-primary)}.currency-symbol{font-size:1.1rem;font-weight:600}.default-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.65rem;font-weight:500;background:#d1fae5;color:#047857;margin-left:.5rem}.country-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#e0e7ff;color:#3730a3}.body-type-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:#f3f4f6;color:#374151}.body-type-badge.pickup{background:#fef3c7;color:#b45309}.body-type-badge.van{background:#dbeafe;color:#1d4ed8}.body-type-badge.suv{background:#d1fae5;color:#047857}.body-type-badge.truck{background:#f3e8ff;color:#7c3aed}.body-type-badge.sedan{background:#e0e7ff;color:#4338ca}.body-type-badge.mpv{background:#fce7f3;color:#be185d}.body-type-badge.bus{background:#ffedd5;color:#c2410c}.body-type-badge.minibus{background:#e0f2fe;color:#0369a1}.body-type-badge.hatchback{background:#f3e8ff;color:#7c3aed}.body-type-badge.coupe{background:#ffe4e6;color:#be123c}.body-type-badge.convertible{background:#fef9c3;color:#a16207}.body-type-badge.wagon{background:#dcfce7;color:#15803d}.fuel-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.65rem;font-weight:500;margin-right:.25rem}.fuel-badge.petrol{background:#fee2e2;color:#b91c1c}.fuel-badge.diesel{background:#fef3c7;color:#92400e}.fuel-badge.electric{background:#d1fae5;color:#047857}.user-avatar.brand,.user-avatar.model{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem 0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.filter-group{display:flex;gap:.5rem;flex-wrap:wrap}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--card-background);cursor:pointer}.contact-info{display:flex;flex-direction:column;gap:.125rem}.contact-email{font-size:.8125rem;color:var(--text-primary)}.contact-phone{font-size:.75rem;color:var(--text-light)}.btn-icon.btn-view{color:#3b82f6}.btn-icon.btn-view:hover{background:#dbeafe}.user-modal{max-width:550px;width:95%}.user-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.vehicle-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.vehicle-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem}.vehicle-checkbox input{display:none}.vehicle-checkbox .checkmark{width:18px;height:18px;border:2px solid #d1d5db;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.vehicle-checkbox input:checked+.checkmark{background:#16a34a;border-color:#16a34a}.vehicle-checkbox input:checked+.checkmark:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.company-access-options{margin-bottom:.5rem}.all-companies-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fef3c7;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;font-weight:500;color:#d97706}.all-companies-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.company-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.company-checkboxes.disabled{opacity:.5;pointer-events:none}.company-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem}.company-checkbox input{display:none}.company-checkbox .checkmark{width:18px;height:18px;border:2px solid #d1d5db;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.company-checkbox input:checked+.checkmark{background:#3b82f6;border-color:#3b82f6}.company-checkbox input:checked+.checkmark:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.user-details-modal{max-width:500px;width:95%}.user-details-header{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.user-details-name{text-align:center}.user-details-name h2{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.user-details-name .role-badge,.user-details-name .status-badge{margin:0 .25rem}.user-details-grid{display:flex;flex-direction:column;gap:1.5rem}.detail-section{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem}.detail-section h4{font-size:.75rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.detail-section .detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.detail-section .detail-row:last-child{border-bottom:none}.delete-modal{max-width:360px;text-align:center;padding:2rem}.delete-icon{width:64px;height:64px;background:#fee2e2;color:#dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.delete-icon svg{width:32px;height:32px}.delete-modal h3{font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.delete-modal p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1.5rem}.btn-danger{background:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#b91c1c}@media (max-width: 480px){.users-action-bar{flex-direction:column}.search-box,.users-action-bar .filter-group,.btn-add-user,.users-action-bar .filter-group select{width:100%}.user-modal .form-row{grid-template-columns:1fr}}@media (min-width: 640px){.users-summary{grid-template-columns:repeat(3,1fr)}}.photo-upload-group{margin-bottom:1.5rem}.photo-upload-container{display:flex;align-items:center;gap:1.5rem}.photo-preview{width:100px;height:100px;border-radius:50%;background:var(--background-color);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-preview svg{width:50px;height:50px;color:var(--text-light)}.photo-upload-actions{display:flex;flex-direction:column;gap:.5rem}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.rating-input{display:flex;align-items:center;gap:1rem}.rating-input input[type=range]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:var(--radius-xs);outline:none}.rating-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer;transition:background .2s}.rating-input input[type=range]::-webkit-slider-thumb:hover{background:var(--primary-dark)}.rating-input input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.rating-value{font-size:1.25rem;font-weight:600;color:var(--primary-color);min-width:30px;text-align:center}.form-section{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;margin:1rem 0}.form-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.rating-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.rating-badge.high{background:#10b9811a;color:var(--success-color)}.rating-badge.medium{background:#f59e0b1a;color:var(--warning-color)}.rating-badge.low{background:#ef44441a;color:var(--danger-color)}.rating-badge svg{width:12px;height:12px}.termination-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.termination-badge.terminated{background:#ef44441a;color:var(--danger-color)}.termination-badge.resigned{background:#f59e0b1a;color:var(--warning-color)}.termination-badge.promoted{background:#10b9811a;color:var(--success-color)}.project-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;max-height:150px;overflow-y:auto;padding:.5rem;background:var(--background-color);border-radius:var(--radius-md)}.project-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--card-background);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.project-checkbox:hover{background:var(--border-color)}.project-checkbox input{width:16px;height:16px;accent-color:var(--primary-color)}.license-warning{color:var(--warning-color)}.license-danger{color:var(--danger-color)}.license-ok{color:var(--success-color)}.checked-in-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#10b9811a;border-radius:var(--radius-md);color:var(--success-color);font-weight:600}.checked-in-badge svg{width:20px;height:20px}.project-filter-tabs{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem}.project-filter-tab{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);font-size:.875rem;cursor:pointer;white-space:nowrap;transition:all .2s}.project-filter-tab:hover{border-color:var(--primary-color);color:var(--primary-color)}.project-filter-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.no-projects-message{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic}.selfie-capture-section{margin-top:1.5rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md);border:1px dashed var(--border-color)}.selfie-capture-section h4{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.selfie-container{position:relative}.selfie-camera{display:none;position:relative;width:100%;max-width:400px;margin:0 auto;border-radius:var(--radius-md);overflow:hidden;background:#000}.selfie-camera.active{display:block}.selfie-camera video{width:100%;height:auto;min-height:300px;object-fit:cover;transform:scaleX(-1)}.camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.camera-guide{width:70%;height:80%;display:flex;flex-direction:column;align-items:center;justify-content:center}.guide-frame{width:100%;height:100%;border:2px dashed rgba(255,255,255,.5);border-radius:var(--radius-lg)}.guide-text{position:absolute;bottom:70px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.75rem;white-space:nowrap}.btn-capture-selfie{position:absolute;bottom:15px;left:50%;transform:translate(-50%);width:60px;height:60px;border-radius:50%;background:var(--card-background);border:4px solid var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-capture-selfie:hover{transform:translate(-50%) scale(1.05);box-shadow:0 4px 12px #0000004d}.btn-capture-selfie:active{transform:translate(-50%) scale(.95)}.btn-capture-selfie svg{width:40px;height:40px;color:var(--primary-color)}.btn-start-camera{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:var(--card-background);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:1rem}.btn-start-camera:hover{border-color:var(--primary-color);color:var(--primary-color);background:#2563eb0d}.btn-start-camera svg{width:24px;height:24px}.selfie-preview{position:relative;width:100%;max-width:400px;margin:0 auto;border-radius:var(--radius-md);overflow:hidden}.selfie-preview img{width:100%;height:auto;min-height:200px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--success-color)}.btn-retake-selfie{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#000000b3;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:background .2s}.btn-retake-selfie:hover{background:#000000d9}.btn-retake-selfie svg{width:16px;height:16px}.selfie-capture-section.required{border-color:var(--danger-color)}.selfie-capture-section.required h4:after{content:" *";color:var(--danger-color)}.selfie-capture-section.captured{border-color:var(--success-color);border-style:solid;background:#10b9810d}.selfie-capture-section.captured h4{color:var(--success-color)}.selfie-capture-section.captured h4:before{content:"";display:inline-block;width:16px;height:16px;background:var(--success-color);border-radius:50%;margin-right:.5rem;vertical-align:middle;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");background-size:10px 10px;background-position:center;background-repeat:no-repeat}@media (max-width: 480px){.selfie-camera video{min-height:250px}.guide-text{font-size:.7rem;padding:.375rem .75rem;bottom:65px}.btn-capture-selfie{width:50px;height:50px}.btn-capture-selfie svg{width:32px;height:32px}}.driver-gallery-section{margin-top:1rem}.driver-gallery-container{max-height:400px;overflow-y:auto;padding:.5rem;background:var(--bg-secondary);border-radius:var(--radius-md)}.loading-gallery,.no-gallery-photos{color:var(--text-secondary);font-style:italic;padding:2rem 1rem;text-align:center}.driver-gallery-date-group{margin-bottom:1rem}.driver-gallery-date-group:last-child{margin-bottom:0}.driver-gallery-date-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-weight:600;font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);margin-bottom:.75rem}.driver-gallery-date-header svg{fill:var(--primary-color)}.driver-gallery-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.driver-gallery-photo{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.driver-gallery-photo:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.driver-gallery-photo img{width:100%;height:100%;object-fit:cover}.driver-gallery-photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:.5rem;display:flex;flex-direction:column;gap:.125rem}.driver-gallery-photo-overlay .photo-type{font-size:.6875rem;font-weight:700;text-transform:uppercase;padding:.125rem .375rem;border-radius:var(--radius-xs);width:fit-content}.driver-gallery-photo-overlay .photo-type.checkin{background:var(--success-color);color:#fff}.driver-gallery-photo-overlay .photo-type.checkout{background:var(--info-color);color:#fff}.driver-gallery-photo-overlay .photo-time{font-size:.6875rem;color:#ffffffe6}@media (max-width: 600px){.driver-gallery-photos{grid-template-columns:repeat(3,1fr)}}.document-upload-group{margin-bottom:1rem}.document-upload-group>.document-label{display:block;font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.document-upload-row{display:flex;gap:1rem;flex-wrap:wrap}.document-upload-item{flex:1;min-width:120px;max-width:160px;text-align:center}.document-upload-item>label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.document-preview{width:100%;height:100px;border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);margin-bottom:.5rem;overflow:hidden;position:relative}.document-preview svg{width:40px;height:40px;color:var(--text-light)}.document-preview img{width:100%;height:100%;object-fit:cover}.document-preview.has-image{border-style:solid;border-color:var(--primary-color)}.document-preview .remove-doc{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:14px;line-height:1}.document-preview.has-image:hover .remove-doc{display:flex}.document-ocr-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.document-ocr-actions button{display:flex;align-items:center;gap:.5rem}.ocr-hint{font-size:.75rem;color:var(--text-light)}.ocr-results{margin-top:1rem;padding:1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius-md)}.ocr-results h5{margin:0 0 .75rem;font-size:.875rem;color:#166534}.ocr-result-row{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.ocr-label{color:var(--text-secondary);min-width:100px}.ocr-value{color:var(--text-primary);font-weight:500}.ocr-results .btn-primary{margin-top:.75rem}.ocr-loading{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;padding:1rem}.ocr-loading:before{content:"";width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.birthdays-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.birthdays-month-title{font-size:20px;font-weight:600;color:#111827;min-width:180px;text-align:center}.birthdays-nav{display:flex;gap:8px;align-items:center}.birthdays-nav button{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px;color:#374151;cursor:pointer;transition:background .15s}.birthdays-nav button:hover{background:#f3f4f6}.birthdays-calendar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:24px}.birthdays-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f9fafb;border-bottom:1px solid #e5e7eb}.birthdays-weekday{padding:10px 8px;text-align:center;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.birthdays-grid{display:grid;grid-template-columns:repeat(7,1fr)}.birthdays-cell{min-height:96px;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;padding:6px 8px;display:flex;flex-direction:column;gap:4px;background:#fff;position:relative}.birthdays-cell.other-month{background:#fafafa;color:#d1d5db}.birthdays-cell.today{background:#eff6ff}.birthdays-cell.today .birthdays-day-number{color:#1d4ed8;font-weight:700}.birthdays-cell.has-birthday{background:#fef3c7}.birthdays-cell.has-birthday.today{background:linear-gradient(135deg,#eff6ff,#fef3c7)}.birthdays-day-number{font-size:13px;font-weight:500;color:#374151}.birthdays-day-names{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#92400e;overflow:hidden}.birthdays-day-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.birthdays-month-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.birthdays-month-list-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#111827;background:#f9fafb}.birthdays-month-list-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid #f3f4f6}.birthdays-month-list-row:last-child{border-bottom:none}.birthdays-month-list-row.is-today{background:#eff6ff}.birthdays-day-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border-radius:8px;background:#f3f4f6;color:#374151}.birthdays-month-list-row.is-today .birthdays-day-badge{background:#1d4ed8;color:#fff}.birthdays-day-badge-day{font-size:20px;font-weight:700;line-height:1}.birthdays-day-badge-weekday{font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.birthdays-driver-name{font-size:15px;font-weight:500;color:#111827;text-decoration:none}.birthdays-driver-name:hover{color:#1d4ed8;text-decoration:underline}.birthdays-age{font-size:13px;color:#6b7280;white-space:nowrap}.birthdays-empty{padding:32px 16px;text-align:center;color:#6b7280;font-size:14px}.vehicles-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.summary-card{background:var(--white);border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-sm)}.summary-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg{width:22px;height:22px}.summary-icon.total{background:#eef2ff;color:#4f46e5}.summary-icon.active{background:#dcfce7;color:#16a34a}.summary-icon.maintenance{background:#fef3c7;color:#d97706}.summary-icon.warning{background:#fee2e2;color:#dc2626}.summary-icon.ai-status{background:#f3e8ff;color:#7c3aed}.summary-icon.scans{background:#dbeafe;color:#2563eb}.info-icon{width:24px;height:24px;flex-shrink:0}.info-icon svg{width:24px;height:24px}.summary-info{display:flex;flex-direction:column;min-width:0}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.summary-label{font-size:.75rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicles-table-container{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{padding:1rem;border-bottom:1px solid var(--border-color)}.table-header h2{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.table-responsive{overflow-x:auto}.vehicles-table{width:100%;border-collapse:collapse;min-width:600px}.vehicles-table th,.vehicles-table td{padding:.875rem 1rem;text-align:left;font-size:.875rem}.vehicles-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap}.vehicles-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary)}.vehicle-cell-icon{width:40px;height:40px;background:#eef2ff;color:#4f46e5;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vehicle-cell-icon svg{width:20px;height:20px}.vehicle-cell-info{display:flex;flex-direction:column;min-width:0}.vehicle-cell-name{font-weight:500;color:var(--text-primary);white-space:nowrap}.vehicle-cell-driver{font-size:.75rem;color:var(--text-light)}.plate-badge{display:inline-block;background:#f1f5f9;color:#475569;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;font-family:monospace;letter-spacing:.5px;border:1px solid #e2e8f0}.color-indicator{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.1);vertical-align:middle;margin-right:.375rem}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.maintenance{background:#fef3c7;color:#d97706}.btn-view-details{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#eef2ff;color:#4f46e5;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-view-details svg{width:16px;height:16px}.btn-view-details:hover{background:#4f46e5;color:#fff}.vehicle-details-modal{max-width:600px;width:95%;max-height:90vh;overflow-y:auto}.vehicle-details-grid{display:flex;flex-direction:column;gap:1.5rem}.details-section{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem}.details-section.full-width{background:transparent;padding:0}.section-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.section-title svg{width:18px;height:18px;color:#4f46e5}.details-list{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:.8125rem;color:var(--text-light)}.detail-value{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.25rem}.fuel-indicator{width:60px;height:8px;background:#e5e7eb;border-radius:var(--radius-xs);overflow:hidden;margin-right:.5rem}.fuel-bar{height:100%;background:linear-gradient(90deg,#f59e0b,#10b981);border-radius:var(--radius-xs);transition:width .3s}.dates-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.date-card{display:flex;align-items:flex-start;gap:.75rem;background:var(--white);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-color)}.date-card.ok{border-color:#86efac;background:#f0fdf4}.date-card.warning{border-color:#fcd34d;background:#fffbeb}.date-card.urgent{border-color:#fca5a5;background:#fef2f2}.date-card.overdue{border-color:#ef4444;background:#fef2f2}.date-icon{width:40px;height:40px;background:#eef2ff;color:#4f46e5;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.date-card.ok .date-icon{background:#dcfce7;color:#16a34a}.date-card.warning .date-icon{background:#fef3c7;color:#d97706}.date-card.urgent .date-icon,.date-card.overdue .date-icon{background:#fee2e2;color:#dc2626}.date-icon svg{width:20px;height:20px}.date-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.date-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.date-countdown{font-size:.8125rem;color:var(--text-secondary)}.date-card.ok .date-countdown{color:#16a34a}.date-card.warning .date-countdown{color:#d97706}.date-card.urgent .date-countdown,.date-card.overdue .date-countdown{color:#dc2626;font-weight:500}@media (max-width: 480px){.vehicles-summary{grid-template-columns:1fr 1fr;gap:.5rem}.summary-card{padding:.75rem}.summary-icon{width:36px;height:36px}.summary-icon svg{width:18px;height:18px}.summary-value{font-size:1.25rem}.vehicles-table th,.vehicles-table td{padding:.75rem .5rem}}@media (min-width: 640px){.vehicles-summary{grid-template-columns:repeat(4,1fr)}.dates-grid{grid-template-columns:repeat(3,1fr)}.vehicle-details-modal{max-width:700px}}.vehicle-modal-large{max-width:700px;width:95%;max-height:90vh;overflow-y:auto}.vehicle-form-modal{max-width:900px!important;width:95%!important;max-height:95vh!important}.vehicle-form-modal .modal-body{max-height:calc(95vh - 70px);overflow-y:auto;padding:1.5rem}.vehicle-form-modal .form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.vehicle-form-modal .form-section:last-child{border-bottom:none;margin-bottom:0}.vehicle-form-modal .form-section h4{margin-bottom:1rem;color:var(--text-primary);font-size:1rem;font-weight:600}.vehicle-form-modal .form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.vehicle-form-modal .form-row.two-cols{grid-template-columns:repeat(2,1fr)}@media (max-width: 768px){.vehicle-form-modal{max-width:100%!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important}.vehicle-form-modal .form-row,.vehicle-form-modal .form-row.two-cols{grid-template-columns:1fr}}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{margin-bottom:1rem;padding-bottom:0;border-bottom:none}.form-section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-section-hint{font-size:.75rem;color:var(--text-secondary);margin-top:-.75rem;margin-bottom:1rem}.work-days-checkboxes{display:flex;gap:.5rem;flex-wrap:wrap}.work-days-checkboxes .day-checkbox{display:flex;align-items:center;justify-content:center;min-width:50px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;background:#fff}.work-days-checkboxes .day-checkbox:hover{border-color:var(--primary-color);background:#f0f7ff}.work-days-checkboxes .day-checkbox input{display:none}.work-days-checkboxes .day-checkbox:has(input:checked){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.work-days-checkboxes .day-checkbox:has(input:checked) span{color:#fff}.auto-fill-hint{font-weight:400;font-size:.75rem;color:var(--text-muted)}.user-avatar.vehicle{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.user-avatar.vehicle svg{width:20px;height:20px;fill:#fff}.engine-info{font-weight:500;color:var(--text-primary);margin-right:.5rem}.form-row.full-width{grid-template-columns:1fr}.form-row.full-width .form-group{width:100%}textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;resize:vertical;min-height:80px}textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}input[readonly]{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.notes-text{font-size:.875rem;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.plate-badge{display:inline-block;padding:.25rem .5rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:var(--radius-sm);font-family:Monaco,Menlo,monospace;font-size:.8125rem;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.summary-icon.inactive{background:linear-gradient(135deg,#f87171,#dc2626)}.nav-vehicle-mgmt svg{fill:#3b82f6}.vehicle-details-modal{max-width:700px}@media (max-width: 640px){.vehicle-modal-large{max-width:100%;width:100%;height:100%;max-height:100%;border-radius:0}.vehicle-modal-large .form-row{grid-template-columns:1fr}.form-section{margin-bottom:1rem;padding-bottom:1rem}.form-section-title{font-size:.8125rem}}.vehicle-info{display:flex;flex-direction:column;gap:.25rem}.vehicle-name{font-weight:600;color:#1e293b}.vehicle-plate{font-size:.8125rem;color:#64748b}.fleet-dashboard{margin-bottom:1.5rem}.stats-row{display:grid;gap:1rem;margin-bottom:1rem}.primary-stats,.alert-stats{grid-template-columns:repeat(4,1fr)}.stat-card{background:var(--card-background);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.stat-total:before{background:var(--primary-color)}.stat-active:before{background:var(--success-color)}.stat-maintenance:before{background:var(--warning-color)}.stat-inactive:before{background:var(--danger-color)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-total .stat-icon{background:#2563eb1a;color:var(--primary-color)}.stat-active .stat-icon{background:#10b9811a;color:var(--success-color)}.stat-maintenance .stat-icon{background:#f59e0b1a;color:var(--warning-color)}.stat-inactive .stat-icon{background:#ef44441a;color:var(--danger-color)}.stat-icon svg{width:24px;height:24px}.stat-content{flex:1}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-trend{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.stat-trend.positive{background:#10b9811a;color:var(--success-color)}.alert-card{background:var(--card-background);border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.alert-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.alert-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-warning .alert-icon{background:#f59e0b26;color:var(--warning-color)}.alert-danger .alert-icon{background:#ef444426;color:var(--danger-color)}.alert-info .alert-icon{background:#06b6d426;color:var(--accent-color)}.alert-content{flex:1}.alert-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.alert-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.vehicles-action-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.action-bar-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.action-bar-right{display:flex;align-items:center;gap:.75rem}.sort-control{display:flex;align-items:center;gap:.5rem}.sort-control label{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.sort-select{padding:.5rem 2rem .5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);color:var(--text-primary);font-size:.875rem;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 24 24' fill='%2364748b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;min-width:140px}.sort-select:hover{border-color:var(--primary-color)}.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0087ff1a}.view-toggle{display:flex;background:var(--card-background);border-radius:var(--radius-md);padding:.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.view-btn{padding:.5rem .75rem;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.view-btn svg{width:18px;height:18px}.view-btn:hover{color:var(--text-primary)}.view-btn.active{background:var(--primary-color);color:#fff}.vehicles-table-container{background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:1rem;flex-wrap:wrap;gap:1rem}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);padding:0 .75rem}.page-input{width:50px;padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;font-size:.875rem}.page-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.pagination-size{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.pagination-size select{padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-background);font-size:.875rem;cursor:pointer}.pagination-size select:focus{outline:none;border-color:var(--primary-color)}@media (max-width: 768px){.pagination-container{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center}.pagination-info,.pagination-size{justify-content:center;text-align:center}}.vehicles-table{width:100%;border-collapse:collapse}.vehicles-table th{background:var(--gray-50);padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border-color)}.vehicles-table td{padding:1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.vehicles-table tbody tr:hover{background:var(--bg-secondary)}.vehicles-table tbody tr:last-child td{border-bottom:none}.vehicle-cell{display:flex;align-items:center;gap:.75rem}.vehicle-avatar{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.vehicle-avatar.pickup{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-color) 100%);color:#fff}.vehicle-avatar.suv{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.vehicle-avatar.van{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.vehicle-avatar.sedan{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.vehicle-avatar.truck{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.vehicle-avatar.mpv{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.vehicle-avatar.bus{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.vehicle-avatar.minibus{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.vehicle-avatar.hatchback{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.vehicle-avatar.coupe{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.vehicle-avatar.convertible{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.vehicle-avatar.wagon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.vehicle-avatar.default{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.vehicle-avatar svg{width:24px;height:24px}.vehicle-details{flex:1;min-width:0}.vehicle-name{font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.vehicle-meta{font-size:.8rem;color:var(--text-secondary)}.plate-cell{display:flex;flex-direction:column;gap:.25rem}.vehicle-id-badge{font-weight:500;font-family:Monaco,Menlo,monospace;font-size:.8rem;color:#6366f1;background:#eef2ff;padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block}.plate-number{font-weight:600;font-family:Monaco,Menlo,monospace;font-size:.9rem;color:var(--text-primary);background:#f1f5f9;padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block}.vin-number{font-size:.7rem;color:var(--text-light);font-family:monospace}.driver-cell{display:flex;align-items:center;gap:.5rem}.driver-avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600}.driver-name{font-size:.85rem;color:var(--text-primary)}.no-driver{color:var(--text-light);font-style:italic;font-size:.85rem}.type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:capitalize}.type-badge svg{width:14px;height:14px}.type-badge.pickup{background:#3b82f61a;color:#3b82f6}.type-badge.suv{background:#10b9811a;color:#059669}.type-badge.van{background:#f59e0b1a;color:#d97706}.type-badge.sedan{background:#8b5cf61a;color:#6d28d9}.type-badge.truck{background:#ef44441a;color:#dc2626}.type-badge.mpv{background:#ec48991a;color:#db2777}.type-badge.bus{background:#ea580c1a;color:#ea580c}.type-badge.minibus{background:#0ea5e91a;color:#0ea5e9}.type-badge.hatchback{background:#a855f71a;color:#a855f7}.type-badge.coupe{background:#f43f5e1a;color:#f43f5e}.type-badge.convertible{background:#fbbf241a;color:#f59e0b}.type-badge.wagon{background:#22c55e1a;color:#22c55e}.type-badge.checkin{background:#10b9811a;color:#059669}.type-badge.checkout{background:#f59e0b1a;color:#d97706}.selfie-thumbnail{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;transition:transform .2s ease}.selfie-thumbnail:hover{transform:scale(1.1)}.no-photo{color:var(--text-secondary)}.photo-icons-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.photo-icon{display:inline-flex;align-items:center;gap:2px;padding:3px 5px;border-radius:var(--radius-xs);background:var(--bg-secondary, #f1f5f9);color:var(--primary, #0087ff);cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:600;border:1px solid transparent}.photo-icon:hover{background:var(--primary-light, #e6f3ff);border-color:var(--primary, #0087ff);transform:scale(1.05)}.photo-icon.loading{opacity:.5;pointer-events:none}.photo-icon .photo-count{font-size:10px;font-weight:700;min-width:14px;text-align:center}.photo-icon svg{flex-shrink:0}.overtime-badge{display:inline-block;padding:.125rem .375rem;background:#ef44441a;color:#dc2626;border-radius:var(--radius-xs);font-size:.6875rem;font-weight:600;margin-left:.25rem}.remote-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#8b5cf61a;color:#6d28d9;border-radius:50%;font-size:.6875rem;font-weight:600;margin-left:.375rem}.date-time-cell{display:flex;flex-direction:column;gap:.125rem}.date-time-cell .date{font-weight:500;color:var(--text-primary)}.date-time-cell .time{font-size:.75rem;color:var(--text-secondary)}.log-number{font-family:monospace;font-size:.75rem;color:var(--primary);background:var(--primary-light);padding:.25rem .5rem;border-radius:var(--radius-xs);white-space:nowrap;display:inline-block;min-width:140px;text-align:center}.driver-cell{display:flex;align-items:center}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-dropdown{position:relative;min-width:160px}.searchable-dropdown .dropdown-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--card-background);border:1px solid #e2e8f0;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);cursor:pointer;min-width:140px;transition:border-color .2s,box-shadow .2s}.searchable-dropdown .dropdown-toggle:hover{border-color:#cbd5e1}.searchable-dropdown .dropdown-toggle:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.searchable-dropdown .dropdown-toggle svg{flex-shrink:0;transition:transform .2s}.searchable-dropdown.open .dropdown-toggle svg{transform:rotate(180deg)}.searchable-dropdown .dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-background);border:1px solid #e2e8f0;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:1000;display:none;min-width:200px}.searchable-dropdown.open .dropdown-menu{display:block}.searchable-dropdown .dropdown-search{width:100%;padding:.625rem .75rem;border:none;border-bottom:1px solid #e2e8f0;font-size:.875rem;outline:none}.searchable-dropdown .dropdown-search:focus{background:var(--bg-secondary)}.searchable-dropdown .dropdown-options{max-height:240px;overflow-y:auto}.searchable-dropdown .dropdown-option{padding:.625rem .75rem;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background .15s}.searchable-dropdown .dropdown-option:hover{background:#f1f5f9}.searchable-dropdown .dropdown-option.selected{background:#4f46e51a;color:var(--primary-color);font-weight:500}.date-range-group{display:flex;align-items:center;gap:.5rem}.date-range-group .form-input{width:140px;padding:.5rem .625rem;font-size:.875rem}.date-separator{color:var(--text-secondary);font-size:.75rem}.records-info{padding:.75rem 0;font-size:.875rem;color:var(--text-secondary)}.records-info span{font-weight:600;color:var(--text-primary)}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid #e2e8f0;margin-top:1rem}.pagination-info{font-size:.875rem;color:var(--text-secondary)}.pagination-info span{font-weight:500;color:var(--text-primary)}.pagination-controls{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:var(--radius-sm);background:var(--card-background);color:var(--text-secondary);cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:var(--text-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;align-items:center;gap:.25rem;margin:0 .5rem}.page-num{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm);background:var(--card-background);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.page-num:hover{background:#f1f5f9;border-color:#cbd5e1}.page-num.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:500}.page-ellipsis{padding:0 .25rem;color:var(--text-secondary)}.page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.page-size-selector select{padding:.375rem .5rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{background:#f1f5f9}.sortable svg{opacity:.4;transition:opacity .2s,transform .2s;vertical-align:middle;margin-left:.25rem}.sortable:hover svg{opacity:.7}.sortable.sort-asc svg,.sortable.sort-desc svg{opacity:1;color:var(--primary-color)}.sortable.sort-asc svg{transform:rotate(180deg)}.empty-state-content{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state-content svg{opacity:.3;margin-bottom:1rem}.empty-state-content p{margin:.25rem 0}.empty-state-content .hint{font-size:.875rem;opacity:.7}.odometer-cell{display:flex;flex-direction:column;gap:.125rem}.odometer-range{font-weight:500;color:var(--text-primary);font-size:.8125rem}.odometer-diff{font-size:.75rem;color:var(--text-secondary)}.photo-modal-body{display:flex;flex-direction:column;align-items:center;gap:1rem}.photo-details{text-align:center}.photo-driver-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.photo-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:500}.photo-type-badge.checkin{background:#10b9811a;color:#059669}.photo-type-badge.checkout{background:#f59e0b1a;color:#d97706}.photo-datetime{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0 0}.photo-modal-image{max-width:100%;max-height:400px;border-radius:var(--radius-md);object-fit:contain}.attendance-log-table th{white-space:nowrap}.attendance-log-table td{vertical-align:middle}.driver-name{font-weight:500}.vehicle-name{font-size:.875rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.date-input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm);font-size:.875rem;background:var(--card-background);color:var(--text-primary);cursor:pointer}.date-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--card-background);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid #e2e8f0;margin-top:-1px}.table-pagination .pagination-info{font-size:.875rem;color:var(--text-secondary)}.table-pagination .pagination-info span{font-weight:600;color:var(--text-primary)}.table-pagination .pagination-controls{display:flex;align-items:center;gap:.5rem}.table-pagination .pagination-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm);background:var(--card-background);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.table-pagination .pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:var(--text-primary)}.table-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.table-pagination .pagination-btn svg{width:16px;height:16px}.table-pagination .page-numbers{display:flex;align-items:center;gap:.25rem}.table-pagination .page-num{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:var(--radius-sm);background:var(--card-background);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.table-pagination .page-num:hover{background:#f1f5f9;border-color:#cbd5e1}.table-pagination .page-num.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:500}.table-pagination .page-ellipsis{padding:0 .25rem;color:var(--text-secondary)}.table-pagination .page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.table-pagination .page-size-selector select{padding:.375rem .5rem;border:1px solid #e2e8f0;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer}.bulk-action-bar{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);margin-bottom:.5rem}.bulk-action-bar .bulk-count{font-size:.875rem;font-weight:600;color:var(--primary-color);margin-right:auto}.checkbox-column{width:40px;text-align:center}.checkbox-column input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.data-table tbody tr.selected{background:var(--primary-50)!important}.distance-badge{display:inline-block;padding:.125rem .375rem;background:#3b82f61a;color:#3b82f6;border-radius:var(--radius-xs);font-size:.6875rem;font-weight:500;margin-left:.375rem}@media (max-width: 1024px){.vehicles-action-bar .action-bar-left,.vehicles-action-bar .filter-group,.date-range-group{flex-wrap:wrap}}@media (max-width: 768px){.vehicles-action-bar{flex-direction:column;gap:1rem}.vehicles-action-bar .action-bar-left,.vehicles-action-bar .action-bar-right,.vehicles-action-bar .search-box{width:100%}.vehicles-action-bar .filter-group{width:100%;gap:.5rem}.searchable-dropdown{flex:1;min-width:120px}.date-range-group{width:100%}.date-range-group .form-input{flex:1;width:auto}.pagination-container{flex-direction:column;gap:1rem;text-align:center}.pagination-info,.page-size-selector{width:100%;justify-content:center}.attendance-log-table{font-size:.8125rem}.attendance-log-table th,.attendance-log-table td{padding:.5rem}.selfie-thumbnail{width:32px;height:32px}}.fuel-icon{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary);margin-left:.5rem}.fuel-icon svg{width:12px;height:12px}.status-badge-lg{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-badge-lg.active{background:#10b9811a;color:var(--success-color)}.status-badge-lg.maintenance{background:#f59e0b1a;color:var(--warning-color)}.status-badge-lg.inactive{background:#ef44441a;color:var(--danger-color)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-badge-lg.active .status-dot{background:var(--success-color)}.status-badge-lg.maintenance .status-dot{background:var(--warning-color)}.status-badge-lg.inactive .status-dot{background:var(--danger-color)}.status-badge-lg.sold .status-dot{background:#6b7280}.status-badge-lg.subreturned .status-dot{background:#8b5cf6}.status-badge-lg.sold{background:#6b72801a;color:#6b7280}.status-badge-lg.subreturned{background:#8b5cf61a;color:#8b5cf6}.status-options{display:flex;flex-direction:column;gap:.5rem}.status-option{display:block;cursor:pointer}.status-option input[type=radio]{display:none}.status-option-label{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s ease}.status-option-label .status-dot{width:10px;height:10px;border-radius:50%}.status-option-label.active .status-dot{background:var(--success-color)}.status-option-label.inactive .status-dot{background:var(--danger-color)}.status-option-label.maintenance .status-dot{background:var(--warning-color)}.status-option-label.sold .status-dot{background:#6b7280}.status-option-label.subreturned .status-dot{background:#8b5cf6}.status-option input[type=radio]:checked+.status-option-label{border-color:var(--primary-color);background:#4f46e50d}.status-option input[type=radio]:checked+.status-option-label.active{border-color:var(--success-color);background:#10b9810d}.status-option input[type=radio]:checked+.status-option-label.inactive{border-color:var(--danger-color);background:#ef44440d}.status-option input[type=radio]:checked+.status-option-label.maintenance{border-color:var(--warning-color);background:#f59e0b0d}.status-option input[type=radio]:checked+.status-option-label.sold{border-color:#6b7280;background:#6b72800d}.status-option input[type=radio]:checked+.status-option-label.subreturned{border-color:#8b5cf6;background:#8b5cf60d}.status-option-label:hover{background:var(--background-color)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mileage-cell{font-weight:600;color:var(--text-primary)}.mileage-value{font-family:Monaco,Menlo,monospace}.alerts-cell{display:flex;gap:.375rem;flex-wrap:wrap}.alert-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.7rem;cursor:pointer;transition:transform .2s ease}.alert-badge:hover{transform:scale(1.1)}.alert-badge.service{background:#f59e0b26;color:var(--warning-color)}.alert-badge.insurance,.alert-badge.license{background:#ef444426;color:var(--danger-color)}.alert-badge svg{width:12px;height:12px}.actions-cell-new{display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.actions-cell-new .action-btn{display:flex;align-items:center;gap:.375rem;padding:.4375rem .75rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s ease;position:relative;white-space:nowrap}.actions-cell-new .action-btn svg{width:15px;height:15px;flex-shrink:0}.actions-cell-new .action-btn span{display:inline}.actions-cell-new .action-btn.view{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;box-shadow:0 2px 4px #06b6d44d}.actions-cell-new .action-btn.view:hover{background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-2px);box-shadow:0 4px 8px #06b6d466}.actions-cell-new .action-btn.quick{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 4px #8b5cf64d}.actions-cell-new .action-btn.quick:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 8px #8b5cf666}.actions-cell-new .action-btn.edit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #3b82f64d}.actions-cell-new .action-btn.edit:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 8px #3b82f666}.actions-cell-new .action-btn.status{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 4px #f59e0b4d}.actions-cell-new .action-btn.status:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b66}.actions-cell-new .action-btn.delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.actions-cell-new .action-btn.delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 8px #ef444466}.actions-cell-new .action-btn.complete,.action-btn.complete{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.actions-cell-new .action-btn.complete:hover,.action-btn.complete:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 8px #10b98166}.actions-cell-new .action-btn.approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.actions-cell-new .action-btn.approve:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 8px #10b98166}.actions-cell-new .action-btn.reject{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;box-shadow:0 2px 4px #f43f5e4d}.actions-cell-new .action-btn.reject:hover{background:linear-gradient(135deg,#e11d48,#be123c);transform:translateY(-2px);box-shadow:0 4px 8px #f43f5e66}.actions-cell-new .action-btn.start{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 2px 4px #22c55e4d}.actions-cell-new .action-btn.start:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 4px 8px #22c55e66}.actions-cell-new .action-btn.cancel{background:linear-gradient(135deg,#64748b,#475569);color:#fff;box-shadow:0 2px 4px #64748b4d}.actions-cell-new .action-btn.cancel:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-2px);box-shadow:0 4px 8px #64748b66}.actions-cell-new .action-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 4px #f59e0b4d}.actions-cell-new .action-btn.warning:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b66}.actions-cell-new .action-btn.settings{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 4px #6366f14d}.actions-cell-new .action-btn.settings:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 4px 8px #6366f166}.actions-cell-new .action-btn:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.375rem .625rem;background:var(--bg-dark);color:#fff;font-size:.7rem;font-weight:500;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;margin-bottom:6px;z-index:10}.actions-cell-new .action-btn:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--bg-dark);opacity:0;visibility:hidden;transition:all .2s ease;margin-bottom:-4px;z-index:10}.actions-cell-new .action-btn:hover:after,.actions-cell-new .action-btn:hover:before{opacity:1;visibility:visible}.actions-cell-new .action-btn:active{transform:translateY(0)}@media (max-width: 1200px){.actions-cell-new .action-btn{padding:.5rem}.actions-cell-new .action-btn span{display:none}.actions-cell-new .action-btn svg{width:18px;height:18px}}.vehicles-card-container{padding:0}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.vehicle-card{background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden;transition:all .2s ease}.vehicle-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.vehicle-card-header{padding:1.125rem 1.25rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-color);background:var(--gray-50)}.vehicle-card-avatar{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.vehicle-card-avatar.pickup{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-color) 100%);color:#fff}.vehicle-card-avatar.suv{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.vehicle-card-avatar.van{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.vehicle-card-avatar.sedan{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.vehicle-card-avatar.truck{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.vehicle-card-avatar.mpv{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.vehicle-card-avatar.bus{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.vehicle-card-avatar.minibus{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.vehicle-card-avatar.hatchback{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}.vehicle-card-avatar.coupe{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}.vehicle-card-avatar.convertible{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.vehicle-card-avatar.wagon{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.vehicle-card-avatar.default{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.vehicle-card-avatar svg{width:28px;height:28px}.vehicle-card-title{flex:1}.vehicle-card-name{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.vehicle-card-identifiers{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.vehicle-card-plate{font-family:monospace;font-size:.85rem;background:var(--card-background);padding:.125rem .375rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.vehicle-card-identifiers .vehicle-id-badge{font-size:.75rem;padding:.125rem .375rem}.vehicle-card-status{padding:.25rem .625rem;border-radius:999px;font-size:.7rem;font-weight:600}.vehicle-card-status.active{background:#10b9811a;color:var(--success-color)}.vehicle-card-status.maintenance{background:#f59e0b1a;color:var(--warning-color)}.vehicle-card-status.inactive{background:#ef44441a;color:var(--danger-color)}.vehicle-card-body{padding:1rem}.vehicle-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.vehicle-card-stat{display:flex;align-items:center;gap:.5rem}.vehicle-card-stat-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.vehicle-card-stat-icon svg{width:16px;height:16px}.vehicle-card-stat-info{flex:1}.vehicle-card-stat-value{font-weight:600;font-size:.9rem;color:var(--text-primary)}.vehicle-card-stat-label{font-size:.7rem;color:var(--text-secondary)}.vehicle-card-driver{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1rem}.vehicle-card-driver-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.vehicle-card-driver-info{flex:1}.vehicle-card-driver-name{font-weight:500;font-size:.85rem;color:var(--text-primary)}.vehicle-card-driver-label{font-size:.7rem;color:var(--text-secondary)}.vehicle-card-alerts{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.vehicle-card-alert{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500}.vehicle-card-alert.warning{background:#f59e0b1a;color:var(--warning-color)}.vehicle-card-alert.danger{background:#ef44441a;color:var(--danger-color)}.vehicle-card-alert svg{width:12px;height:12px}.vehicle-card-footer{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.vehicle-card-btn{flex:1;padding:.625rem .75rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.vehicle-card-btn svg{width:16px;height:16px}.vehicle-card-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 6px #8b5cf64d}.vehicle-card-btn.primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 10px #8b5cf666}.vehicle-card-btn.secondary{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;box-shadow:0 2px 6px #06b6d44d}.vehicle-card-btn.secondary:hover{background:linear-gradient(135deg,#0891b2,#0e7490);transform:translateY(-2px);box-shadow:0 4px 10px #06b6d466}.vehicle-card-btn:active{transform:translateY(0)}@keyframes app-spinner-rotate{to{transform:rotate(360deg)}}.app-spinner{display:inline-block;border-radius:50%;border-style:solid;border-color:var(--app-spinner-track, #e5e7eb);border-top-color:var(--app-spinner-color, #2563eb);animation:app-spinner-rotate .8s linear infinite;flex:none}.app-spinner-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:#64748b}.spinner{border-color:var(--border-color);border-top-color:var(--primary-color)}.loading-spinner{border-color:var(--gray-200);border-top-color:var(--primary-color)}.request-card{background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:5px solid var(--border-color);margin-bottom:.75rem;transition:all .2s ease;cursor:pointer;overflow:hidden}.request-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.request-card.low{border-left-color:#10b981}.request-card.medium{border-left-color:#f59e0b}.request-card.high{border-left-color:#ef4444}.request-card.urgent{border-left-color:#991b1b}.request-card.urgent-highlight{background:linear-gradient(135deg,#fef2f2,#fff);animation:urgent-pulse 2s ease-in-out infinite}@keyframes urgent-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 0 3px #ef444433,var(--shadow-md)}}.request-card.completed{opacity:.65;border-left-color:#9ca3af}.request-card.completed:hover{opacity:.85}.request-card-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem .5rem;gap:1rem}.request-card-category{display:flex;align-items:center;gap:.5rem}.category-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary)}.category-icon svg{width:18px;height:18px}.category-label{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.request-card-badges{display:flex;gap:.5rem;flex-shrink:0}.request-card-body{padding:0 1rem .75rem}.request-card-vehicle{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--primary-color);margin-bottom:.375rem}.request-card-vehicle svg{width:16px;height:16px;opacity:.7}.request-card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.request-card-footer{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);gap:1rem}.request-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.meta-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-light)}.meta-item svg{width:14px;height:14px;opacity:.7}.meta-item.meta-photos{color:var(--primary-color);font-weight:500}.meta-item.meta-time{cursor:help}.request-card-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-action{padding:.5rem .875rem;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;transition:all .2s}.btn-action svg{width:14px;height:14px}.btn-action.btn-complete{background:#059669;color:#fff}.btn-action.btn-complete:hover{background:#047857}.btn-action.btn-logout-inline{background:#f97316;color:#fff;text-decoration:none;font-size:.75rem;padding:.375rem .75rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.btn-action.btn-logout-inline:hover{background:#ea580c}.btn-action.btn-logout-inline svg{width:14px;height:14px}.status-completed-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#059669;padding:.375rem .75rem;background:#d1fae5;border-radius:var(--radius-sm)}.status-completed-label svg{width:14px;height:14px}.empty-state-card{text-align:center;padding:3rem 2rem;background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.empty-state-card .empty-icon{width:64px;height:64px;color:#d1d5db;margin-bottom:1rem}.empty-state-card h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state-card p{font-size:.875rem;color:var(--text-light);margin:0}@media (max-width: 640px){.request-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.request-card-badges{width:100%}.request-card-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.request-card-actions{width:100%}.btn-action{flex:1;justify-content:center}}.request-details-modal{max-width:500px;width:90%;max-height:85vh;display:flex;flex-direction:column}.request-details-modal .modal-body{flex:1;overflow-y:auto;padding:1rem}.detail-section{margin-bottom:1.25rem}.detail-section h4{font-size:.75rem;color:var(--text-light);text-transform:uppercase;margin-bottom:.5rem}.detail-section p{color:var(--text-primary);font-size:.9375rem}.detail-header{display:flex;gap:.75rem;justify-content:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.description-text{background:var(--bg-secondary);padding:.75rem;border-radius:var(--radius-sm);line-height:1.5}.detail-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.detail-photo{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:transform .2s}.detail-photo:hover{transform:scale(1.05)}.detail-photo img{width:100%;height:100%;object-fit:cover}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:.5rem;top:.5rem;bottom:.5rem;width:2px;background:var(--border-color)}.timeline-item{position:relative;padding-bottom:1rem}.timeline-dot{position:absolute;left:-1.25rem;top:.25rem;width:10px;height:10px;border-radius:50%;background:var(--border-color);border:2px solid white}.timeline-item.status_change .timeline-dot{background:var(--primary-color)}.timeline-item.driver_note .timeline-dot{background:#059669}.timeline-content{display:flex;flex-direction:column;gap:.125rem}.timeline-title{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.timeline-date{font-size:.75rem;color:var(--text-light)}.timeline-note{margin-top:.25rem;font-size:.8125rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.5rem;border-radius:var(--radius-sm)}.request-details-modal .modal-footer{padding:1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.followup-form h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.followup-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;resize:none;margin-bottom:.75rem}.btn-add-followup{width:100%;padding:.625rem 1rem;background:#059669;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s}.btn-add-followup svg{width:16px;height:16px}.btn-add-followup:hover{background:#047857}.admin-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-complete-request{width:100%;padding:.75rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s}.btn-complete-request svg{width:18px;height:18px}.btn-complete-request:hover{background:#1d4ed8}.complete-request-modal{max-width:600px;max-height:90vh;overflow-y:auto}.complete-request-modal .modal-body{padding:1rem 1.5rem}.complete-request-modal .modal-info{color:#6b7280;font-size:.875rem;margin-bottom:1rem;padding:.75rem;background:#f0f9ff;border-radius:var(--radius-sm);border-left:3px solid #2563eb}.readonly-input{background:#f3f4f6!important;color:#374151;cursor:not-allowed}.complete-request-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.complete-request-modal .form-row{grid-template-columns:1fr}}.photo-viewer-modal{max-width:90vw;max-height:90vh;background:transparent;box-shadow:none;padding:0;display:flex;align-items:center;justify-content:center}.photo-viewer-modal img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:var(--radius-md)}.photo-close{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;width:40px;height:40px}.photo-close:hover{background:#000000e6}@media (max-width: 480px){.priority-buttons{grid-template-columns:repeat(2,1fr)}.requests-filters .filter-row{grid-template-columns:1fr}.issue-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 640px){#new-tab .maintenance-card{max-width:700px;margin:0 auto}#log-tab .maintenance-card{max-width:100%}#log-tab .maintenance-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}#log-tab .maintenance-form .form-group:first-child{grid-column:1 / -1}#log-tab .maintenance-form .form-row{display:contents}#log-tab .maintenance-form .form-group:has(textarea){grid-column:1 / -1}#log-tab .maintenance-form .btn-submit-maintenance{grid-column:1 / -1;max-width:300px}#log-tab{display:grid;grid-template-columns:1fr;gap:1.5rem}.requests-filters,.requests-list{max-width:100%}}@media (min-width: 1200px){#log-tab{display:grid;grid-template-columns:minmax(400px,500px) 1fr;gap:2rem;align-items:start}#log-tab .maintenance-card.form-card{position:sticky;top:1rem}#log-tab .maintenance-form{display:flex;flex-direction:column;gap:1rem}#log-tab .maintenance-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}#log-tab .maintenance-card{border:1px solid var(--border-color)}#log-tab .maintenance-card .card-header{border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem}#log-tab .maintenance-card .card-header h2{display:flex;align-items:center;font-size:1.125rem;margin:0 0 .25rem}#log-tab .maintenance-card .card-header h2 svg{flex-shrink:0}#log-tab .maintenance-card.history-card{overflow:hidden}#log-tab .maintenance-card.history-card .card-header{margin-bottom:0}#log-tab .maintenance-card.history-card .vehicles-table-container{margin:0;border-radius:0;box-shadow:none}.advances-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card .summary-icon.negative{background:linear-gradient(135deg,#f44336,#d32f2f)}.summary-card .summary-icon.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.summary-card .summary-icon.positive{background:linear-gradient(135deg,#4caf50,#45a049)}.method-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase}.method-badge.bank_transfer{background:#dbeafe;color:#1d4ed8}.method-badge.cash{background:#dcfce7;color:#16a34a}.method-badge.check{background:#fef3c7;color:#d97706}.category-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.category-badge.tolls{background:#e0e7ff;color:#4338ca}.category-badge.parking{background:#fce7f3;color:#be185d}.category-badge.maintenance{background:#fef3c7;color:#d97706}.category-badge.other{background:#f3f4f6;color:#6b7280}.driver-info{display:flex;flex-direction:column}.driver-name{font-weight:600;color:var(--text-primary)}.driver-id{font-size:.75rem;color:var(--text-light)}#customCategoryGroup{margin-top:.5rem}#customCategoryGroup.hidden{display:none}.money-requests-modal{max-width:600px;max-height:85vh}.money-requests-content{max-height:60vh;overflow-y:auto;padding:1rem}.money-request-item{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.money-request-item:last-child{margin-bottom:0}.money-request-item.replenishment{border-left:4px solid #10b981}.money-request-item.trip_request{border-left:4px solid #3b82f6}.money-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.request-driver-info{display:flex;flex-direction:column;gap:.25rem}.request-driver-info .driver-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.request-type-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase}.request-type-badge.trip_request{background:#dbeafe;color:#1d4ed8}.request-type-badge.replenishment{background:#d1fae5;color:#059669}.request-amount{font-size:1.5rem;font-weight:700;color:#059669}.money-request-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.money-request-details .detail-row{display:flex;justify-content:space-between;align-items:center}.money-request-details .detail-label{font-size:.875rem;color:var(--text-secondary)}.money-request-details .detail-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.money-request-details .balance-amount{font-weight:600}.money-request-details .balance-amount.low{color:#dc2626}.money-request-actions{display:flex;gap:.75rem;justify-content:flex-end}.money-requests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:1rem 0}.money-request-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s}.money-request-card:hover{box-shadow:var(--shadow-md)}.money-request-card.replenishment{border-left:4px solid #10b981}.money-request-card.trip_request{border-left:4px solid #3b82f6}.request-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--border-color)}.request-card-body{padding:1rem}.request-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0}.request-detail-row .label{font-size:.875rem;color:var(--text-secondary)}.request-detail-row .value{font-size:.875rem;color:var(--text-primary);font-weight:500}.request-detail-row .value.balance.low{color:#dc2626;font-weight:600}.request-card-actions{display:flex;gap:.5rem;padding:1rem;background:var(--background-color);border-top:1px solid var(--border-color)}.request-card-actions button{flex:1;padding:.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer}.section-header .badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background:#ef4444;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;margin-left:.5rem}.bank-info{display:flex;flex-direction:column;gap:.125rem}.bank-info .bank-name{font-size:.875rem;color:var(--text-primary);font-weight:500}.bank-info .account-hint{font-size:.75rem;color:var(--text-secondary)}.no-bank-details{font-size:.875rem;color:var(--text-secondary);font-style:italic}.amount-in{color:#10b981;font-weight:600}.amount-out{color:#dc2626;font-weight:600}.back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;transition:background .2s}.back-btn:hover{background:var(--background-color)}.back-btn svg{width:24px;height:24px}.page-title{font-weight:600;font-size:1.125rem;color:var(--text-primary);margin-left:.5rem}.tab-nav{display:flex;gap:.375rem;margin-bottom:1.25rem;background:var(--bg-secondary);padding:.375rem;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.tab-btn{flex:1;padding:.625rem 1rem;border:none;background:transparent;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.tab-btn.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-primary)}.tab-btn:not(.active):hover{background:var(--background-color);color:var(--text-primary)}.attendance-card{background:var(--card-background);border-radius:var(--radius-xl);padding:1.5rem;border:1px solid var(--border-color)}.current-time-display{text-align:center;padding:1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-lg);margin-bottom:1.5rem;color:#fff}.time-label{display:block;font-size:.75rem;opacity:.9;margin-bottom:.25rem}.time-value{display:block;font-size:2.5rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.date-value{display:block;font-size:.875rem;opacity:.9;margin-top:.25rem}.driver-info-card{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0}.info-row:not(:last-child){border-bottom:1px solid var(--border-color)}.info-label{font-size:.875rem;color:var(--text-secondary)}.info-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.attendance-status{margin-bottom:1.5rem}.status-badge{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500}.status-badge svg{width:24px;height:24px;flex-shrink:0}.status-badge.ready{background:#3b82f61a;color:var(--primary-color)}.status-badge.clocked-in{background:#10b9811a;color:var(--success-color)}.status-badge.completed{background:#64748b1a;color:var(--text-secondary)}.status-hint{font-size:.8125rem;color:var(--text-secondary);margin-top:.5rem;text-align:center}.attendance-form .form-group{margin-bottom:1rem}.attendance-form label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.attendance-form select,.attendance-form textarea,.attendance-form input[type=text]{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;background:var(--card-background);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.attendance-form select:focus,.attendance-form textarea:focus,.attendance-form input[type=text]:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a}.attendance-form textarea{resize:vertical;min-height:80px}.btn-clock-in,.btn-clock-out{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.btn-clock-in{background:linear-gradient(135deg,var(--success-color),#34d399);color:#fff}.btn-clock-in:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-clock-out{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff}.btn-clock-out:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f9731666}.btn-clock-in:disabled,.btn-clock-out:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-clock-in svg,.btn-clock-out svg{width:24px;height:24px}.no-shift-message,.shift-complete-message{text-align:center;padding:2rem 1rem}.no-shift-message svg,.shift-complete-message svg{width:48px;height:48px;margin-bottom:1rem}.no-shift-message svg{color:var(--text-light)}.shift-complete-message svg{color:var(--success-color)}.no-shift-message p,.shift-complete-message p{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.no-shift-message .hint{font-size:.875rem;color:var(--text-secondary)}.completed-summary{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;text-align:left}.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem}.summary-row.total{border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.75rem;font-weight:600}.active-shift{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.shift-row{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0}.shift-row:not(:last-child){border-bottom:1px solid var(--border-color)}.shift-row.overdue-warning{background:#fef2f2;margin:-.625rem -1rem .625rem;padding:.625rem 1rem;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:1px solid #fecaca}.shift-row.overdue-warning .shift-label,.shift-row.overdue-warning .shift-value{color:#dc2626;font-weight:600}.status-badge.clocked-in.overdue{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.fuel-slider-container input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:24px;background:linear-gradient(to right,#ef4444,#ef4444 20%,#f59e0b 20%,#f59e0b 40%,#10b981 40%,#10b981);border-radius:12px;outline:none;cursor:pointer}.fuel-slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:var(--card-background);border:3px solid #1e40af;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0003}.fuel-slider-container input[type=range]::-moz-range-thumb{width:28px;height:28px;background:var(--card-background);border:3px solid #1e40af;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0003}.shift-label{font-size:.875rem;color:var(--text-secondary)}.shift-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.shift-value.hours{font-size:1rem;font-weight:600}.shift-value.overtime{color:var(--warning-color)}.shift-value.overtime-value{color:var(--danger-color);font-weight:600}.overtime-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.overtime-alert{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f59e0b1a;border-radius:var(--radius-md);margin-bottom:1.5rem}.overtime-alert svg{width:32px;height:32px;color:var(--warning-color);flex-shrink:0}.overtime-info{display:flex;flex-direction:column}.overtime-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.overtime-hours{font-size:.8125rem;color:var(--text-secondary)}.signature-container{position:relative;border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--card-background);overflow:hidden}.signature-container canvas{display:block;width:100%;height:150px;touch-action:none}.btn-clear-signature{position:absolute;top:.5rem;right:.5rem;padding:.375rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-clear-signature:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.signature-hint{font-size:.75rem;color:var(--text-light);text-align:center;margin-top:.5rem}.history-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filter-group{flex:1;min-width:120px}.filter-group label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.filter-group input[type=date]{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--card-background);color:var(--text-primary)}.btn-filter{align-self:flex-end;padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-filter:hover{background:var(--primary-dark)}.history-summary{margin-bottom:1rem}.summary-stats{display:flex;gap:.5rem}.summary-stats .stat{flex:1;text-align:center;padding:.875rem;background:var(--card-background);border-radius:var(--radius-md);border:1px solid var(--border-color)}.summary-stats .stat-number{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.summary-stats .stat-label{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.history-card.has-overtime{border-left:3px solid var(--warning-color)}.history-date{display:flex;flex-direction:column;align-items:center;min-width:44px}.history-date .day{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1}.history-date .month{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase}.history-details{flex:1;min-width:0}.history-times{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.375rem}.time-in,.time-out{display:flex;align-items:center;gap:.25rem}.time-in svg{color:var(--success-color)}.time-out svg{color:#f97316}.time-separator{color:var(--text-light);font-size:.75rem}.history-info{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.vehicle-name{color:var(--text-secondary)}.hours-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;background:var(--background-color);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-primary)}.overtime-badge{color:var(--warning-color);font-weight:500}.status-badge.active{padding:.125rem .5rem;background:#10b9811a;color:var(--success-color);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.attendance-photos{display:flex;gap:12px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.attendance-photos .photo-group{display:flex;flex-direction:column;gap:4px}.attendance-photos .photo-label{font-size:10px;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.attendance-photos .photo-thumbs{display:flex;gap:4px}.attendance-photos .att-thumb{width:48px;height:36px;object-fit:cover;border-radius:var(--radius-xs);border:1px solid var(--border-color);cursor:pointer;transition:transform .15s ease}.attendance-photos .att-thumb:hover{transform:scale(2.5);z-index:10;box-shadow:0 4px 12px #0000004d;position:relative}.btn-view-signature{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.btn-view-signature:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-view-signature svg{width:18px;height:18px}.empty-history{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.9375rem}.signature-modal{max-width:360px}.signature-modal .modal-body{padding:1.5rem}.signature-approver{font-size:.9375rem;color:var(--text-secondary);margin-bottom:1rem}.signature-approver span{font-weight:600;color:var(--text-primary)}.signature-image{display:block;width:100%;max-width:300px;margin:0 auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.nav-attendance{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1rem;text-decoration:none;color:var(--text-primary);transition:all .2s}.nav-attendance:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.nav-attendance svg{width:20px;height:20px;color:var(--primary-color)}.nav-attendance span{flex:1;font-weight:500}.nav-attendance .nav-arrow{color:var(--text-light)}@media (min-width: 640px){.history-filters{flex-wrap:nowrap}.filter-group{min-width:0}}.attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.attendance-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem;background:var(--card-background);border-radius:var(--radius-md);margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.attendance-filters .filter-group{display:flex;flex-direction:column;gap:.25rem}.attendance-filters .filter-group label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.attendance-filters .filter-group select,.attendance-filters .filter-group input{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;min-width:140px}.attendance-table .type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.attendance-table .type-badge.checkin{background:#10b9811a;color:var(--success-color)}.attendance-table .type-badge.checkout{background:#f59e0b1a;color:var(--warning-color)}.attendance-table .type-badge svg{width:14px;height:14px}.attendance-table .overtime-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;background:#ef44441a;color:var(--danger-color);margin-left:.5rem}.attendance-table .selfie-thumbnail{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid var(--border-color)}.attendance-table .selfie-thumbnail:hover{transform:scale(1.1);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.attendance-table .no-selfie{color:var(--text-light);font-size:.75rem;font-style:italic}.selfie-view-modal{max-width:500px}.selfie-modal-content{display:flex;flex-direction:column;gap:1rem}.selfie-image-container{width:100%;border-radius:var(--radius-md);overflow:hidden;background:#000}.selfie-image-container img{width:100%;height:auto;max-height:400px;object-fit:contain}.selfie-details{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md)}.selfie-detail-row{display:flex;justify-content:space-between;align-items:center}.selfie-detail-row .detail-label{font-size:.875rem;color:var(--text-secondary)}.selfie-detail-row .detail-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}@media (max-width: 768px){.attendance-summary{grid-template-columns:repeat(2,1fr)}.attendance-filters{flex-direction:column;align-items:stretch}.attendance-filters .filter-group,.attendance-filters .filter-group select,.attendance-filters .filter-group input{width:100%}}@media (max-width: 480px){.attendance-summary{grid-template-columns:1fr 1fr}}.stats-row.primary-stats.attendance-stats-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 700px){.stats-row.primary-stats.attendance-stats-3{grid-template-columns:1fr}}.active-shifts-section{background:var(--card-background);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.active-shifts-section .section-header{margin-bottom:1rem}.active-shifts-section .section-header.section-toggle[aria-expanded=false]{margin-bottom:0}.active-shifts-section .section-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;color:var(--text-primary)}.active-shifts-section .section-header h2 svg{color:var(--primary-color)}.active-shifts-section .active-count{background:var(--primary-color);color:#fff;padding:.125rem .5rem;border-radius:12px;font-size:.875rem;font-weight:600;margin-left:.5rem}.active-shifts-section .section-header.section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none}.active-shifts-section .section-header.section-toggle:focus-visible{box-shadow:0 0 0 2px var(--primary-color)}.active-shifts-section .section-header h2 .section-chevron{margin-left:auto;color:var(--text-secondary);transition:transform .2s ease}.active-shifts-section .section-header h2 .section-chevron.collapsed{transform:rotate(-90deg)}.active-shifts-section .section-description{color:var(--text-secondary);font-size:.875rem;margin:.5rem 0 0}.active-shifts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem;max-height:380px;overflow-y:auto;padding-right:4px}.active-shift-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:.5rem .75rem;position:relative;transition:all .2s ease;display:block;text-decoration:none;color:inherit;cursor:pointer}.active-shift-card:hover{box-shadow:0 4px 12px #0000001a;text-decoration:none}.active-shift-card.shift-card-focused{box-shadow:0 0 0 3px #2563eb,0 4px 14px #2563eb59;transition:box-shadow .25s ease}.active-shift-card.severity-normal{border-left:4px solid var(--success-color)}.active-shift-card.severity-warning{border-left:4px solid #eab308;background:#fef9c3}.active-shift-card.severity-high{border-left:4px solid #f97316;background:#fff7ed}.active-shift-card.severity-critical{border-left:4px solid var(--danger-color);background:#fef2f2}.active-shift-card.severity-stale{border-left:4px solid var(--text-secondary, #6b7280);background:#f9fafb;opacity:.85}.shift-stale-hint{margin-top:.4rem;font-size:.7rem;font-weight:500;color:var(--text-secondary, #6b7280);font-style:italic}.active-shift-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:0}.active-shift-header>div:first-child{min-width:0}.active-shift-driver{font-weight:600;font-size:.85rem;color:var(--text-primary);line-height:1.2}.active-shift-vehicle{font-size:.75rem;color:var(--text-secondary);line-height:1.2}.active-shift-timer{text-align:right;flex:0 1 auto}.shift-duration{font-size:1rem;font-weight:700;font-family:Roboto Mono,monospace;line-height:1.1;white-space:nowrap}.shift-duration.severity-normal{color:var(--success-color)}.shift-duration.severity-warning{color:#eab308}.shift-duration.severity-high{color:#f97316}.shift-duration.severity-critical{color:var(--danger-color)}.shift-duration.severity-stale{color:var(--text-secondary, #6b7280)}.shift-started{font-size:.65rem;color:var(--text-secondary);line-height:1.1}.shift-notifications-row{display:flex;flex-wrap:nowrap;gap:4px;margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.08);overflow-x:auto;scrollbar-width:thin}.shift-notif-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:9999px;font-size:.65rem;font-weight:500;line-height:1.4;white-space:nowrap;flex-shrink:0}.shift-notif-badge.driver{background:#dbeafe;color:#1e40af}.shift-notif-badge.admin{background:#e5e7eb;color:#374151}.shift-notif-badge.failed{background:#fee2e2;color:#991b1b}.active-shift-details{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.875rem;color:var(--text-secondary)}.active-shift-details span{display:flex;align-items:center;gap:.25rem}.active-shift-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.btn-force-checkout{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:background .2s}.btn-force-checkout:hover{background:#dc2626}.btn-force-checkout svg{width:16px;height:16px}.empty-state-inline{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.875rem;grid-column:1 / -1}.modal-sm{max-width:400px}.force-checkout-info{background:var(--gray-50);padding:1rem;border-radius:8px;margin-bottom:1rem}.force-checkout-info p{margin:.25rem 0;font-size:.875rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn-secondary{background:var(--gray-100);color:var(--text-primary);border:1px solid var(--gray-300);padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.btn-secondary:hover{background:var(--gray-200)}.btn-danger{background:var(--danger-color);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.btn-danger:hover{background:#dc2626}.btn-checkout-link{display:inline-flex;align-items:center;gap:.375rem;background:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s}.btn-checkout-link:hover{background:var(--primary-dark);color:#fff}.btn-checkout-link svg{width:16px;height:16px}.process-progress{display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--white);border-bottom:1px solid var(--border-color);gap:.5rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.step-number{width:32px;height:32px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;transition:all .3s}.progress-step.active .step-number{background:var(--primary-color);color:#fff}.progress-step.completed .step-number{background:#10b981;color:#fff}.progress-step.completed .step-number:after{content:"✓"}.step-label{font-size:.75rem;color:var(--text-light);font-weight:500}.progress-step.active .step-label{color:var(--primary-color)}.progress-step.completed .step-label{color:#10b981}.progress-line{width:60px;height:2px;background:#e5e7eb;margin-bottom:1rem}.process-step{display:none}.process-step.active{display:block}.process-card{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.process-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.process-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.process-icon svg{width:28px;height:28px}.process-icon.checkin{background:#dcfce7;color:#16a34a}.process-icon.checkout{background:#fee2e2;color:#dc2626}.process-icon.inspection{background:#dbeafe;color:#2563eb}.process-card-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.process-subtitle{font-size:.875rem;color:var(--text-light);margin:.25rem 0 0}.checkin-time-display{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#dcfce7,#d1fae5);border-radius:var(--radius-md);margin-bottom:1.5rem}.time-label{display:block;font-size:.75rem;color:#059669;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.time-value{display:block;font-size:2.5rem;font-weight:700;color:#047857;line-height:1}.date-value{display:block;font-size:.875rem;color:#059669;margin-top:.5rem}.vehicle-preview{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin:1rem 0}.vehicle-preview h4{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.preview-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.preview-row:last-child{border-bottom:none}.preview-label{font-size:.8125rem;color:var(--text-light)}.preview-value{font-size:.875rem;font-weight:500;color:var(--text-primary)}.process-form .form-group{margin-bottom:1.25rem}.btn-process-next{width:100%;padding:1rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-process-next svg{width:20px;height:20px}.btn-process-next:hover{background:#1d4ed8}.process-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-process-back{flex:1;padding:.875rem 1rem;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;transition:all .2s}.btn-process-back svg{width:18px;height:18px}.btn-process-back:hover{background:#e5e7eb}.btn-process-complete{flex:2;padding:.875rem 1rem;background:#16a34a;color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-process-complete svg{width:20px;height:20px}.btn-process-complete:hover{background:#15803d}.btn-process-complete.checkout{background:#dc2626}.btn-process-complete.checkout:hover{background:#b91c1c}.inspection-section{margin:1.5rem 0}.inspection-section h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.section-hint{font-size:.8125rem;color:var(--text-light);margin:0 0 1rem}.field-hint-warning{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:var(--warning-color)}.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.checklist-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.checklist-item:hover{background:#e5e7eb}.checklist-item input[type=checkbox]{display:none}.checklist-item .checkmark{width:20px;height:20px;border:2px solid #d1d5db;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.checklist-item input:checked+.checkmark{background:#16a34a;border-color:#16a34a}.checklist-item input:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.check-label{font-size:.8125rem;color:var(--text-primary)}.damage-diagram-container{margin:1rem 0}.damage-diagram{position:relative;background:#f9fafb;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;cursor:crosshair}.vehicle-svg{width:100%;height:auto}.damage-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.damage-marker{position:absolute;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;font-size:.6875rem;font-weight:600;color:#fff;box-shadow:0 2px 4px #0003}.damage-marker.existing{background:#f59e0b}.damage-marker.new{background:#dc2626;animation:pulse 2s infinite}.marker-number{font-size:.6875rem}.damage-legend{display:flex;gap:1rem;justify-content:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-light)}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-item.existing .legend-dot{background:#f59e0b}.legend-item.new .legend-dot{background:#dc2626}.damage-list{margin-top:1rem}.no-damage{text-align:center;color:var(--text-light);font-size:.875rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.new-damage-title{font-size:.8125rem;font-weight:600;color:#dc2626;margin:0 0 .75rem}.damage-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:.5rem}.damage-item.new{background:#fef2f2;border:1px solid #fecaca}.damage-number{width:24px;height:24px;background:#f59e0b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.damage-item.new .damage-number{background:#dc2626}.damage-info{flex:1;min-width:0}.damage-type{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary)}.damage-desc{display:block;font-size:.75rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-remove-damage{width:28px;height:28px;background:transparent;border:none;color:var(--text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-remove-damage svg{width:16px;height:16px}.btn-remove-damage:hover{background:#fee2e2;color:#dc2626}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.add-photo-btn{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.add-photo-btn svg{width:24px;height:24px;color:var(--text-light)}.add-photo-btn span{font-size:.6875rem;color:var(--text-light)}.add-photo-btn:hover{border-color:var(--primary-color);background:#eef2ff}.photo-thumbnail{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden}.photo-thumbnail img{width:100%;height:100%;object-fit:cover}.remove-photo{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#0009;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-photo svg{width:14px;height:14px}.checkout-vehicle-info{margin-bottom:1.5rem}.vehicle-info-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#eef2ff;border-radius:var(--radius-md)}.vehicle-info-icon{width:48px;height:48px;background:var(--card-background);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#4f46e5}.vehicle-info-icon svg{width:24px;height:24px}.vehicle-info-details{flex:1}.vehicle-info-name{display:block;font-size:1rem;font-weight:600;color:var(--text-primary)}.vehicle-info-plate{display:block;font-size:.8125rem;color:var(--text-secondary);font-family:monospace}.checkout-time-summary{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.time-summary-row{display:flex;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid var(--border-color)}.time-summary-row:last-child{border-bottom:none}.time-summary-row.total{padding-top:.875rem;margin-top:.25rem;border-top:2px solid var(--border-color)}.time-summary-row .time-label{font-size:.875rem;color:var(--text-secondary)}.time-summary-row .time-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.time-summary-row.total .time-value{font-size:1.125rem;color:#16a34a}.checkout-fuel-section{background:var(--gray-50);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.checkout-fuel-section h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.fuel-slider-container{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.fuel-gauge{flex:1;height:24px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;position:relative}.fuel-fill{height:100%;background:#10b981;border-radius:var(--radius-full);transition:width .2s ease,background-color .2s ease}.fuel-value-display{font-size:1.125rem;font-weight:700;color:var(--text-primary);min-width:50px;text-align:right}.fuel-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gray-200);border-radius:var(--radius-full);outline:none;cursor:pointer}.fuel-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-600);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.fuel-slider::-moz-range-thumb{width:20px;height:20px;background:var(--primary-600);border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0003}.overtime-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);margin-bottom:1.5rem}.warning-icon{width:40px;height:40px;background:#f59e0b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.warning-icon svg{width:24px;height:24px}.warning-content h4{font-size:.9375rem;font-weight:600;color:#92400e;margin:0 0 .25rem}.warning-content p{font-size:.8125rem;color:#b45309;margin:0}.overtime-approval{padding:1rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);margin-bottom:1.5rem}.signature-container{position:relative}.signature-container canvas{width:100%;border:1px solid var(--border-color);border-radius:var(--radius-sm);touch-action:none}.btn-clear-signature{position:absolute;top:8px;right:8px;padding:.375rem .75rem;background:#0000001a;border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer}.passenger-add-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}.passenger-add-row input{flex:1 1 120px;min-width:0}.passenger-add-btn{flex:0 0 auto;white-space:nowrap}.passenger-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.passenger-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .375rem .25rem .75rem;background:#dbeafe;color:#1d4ed8;border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.passenger-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:#1d4ed8;font-size:.6875rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.passenger-chip-remove:hover{background:#1d4ed8;color:#fff}@media (max-width: 640px){.passenger-add-btn{flex:1 1 100%}}.trip-summary{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.trip-summary h4{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.trip-summary .summary-row{display:flex;justify-content:space-between}.trip-summary .summary-label{font-size:.875rem;color:var(--text-secondary)}.trip-summary .summary-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.success-card{text-align:center;padding:2rem 1.5rem}.success-icon{width:80px;height:80px;background:#dcfce7;color:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon svg{width:40px;height:40px}.success-icon.checkout{background:#fee2e2;color:#dc2626}.success-card h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.success-message{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.5rem}.success-summary{background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;text-align:left}.success-summary .summary-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.success-summary .summary-row:last-child{border-bottom:none}.success-summary .summary-label{font-size:.8125rem;color:var(--text-light)}.success-summary .summary-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.btn-back-dashboard{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;transition:background .2s}.btn-back-dashboard:hover{background:#1d4ed8}.damage-modal{max-width:320px}.damage-modal .modal-footer{display:flex;gap:.75rem}.damage-modal .modal-footer button{flex:1}@media (max-width: 480px){.checklist-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(3,1fr)}.time-value{font-size:2rem}}@media (min-width: 640px){.process-card{max-width:600px;margin:0 auto 1rem}}.ai-info-banner .info-icon svg{width:24px;height:24px}.feature-card .feature-icon svg{width:28px;height:28px}.feature-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.feature-icon.checkin{background:#d1fae5;color:#059669}.feature-icon.checkout{background:#dbeafe;color:#2563eb}.feature-icon.report{background:#fef3c7;color:#d97706}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.feature-card{padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.feature-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.feature-card p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.assigned-vehicles-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.assigned-vehicle-item{display:flex;flex-direction:column;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.assigned-vehicle-item .vehicle-plate-id{font-weight:600;font-size:14px;color:var(--primary-color, #2563eb);font-family:monospace}.assigned-vehicle-item .vehicle-desc{font-size:12px;color:var(--text-secondary, #64748b);margin-top:2px}.no-vehicles{color:var(--text-secondary, #64748b);font-style:italic}.vehicle-header-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.vehicle-status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;text-transform:uppercase}.vehicle-status-badge.status-active{background:#dcfce7;color:#166534}.vehicle-status-badge.status-maintenance{background:#fef3c7;color:#92400e}.vehicle-status-badge.status-inactive{background:#fee2e2;color:#991b1b}.vehicle-status-badge.status-sold{background:#e5e7eb;color:#374151}.vehicle-status-badge.status-unknown{background:#f3f4f6;color:#6b7280}.settings-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.settings-header-content{display:flex;align-items:center;gap:1rem}.settings-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.settings-icon svg{width:28px;height:28px}.settings-title-group h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.settings-title-group .page-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.settings-tabs-container{margin-bottom:1.5rem}.settings-tabs-nav{display:flex;gap:.5rem;background:var(--bg-secondary);padding:.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.settings-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;background:transparent;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.settings-tab-btn:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.settings-tab-btn.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-primary)}.settings-tab-btn.active svg{color:#fff}.settings-tab-btn svg{flex-shrink:0;color:var(--text-secondary)}.settings-tab-btn.active .tab-badge-lock{background:#fff3;color:#fff}.tab-badge-lock{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#f59e0b26;border-radius:50%;margin-left:.25rem;color:var(--warning-color)}.settings-tab-content{display:none;animation:fadeIn .3s ease}.settings-tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.settings-tabs-nav{flex-direction:column}.settings-tab-btn{justify-content:flex-start}.settings-page-header{flex-direction:column;gap:1rem}}.id-config-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.id-config-header-content{display:flex;align-items:center;gap:1rem}.id-config-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.id-config-icon svg{width:28px;height:28px}.id-config-title-group h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.id-config-title-group .page-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.id-config-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-full);color:var(--danger-color);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.security-warning-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f59e0b1a,#d977061a);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg);margin-bottom:1.5rem}.security-warning-icon{width:40px;height:40px;border-radius:var(--radius-md);background:#f59e0b33;display:flex;align-items:center;justify-content:center;color:var(--warning-color);flex-shrink:0}.security-warning-icon svg{width:22px;height:22px}.security-warning-content strong{display:block;color:var(--warning-color);font-size:.9rem;margin-bottom:.25rem}.security-warning-content p{margin:0;color:var(--text-secondary);font-size:.85rem;line-height:1.5}.id-config-company-selector{margin-bottom:1.5rem}.company-select-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000d}.company-select-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-50);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.company-select-icon svg{width:24px;height:24px}.company-select-content{flex:1}.company-select-content label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.company-select-content select{max-width:350px;width:100%}.company-select-content .field-hint{margin-top:.5rem}.id-config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 1024px){.id-config-grid{grid-template-columns:1fr}}.id-config-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000d;overflow:hidden}.id-config-card.sequences-card{grid-column:1 / -1}.id-config-card-header{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.card-header-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-header-icon svg{width:22px;height:22px}.card-header-icon.primary{background:var(--primary-50);color:var(--primary-color)}.card-header-icon.secondary{background:#7c3aed1a;color:#7c3aed}.card-header-icon.warning{background:#f59e0b1a;color:var(--warning-color)}.card-header-text h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.card-header-text p{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.id-config-card-body{padding:1.25rem}.id-settings-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem}@media (max-width: 640px){.id-settings-form .form-grid{grid-template-columns:1fr}}.id-format-info{background:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.id-format-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.id-preview-section{margin-bottom:1.5rem}.id-preview-section>label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem}.id-preview-display{display:flex;gap:1rem;flex-wrap:wrap}.id-preview-box{flex:1;min-width:140px;padding:1rem;background:linear-gradient(135deg,var(--primary-50) 0%,rgba(59,130,246,.1) 100%);border:1px solid var(--primary-200);border-radius:var(--radius-md);text-align:center}.id-preview-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem}.id-preview-value{display:block;font-size:1.25rem;font-weight:700;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--primary-color)}.id-prefixes-table,.id-sequences-table{width:100%;border-collapse:collapse}.id-prefixes-table th,.id-prefixes-table td,.id-sequences-table th,.id-sequences-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.id-prefixes-table th,.id-sequences-table th{background:var(--bg-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.id-prefixes-table input,.id-sequences-table input{width:80px;text-align:center;text-transform:uppercase;font-weight:600;font-family:SF Mono,Monaco,monospace}.reset-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);margin-bottom:1rem}.reset-warning svg{color:var(--warning-color);flex-shrink:0}.reset-warning p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 640px){.id-config-header{flex-direction:column;gap:1rem}.id-config-badge{align-self:flex-start}.company-select-card,.id-preview-display{flex-direction:column}.id-preview-box{min-width:auto}}.reports-list{display:flex;flex-direction:column;gap:1rem}.report-item{background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-color);transition:box-shadow .2s,border-color .2s}.report-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.report-item.expanded{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.report-item-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.report-item-header:hover{background:var(--background-color)}.report-item.expanded .report-item-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff}.report-item-info{display:flex;align-items:center;gap:1rem}.report-item-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-item.expanded .report-item-icon{background:#fff3}.report-item-icon svg{width:24px;height:24px;color:#fff}.report-item-text h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.report-item.expanded .report-item-text h3{color:#fff}.report-item-text p{font-size:.875rem;color:var(--text-secondary);margin:0}.report-item.expanded .report-item-text p{color:#fffc}.report-item-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:transform .3s}.report-item-arrow svg{width:24px;height:24px;color:var(--text-secondary)}.report-item.expanded .report-item-arrow{transform:rotate(180deg)}.report-item.expanded .report-item-arrow svg{color:#fff}.report-item-content{display:none;padding:1.5rem;border-top:1px solid var(--border-color);background:var(--background-color)}.report-item.expanded .report-item-content{display:block}.report-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;background:var(--card-background);border-radius:var(--radius-md);border:1px solid var(--border-color)}.report-filters .filter-group{display:flex;flex-direction:column;gap:.375rem;min-width:150px}.report-filters .filter-group label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.report-filters .filter-group select,.report-filters .filter-group input{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--card-background);color:var(--text-primary);min-width:160px}.report-filters .filter-group select:focus,.report-filters .filter-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.report-filters .btn-primary,.report-filters .btn-secondary{padding:.5rem .875rem;font-size:.8125rem;flex:none;min-height:auto;height:36px}.report-filters .btn-primary svg,.report-filters .btn-secondary svg{width:16px;height:16px;margin-right:6px}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.report-summary .summary-card{background:var(--card-background);border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;gap:.875rem;border:1px solid var(--border-color)}.report-summary .summary-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-summary .summary-icon.total{background:#2563eb1a;color:var(--primary-color)}.report-summary .summary-icon.active-status{background:#10b9811a;color:var(--success-color)}.report-summary .summary-icon.warning{background:#f59e0b1a;color:var(--warning-color)}.report-summary .summary-icon.info{background:#06b6d41a;color:var(--accent-color)}.report-summary .summary-icon svg{width:18px!important;height:18px!important;max-width:18px;max-height:18px}.report-summary .summary-info{display:flex;flex-direction:column}.report-summary .summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.report-summary .summary-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.gps-status-overview{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.gps-status-overview .summary-card{flex:1;min-width:180px;max-width:250px;display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--card-background);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.gps-status-overview .summary-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.gps-status-overview .summary-icon.total{background:#2563eb1a;color:var(--primary-color)}.gps-status-overview .summary-icon.active-status{background:#10b9811a;color:var(--success-color)}.gps-status-overview .summary-icon.warning{background:#f59e0b1a;color:var(--warning-color)}.gps-status-overview .summary-icon.info{background:#3b82f61a;color:#3b82f6}.gps-status-overview .summary-icon.error{background:#ef44441a;color:var(--danger-color)}.gps-status-overview .summary-icon svg{width:20px;height:20px}.gps-status-overview .summary-info{display:flex;flex-direction:column}.gps-status-overview .summary-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.gps-status-overview .summary-label{font-size:.75rem;color:var(--text-secondary)}.loading-state,.error-state{text-align:center;padding:2rem;color:var(--text-secondary)}.error-state{color:var(--danger-color)}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.status-badge .status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.report-table{width:100%}.report-table th{background:var(--gray-50);font-size:.75rem;text-transform:none;letter-spacing:0;font-weight:600;color:var(--text-secondary);padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.report-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-color);font-size:.875rem}.report-table tbody tr:hover{background:var(--background-color)}.report-table .overtime-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background:#f59e0b1a;color:var(--warning-color);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.vehicle-cell{display:flex;flex-direction:column}.vehicle-cell .vehicle-name{font-weight:500;color:var(--text-primary)}.vehicle-cell .vehicle-plate{font-size:.75rem;color:var(--text-secondary)}@media (max-width: 768px){.report-item-header{padding:1rem}.report-item-icon{width:40px;height:40px}.report-item-icon svg{width:20px;height:20px}.report-item-text h3{font-size:1rem}.report-item-text p{font-size:.8rem}.report-item-content{padding:1rem}.report-filters{flex-direction:column;align-items:stretch}.report-filters .filter-group,.report-filters .filter-group select,.report-filters .filter-group input{width:100%}.report-summary{grid-template-columns:repeat(2,1fr)}.table-container{overflow-x:auto}.report-table{min-width:700px}}@media (max-width: 480px){.report-item-info{flex-direction:column;align-items:flex-start;text-align:left}.report-summary{grid-template-columns:1fr 1fr}.report-summary .summary-value{font-size:1.25rem}}.dashboard-gps-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:1rem;margin:.5rem 0;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.gps-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray-100)}.gps-header-left{display:flex;align-items:center;gap:.5rem}.gps-header-left svg{color:var(--primary-color)}.gps-header-left h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.gps-sync-status{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;background:var(--gray-100);border-radius:20px;font-size:.7rem;color:var(--text-secondary)}.gps-sync-status .sync-dot{width:6px;height:6px;border-radius:50%;background:var(--gray-400)}.gps-sync-status.active .sync-dot{background:var(--success-color);animation:pulse-dot 2s infinite}.gps-sync-status.active{background:#10b9811a;color:var(--success-color)}.gps-sync-status.paused .sync-dot{background:var(--warning-color)}.gps-sync-status.paused{background:#f59e0b1a;color:var(--warning-color)}.gps-sync-status.offline .sync-dot{background:var(--gray-400)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.gps-map-link{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s}.gps-map-link:hover{background:var(--primary-dark);transform:translateY(-1px)}.gps-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.gps-stat-card{background:var(--gray-50);border-radius:var(--radius-md);padding:.75rem;text-align:center;cursor:pointer;transition:all .2s;border:1px solid transparent}.gps-stat-card:hover{background:var(--gray-100);border-color:var(--gray-200);transform:translateY(-2px)}.gps-stat-card .gps-stat-icon{width:32px;height:32px;margin:0 auto .5rem;display:flex;align-items:center;justify-content:center;border-radius:8px}.gps-stat-card .gps-stat-icon svg{width:18px;height:18px}.gps-stat-card.tracked .gps-stat-icon{background:#3b82f626;color:var(--primary-color)}.gps-stat-card.moving .gps-stat-icon{background:#10b98126;color:var(--success-color)}.gps-stat-card.speeding .gps-stat-icon{background:#ef444426;color:var(--danger-color)}.gps-stat-card.distance .gps-stat-icon{background:#8b5cf626;color:#7c3aed}.gps-stat-card .gps-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.gps-stat-card .gps-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-top:.25rem}.gps-recent-activity{background:var(--gray-50);border-radius:var(--radius-md);padding:.75rem}.gps-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.75rem}.gps-activity-header span{color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.gps-activity-header a{color:var(--primary-color);text-decoration:none;font-weight:500}.gps-activity-header a:hover{text-decoration:underline}.gps-activity-list{display:flex;flex-direction:column;gap:.4rem;max-height:150px;overflow-y:auto}.gps-activity-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:var(--card-background);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;border-left:3px solid var(--gray-300)}.gps-activity-item:hover{background:var(--gray-100)}.gps-activity-item.moving{border-left-color:var(--success-color)}.gps-activity-item.stopped{border-left-color:var(--gray-400)}.gps-activity-item .activity-vehicle{display:flex;align-items:center;gap:.75rem}.gps-activity-item .activity-plate{font-weight:600;font-size:.8rem;color:var(--text-primary)}.gps-activity-item .activity-speed{font-size:.75rem;color:var(--text-secondary);padding:.15rem .4rem;background:var(--gray-100);border-radius:var(--radius-xs)}.gps-activity-item.moving .activity-speed{background:#10b9811a;color:var(--success-color)}.gps-activity-item .activity-time{font-size:.7rem;color:var(--text-light)}.gps-activity-empty{text-align:center;color:var(--text-secondary);font-size:.8rem;padding:1rem}@media (max-width: 768px){.gps-stats-grid{grid-template-columns:repeat(2,1fr)}.gps-section-header{flex-direction:column;gap:.75rem;align-items:flex-start}.gps-map-link{width:100%;justify-content:center}}@media (max-width: 480px){.gps-stats-grid{grid-template-columns:1fr 1fr}.gps-stat-card .gps-stat-value{font-size:1.25rem}}.dashboard-tables-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:.75rem;margin:.5rem 0;box-shadow:var(--shadow-sm)}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;align-items:center}.dashboard-tabs .tab-btn{padding:.4rem .75rem;border:none;background:transparent;cursor:pointer;font-size:.8rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.35rem;color:var(--text-secondary);transition:all .2s}.dashboard-tabs .tab-btn svg{width:14px;height:14px}.dashboard-tabs .tab-btn:hover{background:var(--bg-secondary)}.dashboard-tabs .tab-btn.active{background:var(--primary-color);color:#fff}.tab-actions{margin-left:auto;display:flex;gap:.25rem}.btn-add-mini{width:28px;height:28px;padding:0;border:none;background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-add-mini svg{width:16px;height:16px}.btn-add-mini:hover{background:#2563eb;transform:scale(1.05)}.compact-table{max-height:180px;overflow-y:auto}.data-table.compact th,.data-table.compact td{padding:.4rem .5rem;font-size:.75rem}.data-table.compact th{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.view-all-link{display:block;text-align:right;padding-top:.5rem;font-size:.75rem;color:var(--primary-color);text-decoration:none}.view-all-link:hover{text-decoration:underline}.dashboard-compact .section{margin:.5rem 0;padding:.75rem}@media (max-width: 1024px){.dashboard-stats-row{flex-direction:column}.summary-cards-row{grid-template-columns:repeat(5,1fr)}.dashboard-info-row{flex-direction:column}.vehicle-compact,.alerts-compact{max-height:none}}@media (max-width: 768px){.dashboard-header-compact{align-items:center}.quick-actions-compact{flex-wrap:wrap;justify-content:center}.status-cards-row{grid-template-columns:repeat(2,1fr)}.summary-cards-row{grid-template-columns:repeat(3,1fr)}}.import-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.import-tab{padding:.75rem 1.5rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);cursor:pointer;font-weight:500;transition:all .2s}.import-tab:hover{border-color:var(--primary-color);background:var(--primary-light)}.import-tab.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.import-steps{display:flex;justify-content:space-between;margin-bottom:2rem;position:relative}.import-steps:before{content:"";position:absolute;top:18px;left:40px;right:40px;height:2px;background:var(--border-color);z-index:0}.import-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1}.step-number{width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-light);transition:all .3s}.step-label{font-size:.8125rem;color:var(--text-light);font-weight:500}.import-step.active .step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.import-step.active .step-label{color:var(--primary-color)}.import-step.completed .step-number{background:var(--success-color);border-color:var(--success-color);color:#fff}.import-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg-secondary)}.import-dropzone:hover,.import-dropzone.dragover{border-color:var(--primary-color);background:var(--primary-light)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.dropzone-icon{width:64px;height:64px;color:var(--text-light)}.dropzone-text{font-size:1rem;color:var(--text-primary);font-weight:500}.dropzone-subtext{font-size:.875rem;color:var(--text-light)}.file-info{display:flex;align-items:center;gap:1rem;justify-content:center;padding:1rem;background:var(--card-background);border-radius:var(--radius-md)}.file-icon{width:40px;height:40px;color:var(--success-color)}.file-details{text-align:left}.file-name{font-weight:600;color:var(--text-primary)}.file-row-count{font-size:.8125rem;color:var(--text-light)}.mapping-section{margin-top:2rem}.mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.template-controls{display:flex;gap:.5rem;align-items:center}.template-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;min-width:200px}.mapping-table{width:100%;border-collapse:collapse;background:var(--card-background);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.mapping-table th,.mapping-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.mapping-table th{background:var(--bg-secondary);font-weight:600;font-size:.8125rem;color:var(--text-light);text-transform:uppercase}.mapping-select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem}.mapping-arrow{color:var(--text-light);font-size:1.25rem}.required-indicator{color:var(--danger-color);font-weight:700}.preview-section{margin-top:2rem}.preview-table-container{max-height:300px;overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse;background:var(--card-background);font-size:.875rem}.preview-table th,.preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.preview-table th{background:var(--bg-secondary);font-weight:600;position:sticky;top:0;z-index:1}.preview-table tr.preview-valid{background:#f0fdf4}.preview-table tr.preview-duplicate{background:#fef3c7}.preview-table tr.preview-error{background:#fef2f2}.validation-summary{display:flex;gap:2rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1.5rem}.validation-item{display:flex;align-items:center;gap:.5rem}.validation-icon{width:20px;height:20px}.validation-icon.valid{color:var(--success-color)}.validation-icon.duplicate{color:#d97706}.validation-icon.error{color:var(--danger-color)}.validation-count{font-weight:600;font-size:1.125rem}.validation-label{font-size:.875rem;color:var(--text-light)}.import-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.import-progress{margin-top:1rem}.progress-bar-container{height:8px;background:var(--bg-secondary);border-radius:var(--radius-xs);overflow:hidden;margin-bottom:.5rem}.progress-bar-fill{height:100%;background:var(--primary-color);border-radius:var(--radius-xs);transition:width .3s}.progress-text{font-size:.875rem;color:var(--text-light);text-align:center}.import-results{text-align:center;padding:1rem}.results-icon{width:64px;height:64px;color:var(--success-color);margin-bottom:1rem}.results-stats{display:flex;justify-content:center;gap:2rem;margin:1.5rem 0}.result-stat{text-align:center}.result-stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.result-stat-label{font-size:.875rem;color:var(--text-light)}.result-stat.imported .result-stat-value{color:var(--success-color)}.result-stat.skipped .result-stat-value{color:#d97706}.result-stat.errors .result-stat-value{color:var(--danger-color)}@media (max-width: 768px){.import-steps:before{display:none}.import-steps{flex-direction:column;gap:1rem}.import-step{flex-direction:row}.mapping-header{flex-direction:column;align-items:flex-start}.validation-summary,.import-actions{flex-direction:column;gap:1rem}}.template-download-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.template-download-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--card-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .2s}.template-download-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color)}.template-download-card .template-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-download-card .template-icon svg{width:24px;height:24px}.template-download-card .template-info{flex:1}.template-download-card .template-info h4{margin:0 0 .25rem;font-size:1rem;color:var(--text-primary)}.template-download-card .template-info p{margin:0;font-size:.8125rem;color:var(--text-light)}.template-download-card .btn-primary{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem}.template-download-card .btn-primary svg{width:16px;height:16px}@media (max-width: 480px){.template-download-card{flex-direction:column;text-align:center}.template-download-card .btn-primary{width:100%;justify-content:center}}.notification{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:var(--radius-md);background:var(--card-background);box-shadow:var(--shadow-lg);z-index:10000;display:none;animation:slideIn .3s ease;max-width:400px;font-weight:500}.notification.success{background:#ecfdf5;color:#065f46;border-left:4px solid #10b981}.notification.error{background:#fef2f2;color:#991b1b;border-left:4px solid #ef4444}.notification.info{background:#eff6ff;color:#1e40af;border-left:4px solid #3b82f6}.notification.warning{background:#fffbeb;color:#92400e;border-left:4px solid #f59e0b}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.import-type-tabs{display:flex;gap:12px;margin:20px 0;padding:8px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.import-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:2px solid transparent;border-radius:8px;background:var(--card-background);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.import-type-tab:hover{border-color:var(--primary-300);color:var(--primary-600);background:var(--primary-50)}.import-type-tab.active{border-color:var(--primary-500);background:var(--primary-500);color:#fff;box-shadow:0 2px 8px #3b82f64d}.import-type-tab svg{width:22px;height:22px;flex-shrink:0}.import-type-tab.active svg{color:#fff}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--card-background);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;max-width:1200px;margin:0 auto}.header-left{display:flex;align-items:center;gap:.5rem}.logo-small{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.logo-small svg{width:20px;height:20px;color:#fff}.app-name{font-weight:700;font-size:1.125rem;color:var(--text-primary)}.header-right{display:flex;align-items:center}.user-info{display:flex;align-items:center;gap:.75rem}.user-name{font-size:.875rem;color:var(--text-secondary);display:none}.btn-logout{background:transparent;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-logout:hover{background:var(--background-color);color:var(--text-primary)}.main-content{flex:1;padding:1.25rem;width:100%}.welcome-section{margin-bottom:1.25rem}.welcome-section h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.welcome-section .date{color:var(--text-secondary);font-size:.875rem}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s}.action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-btn:active{transform:translateY(0)}.action-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.action-icon svg{width:24px;height:24px;color:#fff}.action-btn span{font-size:.75rem;font-weight:500;color:var(--text-primary)}.action-btn.check-in .action-icon{background:var(--success-color)}.action-btn.check-out .action-icon{background:#f97316}.action-btn.fuel .action-icon{background:var(--warning-color)}.action-btn.trip .action-icon{background:var(--primary-color)}.action-btn.expense .action-icon{background:#8b5cf6}.action-btn.report .action-icon{background:var(--danger-color)}.status-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1rem}.status-indicator{width:12px;height:12px;border-radius:50%;background:var(--text-light);flex-shrink:0}.status-banner.checked-in .status-indicator{background:var(--success-color);box-shadow:0 0 0 3px #10b98133}.status-banner.checked-out .status-indicator{background:var(--text-light)}.status-text{display:flex;flex-direction:column;gap:.125rem}.status-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.status-time{font-size:.75rem;color:var(--text-secondary)}.drivers-status-section{margin-bottom:1.5rem}.drivers-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.drivers-status-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--card-background);border-radius:var(--radius-md);border-left:4px solid}.drivers-status-card.checked-in{border-left-color:var(--success-color)}.drivers-status-card.checked-out{border-left-color:var(--warning-color)}.drivers-status-card.not-checked{border-left-color:var(--danger-color)}.drivers-status-card.total{border-left-color:var(--primary-color)}.status-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.drivers-status-card.checked-in .status-card-icon{background:#10b9811a;color:var(--success-color)}.drivers-status-card.checked-out .status-card-icon{background:#f59e0b1a;color:var(--warning-color)}.drivers-status-card.not-checked .status-card-icon{background:#ef44441a;color:var(--danger-color)}.drivers-status-card.total .status-card-icon{background:#2563eb1a;color:var(--primary-color)}.status-card-icon svg{width:24px;height:24px}.status-card-info{display:flex;flex-direction:column}.status-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.status-card-label{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.drivers-by-project{background:var(--card-background);border-radius:var(--radius-md);padding:1rem}.drivers-by-project h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.project-drivers-list{display:flex;flex-direction:column;gap:.75rem}.project-driver-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-color);border-radius:var(--radius-sm)}.project-driver-item .project-name{font-weight:500;color:var(--text-primary)}.project-driver-item .driver-stats{display:flex;gap:1rem}.project-driver-item .stat{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.project-driver-item .stat.checked-in{color:var(--success-color)}.project-driver-item .stat.not-checked{color:var(--text-secondary)}.project-driver-item .stat svg{width:16px;height:16px}.summary-section .section-header{margin-bottom:.75rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.summary-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:var(--background-color);border-radius:var(--radius-md)}.summary-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon svg{width:20px;height:20px;color:#fff}.summary-icon.trips{background:var(--primary-color)}.summary-icon.miles{background:var(--accent-color)}.summary-icon.fuel{background:var(--warning-color)}.summary-icon.spending{background:var(--success-color)}.summary-data{display:flex;flex-direction:column}.summary-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.summary-label{font-size:.75rem;color:var(--text-secondary)}.vehicle-section .section-header{margin-bottom:.75rem}.vehicle-count{font-size:.75rem;color:var(--text-secondary);background:var(--background-color);padding:.25rem .625rem;border-radius:9999px}.assigned-vehicle{display:flex;flex-direction:column;gap:.75rem}.vehicle-card-large{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md)}.vehicle-card-large .vehicle-icon{width:56px;height:56px}.vehicle-card-large .vehicle-icon svg{width:32px;height:32px}.vehicle-card-large .vehicle-info{flex:1}.vehicle-card-large .vehicle-name{font-size:1rem;margin-bottom:.25rem}.vehicle-card-large .vehicle-details{font-size:.8125rem}.vehicle-meta{display:flex;gap:1rem;margin-top:.5rem}.vehicle-meta-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.vehicle-meta-item svg{width:14px;height:14px}.alerts-section .section-header{margin-bottom:.75rem}.alert-badge{min-width:20px;height:20px;padding:0 .375rem;background:var(--danger-color);color:#fff;font-size:.75rem;font-weight:600;border-radius:9999px;display:flex;align-items:center;justify-content:center}.alert-badge.empty{background:var(--text-light)}.alerts-list{display:flex;flex-direction:column;gap:.5rem}.alert-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;background:var(--background-color);border-radius:var(--radius-md);border-left:3px solid var(--border-color)}.alert-item.high{border-left-color:var(--danger-color);background:#ef44440d}.alert-item.medium{border-left-color:var(--warning-color);background:#f59e0b0d}.alert-item.low{border-left-color:var(--primary-light);background:#3b82f60d}.alert-item.info{border-left-color:var(--accent-color);background:#06b6d40d}.alert-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-icon svg{width:18px;height:18px}.alert-item.high .alert-icon{background:#ef44441a;color:var(--danger-color)}.alert-item.medium .alert-icon{background:#f59e0b1a;color:var(--warning-color)}.alert-item.low .alert-icon{background:#3b82f61a;color:var(--primary-light)}.alert-item.info .alert-icon{background:#06b6d41a;color:var(--accent-color)}.alert-content{flex:1;min-width:0}.alert-title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.125rem}.alert-description{font-size:.75rem;color:var(--text-secondary)}.empty-alerts{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.875rem}.stats-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--card-background);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:22px;height:22px}.stat-icon.vehicles{background:#2563eb1a;color:var(--primary-color)}.stat-icon.fuel{background:#f59e0b1a;color:var(--warning-color)}.stat-icon.expenses{background:#10b9811a;color:var(--success-color)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.section{background:var(--card-background);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.vehicles-grid{display:grid;grid-template-columns:1fr;gap:1rem}.vehicle-card{background:var(--background-color);border-radius:var(--radius-md);padding:1rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.vehicle-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.vehicle-icon{width:48px;height:48px;background:var(--primary-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.vehicle-icon svg{width:28px;height:28px;color:#fff}.vehicle-info{flex:1;min-width:0}.vehicle-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.vehicle-details{font-size:.875rem;color:var(--text-secondary)}.vehicle-status{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.vehicle-status.active{background:#10b9811a;color:var(--success-color)}.vehicle-status.maintenance{background:#f59e0b1a;color:var(--warning-color)}.balance-card{background:linear-gradient(135deg,#4caf50,#45a049)}.balance-card.negative{background:linear-gradient(135deg,#f44336,#d32f2f)}.balance-card.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.summary-icon.balance{background:#fff3}.balance-details{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3)}.balance-row{display:flex;justify-content:space-between;font-size:.85rem;opacity:.9;margin-bottom:.25rem}.balance-row:last-child{margin-bottom:0}.balance-positive{color:#16a34a;font-weight:600}.balance-warning{color:#d97706;font-weight:600}.balance-negative{color:#dc2626;font-weight:600}.notification-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:1.25rem}.notification-grid>.notification-full-width{grid-column:1 / -1}.notification-grid>div,.notification-grid>section{margin-bottom:0!important;padding:.6rem .75rem!important;border-radius:8px!important;font-size:.8125rem}.notification-grid .issues-warning-icon,.notification-grid .pending-devices-icon,.notification-grid .maintenance-due-icon,.notification-grid .uniform-alerts-icon,.notification-grid .identity-alerts-icon,.notification-grid .trip-requests-icon,.notification-grid .money-requests-icon,.notification-grid .auth-requests-icon,.notification-grid .consumption-alerts-icon,.notification-grid .error-logs-icon,.notification-grid .long-session-icon{width:32px!important;height:32px!important;min-width:32px;flex-shrink:0}.notification-grid .issues-warning-icon svg,.notification-grid .pending-devices-icon svg,.notification-grid .maintenance-due-icon svg,.notification-grid .uniform-alerts-icon svg,.notification-grid .identity-alerts-icon svg,.notification-grid .trip-requests-icon svg,.notification-grid .money-requests-icon svg,.notification-grid .auth-requests-icon svg,.notification-grid .consumption-alerts-icon svg,.notification-grid .error-logs-icon svg,.notification-grid .long-session-icon svg{width:16px!important;height:16px!important}.notification-grid [class$=-title]{font-size:.8125rem!important;font-weight:600}.notification-grid [class$=-count]{font-size:.75rem!important}.notification-grid [class$=-action]{padding:.3rem .6rem!important;font-size:.75rem!important;border-radius:5px!important;white-space:nowrap}.notification-grid>div[style*="display: flex"],.notification-grid>div[class*=banner],.notification-grid .issues-warning-content{gap:.5rem!important}.notification-grid .trip-requests-icon,.notification-grid .money-requests-icon,.notification-grid .auth-requests-icon,.notification-grid .long-session-icon{margin-right:0!important}@media (max-width: 768px){.notification-grid{grid-template-columns:1fr}}.notification-grid>script{display:none}.issues-warning-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-lg);padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #f59e0b33}.issues-warning-banner.hidden{display:none}.issues-warning-content{display:flex;align-items:center;gap:1rem}.issues-warning-icon{flex-shrink:0;width:48px;height:48px;background:#f59e0b;border-radius:50%;display:flex;align-items:center;justify-content:center}.issues-warning-icon svg{width:24px;height:24px;fill:#fff}.issues-warning-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.issues-warning-title{font-weight:700;font-size:1rem;color:#92400e}.issues-warning-count{font-size:.875rem;color:#b45309}.issues-warning-action{flex-shrink:0;padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s ease}.issues-warning-action:hover{background:#d97706}.issues-warning-banner.critical{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444;box-shadow:0 2px 8px #ef444433}.issues-warning-banner.critical .issues-warning-icon{background:#ef4444}.issues-warning-banner.critical .issues-warning-title{color:#991b1b}.issues-warning-banner.critical .issues-warning-count{color:#b91c1c}.issues-warning-banner.critical .issues-warning-action{background:#ef4444}.issues-warning-banner.critical .issues-warning-action:hover{background:#dc2626}@media (max-width: 768px){.issues-warning-content{flex-wrap:wrap}.issues-warning-icon{width:40px;height:40px}.issues-warning-icon svg{width:20px;height:20px}.issues-warning-text{flex:1 1 calc(100% - 56px)}.issues-warning-action{width:100%;margin-top:.5rem;text-align:center}}.dashboard-compact{padding:.5rem 1rem}.dashboard-header-compact{display:flex;flex-direction:column;align-items:stretch;padding:.75rem 0;gap:.75rem;margin-bottom:.75rem}.welcome-compact{display:flex;align-items:baseline;gap:.75rem;justify-content:flex-start}.welcome-compact h1{font-size:1.25rem;margin:0;color:var(--text-primary);font-weight:700}.date-compact{font-size:.8rem;color:var(--text-light)}.quick-actions-compact{display:flex;gap:.75rem;justify-content:center}.action-btn-mini{width:44px;height:44px;padding:.5rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0000001a}.action-btn-mini svg{width:22px;height:22px}.action-btn-mini.check-in{background:#10b981;color:#fff}.action-btn-mini.check-out{background:#6366f1;color:#fff}.action-btn-mini.fuel{background:#f59e0b;color:#fff}.action-btn-mini.trip{background:#3b82f6;color:#fff}.action-btn-mini.expense{background:#8b5cf6;color:#fff}.action-btn-mini.report{background:#ef4444;color:#fff}.action-btn-mini.trip-end{background:#f59e0b;color:#fff}.action-btn-mini.trip-log{background:#6366f1;color:#fff}.action-btn-mini:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-md);filter:brightness(.9)}.action-btn-mini:active{transform:scale(var(--press-scale))}.status-compact{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:var(--radius-md);font-size:.8rem;background:var(--bg-secondary)}.status-compact .status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-compact .status-indicator.checked-in{background:var(--success-color);box-shadow:0 0 6px var(--success-color)}.status-compact .status-indicator.checked-out{background:var(--text-light)}.status-compact .status-label{font-weight:500;color:var(--text-primary)}.status-compact .status-time{color:var(--text-light);font-size:.75rem}.dashboard-stats-row{display:flex;gap:1rem;margin:.5rem 0}.drivers-status-compact,.summary-compact{flex:1;background:var(--card-bg);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow-sm)}.drivers-status-compact h3,.summary-compact h3{font-size:.8rem;margin:0 0 .5rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.status-cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.status-card-mini{padding:.625rem .5rem;border-radius:var(--radius-md);text-align:center;background:var(--bg-secondary);transition:background var(--transition-fast)}.status-card-mini:hover{background:var(--gray-100)}.status-card-mini .value{font-size:1.25rem;font-weight:600;display:block}.status-card-mini .label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.status-card-mini.checked-in{background:#10b9811a}.status-card-mini.checked-in .value{color:#059669}.status-card-mini.checked-out{background:#6366f11a}.status-card-mini.checked-out .value{color:#4f46e5}.status-card-mini.not-checked{background:#ef44441a}.status-card-mini.not-checked .value{color:#dc2626}.status-card-mini.total{background:#6b72801a}.status-card-mini.total .value{color:var(--text-primary)}.drivers-by-project-compact{margin-top:.5rem;font-size:.75rem}.drivers-by-project-compact summary{cursor:pointer;color:var(--primary-color);font-weight:500}.drivers-by-project-compact .project-drivers-list{max-height:80px;overflow-y:auto;margin-top:.5rem}.summary-cards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.summary-card-mini{padding:.5rem;border-radius:var(--radius-md);text-align:center;background:var(--bg-secondary)}.summary-card-mini .value{font-size:1.1rem;font-weight:600;display:block;color:var(--text-primary)}.summary-card-mini .label{font-size:.65rem;color:var(--text-light);text-transform:uppercase}.summary-card-mini.trips{background:#3b82f61a}.summary-card-mini.trips .value{color:#2563eb}.summary-card-mini.kilometers{background:#10b9811a}.summary-card-mini.kilometers .value{color:#059669}.summary-card-mini.fuel{background:#f59e0b1a}.summary-card-mini.fuel .value{color:#d97706}.summary-card-mini.spending{background:#ef44441a}.summary-card-mini.spending .value{color:#dc2626}.summary-card-mini.balance{background:#8b5cf61a}.summary-card-mini.balance .value{color:#7c3aed}.dashboard-info-row{display:flex;gap:1rem;margin:.5rem 0}.vehicle-compact,.alerts-compact{flex:1;background:var(--card-bg);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow-sm);max-height:110px;overflow-y:auto}.compact-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.compact-section-header h3{font-size:.8rem;margin:0;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.vehicle-count-badge{background:var(--primary-color);color:#fff;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:500}.vehicle-compact .assigned-vehicle{font-size:.85rem}.alerts-compact .alerts-list{font-size:.8rem}.alerts-compact .alert-badge{background:var(--danger-color);color:#fff;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:500}.logged-in-vehicles-section{flex:1;background:var(--card-bg);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow-sm);max-height:150px;overflow-y:auto}.logged-in-vehicles-list{display:flex;flex-direction:column;gap:.5rem}.logged-in-vehicle-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--gray-50);border-radius:var(--radius-md);font-size:.8rem}.logged-in-vehicle-item .vehicle-info{display:flex;flex-direction:column;gap:.1rem}.logged-in-vehicle-item .vehicle-name{font-weight:500;color:var(--text-primary)}.logged-in-vehicle-item .vehicle-plate{font-size:.7rem;color:var(--text-secondary)}.logged-in-vehicle-item .driver-info{display:flex;align-items:center;gap:.5rem}.logged-in-vehicle-item .driver-name{color:var(--text-secondary);font-size:.75rem}.logged-in-vehicle-item .shift-duration{font-weight:600;font-size:.75rem;padding:.1rem .4rem;border-radius:var(--radius-xs)}.logged-in-vehicle-item .shift-duration.normal{color:var(--success-color)}.logged-in-vehicle-item .shift-duration.warning{color:#eab308}.logged-in-vehicle-item .shift-duration.high{color:#f97316}.logged-in-vehicle-item .shift-duration.critical{color:var(--danger-color);font-weight:700}.logged-in-vehicles-list .view-all-link{display:block;text-align:center;color:var(--primary-color);font-size:.75rem;text-decoration:none;padding:.25rem;margin-top:.25rem}.logged-in-vehicles-list .view-all-link:hover{text-decoration:underline}.logged-in-vehicles-list .empty-message{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:.5rem}.pending-devices-banner{background:#64748b;border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.pending-devices-banner.has-pending{background:#f59e0b}.banner-severity-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.banner-severity-danger{background:linear-gradient(135deg,#ef4444,#dc2626)!important}.banner-severity-info{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))!important}.banner-severity-success{background:linear-gradient(135deg,#10b981,#059669)!important}.banner-severity-muted{background:linear-gradient(135deg,#64748b,#475569)!important}.pending-devices-banner.hidden{display:none!important}.pending-devices-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pending-devices-icon svg{width:24px;height:24px;fill:#fff}.pending-devices-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.pending-devices-title{font-weight:600;color:#fff;font-size:.9375rem}.pending-devices-count{color:#ffffffe6;font-size:.8125rem}.pending-devices-action{background:var(--card-background);color:#475569;border:none;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.pending-devices-banner.has-pending .pending-devices-action{color:#d97706}.pending-devices-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 600px){.pending-devices-banner{flex-wrap:wrap}.pending-devices-action{width:100%;margin-top:.5rem}}.pending-device-badge{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:9999px;margin-left:.5rem;vertical-align:middle;animation:pulse-badge 2s infinite;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #f59e0b4d}.pending-device-badge:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:scale(1.05);box-shadow:0 4px 8px #f59e0b66;animation:none}.pending-device-badge:active{transform:scale(.98)}.pending-device-badge svg{flex-shrink:0}@keyframes pulse-badge{0%,to{opacity:1;box-shadow:0 2px 4px #f59e0b4d}50%{opacity:.85;box-shadow:0 2px 8px #f59e0b80}}.uniform-alerts-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.uniform-alerts-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.uniform-alerts-icon svg{width:24px;height:24px;fill:#fff}.uniform-alerts-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.uniform-alerts-title{font-weight:600;color:#fff;font-size:.9375rem}.uniform-alerts-count{color:#ffffffe6;font-size:.8125rem}.uniform-alerts-action{background:var(--card-background);color:#d97706;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.uniform-alerts-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 600px){.uniform-alerts-banner{flex-wrap:wrap}.uniform-alerts-action{width:100%;margin-top:.5rem}}.identity-alerts-banner{background:linear-gradient(135deg,#dc2626,#b91c1c);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:1rem}.identity-alerts-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.identity-alerts-icon svg{width:24px;height:24px;fill:#fff}.identity-alerts-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.identity-alerts-title{font-weight:600;color:#fff;font-size:.9375rem}.identity-alerts-count{color:#ffffffe6;font-size:.8125rem}.identity-alerts-action{background:var(--card-background);color:#b91c1c;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.identity-alerts-action:hover{background:var(--bg-secondary);transform:translateY(-1px)}@media (max-width: 600px){.identity-alerts-banner{flex-wrap:wrap}.identity-alerts-action{width:100%;margin-top:.5rem}}.quick-actions-vehicle-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:1.5rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{border-color:var(--primary-light);background:#3b82f60d}.quick-action-btn svg{width:24px;height:24px;color:var(--primary-color)}.quick-action-btn span{font-size:.8rem;font-weight:500;color:var(--text-primary)}.quick-action-form{padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);margin-top:1rem}.quick-action-form h4{margin-bottom:1rem;font-size:1rem;color:var(--text-primary)}.quick-action-form #qaDriverSelect,.quick-action-form #qaDriverSearch{font-size:1.05rem;padding:.65rem .75rem}.quick-action-form #qaDriverSelect option{font-size:1.05rem;padding:.5rem}.assign-warning{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.6rem .8rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-sm);color:#92400e;font-size:.9rem;font-weight:500}.assign-warning-icon{font-size:1.2rem;flex-shrink:0}.trip-requests-banner{display:flex;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:var(--radius-lg);margin-bottom:1rem;color:#fff;box-shadow:var(--shadow-md)}.trip-requests-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.trip-requests-icon svg{width:24px;height:24px;fill:#fff}.trip-requests-text{flex:1;display:flex;flex-direction:column}.trip-requests-title{font-weight:600;font-size:1rem}.trip-requests-count{font-size:.875rem;opacity:.9}.trip-requests-action{background:var(--card-background);color:#1d4ed8;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.trip-requests-action:hover{background:#f0f9ff;transform:translateY(-1px)}.money-requests-banner{display:flex;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);border-radius:var(--radius-lg);margin-bottom:1rem;color:#fff;box-shadow:var(--shadow-md)}.money-requests-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.money-requests-icon svg{width:24px;height:24px;fill:#fff}.money-requests-text{flex:1;display:flex;flex-direction:column}.money-requests-title{font-weight:600;font-size:1rem}.money-requests-count{font-size:.875rem;opacity:.9}.money-requests-action{background:var(--card-background);color:#059669;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.money-requests-action:hover{background:#ecfdf5;transform:translateY(-1px)}.auth-requests-banner{display:flex;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:var(--radius-lg);margin-bottom:1rem;color:#fff;box-shadow:var(--shadow-md);cursor:pointer;transition:all .2s}.auth-requests-banner:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.auth-requests-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.auth-requests-icon svg{width:24px;height:24px;fill:#fff}.auth-requests-text{flex:1;display:flex;flex-direction:column}.auth-requests-title{font-weight:600;font-size:1rem}.auth-requests-count{font-size:.875rem;opacity:.9}.auth-requests-action{background:var(--card-background);color:#d97706;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.auth-requests-action:hover{background:#fffbeb;transform:translateY(-1px)}.long-session-banner{display:flex;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:var(--radius-lg);margin-bottom:1rem;color:#fff;box-shadow:var(--shadow-md)}.long-session-icon{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.long-session-icon svg{width:24px;height:24px;fill:#fff}.long-session-text{flex:1;display:flex;flex-direction:column}.long-session-title{font-weight:600;font-size:1rem}.long-session-count{font-size:.875rem;opacity:.9}.long-session-action{background:var(--card-background);color:#d97706;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.long-session-action:hover{background:#fffbeb;transform:translateY(-1px)}.long-session-details{background:var(--card-background, #fff);border-radius:var(--radius-lg);padding:8px;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.active-shifts-compact{background:var(--card-background);border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000001a}.active-shifts-compact h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--text-primary)}.active-shifts-compact h3 svg{color:var(--primary-color)}.active-shifts-badge{background:var(--danger-color);color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.active-shifts-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.active-shift-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--gray-50);border-radius:8px;border-left:3px solid var(--success-color)}.active-shift-item.severity-warning{border-left-color:#eab308;background:#fef9c3}.active-shift-item.severity-high{border-left-color:#f97316;background:#fff7ed}.active-shift-item.severity-critical{border-left-color:var(--danger-color);background:#fef2f2}.active-shift-item .driver-info{display:flex;flex-direction:column}.active-shift-item .driver-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.active-shift-item .vehicle-info{font-size:.75rem;color:var(--text-secondary)}.active-shift-item .shift-timer{font-family:Roboto Mono,monospace;font-weight:700;font-size:.875rem}.active-shift-item .shift-timer.severity-normal{color:var(--success-color)}.active-shift-item .shift-timer.severity-warning{color:#eab308}.active-shift-item .shift-timer.severity-high{color:#f97316}.active-shift-item .shift-timer.severity-critical{color:var(--danger-color)}.force-checkout-btn{background:none;border:none;padding:4px 6px;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-secondary);transition:all .2s ease;margin-left:8px}.force-checkout-btn:hover{background:var(--danger-color);color:#fff}.force-checkout-btn svg{display:block}.active-shifts-empty{text-align:center;color:var(--text-secondary);font-size:.75rem;padding:.5rem}.view-all-shifts-link{display:block;text-align:center;margin-top:.75rem;color:var(--primary-color);font-size:.75rem;text-decoration:none}.view-all-shifts-link:hover{text-decoration:underline}.fuel-entry-modal{max-width:720px!important;width:95%!important;max-height:90vh!important}.fuel-entry-modal .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--primary-50) 0%,rgba(59,130,246,.05) 100%);border-bottom:1px solid var(--border-color)}.fuel-entry-modal .modal-header-content{display:flex;align-items:center;gap:1rem}.fuel-entry-modal .modal-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.fuel-entry-modal .modal-header h3{margin:0 0 .125rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.fuel-entry-modal .modal-subtitle{margin:0;font-size:.8rem;color:var(--text-secondary)}.fuel-entry-modal .modal-close{width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.fuel-entry-modal .modal-close:hover{background:var(--background-color);color:var(--danger-color)}.fuel-entry-modal .modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto;overflow-x:visible}.fuel-entry-modal .form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.fuel-entry-modal .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.fuel-entry-modal .form-section-title{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem}.fuel-entry-modal .form-section-title svg{color:var(--primary-color)}.fuel-entry-modal .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.fuel-entry-modal .form-grid-2:last-child{margin-bottom:0}@media (max-width: 540px){.fuel-entry-modal .form-grid-2{grid-template-columns:1fr}}.fuel-entry-modal .form-group{margin-bottom:0}.fuel-entry-modal .form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-primary);margin-bottom:.375rem}.fuel-entry-modal .form-group .required{color:var(--danger-color)}.fuel-entry-modal .form-input,.fuel-entry-modal .form-select{width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);transition:border-color .15s,box-shadow .15s}.fuel-entry-modal .form-input:focus,.fuel-entry-modal .form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.fuel-entry-modal .form-input:disabled,.fuel-entry-modal .form-select:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.fuel-entry-modal .form-input[readonly]{background:var(--bg-secondary)}.fuel-entry-modal .field-hint{font-size:.7rem;color:var(--text-light);margin-top:.25rem;margin-bottom:0}.input-with-icon{position:relative}.input-with-icon .form-input{padding-right:2.5rem}.input-icon-right{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-light)}.total-cost-display{display:flex;align-items:baseline;gap:.25rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--success-color) 0%,#059669 100%);border-radius:var(--radius-md);color:#fff}.total-cost-display .currency{font-size:.9rem;opacity:.8}.total-cost-display .amount{font-size:1.5rem;font-weight:700;font-family:SF Mono,Monaco,monospace}.fuel-entry-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.fuel-entry-modal .modal-footer .btn-primary,.fuel-entry-modal .modal-footer .btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.fuel-entry-modal .modal-footer .btn-primary{background:var(--primary-color);color:#fff;border:none}.fuel-entry-modal .modal-footer .btn-primary:hover{background:var(--primary-dark)}.fuel-entry-modal .modal-footer .btn-secondary{background:var(--card-background);color:var(--text-secondary);border:1px solid var(--border-color)}.fuel-entry-modal .modal-footer .btn-secondary:hover{background:var(--background-color);color:var(--text-primary)}.searchable-select-container{position:relative!important;width:100%;display:block}.searchable-select-container .searchable-input{width:100%;cursor:text;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.searchable-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;margin-top:4px;background:var(--card-background);border:2px solid var(--primary-color);border-radius:8px;max-height:200px;overflow-y:auto;z-index:999999!important;box-shadow:0 8px 24px #0003;display:none}.searchable-dropdown.show{display:block!important}.searchable-dropdown .dropdown-item{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gray-100)}.searchable-dropdown .dropdown-item:last-child{border-bottom:none}.searchable-dropdown .dropdown-item:hover{background:var(--primary-50)}.searchable-dropdown .dropdown-item.selected{background:var(--primary-100)}.searchable-dropdown .driver-name{font-weight:500;color:var(--text-primary)}.searchable-dropdown .driver-id{font-size:12px;color:var(--text-secondary);background:var(--gray-100);padding:2px 6px;border-radius:var(--radius-xs)}.searchable-dropdown .no-results{padding:15px;text-align:center;color:var(--text-secondary);font-size:13px}.fuel-tank-slider-container{background:var(--gray-50);border:1px solid var(--border-color);border-radius:12px;padding:16px}.fuel-tank-info{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px}.tank-capacity-label{color:var(--text-secondary)}.tank-available-label{color:var(--success-color)}.tank-capacity-label strong,.tank-available-label strong{color:var(--text-primary)}.fuel-slider-wrapper{display:flex;align-items:center;gap:15px;margin-bottom:8px}.fuel-level-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:12px;background:linear-gradient(to right,#ef4444,#f59e0b 25%,#10b981 75%,#10b981);border-radius:6px;outline:none;cursor:pointer}.fuel-level-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:var(--card-background);border:3px solid var(--primary-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0003}.fuel-level-slider::-moz-range-thumb{width:24px;height:24px;background:var(--card-background);border:3px solid var(--primary-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0003}.fuel-level-display{min-width:50px;text-align:center;font-size:18px;font-weight:700;color:var(--primary-color)}.fuel-slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);padding:0 2px}.validation-warning{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--warning-light);border:1px solid var(--warning-color);border-radius:6px;margin-top:8px;font-size:12px;color:#92400e}.validation-warning svg{color:var(--warning-color);flex-shrink:0}.footer{background:var(--card-background);border-top:1px solid var(--border-color);padding:1rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}.required-photos-section{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.required-photos-section h4{margin:0 0 .25rem;font-size:.9375rem;color:#92400e}.required-photos-section .field-hint{font-size:.75rem;color:#b45309;margin-bottom:.75rem}.photo-capture-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.photo-capture-item{display:flex;flex-direction:column;align-items:center}.photo-capture-item label{font-size:.75rem;font-weight:600;color:#78350f;margin-bottom:.5rem}.photo-preview-small{width:100%;aspect-ratio:4/3;background:var(--card-background);border:2px dashed #d1d5db;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;margin-bottom:.5rem;overflow:hidden}.photo-preview-small svg{width:28px;height:28px;color:#9ca3af}.photo-preview-small span{font-size:.6875rem;color:#9ca3af}.photo-preview-small.has-photo{border-style:solid;border-color:var(--success-color);background:var(--success-color)}.photo-preview-small img{width:100%;height:100%;object-fit:cover}.photo-input-hidden{display:none}.btn-take-photo{width:100%;padding:.5rem .75rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.75rem;font-weight:500;transition:background .2s}.btn-take-photo svg{width:16px;height:16px}.btn-take-photo:hover{background:var(--primary-dark)}.field-hint{font-size:.75rem;color:var(--text-light);margin:.25rem 0 .5rem}.photo-required-hint{color:var(--primary-color);background:var(--primary-light);padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem}.required{color:var(--danger-color)}.receipt-photo-section{display:flex;gap:1rem;align-items:flex-end}.receipt-photo-section.required-receipt{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);padding:.75rem}.receipt-photo-section .photo-preview-small{width:100px;flex-shrink:0}.receipt-photo-section .btn-take-photo{flex:1}.btn-receipt{background:#059669}.btn-receipt:hover{background:#047857}.trip-requests-modal{max-width:700px;max-height:85vh}.trip-requests-content{max-height:60vh;overflow-y:auto;padding:1rem}.trip-request-item{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.trip-request-item:last-child{margin-bottom:0}.trip-request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.trip-driver-info{display:flex;flex-direction:column;gap:.25rem}.trip-driver-info .request-number{font-weight:700;font-size:1.1rem;color:var(--primary-color, #2563eb);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;background:#eff6ff;padding:.15rem .5rem;border-radius:var(--radius-xs);display:inline-block;margin-bottom:.25rem}.trip-driver-info .driver-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.trip-destination{font-size:.875rem;color:var(--text-secondary)}.trip-status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.trip-status-badge.requested{background:#fef3c7;color:#b45309}.trip-status-badge.approved{background:#d1fae5;color:#059669}.trip-status-badge.rejected{background:#fee2e2;color:#dc2626}.trip-status-badge.started,.trip-status-badge.in_progress{background:#dbeafe;color:#1d4ed8}.trip-status-badge.completed{background:#e0e7ff;color:#4338ca}.trip-request-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.trip-request-details .detail-row{display:flex;justify-content:space-between;align-items:center}.trip-request-details .detail-label{font-size:.875rem;color:var(--text-secondary)}.trip-request-details .detail-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.trip-request-details .budget-amount{color:#059669;font-weight:600}.trip-request-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-small{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .2s}.btn-approve{background:#10b981;color:#fff}.btn-approve:hover{background:#059669}.btn-reject{background:#ef4444;color:#fff}.btn-reject:hover{background:#dc2626}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem;padding:1rem 0}.trip-request-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}.trip-request-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.trip-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--border-color)}.trip-card-body{padding:1rem}.trip-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px dashed var(--border-color)}.trip-detail-row:last-child{border-bottom:none}.trip-detail-row .label{font-size:.875rem;color:var(--text-secondary)}.trip-detail-row .value{font-size:.875rem;color:var(--text-primary);font-weight:500}.trip-detail-row .value.budget{color:#059669;font-weight:600}.trip-card-actions{display:flex;gap:.5rem;padding:1rem;background:var(--background-color);border-top:1px solid var(--border-color)}.trip-card-actions button{flex:1;padding:.5rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.trip-card-actions .btn-approve{background:#10b981;color:#fff}.trip-card-actions .btn-approve:hover{background:#059669}.trip-card-actions .btn-reject{background:#ef4444;color:#fff}.trip-card-actions .btn-reject:hover{background:#dc2626}.trip-card-actions .btn-details{background:#3b82f6;color:#fff}.trip-card-actions .btn-details:hover{background:#1d4ed8}.budget-cell{color:#059669;font-weight:500}.spent-cell{color:#dc2626;font-weight:500}.btn-icon{padding:.375rem;border:none;border-radius:var(--radius-sm);background:var(--background-color);cursor:pointer;transition:all .2s}.btn-icon svg{width:18px;height:18px;fill:var(--text-secondary)}.btn-icon:hover{background:var(--border-color)}.btn-icon.approve svg{fill:#10b981}.btn-icon.approve:hover{background:#d1fae5}.btn-icon.reject svg{fill:#ef4444}.btn-icon.reject:hover{background:#fee2e2}.btn-icon.cancel svg{fill:#f59e0b}.btn-icon.cancel:hover{background:#fef3c7}.btn-icon.complete svg{fill:#10b981}.btn-icon.complete:hover{background:#d1fae5}.action-buttons{display:flex;gap:.25rem}.trip-details-modal{max-width:800px;max-height:90vh}.trip-details-content{max-height:70vh;overflow-y:auto;padding:1rem}.trip-details-grid{display:flex;flex-direction:column;gap:1.5rem}.trip-info-section{background:var(--background-color);border-radius:var(--radius-md);padding:1rem}.trip-info-section h4{margin:0 0 1rem;font-size:1rem;color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.info-item .value{font-size:.9rem;color:var(--text-primary);font-weight:500}.info-item .value.budget{color:#059669;font-weight:600}.info-item .value.spent{color:#dc2626;font-weight:600}.info-item .value.negative{color:#dc2626}.passengers-list{display:flex;flex-wrap:wrap;gap:.5rem}.passenger-tag{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#dbeafe;color:#1d4ed8;border-radius:9999px;font-size:.875rem;font-weight:500}.vehicle-segments-list{display:flex;flex-direction:column;gap:.75rem}.vehicle-segment{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem}.segment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.segment-number{width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.vehicle-name{font-weight:600;color:var(--text-primary)}.vehicle-plate{font-size:.875rem;color:var(--text-secondary)}.segment-details{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary)}.change-reason{font-size:.8rem;color:#f59e0b;font-style:italic;margin-top:.5rem}.total-km{margin-top:1rem;padding-top:.75rem;border-top:2px solid var(--primary-color);display:flex;justify-content:space-between;font-size:1rem;font-weight:600}.expenses-table-container{overflow-x:auto}.mini-table{width:100%;border-collapse:collapse;font-size:.875rem}.mini-table th,.mini-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color)}.mini-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary)}.trip-timeline{display:flex;flex-direction:column;gap:.5rem}.timeline-item{display:flex;gap:1rem;border-left:3px solid var(--border-color);padding:.5rem .5rem .5rem 1rem}.timeline-item .time{font-size:.8rem;color:var(--text-secondary);min-width:140px}.timeline-item .event{font-size:.875rem;color:var(--text-primary)}.timeline-item.approved{border-left-color:#10b981}.timeline-item.rejected{border-left-color:#ef4444}.timeline-item.started{border-left-color:#3b82f6}.timeline-item.completed{border-left-color:#8b5cf6}.timeline-item.cancelled{border-left-color:#f59e0b}.money-requests-list{display:flex;flex-direction:column;gap:.5rem}.money-request-item.pending{background:#fef3c7}.money-request-item.approved{background:#d1fae5}.money-request-item.rejected{background:#fee2e2}.summary-icon.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.summary-icon.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.summary-icon.completed{background:linear-gradient(135deg,#10b981,#059669)}.modal-actions .btn-cancel{background:#f59e0b;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer}.modal-actions .btn-cancel:hover{background:#d97706}.notification-container{position:fixed;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.notification-container>*{pointer-events:auto}.notification-top-right{top:20px;right:20px}.notification-top-left{top:20px;left:20px}.notification-bottom-right{bottom:20px;right:20px}.notification-bottom-left{bottom:20px;left:20px}.notification-top-center{top:20px;left:50%;transform:translate(-50%)}.notification{display:flex;align-items:flex-start;padding:16px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;position:relative;overflow:hidden}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;margin-bottom:4px}.notification-message{color:#666;font-size:14px;word-wrap:break-word}.notification-close{background:none;border:none;font-size:20px;cursor:pointer;color:#999;padding:0;margin-left:12px;line-height:1}.notification-close:hover{color:#666}.notification-clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.notification-clickable:hover{box-shadow:0 6px 16px #00000038;transform:translateY(-1px)}.notification-clickable:focus-visible{outline:2px solid #2196f3;outline-offset:2px}.notification-success{border-left:4px solid #4caf50}.notification-error{border-left:4px solid #f44336}.notification-warning{border-left:4px solid #ff9800}.notification-info{border-left:4px solid #2196f3}.notification-loading{border-left:4px solid #9c27b0}.notification-loading-spinner{width:16px;height:16px;margin-right:12px;border:2px solid #e9d5ff;border-top-color:#9c27b0;border-radius:50%;animation:notification-spin .8s linear infinite;flex:none;margin-top:2px}@keyframes notification-spin{to{transform:rotate(360deg)}}.notification-confirm-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:notification-fade-in .2s ease}@keyframes notification-fade-in{0%{opacity:0}to{opacity:1}}.notification-confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 32px #0003;animation:notification-slide-up .2s ease}@keyframes notification-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-confirm-header{display:flex;align-items:center;margin-bottom:16px}.notification-confirm-header h3{margin:0;font-size:18px}.notification-confirm-body{margin-bottom:24px}.notification-confirm-body p{margin:0;color:#666;line-height:1.5}.notification-confirm-actions{display:flex;justify-content:flex-end;gap:12px}.notification-confirm-actions button{padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.notification-confirm-actions .btn-cancel{background:#f5f5f5;color:#666}.notification-confirm-actions .btn-cancel:hover{background:#e0e0e0}.notification-confirm-actions .btn-confirm{background:#2196f3;color:#fff}.notification-confirm-actions .btn-confirm:hover{background:#1976d2}.notification-confirm-actions .btn-confirm.btn-danger{background:#f44336}.notification-confirm-actions .btn-confirm.btn-danger:hover{background:#d32f2f}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.refresh-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;opacity:0;transition:opacity .15s ease-out;overflow:hidden;background:transparent}.refresh-bar.is-active{opacity:1}.refresh-bar:before{content:"";position:absolute;top:0;left:0;height:100%;width:40%;background:linear-gradient(90deg,transparent 0%,#2563eb 30%,#60a5fa 50%,#2563eb 70%,transparent 100%);animation:refresh-bar-slide 1.1s linear infinite}@keyframes refresh-bar-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion: reduce){.refresh-bar:before{animation-duration:2.5s}}.app-container{min-height:100vh;background:var(--background-color)}.session-header-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--card-background);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.25rem;font-weight:600;margin:0}.header-right{display:flex;gap:.75rem}.session-main{max-width:1200px;margin:0 auto}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state svg{color:var(--danger-color);margin-bottom:1rem}.error-state h2{margin:0 0 .5rem;font-size:1.25rem}.error-state p{color:var(--text-secondary);margin:0 0 1.5rem}.session-header-card{background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1.5rem}.session-header-main{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-color)}.session-driver-info{display:flex;align-items:center;gap:1rem}.driver-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem}.driver-details h2{margin:0;font-size:1.25rem;font-weight:600}.driver-id{color:var(--text-secondary);font-size:.875rem}.session-status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:500}.session-status-badge .status-dot{width:8px;height:8px;border-radius:50%}.session-status-badge.active{background:#10b9811a;color:#10b981}.session-status-badge.active .status-dot{background:#10b981}.session-status-badge.completed{background:#3b82f61a;color:#3b82f6}.session-status-badge.completed .status-dot{background:#3b82f6}.session-status-badge.pending{background:#f59e0b1a;color:#f59e0b}.session-status-badge.pending .status-dot{background:#f59e0b}.session-status-badge.approved{background:#10b9811a;color:#10b981}.session-status-badge.approved .status-dot{background:#10b981}.session-status-badge.rejected{background:#ef44441a;color:#ef4444}.session-status-badge.rejected .status-dot{background:#ef4444}.session-header-details{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.detail-item .detail-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item .detail-value{font-size:.9375rem;font-weight:500}.session-header-approval{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.approval-status{display:flex;align-items:center;gap:.75rem}.approval-label{font-size:.875rem;color:var(--text-secondary)}.approval-badge{padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500}.approval-badge.pending{background:#f59e0b1a;color:#f59e0b}.approval-badge.approved{background:#10b9811a;color:#10b981}.approval-badge.rejected{background:#ef44441a;color:#ef4444}.session-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.btn-action{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-background);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-action:hover{background:var(--background-color);border-color:var(--primary-light);color:var(--primary-color)}.btn-action.btn-checkout{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-action.btn-checkout:hover{background:var(--primary-dark)}.session-tabs{display:flex;gap:.5rem;padding:.375rem;background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:1.5rem;overflow-x:auto}.session-tabs .tab-btn{flex:1;min-width:100px;padding:.75rem 1rem;border:none;background:transparent;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.session-tabs .tab-btn:hover{color:var(--text-primary)}.session-tabs .tab-btn.active{background:var(--primary-color);color:#fff}.tab-contents{background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem}.tab-content.active{display:block}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-section{background:var(--background-color);border-radius:var(--radius-md);padding:1rem}.detail-section h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--text-secondary);font-size:.875rem}.detail-row .value{font-weight:500;font-size:.875rem}.detail-row .value.overtime{color:var(--warning-color)}.vehicle-history-list{display:flex;flex-direction:column;gap:.75rem}.vehicle-change-item{padding:.75rem;background:var(--card-background);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.change-arrow{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.change-arrow svg{color:var(--text-secondary)}.from-vehicle{color:var(--text-secondary)}.to-vehicle{font-weight:500}.change-meta{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.change-reason{font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}.photos-filter{display:flex;gap:.5rem;margin-bottom:1rem}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;font-size:.8125rem;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--primary-light)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform .2s}.photo-item:hover{transform:scale(1.02)}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.75rem;text-align:center}.trips-list{display:flex;flex-direction:column;gap:.75rem}.trip-item{padding:1rem;background:var(--background-color);border-radius:var(--radius-md);border:1px solid var(--border-color)}.trip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.trip-id{font-size:.75rem;color:var(--text-secondary)}.trip-status{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.trip-status.completed{background:#10b9811a;color:#10b981}.trip-status.in_progress{background:#3b82f61a;color:#3b82f6}.trip-status.pending{background:#f59e0b1a;color:#f59e0b}.trip-destination{font-weight:500;margin-bottom:.5rem}.trip-meta{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-secondary)}.fuel-expenses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.entries-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.entry-item{padding:.75rem;background:var(--card-background);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.entry-main{display:flex;justify-content:space-between;margin-bottom:.25rem}.entry-date{font-size:.8125rem;color:var(--text-secondary)}.entry-amount{font-weight:500}.entry-details{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--text-secondary)}.entry-cost{font-weight:500;color:var(--text-primary)}.entry-category{font-weight:500}.section-total{display:flex;justify-content:space-between;padding:.75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-md);font-weight:500}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-item{position:relative;padding-bottom:1.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-icon{position:absolute;left:-1.75rem;width:24px;height:24px;border-radius:50%;background:var(--card-background);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center}.timeline-item.checkin .timeline-icon{border-color:#10b981;color:#10b981}.timeline-item.checkout .timeline-icon{border-color:#ef4444;color:#ef4444}.timeline-item.trip .timeline-icon{border-color:#3b82f6;color:#3b82f6}.timeline-item.fuel .timeline-icon{border-color:#f59e0b;color:#f59e0b}.timeline-item.expense .timeline-icon{border-color:#8b5cf6;color:#8b5cf6}.timeline-item.vehicle .timeline-icon{border-color:#6366f1;color:#6366f1}.timeline-content{background:var(--background-color);padding:.75rem 1rem;border-radius:var(--radius-md)}.timeline-title{font-weight:500;margin-bottom:.25rem}.timeline-description{font-size:.875rem;color:var(--text-secondary)}.timeline-time{font-size:.75rem;color:var(--text-light);margin-top:.25rem}.closing-document{background:var(--card-background);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:1.5rem}.closing-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.closing-header h3{margin:0 0 .5rem;font-size:1.25rem}.closing-header p{margin:0;color:var(--text-secondary)}.closing-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.summary-section{background:var(--background-color);padding:1rem;border-radius:var(--radius-md)}.summary-section h4{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .75rem}.summary-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.summary-row.overtime{color:var(--warning-color);font-weight:500}.summary-section input,.summary-section textarea{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.875rem;margin-top:.5rem}.signature-section{margin-bottom:1.5rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md)}.signature-section h4{margin:0 0 .5rem}.signature-section p{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.signature-canvas-container{display:flex;flex-direction:column;gap:.5rem}#signatureCanvas{border:2px dashed var(--border-color);border-radius:var(--radius-md);background:#fff;cursor:crosshair}.closing-actions{display:flex;gap:1rem;justify-content:flex-end}.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:2000;display:flex;align-items:center;justify-content:center}.lightbox-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem}.lightbox-content{max-width:90vw;max-height:80vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:70vh;object-fit:contain}.lightbox-caption{color:#fff;margin-top:1rem;font-size:.875rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;padding:1rem;cursor:pointer;transition:background .2s}.lightbox-nav:hover{background:#fff3}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}.no-data{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}@media print{.session-header-bar,.session-actions,.session-tabs,.lightbox-overlay,.closing-actions button:first-child{display:none!important}.session-main{padding:0}.tab-contents,.closing-document{border:none;box-shadow:none}.tab-content{display:block!important;page-break-inside:avoid}.photos-grid{grid-template-columns:repeat(4,1fr)}.photo-item{max-height:150px}}@media (max-width: 768px){.session-header-details{grid-template-columns:repeat(2,1fr)}.overview-grid,.fuel-expenses-grid,.closing-summary{grid-template-columns:1fr}.session-tabs{flex-wrap:wrap}.session-tabs .tab-btn{flex:0 0 auto}.session-header-main{flex-direction:column;gap:1rem;align-items:flex-start}}:root{color-scheme:light;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--primary-color: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--secondary-color: #0f172a;--accent-color: #06b6d4;--success-color: #10b981;--success-light: #d1fae5;--warning-color: #f59e0b;--warning-light: #fef3c7;--danger-color: #ef4444;--danger-light: #fee2e2;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--background-color: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--card-background: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-light: #64748b;--text-muted: #94a3b8;--border-color: #e5e7eb;--border-light: #f1f5f9;--border-dark: #cbd5e1;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .04), 0 1px 2px -1px rgb(0 0 0 / .04);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .06), 0 2px 4px -2px rgb(0 0 0 / .04);--shadow-lg: 0 12px 24px -4px rgb(0 0 0 / .08), 0 4px 8px -4px rgb(0 0 0 / .04);--shadow-xl: 0 20px 40px -8px rgb(0 0 0 / .1), 0 8px 16px -4px rgb(0 0 0 / .06);--shadow-primary: 0 4px 14px -2px rgba(37, 99, 235, .35);--shadow-primary-lg: 0 8px 24px -4px rgba(37, 99, 235, .3);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--modal-sm: 420px;--modal-md: 560px;--modal-lg: 800px;--modal-xl: 1000px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--touch-target: 44px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-micro: .1s ease;--transition-spring: .2s cubic-bezier(.34, 1.56, .64, 1);--press-scale: .97;--hover-lift: -2px;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .35);--focus-ring-offset: 0 0 0 2px var(--card-background), 0 0 0 4px var(--primary-600);--nav-height: 64px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background-color);color:var(--text-primary);line-height:1.6;letter-spacing:-.01em;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;margin:0}h1{letter-spacing:-.025em}p{margin:0}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}.maint-open-link,.maint-open-link:hover{text-decoration:none;color:inherit}.maint-open-link:hover .maint-open-detail{text-decoration:underline}img,svg{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:focus-visible,.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{box-shadow:var(--focus-ring-offset)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--primary-500);box-shadow:var(--focus-ring-offset)}input,select,textarea,.form-input,.form-select,.form-textarea{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn,.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;font-family:inherit;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-micro);-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-600);color:#fff;border-color:var(--primary-600);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-700);border-color:var(--primary-700)}.btn-primary:active:not(:disabled){transform:scale(var(--press-scale))}.btn-secondary{background:var(--card-background);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-dark)}.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-danger:active:not(:disabled){transform:scale(var(--press-scale))}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group .required{color:var(--danger-color)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{padding:8px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-md)}.form-group input:not([type=checkbox]):not([type=radio]):disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0;opacity:1}.form-group .field-hint{font-size:12px;color:var(--text-light);line-height:1.4}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary)}.badge-info{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-secondary)}.status-badge.active{background:var(--success-light);color:#065f46}.status-badge.inactive{background:var(--bg-secondary);color:var(--text-light)}.status-badge.status-warning,.status-badge.warning{background:var(--warning-light);color:#92400e}.status-badge.status-info,.status-badge.info{background:#dbeafe;color:#1e40af}.status-badge.rejected,.status-badge.danger{background:var(--danger-light);color:#991b1b}.card,.summary-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:8px 14px;z-index:10000;transition:top var(--transition-fast)}.skip-link:focus{top:0}.btn-add{display:flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);color:#fff;border:none;padding:.5rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-primary)}.btn-add:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-lg)}.btn-add:active{transform:scale(.98)}.btn-add svg{width:18px;height:18px}.btn-export{display:flex;align-items:center;gap:.375rem;background:var(--success-color);color:#fff;border:none;padding:.5rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #10b98140}.btn-export:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.btn-export:active{transform:scale(var(--press-scale))}.btn-add,.btn-export{backface-visibility:hidden}.btn-add:hover,.btn-add:hover:not(:disabled),.btn-export:hover,.btn-export:hover:not(:disabled){opacity:1}.btn-export:hover:not(:disabled){background:#059669;border-color:transparent;color:#fff}.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-add:active{transform:scale(var(--press-scale))}.btn-export svg{width:16px;height:16px}.action-bar-right .btn-primary,.vehicles-action-bar .btn-primary{display:inline-flex;align-items:center;gap:.375rem;background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s;flex:none}.action-bar-right .btn-primary:hover,.vehicles-action-bar .btn-primary:hover{background:var(--primary-dark)}.action-bar-right .btn-primary:active,.vehicles-action-bar .btn-primary:active{transform:scale(.98)}.action-bar-right .btn-primary svg,.vehicles-action-bar .btn-primary svg{width:16px;height:16px}@media (min-width: 640px){.quick-actions{grid-template-columns:repeat(6,1fr)}.summary-grid{grid-template-columns:repeat(4,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr)}.vehicles-grid{grid-template-columns:repeat(2,1fr)}.user-name{display:block}.main-content{padding:1.75rem}.welcome-section h1{font-size:1.75rem}.action-btn{padding:1.25rem .75rem}.action-btn span{font-size:.8125rem}}@media (min-width: 1024px){.header-content{padding:1rem 2rem}.main-content{padding:2rem 2.5rem}.section{padding:1.75rem}.data-table th,.data-table td{padding:.875rem 1rem}}@media (min-width: 1400px){.main-content{padding:2.5rem 3rem}}@media (max-width: 639px){.data-table{font-size:.8125rem}.data-table th,.data-table td{padding:.75rem .5rem}.data-table.mobile-cards thead{display:none}.data-table.mobile-cards tbody tr{display:block;background:var(--card-background);border-radius:var(--radius-md);margin-bottom:.75rem;padding:.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.data-table.mobile-cards tbody td{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.data-table.mobile-cards tbody td:last-child{border-bottom:none}.data-table.mobile-cards tbody td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:none}.vehicle-card,.stat-card{padding:1rem}.stat-value{font-size:1.25rem}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{padding:.875rem 1rem;font-size:1rem;min-height:var(--touch-target)}.btn,.btn-primary,.btn-secondary,button{min-height:var(--touch-target);padding:.75rem 1rem}.modal{margin:.5rem;max-width:100%!important;width:calc(100% - 1rem)!important;max-height:calc(100vh - 1rem);border-radius:var(--radius-lg)}.modal-form .form-row{flex-direction:column;gap:1rem}}@media (hover: none){.btn-login:hover,.btn-logout:hover,.vehicle-card:hover{transform:none;box-shadow:var(--shadow-sm)}}@supports (padding: max(0px)){.header-content,.main-content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.footer{padding-bottom:max(1rem,env(safe-area-inset-bottom))}}.page-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:0}.page-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.page-tab svg{width:20px;height:20px}.page-tab:hover{color:var(--primary-color);background:#2563eb0d}.page-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.project-name-cell{display:flex;flex-direction:column}.project-name-cell .project-name{font-weight:600;color:var(--text-primary)}.project-name-cell .project-id{font-size:.75rem;color:var(--text-secondary)}.project-description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.driver-count{font-weight:500;color:var(--primary-color)}.status-badge.pending{background:#fef3c7;color:#d97706}.tabs-container{margin-bottom:1.5rem}.tabs-nav{display:flex;gap:.5rem;background:var(--white);padding:.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;background:transparent;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex:1;justify-content:center}.tab-btn svg{width:20px;height:20px;fill:currentColor}.tab-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-btn.active{background:var(--primary-color);color:#fff}.tab-btn.active svg{fill:#fff}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}@media (max-width: 640px){.tabs-nav{flex-direction:column;gap:.25rem}.tab-btn{justify-content:flex-start;padding:.75rem 1rem}}.section-header{margin-bottom:1rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-title svg{width:20px;height:20px;color:var(--primary-color)}@media print{.top-nav,.footer,.modal-actions,.users-sidebar,.users-summary,.table-header,.table-filters,.btn,.btn-primary,.btn-secondary,.btn-danger,.modal-close,.company-indicator,#createInvoiceHeader,#createInvoiceContent,.report-item{display:none!important}body{background:#fff!important;margin:0;padding:0}.app-container{display:block;min-height:auto}.main-content{padding:0;margin:0}.modal-overlay{position:static!important;background:none!important;display:block!important}.modal-overlay.active{display:block!important}.modal{position:static!important;max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important}.modal-header{display:none!important}.invoice-document{width:100%!important;padding:20px!important}table{width:100%!important;border-collapse:collapse!important}th,td{padding:8px!important;border:1px solid #ddd!important}.page-break{page-break-after:always}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.receipt-viewer-modal{max-width:600px}.receipt-viewer-content{max-height:70vh;overflow:auto;text-align:center;background:#333;border-radius:var(--radius-md);padding:1rem}.receipt-viewer-content img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.photo-capture-container{display:flex;align-items:center;gap:10px}.photo-preview{width:60px;height:60px;border:2px dashed #ddd;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f9fafb}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview.has-image{border-style:solid;border-color:#10b981}.text-warning{color:#ff9800;font-size:.85rem;font-weight:500}.photo-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.photo-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.photo-viewer-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.photo-viewer-close{position:absolute;top:-50px;right:0;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.photo-viewer-close:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.photo-viewer-close svg{width:24px;height:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.damage-details{padding:1rem}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.detail-section:last-child{border-bottom:none}.detail-section h4{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9375rem;color:#1e293b;font-weight:500}@media (max-width: 1200px){.primary-stats,.alert-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.primary-stats,.alert-stats{grid-template-columns:1fr}.vehicles-action-bar{flex-direction:column;align-items:stretch}.action-bar-left,.action-bar-right{width:100%;justify-content:space-between}.filter-group{flex-wrap:wrap}.vehicles-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.vehicles-table th,.vehicles-table td{padding:.75rem .5rem}.th-driver,.th-type,.th-alerts{display:none}.vehicles-table td:nth-child(3),.vehicles-table td:nth-child(4),.vehicles-table td:nth-child(7){display:none}}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2.5px solid var(--gray-200);border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:2.5rem;height:2.5rem;border-width:3px}.spinner-light{border-color:#ffffff4d;border-top-color:#fff}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:100;border-radius:inherit}.loading-overlay.dark{background:#00000080}.skeleton{background:linear-gradient(90deg,var(--gray-200) 0%,var(--gray-100) 50%,var(--gray-200) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-title{height:1.5rem;width:40%;margin-bottom:1rem}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-button{height:40px;width:100px;border-radius:var(--radius-md)}.skeleton-card{height:120px;border-radius:var(--radius-lg)}.skeleton-table-row{height:48px;margin-bottom:.25rem}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-container{padding:1rem}.skeleton-container .skeleton-table-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:.5rem}.skeleton-container .skeleton-text{flex:1}.offline-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e);font-size:.875rem;font-weight:500;z-index:9999;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a}.offline-banner svg{flex-shrink:0}body.is-offline .top-nav{top:38px}body.is-offline .main-content{padding-top:calc(var(--header-height, 60px) + 38px)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#ffffffd9;z-index:10;border-radius:inherit}.loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200, #e5e7eb);border-top-color:var(--primary-color, #0087ff);border-radius:50%;animation:loading-spin .7s linear infinite}.loading-message{font-size:.875rem;color:var(--text-secondary, #636366)}@keyframes loading-spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state-icon{width:64px;height:64px;color:var(--text-light);margin-bottom:1rem}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.empty-state-description{font-size:.875rem;color:var(--text-secondary);max-width:300px;margin-bottom:1.5rem}.form-input,.form-select,.form-textarea,.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--text-primary);background-color:var(--card-background);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover,.form-group input:not([type=checkbox]):not([type=radio]):hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--gray-400)}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--focus-ring)}.form-input::placeholder,.form-textarea::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-select,.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-textarea,.form-group textarea{min-height:100px;resize:vertical}.form-input.is-valid,.form-group.is-valid input,.form-group.is-valid select{border-color:var(--success-color);background-color:#f0fdf4}.form-input.is-invalid,.form-group.is-invalid input,.form-group.is-invalid select,.form-group.is-invalid textarea{border-color:var(--danger-color);background-color:#fef2f2;box-shadow:inset 3px 0 0 0 var(--danger-color),0 0 0 3px #ef444414}.form-error{font-size:.75rem;color:var(--danger-color);margin-top:.25rem;display:flex;align-items:center;gap:.25rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-error svg{width:14px;height:14px}.form-hint{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.form-section{background:var(--gray-50);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.form-section-title{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.input-group{display:flex;align-items:stretch}.input-group-prepend,.input-group-append{display:flex;align-items:center;padding:0 .75rem;background:var(--gray-100);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem}.input-group-prepend{border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group-append{border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group .form-input,.input-group input{border-radius:0}.input-group .form-input:first-child,.input-group input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group .form-input:last-child,.input-group input:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.025em}.page-header p,.page-header .page-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.empty-state{padding:3.5rem 2rem}.empty-state-icon{width:72px;height:72px;color:var(--text-muted);margin-bottom:1.25rem;opacity:.4}.empty-state-message{font-size:1.0625rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem}.empty-state-hint{font-size:.875rem;color:var(--text-light);max-width:320px;margin:0 auto}.vehicles-action-bar,.action-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.search-box{position:relative}.search-box input{padding-left:2.25rem}.search-box svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted);pointer-events:none}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-light)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.bg-primary{background-color:var(--primary-color)}.bg-success{background-color:var(--success-light)}.bg-warning{background-color:var(--warning-light)}.bg-danger{background-color:var(--danger-light)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.w-full{width:100%}.relative{position:relative}.cursor-pointer{cursor:pointer}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#111827}.text-slate-500{color:#64748b}.text-slate-800{color:#1e293b}.text-red-500{color:#ef4444}.text-green-500{color:#10b981}.text-blue-500{color:#3b82f6}.stat-card{background:var(--bg-secondary);padding:.75rem;border-radius:var(--radius-md);text-align:center}.stat-value{font-size:1.5rem;font-weight:600;color:#111827;line-height:1.2}.stat-value-sm{font-size:1.25rem;font-weight:600;line-height:1.2}.stat-label{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.section-label{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.form-label-sm{font-size:.8125rem;font-weight:500;color:#374151;margin-bottom:.375rem;display:block}.caption{font-size:.75rem;color:#6b7280;margin-top:.25rem}.card-stat{background:var(--card-background);padding:1rem;border-radius:var(--radius-md);text-align:center;box-shadow:0 1px 3px #0000001a}.interactive-item{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;background:var(--card-background);border:1px solid #e2e8f0;border-radius:var(--radius-md);transition:all .15s ease}.interactive-item:hover{border-color:var(--primary-400);box-shadow:0 0 0 1px var(--primary-400)}.section-box{background:var(--bg-secondary);padding:1rem;border-radius:var(--radius-lg);margin-bottom:1.25rem}.gap-0\.5{gap:.25rem}.gap-1\.5{gap:.375rem}.mb-0\.5{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.text-violet-600{color:#7c3aed}.text-amber-500{color:#f59e0b}.text-amber-700{color:#b45309}.text-amber-900{color:#92400e}.flex-2{flex:2}.flex-auto{flex:0 0 auto}.self-end{align-self:flex-end}.form-narrow{max-width:600px}.form-wide{max-width:800px}.section-heading-icon{display:inline-flex;align-items:center;gap:10px}.warning-banner{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:12px 16px;margin:16px 0;display:flex;align-items:center;gap:12px}.checkbox-card{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px;background:var(--card-background);border:1px solid #e2e8f0;border-radius:8px}.checkbox-card input[type=checkbox]{margin-top:2px}.checkbox-card .checkbox-title{font-weight:600;color:#1e293b}.checkbox-card .checkbox-desc{font-size:12px;color:#64748b}.mini-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.mini-stat-card{background:var(--bg-secondary);padding:12px;border-radius:8px;text-align:center}.mini-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.mini-stat-label{font-size:11px;color:#64748b}.gps-status-banner{margin:20px 0;padding:16px;border-radius:8px;display:flex;align-items:center;gap:12px;background:#f1f5f9}.gps-status-dot{width:12px;height:12px;border-radius:50%;background:#94a3b8}.btn-success-solid{background:#10b981;color:#fff;border-color:#10b981}.btn-success-solid:hover{background:#059669;border-color:#059669}.btn-danger-solid{background:#ef4444;color:#fff;border-color:#ef4444}.btn-danger-solid:hover{background:#dc2626;border-color:#dc2626}.btn-icon-left{margin-right:6px}.btn-inline{display:inline-flex;align-items:center;gap:.5rem}.gps-stat-card{padding:1rem;background:#f3f4f6;border-radius:8px;text-align:center}.gps-stat-label{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.gps-stat-value{font-size:1.5rem;font-weight:600;color:#111827}.gps-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.consumption-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.consumption-summary .stat-label{font-size:.75rem;color:var(--text-secondary, #666)}.consumption-summary .stat-value{font-size:1.25rem;font-weight:600}.consumption-summary .stat-unit{font-size:.75rem;color:var(--text-secondary, #666)}.gps-location-section{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.compact-table{width:100%;border-collapse:collapse;font-size:.875rem}.compact-table th{padding:.75rem;text-align:left;background:var(--bg-secondary, #f5f5f5)}.compact-table th.text-right{text-align:right}.compact-table-sm{width:100%;border-collapse:collapse;font-size:.8125rem}.compact-table-sm th{padding:.5rem;text-align:left;background:#f3f4f6}.compact-table-sm th.text-right{text-align:right}.sv-select-wrapper{position:relative;display:inline-block;width:100%}.sv-select-input{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:13px;background:var(--bg-secondary, #f8fafc);outline:none;cursor:pointer;box-sizing:border-box}.sv-select-input:focus{border-color:var(--primary-color, #0087ff);background:var(--bg-primary, #fff)}.sv-select-input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}.sv-select-wrapper:has(.sv-select-input:disabled) .sv-select-arrow{color:#94a3b8;opacity:.5}.sv-select-input::placeholder{color:var(--text-tertiary, #94a3b8)}.sv-select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary, #64748b);font-size:20px}.sv-select-clear{pointer-events:auto;background:transparent;border:0;padding:0 4px;line-height:1;font-size:18px;cursor:pointer;color:var(--text-secondary, #64748b)}.sv-select-clear:hover{color:var(--text-primary, #0f172a)}.sv-select-dropdown{z-index:1100}.sv-select-dropdown{display:none;position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:250px;overflow-y:auto;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000}.sv-select-dropdown.open{display:block}.sv-select-item{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border-light, #f1f5f9);display:flex;align-items:center;gap:8px}.sv-select-item:last-child{border-bottom:none}.sv-select-item:hover,.sv-select-item.highlighted{background:var(--bg-secondary, #f1f5f9)}.sv-select-item.selected{background:var(--primary-light, #e0f2fe);color:var(--primary-color, #0087ff)}.sv-select-item.is-disabled{cursor:not-allowed;opacity:.55;background:var(--bg-tertiary, #f8fafc)}.sv-select-item.is-disabled:hover,.sv-select-item.is-disabled.highlighted{background:var(--bg-tertiary, #f8fafc)}.sv-select-item.is-disabled .sv-details{color:var(--danger-color, #b91c1c);font-weight:500}.sv-select-item .sv-plate{font-weight:600;display:flex;align-items:center;gap:8px;min-width:0}.sv-select-item .sv-plate-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-select-item .sv-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:1px 6px;font-size:11px;font-weight:600;border-radius:4px;background:var(--bg-secondary, #e2e8f0);color:var(--text-secondary, #475569);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.01em}.sv-select-item.is-disabled .sv-badge{background:#fee2e2;color:#b91c1c}.sv-select-item .sv-details{font-size:11px;color:var(--text-tertiary, #64748b)}.sv-select-empty{padding:12px;text-align:center;color:var(--text-tertiary, #94a3b8);font-size:12px}
