@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap");.mobile-toggle{cursor:pointer}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,17,23,.7);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid hsla(0,0%,100%,.1);border-top:3px solid var(--color-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.hide-on-mobile{display:block}table.data-table.hide-on-mobile,td.hide-on-mobile,th.hide-on-mobile{display:table-cell}.show-on-mobile{display:none!important}.tracking-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-4);position:relative}.tracking-map-wrapper{position:relative;height:560px;width:100%;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);background:#0f172a}.maplibregl-canvas-container,.maplibregl-map{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.maplibregl-canvas{width:100%!important;height:100%!important;outline:none}.responsive-tabs-bar{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);padding-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.responsive-tabs-bar::-webkit-scrollbar{display:none}.bottom-nav-mobile{display:none}@media (max-width:1024px){.dashboard-content-grid{grid-template-columns:1fr!important;gap:var(--space-4)!important}}@media (max-width:900px){.tracking-layout-grid{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important}.tracking-map-wrapper{min-height:420px!important;height:420px!important}}@media (max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}.main-content{padding-bottom:80px!important}.bottom-nav-mobile{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:64px;background:rgba(15,23,42,.94);backdrop-filter:blur(16px);border-top:1px solid hsla(0,0%,100%,.1);z-index:9990;justify-content:space-around;align-items:center;padding:0 4px env(safe-area-inset-bottom,0)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-tertiary);font-size:10px;font-weight:500;text-decoration:none;flex:1;height:100%;position:relative;transition:all .2s ease}.bottom-nav-item.active{color:var(--color-primary);font-weight:700}.bottom-nav-item.active svg{color:var(--color-primary);transform:translateY(-1px)}.mobile-cards-list{padding:var(--space-2) 0}.mobile-cards-list,.mobile-ui-card{display:flex;flex-direction:column;gap:var(--space-3)}.mobile-ui-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.mobile-ui-card-header{display:flex;justify-content:space-between;align-items:start;gap:var(--space-2)}.mobile-ui-card-title{font-size:var(--fs-md);font-weight:700;color:var(--text-primary)}.mobile-ui-card-meta{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);border-top:1px dashed var(--border-subtle);border-bottom:1px dashed var(--border-subtle);padding:var(--space-3) 0}.mobile-ui-card-row{display:flex;align-items:center;gap:var(--space-2)}.mobile-ui-card-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.bento-grid,.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr!important}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-content,.modal-dialog{max-width:95vw!important;width:95vw!important;margin:10px auto!important;max-height:90vh!important;overflow-y:auto!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:var(--space-3)!important}.page-header>div:last-child{width:100%!important;display:flex!important;flex-wrap:wrap!important}}:root{--color-primary:#06f;--color-primary-dark:#0052cc;--color-primary-glow:rgba(0,102,255,.2);--color-primary-subtle:rgba(0,102,255,.08);--color-primary-light:#38f;--color-accent:#08f;--color-accent-light:#3af;--color-accent-glow:rgba(0,136,255,.25);--color-tertiary:#94a3b8;--color-success:#10b981;--color-success-bg:rgba(16,185,129,.15);--color-warning:#f59e0b;--color-warning-bg:rgba(245,158,11,.15);--color-danger:#ef4444;--color-danger-bg:rgba(239,68,68,.15);--color-info:#0ea5e9;--color-info-bg:rgba(14,165,233,.15);--color-orange:#f97316;--color-orange-bg:rgba(249,115,22,.15);--color-purple:#8b5cf6;--color-purple-bg:rgba(139,92,246,.15);--color-pink:#ec4899;--color-pink-bg:rgba(236,72,153,.15);--bg-body:#f8fafc;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#f1f5f9;--bg-sidebar:#fff;--bg-overlay:rgba(15,23,42,.3);--bg-glass:hsla(0,0%,100%,.85);--border-subtle:rgba(99,102,241,.05);--border-default:rgba(99,102,241,.08);--border-strong:rgba(99,102,241,.15);--border-focus:var(--color-primary);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--text-on-primary:#fff;--font-body:"Outfit","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:"Outfit","Sora",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--fs-2xs:0.6875rem;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-base:0.9375rem;--fs-md:1.0625rem;--fs-lg:1.1875rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.125rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-normal:1.5;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:999px;--shadow-xs:0 2px 4px rgba(99,102,241,.02);--shadow-sm:0 4px 12px rgba(99,102,241,.04);--shadow-md:0 8px 24px rgba(99,102,241,.06);--shadow-lg:0 16px 32px rgba(99,102,241,.08);--shadow-xl:0 24px 48px rgba(99,102,241,.1);--shadow-glow-primary:0 0 20px var(--color-primary-glow);--shadow-card:0 10px 30px rgba(0,0,0,.02),0 1px 3px rgba(0,0,0,.01);--shadow-card-hover:0 16px 40px rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.02);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-spring:600ms cubic-bezier(0.34,1.56,0.64,1);--sidebar-width:260px;--sidebar-collapsed:80px;--header-height:70px;--mobile-header-height:64px;--content-max-width:1600px;--z-sidebar:100;--z-header:90;--z-overlay:200;--z-modal:300;--z-toast:400}[data-theme=dark]{--bg-body:#080b11;--bg-surface:#0e131f;--bg-card:#111625;--bg-card-hover:#161d2f;--bg-input:#151c2c;--bg-sidebar:#090c14;--bg-overlay:rgba(0,0,0,.7);--bg-glass:rgba(17,22,37,.9);--border-subtle:hsla(0,0%,100%,.02);--border-default:hsla(0,0%,100%,.05);--border-strong:hsla(0,0%,100%,.1);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#080b11;--shadow-card:0 10px 30px rgba(0,0,0,.4);--shadow-card-hover:0 16px 40px rgba(0,0,0,.5)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);background-color:var(--bg-body);min-height:100vh;min-height:100dvh;overflow-x:hidden;letter-spacing:var(--ls-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text-primary);letter-spacing:var(--ls-tight)}h1{font-size:var(--fs-3xl);font-weight:var(--fw-bold)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}h5{font-size:var(--fs-md)}h6{font-size:var(--fs-base)}p{color:var(--text-secondary);line-height:var(--lh-relaxed)}a{color:var(--color-primary-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}img,svg{display:block;max-width:100%}ol,ul{list-style:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none;background:none;color:inherit;-webkit-tap-highlight-color:transparent}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)}::selection{background:var(--color-primary);color:var(--text-on-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.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}.text-muted{color:var(--text-tertiary);font-size:var(--fs-sm)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.app-layout{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:var(--z-sidebar);transition:transform var(--transition-smooth);overflow-y:auto;overflow-x:hidden}.sidebar-brand{padding:var(--space-5) var(--space-5) var(--space-4);gap:var(--space-3);border-bottom:1px solid var(--border-subtle)}.sidebar-brand,.sidebar-brand-logo{display:flex;align-items:center;flex-shrink:0}.sidebar-brand-logo{width:38px;height:38px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));justify-content:center;font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-lg);color:#fff;box-shadow:0 2px 8px var(--color-primary-glow)}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-name{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-base);color:var(--text-primary);letter-spacing:var(--ls-tight)}.sidebar-brand-sub{font-size:var(--fs-2xs);color:var(--text-tertiary);letter-spacing:var(--ls-wider);text-transform:uppercase;font-weight:var(--fw-medium)}.sidebar-nav{padding:var(--space-3) var(--space-3);flex:1;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--ls-wider);padding:var(--space-4) var(--space-3) var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);cursor:pointer;position:relative;overflow:hidden;min-height:40px}.sidebar-link:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.sidebar-link.active{background:var(--color-primary);color:var(--text-on-primary);font-weight:var(--fw-semibold);box-shadow:0 2px 8px var(--color-primary-glow)}.sidebar-link-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-link.active .sidebar-link-icon svg{stroke:var(--text-on-primary)}.sidebar-link:hover .sidebar-link-icon svg{stroke:var(--color-primary)}.sidebar-link.active:hover .sidebar-link-icon svg{stroke:var(--text-on-primary)}.sidebar-link-badge{margin-left:auto;background:var(--color-danger);color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:1px 7px;border-radius:var(--radius-full);min-width:18px;text-align:center;line-height:1.5}.sidebar-link.active .sidebar-link-badge{background:hsla(0,0%,100%,.25);color:#fff}.sidebar-footer{padding:var(--space-3) var(--space-3);border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar-footer-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast)}.sidebar-footer-info:hover{background:var(--bg-card-hover)}.sidebar-footer-avatar{width:34px;height:34px;border-radius:var(--radius-full);background:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-xs);color:#fff;flex-shrink:0}.sidebar-footer-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.sidebar-footer-role{font-size:var(--fs-2xs);color:var(--text-tertiary)}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:0 var(--space-4);align-items:center;justify-content:space-between;z-index:calc(var(--z-sidebar) - 1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-header-brand{display:flex;align-items:center;gap:var(--space-2)}.mobile-header-logo{width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:#fff}.mobile-header-logo,.mobile-header-title{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-base)}.mobile-header-title,.mobile-menu-btn{color:var(--text-primary)}.mobile-menu-btn{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.mobile-menu-btn:active,.mobile-menu-btn:hover{background:var(--bg-card-hover)}.mobile-toggle{display:none!important}.mobile-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:calc(var(--z-sidebar) - 1);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base);-webkit-tap-highlight-color:transparent}.mobile-overlay.active,.mobile-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.page-container{padding:var(--space-6) var(--space-8);max-width:var(--content-max-width);width:100%;margin:0 auto;flex:1;animation:pageIn .3s ease}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header-left{display:flex;flex-direction:column;gap:2px}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);font-family:var(--font-heading);letter-spacing:var(--ls-tight)}.page-subtitle{font-size:var(--fs-sm);color:var(--text-tertiary)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:var(--space-5)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.mobile-header{display:flex!important}.main-content{margin-left:0}.page-container{padding:var(--space-5);padding-top:calc(var(--space-5) + var(--mobile-header-height))}.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-container{padding:var(--space-4);padding-top:calc(var(--space-4) + var(--mobile-header-height))}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.page-header-actions{width:100%}.page-title{font-size:var(--fs-xl)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (max-width:480px){.page-container{padding:var(--space-3);padding-top:calc(var(--space-3) + var(--mobile-header-height))}.page-title{font-size:var(--fs-lg)}.page-header-actions{flex-direction:column;align-items:stretch}.page-header-actions .btn{width:100%;justify-content:center}}.desktop-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-8);background:var(--bg-body);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:var(--z-header)}.search-bar-container{display:flex;align-items:center;gap:var(--space-3);background:var(--bg-input);border:1px solid var(--border-default);border-radius:30px;padding:8px 16px;width:100%;max-width:440px;transition:border-color var(--transition-fast)}.search-bar-container:focus-within{border-color:#6366f1}.search-icon{color:var(--text-tertiary)}.search-input-field{background:transparent;border:none;color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-sm);outline:none;width:100%}.search-input-field::placeholder{color:var(--text-tertiary)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-action-btn{background:var(--bg-input);border:1px solid var(--border-default);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;position:relative;transition:all var(--transition-fast)}.header-action-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-strong)}.header-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:8px;font-weight:700;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center}.app-grid-btn .grid-icon-custom{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:12px;height:12px}.grid-icon-custom span{width:2.5px;height:2.5px;background:currentColor;border-radius:50%}.header-profile{display:flex;align-items:center;margin-left:var(--space-2)}.profile-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--fs-xs);box-shadow:0 4px 10px rgba(99,102,241,.3)}.sidebar-link.active{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;color:#fff!important;box-shadow:0 4px 12px rgba(99,102,241,.25)!important}.switch{position:relative;display:inline-block;width:32px;height:18px}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-strong);border-radius:34px}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{content:"";height:12px;width:12px;left:3px;bottom:3px;background-color:#fff;border-radius:50%}input:checked+.slider{background-color:#6366f1}input:checked+.slider:before{transform:translateX(14px)}@media (max-width:1024px){.desktop-header{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;line-height:var(--lh-snug);letter-spacing:.01em;min-height:36px}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);box-shadow:0 2px 8px var(--color-primary-glow)}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 16px var(--color-primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.btn-secondary:active{background:var(--bg-input)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-light);transform:translateY(-1px)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:var(--color-success-light);transform:translateY(-1px)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--fs-xs);min-height:30px}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--fs-base);min-height:44px}.btn-icon{width:36px;height:36px;padding:0;min-height:unset}.btn-icon.btn-sm{width:30px;height:30px}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base);box-shadow:var(--shadow-card)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-card-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-3)}.card-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight)}.card-subtitle{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}.kpi-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--kpi-color,var(--color-primary)),transparent);opacity:.6}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--border-default)}.kpi-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--kpi-bg,var(--color-primary-subtle));color:var(--kpi-color,var(--color-primary))}.kpi-value{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--ls-tight);line-height:1}.kpi-label{font-size:var(--fs-xs);color:var(--text-tertiary);letter-spacing:.01em}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:capitalize;letter-spacing:.02em;line-height:1.6}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-planifiee{background:var(--color-info-bg);color:var(--color-info)}.badge-en_cours{background:var(--color-warning-bg);color:var(--color-warning)}.badge-terminee{background:var(--color-success-bg);color:var(--color-success)}.badge-annulee{background:hsla(0,0%,50%,.1);color:var(--text-tertiary)}.badge-disponible{background:var(--color-success-bg);color:var(--color-success)}.badge-en_course{background:var(--color-warning-bg);color:var(--color-warning)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);letter-spacing:.01em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:38px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input::placeholder{color:var(--text-tertiary);font-size:var(--fs-sm)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23555d74' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-select option{background:var(--bg-card);color:var(--text-primary)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.form-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-default);font-size:var(--fs-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.form-chip:hover{border-color:var(--color-primary);color:var(--text-primary)}.form-chip.selected{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary-light)}.form-chip input{display:none}.modal-overlay{background:var(--bg-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:all var(--transition-base)}.modal-overlay.active{opacity:1;visibility:visible}.modal{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-width:520px;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl);transform:scale(.96) translateY(8px);transition:transform var(--transition-smooth)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-header{padding:var(--space-5)}.modal-title{font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight)}.modal-close{width:30px;height:30px;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-body{padding:var(--space-5)}.modal-footer{padding:var(--space-4) var(--space-5)}.toast-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);flex-direction:column-reverse}.toast,.toast-container{display:flex;gap:var(--space-3)}.toast{align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:260px;max-width:380px;animation:toastIn .35s var(--transition-spring);font-size:var(--fs-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast.removing{animation:toastOut .25s ease forwards}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-info{border-left:3px solid var(--color-info)}@keyframes toastIn{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{to{opacity:0;transform:translateX(40px)}}.data-table-wrapper{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-card);-webkit-overflow-scrolling:touch}.data-table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-wrap:wrap;border-bottom:1px solid var(--border-subtle)}.data-table-search{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);min-width:200px;max-width:100%;transition:border-color var(--transition-fast)}.data-table-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.data-table-search input{flex:1;font-size:var(--fs-sm);background:transparent;color:var(--text-primary);min-width:0}.data-table-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.data-table{width:100%}.data-table th{text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--ls-wider);background:var(--bg-surface);white-space:nowrap}.data-table td,.data-table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.data-table td{font-size:var(--fs-sm);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr{transition:background var(--transition-fast)}.data-table tr:hover td{background:var(--bg-card-hover)}.data-table-empty{padding:var(--space-12);text-align:center;color:var(--text-tertiary);font-size:var(--fs-sm)}.avatar{width:34px;height:34px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-2xs);color:#fff;flex-shrink:0;background:var(--color-primary)}.avatar-sm{width:26px;height:26px;font-size:9px}.avatar-lg{width:44px;height:44px;font-size:var(--fs-sm)}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-6px;border:2px solid var(--bg-card)}.avatar-group .avatar:first-child{margin-left:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center;gap:var(--space-3)}.empty-state-icon{color:var(--text-tertiary);opacity:.4}.empty-state-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.empty-state-text{font-size:var(--fs-sm);color:var(--text-tertiary);max-width:300px}.action-buttons-group{gap:6px}.action-buttons-group,.btn-action{display:inline-flex;align-items:center}.btn-action{justify-content:center;gap:5px;padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-action:active{transform:scale(.96)}.btn-action-view{background:rgba(14,165,233,.1);color:#0ea5e9;border-color:rgba(14,165,233,.25)}.btn-action-view:hover{background:#0ea5e9;color:#fff;border-color:#0ea5e9;box-shadow:0 4px 14px rgba(14,165,233,.35);transform:translateY(-1px)}.btn-action-edit{background:rgba(99,102,241,.1);color:#6366f1;border-color:rgba(99,102,241,.25)}.btn-action-edit:hover{background:#6366f1;color:#fff;border-color:#6366f1;box-shadow:0 4px 14px rgba(99,102,241,.35);transform:translateY(-1px)}.btn-action-delete{background:rgba(239,68,68,.1);color:#ef4444;border-color:rgba(239,68,68,.25)}.btn-action-delete:hover{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 4px 14px rgba(239,68,68,.4);transform:translateY(-1px)}.action-pill-btn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent}.action-pill-btn:hover{transform:translateY(-2px) scale(1.05)}.modal-overlay{position:fixed;inset:0;background:rgba(8,11,17,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:modalOverlayFade .25s ease-out}.modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:580px;box-shadow:0 25px 50px -12px rgba(0,0,0,.7),0 0 30px var(--theme-card-glow,rgba(0,102,255,.1));animation:modalContentZoom .3s cubic-bezier(.34,1.56,.64,1);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,hsla(0,0%,100%,.03),transparent)}.modal-header-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:0 0 12px var(--color-primary-glow);flex-shrink:0}.modal-title-group{display:flex;flex-direction:column;gap:2px}.modal-title{font-size:var(--fs-md);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.modal-subtitle{font-size:var(--fs-xs);color:var(--text-tertiary);margin:0}.modal-close{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);cursor:pointer;background:hsla(0,0%,100%,.04);border:1px solid var(--border-subtle);transition:all .15s ease}.modal-close:hover{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.3)}.modal-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:rgba(15,23,42,.4)}@keyframes modalOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalContentZoom{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-overlay{position:fixed;inset:0;background:rgba(8,11,17,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:modalOverlayFade .2s ease}.confirm-box{background:var(--bg-card);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-6);max-width:440px;width:100%;text-align:center;box-shadow:0 25px 60px -15px rgba(239,68,68,.25),0 0 40px rgba(0,0,0,.8);animation:modalContentZoom .25s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.confirm-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ef4444,#f97316)}.confirm-icon-danger{width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,.12);color:#ef4444;border:2px solid rgba(239,68,68,.3);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);box-shadow:0 0 20px rgba(239,68,68,.25);animation:pulseDanger 2s ease-in-out infinite}@keyframes pulseDanger{0%,to{transform:scale(1);box-shadow:0 0 20px rgba(239,68,68,.25)}50%{transform:scale(1.06);box-shadow:0 0 30px rgba(239,68,68,.45)}}.confirm-box h3{margin:0 0 var(--space-2);font-size:18px;font-weight:700;color:var(--text-primary)}.confirm-box p{margin:0 0 var(--space-6);font-size:13px;color:var(--text-secondary);line-height:1.6}.confirm-box-actions{display:flex;gap:var(--space-3);justify-content:center}.telemetry-view-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.telemetry-item-box{background:hsla(0,0%,100%,.03);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.telemetry-item-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.telemetry-item-value{font-size:14px;font-weight:700;color:var(--text-primary)}@media (max-width:768px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:unset;max-width:unset;width:100%}.modal{max-width:100%;border-radius:var(--radius-lg)}.form-row{grid-template-columns:1fr}.data-table-toolbar{flex-direction:column;align-items:stretch}.data-table-search{min-width:unset;width:100%}.kpi-card{padding:var(--space-4)}.kpi-value{font-size:var(--fs-xl)}.telemetry-view-grid{grid-template-columns:1fr}}@media (max-width:480px){.modal-body,.modal-header{padding:var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4)}.confirm-box{padding:var(--space-5);margin:var(--space-3)}}.dashboard-chart{position:relative}.chart-bars{align-items:flex-end;height:200px;padding-top:var(--space-5);margin-top:var(--space-2)}.chart-bar-col,.chart-bars{display:flex;gap:var(--space-2)}.chart-bar-col{flex:1;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.chart-bar{width:100%;max-width:48px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,var(--color-primary-light),var(--color-primary-dark));min-height:4px;transition:height .8s var(--transition-spring);position:relative;box-shadow:0 -2px 10px rgba(0,0,0,.1)}.chart-bar:hover{opacity:.9;filter:brightness(1.1)}.chart-bar-label{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:var(--fw-medium);white-space:nowrap}.chart-bar-value{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-primary);position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:var(--bg-surface);padding:2px 6px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);opacity:0;transition:opacity var(--transition-fast)}.chart-bar-col:hover .chart-bar-value{opacity:1}.recent-list{display:flex;flex-direction:column}.recent-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.recent-item:last-child{border-bottom:none;padding-bottom:0}.recent-item:first-child{padding-top:0}.recent-item:hover{background:var(--bg-card-hover);margin:0 calc(var(--space-3) * -1);padding-left:var(--space-3);padding-right:var(--space-3);border-radius:var(--radius-md);border-bottom-color:transparent}.recent-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recent-item-dest{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item-meta{font-size:var(--fs-xs);color:var(--text-tertiary)}.person-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-4);transition:all var(--transition-base);box-shadow:var(--shadow-card)}.person-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.person-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-card-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-card-detail{font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono)}.person-card-actions{display:flex;gap:var(--space-1)}.login-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:var(--bg-body);background-image:radial-gradient(circle at top right,rgba(0,102,255,.08) 0,transparent 45%),radial-gradient(circle at bottom left,rgba(0,136,255,.08) 0,transparent 45%);padding:var(--space-4)}.login-card{width:100%;max-width:420px;padding:var(--space-8) var(--space-6);background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-strong);box-shadow:var(--shadow-xl);border-radius:var(--radius-2xl);animation:slideUp .5s var(--transition-spring)}@media (max-width:768px){.chart-bars{height:160px;gap:var(--space-1)}.recent-item{flex-wrap:wrap}.recent-item .badge{margin-left:46px}}@media (max-width:480px){.person-card{flex-direction:column;text-align:center;padding:var(--space-5) var(--space-4)}.person-card-info{align-items:center}.person-card-actions{margin-top:var(--space-3);width:100%;justify-content:center}.login-card{padding:var(--space-6) var(--space-4)}}.planning-header{justify-content:space-between;margin-bottom:var(--space-4)}.planning-header,.planning-nav{display:flex;align-items:center}.planning-nav{gap:var(--space-3);background:var(--bg-card);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.planning-week-label{font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--text-primary)}.planning-grid-wrapper{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-height:70vh}.planning-grid{display:grid;grid-template-columns:80px repeat(7,minmax(140px,1fr));min-width:1000px}.planning-corner{border-right:1px solid var(--border-default);left:0;z-index:10}.planning-corner,.planning-day-header{background:var(--bg-surface);border-bottom:1px solid var(--border-default);position:sticky;top:0}.planning-day-header{border-right:1px solid var(--border-subtle);padding:var(--space-3);text-align:center;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);z-index:9}.planning-day-header.today{color:var(--color-primary);background:var(--color-primary-subtle)}.planning-day-header .day-num{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.planning-day-header.today .day-num{color:var(--color-primary)}.planning-time-label{background:var(--bg-surface);border-right:1px solid var(--border-default);padding:var(--space-3);font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:var(--fw-medium);text-align:right;position:sticky;left:0;z-index:8}.planning-cell,.planning-time-label{border-bottom:1px solid var(--border-subtle)}.planning-cell{border-right:1px solid var(--border-subtle);padding:var(--space-1);min-height:80px;cursor:pointer;transition:background var(--transition-fast);display:flex;flex-direction:column;gap:var(--space-1)}.planning-cell:hover{background:var(--bg-card-hover)}.planning-event{background:var(--color-purple);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast),opacity var(--transition-fast)}.planning-event:hover{transform:translateY(-1px);opacity:.9}.planning-event.planifiee{background:var(--color-purple)}.planning-event.en_cours{background:var(--color-warning);color:#fff}.planning-event.terminee{background:var(--color-success)}.planning-event.annulee{background:var(--color-danger);text-decoration:line-through;opacity:.7}.course-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px dashed var(--border-subtle)}.course-detail-row:last-child{border-bottom:none}.course-detail-label{color:var(--text-tertiary);font-size:var(--fs-sm)}.course-detail-value{color:var(--text-primary);font-weight:var(--fw-medium);font-size:var(--fs-sm);text-align:right}.confirmation-list{display:flex;flex-direction:column;gap:var(--space-2)}.confirmation-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.confirmation-item-name{flex:1;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.confirmation-btn{padding:4px 12px;font-size:var(--fs-xs);border-radius:var(--radius-full);border:none;cursor:pointer;font-weight:var(--fw-semibold);transition:all var(--transition-fast)}.confirmation-btn.pending{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-strong)}.confirmation-btn.pending:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.confirmation-btn.confirmed{background:var(--color-success-bg);color:var(--color-success);cursor:default}.dashboard-layout-grid{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-4)}.kpi-card-fleet{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:120px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base)}.kpi-card-fleet:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.kpi-card-fleet-glow-purple{border-color:rgba(99,102,241,.2)}.kpi-card-fleet-glow-emerald{border-color:rgba(16,185,129,.2)}.kpi-card-fleet-glow-blue{border-color:rgba(59,130,246,.2)}.kpi-card-fleet-glow-orange{border-color:rgba(249,115,22,.25);background:linear-gradient(135deg,var(--bg-card) 60%,rgba(249,115,22,.05))}.kpi-card-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.kpi-card-title-sub{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.kpi-card-icon-wrapper{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.kpi-card-value-group{margin-top:var(--space-3);display:flex;align-items:baseline;gap:var(--space-1)}.kpi-card-large-value{font-size:var(--fs-2xl);font-weight:700;color:var(--text-primary);font-family:var(--font-heading)}.kpi-card-total-value{font-size:var(--fs-sm);color:var(--text-tertiary);font-weight:500}.kpi-card-trend-info{font-size:11px;font-weight:500;margin-top:var(--space-2)}.map-tracker-widget{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-card)}.map-tracker-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.map-tracker-title-group{display:flex;align-items:center;gap:var(--space-3)}.map-live-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#10b981;background:rgba(16,185,129,.1);padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase}.map-live-dot{width:6px;height:6px;background:#10b981;border-radius:50%;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 5px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.map-tracker-controls{display:flex;align-items:center;gap:var(--space-2)}.map-dropdown-select{color:var(--text-primary);font-size:12px;padding:6px 12px;outline:none}.map-dropdown-select,.map-filter-btn{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer}.map-filter-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.map-canvas-container{height:400px;background:#090c15;position:relative;overflow:hidden}[data-theme=light] .map-canvas-container{background:#f1f5f9}.map-vector-bg{width:100%;height:100%}.map-grid-line{stroke:hsla(0,0%,100%,.03);stroke-width:1}[data-theme=light] .map-grid-line{stroke:rgba(0,0,0,.04)}.map-road-path{fill:none;stroke:hsla(0,0%,100%,.05);stroke-width:2.5}[data-theme=light] .map-road-path{stroke:rgba(0,0,0,.08)}.map-route-glowing{fill:none;stroke-linecap:round;stroke-dasharray:4,4;animation:march 20s linear infinite}@keyframes march{to{stroke-dashoffset:-100}}.map-hud-zoom{position:absolute;bottom:20px;left:20px;display:flex;flex-direction:column;gap:6px;z-index:10}.map-hud-btn{width:36px;height:36px;border-radius:var(--radius-md);background:rgba(17,22,37,.85);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:all var(--transition-fast)}[data-theme=light] .map-hud-btn{background:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.1);color:var(--text-primary);box-shadow:0 4px 10px rgba(0,0,0,.06)}.map-hud-btn:hover{background:#6366f1;color:#fff;border-color:#6366f1}.map-floating-card{position:absolute;bottom:20px;right:20px;background:rgba(17,22,37,.9);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-lg);padding:var(--space-4);width:280px;box-shadow:var(--shadow-xl);color:#fff;z-index:10;animation:fadeIn var(--transition-base)}[data-theme=light] .map-floating-card{background:hsla(0,0%,100%,.95);border-color:rgba(0,0,0,.1);color:var(--text-primary);box-shadow:0 10px 30px rgba(0,0,0,.1)}.map-floating-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.map-floating-vhl-badge{font-weight:700;font-size:13px}.map-floating-status-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}.active-vehicles-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-card);overflow:hidden}.panel-header-row{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.panel-header-title{font-size:var(--fs-md);font-weight:700;color:var(--text-primary);font-family:var(--font-heading)}.panel-link-all{font-size:12px;color:#6366f1;font-weight:600;text-decoration:none}.panel-link-all:hover{text-decoration:underline}.active-vehicles-list{display:flex;flex-direction:column;padding:var(--space-2) 0;max-height:400px;overflow-y:auto}.active-vehicle-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast)}.active-vehicle-item:last-child{border-bottom:none}.active-vehicle-item:hover{background:var(--bg-card-hover)}.active-vehicle-thumb{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-input);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.active-vehicle-info{flex:1;display:flex;flex-direction:column;gap:2px}.active-vehicle-name{font-size:13px;font-weight:700;color:var(--text-primary)}.active-vehicle-type{font-size:11px;color:var(--text-tertiary)}.active-vehicle-speed{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.recent-alerts-list{display:flex;flex-direction:column;padding:var(--space-2) 0}.alert-item-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.alert-item-card:last-child{border-bottom:none}.alert-item-card:hover{background:var(--bg-card-hover)}.alert-item-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.alert-item-info{flex:1;display:flex;flex-direction:column;gap:2px}.alert-item-title{font-size:12px;font-weight:600;color:var(--text-primary)}.alert-item-desc,.alert-item-time{font-size:11px;color:var(--text-tertiary)}.alert-item-time{font-weight:500}.chart-tooltip-bubble{position:absolute;top:-45px;left:50%;transform:translateX(-50%);background:rgba(17,22,37,.9);backdrop-filter:blur(6px);border:1px solid hsla(0,0%,100%,.1);color:#fff;border-radius:var(--radius-sm);padding:6px 12px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.3);z-index:10}[data-theme=light] .chart-tooltip-bubble{background:#fff;border-color:rgba(0,0,0,.1);color:var(--text-primary);box-shadow:0 4px 10px rgba(0,0,0,.06)}.chart-tooltip-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);border-color:rgba(17,22,37,.9) transparent;border-style:solid;border-width:6px 6px 0;display:block;width:0}[data-theme=light] .chart-tooltip-bubble:after{border-color:#fff transparent}.fab-new-mission{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:9999px;padding:12px 24px;font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 24px rgba(99,102,241,.4);z-index:40;transition:transform .2s,box-shadow .2s;text-decoration:none;font-family:var(--font-body)}.fab-new-mission:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(99,102,241,.5);filter:brightness(1.08)}.fab-new-mission:active{transform:translateY(0)}@media (max-width:1200px){.bottom-row-dashboard,.middle-row-dashboard{grid-template-columns:1fr!important}}@media (max-width:1024px){.dashboard-content-grid,.settings-layout-grid{grid-template-columns:1fr!important}}