:root{--primary:#ff7900;--dark:#0f172a;--light:#f8fafc;--success:#10b981;--danger:#ef4444;--info:#3b82f6;--border-color:#e2e8f0;--navbar-height:64px;--bottom-nav-height:65px;--card-shadow:0 4px 6px -1px rgb(0 0 0 / 0.05),0 2px 4px -2px rgb(0 0 0 / 0.05);--card-shadow-hover:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}body{background:var(--light);overflow:hidden;color:#334155;}.map-tiles-light{filter:grayscale(100%) brightness(108%) contrast(90%) opacity(0.85);}.map-tiles-dark{filter:invert(100%) hue-rotate(180deg) brightness(85%) contrast(95%);}.admin-dropdown{position:relative;display:inline-block;}.admin-dropdown-menu{display:none;position:absolute;top:100%;left:0;background-color:white;min-width:190px;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);border:1.5px solid var(--border-color);border-radius:8px;z-index:3000;padding:4px 0;margin-top:2px;}.admin-dropdown-item{padding:8px 16px;font-size:13px;color:#475569;cursor:pointer;font-weight:700;transition:all 0.15s;display:flex;align-items:center;gap:6px;}.admin-dropdown-item:hover{background-color:#fafafa;color:var(--primary);}.admin-dropdown-item.active{background-color:#fff3e6;color:var(--primary);}.admin-dropdown:hover .admin-dropdown-menu{display:block;}.admin-tab .arrow{font-size:9px;margin-left:4px;display:inline-block;transition:transform 0.2s;color:#94a3b8;}.admin-dropdown:hover .arrow{transform:rotate(180deg);}.admin-tab.dropdown-toggle{display:flex;align-items:center;}.toast-container{position:fixed;top:20px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:10px;max-width:350px;width:calc(100% - 40px);pointer-events:none;}.toast-card{padding:12px 16px;border-radius:8px;color:white;font-weight:700;font-size:13px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;pointer-events:auto;transform:translateX(120%);opacity:0;transition:all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);border-left:5px solid rgba(0,0,0,0.15);}.toast-card.show{transform:translateX(0);opacity:1;}.toast-card.hide{transform:translateY(-20px);opacity:0;}.toast-success{background-color:var(--success);}.toast-error{background-color:var(--danger);}.toast-warning{background-color:#f59e0b;}.toast-info{background-color:var(--info);}.toast-close{font-size:16px;font-weight:bold;opacity:0.7;background:none;border:none;color:white;cursor:pointer;line-height:1;padding:0 0 0 8px;}.toast-close:hover{opacity:1;}.toast-icon{font-size:16px;display:flex;align-items:center;justify-content:center;}@keyframes modalFadeIn{from{transform:scale(0.9);opacity:0;}to{transform:scale(1);opacity:1;}}::-webkit-scrollbar{width:6px;height:6px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;}::-webkit-scrollbar-thumb:hover{background:#94a3b8;}#login-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--dark);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity 0.3s ease;}.login-box{background:white;padding:40px;border-radius:16px;box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.3),0 8px 10px -6px rgb(0 0 0 / 0.3);text-align:center;width:90%;max-width:400px;}.login-box h1{color:var(--dark);margin-bottom:8px;font-size:26px;font-weight:800;letter-spacing:-0.5px;}.login-box p{color:#64748b;margin-bottom:24px;font-size:14px;}.login-box input{width:100%;padding:12px 16px;border-radius:8px;border:1.5px solid #cbd5e1;font-size:15px;margin-bottom:16px;text-align:center;outline:none;transition:all 0.2s;}.login-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,121,0,0.15);}.login-box button{width:100%;padding:12px;background:var(--primary);color:white;border:none;border-radius:8px;font-size:16px;font-weight:bold;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 6px -1px rgba(255,121,0,0.2);}.login-box button:hover{background:#e06a00;transform:translateY(-1px);}#pwd-error{color:var(--danger);margin-top:16px;display:none;font-weight:bold;font-size:14px;}.navbar{height:var(--navbar-height);background:var(--dark);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);z-index:2000;position:relative;}.navbar h1{font-size:18px;margin:0;font-weight:800;letter-spacing:-0.5px;display:flex;align-items:center;gap:8px;}.navbar h1 span{font-size:11px;font-weight:600;background:rgba(255,255,255,0.1);padding:2px 6px;border-radius:6px;border:1px solid rgba(255,255,255,0.1);color:#94a3b8;}.navbar-actions{display:flex;gap:12px;align-items:center;}.user-info-nav{font-size:13px;font-weight:700;margin-right:8px;display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:9999px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);transition:all 0.2s;}.user-info-nav:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2);}.user-nav-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border:1.5px solid white;}.user-nav-avatar img{width:100%;height:100%;object-fit:cover;}.desktop-btn{display:none;background:rgba(255,255,255,0.08);color:white;border:1px solid rgba(255,255,255,0.15);padding:8px 16px;border-radius:8px;font-weight:700;cursor:pointer;transition:all 0.2s;white-space:nowrap;font-size:13px;}.desktop-btn:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.25);transform:translateY(-1px);}.admin-only{display:none !important;}body.admin-logged-in .desktop-btn.admin-only{display:block !important;}body.admin-logged-in .nav-item.admin-only{display:flex !important;}body.admin-logged-in .mobile-btn.admin-only{display:block !important;}.gantt-only{display:none !important;}body.gantt-authorized .desktop-btn.gantt-only{display:block !important;}body.gantt-authorized .mobile-btn.gantt-only{display:block !important;}.live-tracking-only{display:none !important;}body.can-track-live-authorized .desktop-btn.live-tracking-only{display:block !important;}body.can-track-live-authorized .mobile-btn.live-tracking-only{display:block !important;}.training-only{display:none !important;}body.training-authorized .desktop-btn.training-only{display:block !important;}body.training-authorized .mobile-btn.training-only{display:block !important;}body.training-authorized .nav-item.training-only{display:flex !important;}.training-edit-only{display:none !important;}body.training-edit-authorized .training-edit-only{display:block !important;}body.training-edit-authorized th.training-edit-only{display:table-cell !important;}body.training-edit-authorized td.training-edit-only{display:table-cell !important;}.app-container{display:flex;height:calc(100vh - var(--navbar-height));width:100%;position:relative;}.views-wrapper{flex:1;position:relative;height:100%;width:100%;}.view{position:absolute;top:0;left:0;width:100%;height:100%;display:none;overflow-y:auto;padding-bottom:var(--bottom-nav-height);}.view.active{display:block;}.view-fullscreen{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--light);z-index:1400;display:none;flex-direction:column;}body.admin-active #view-groups{display:none !important;}body.admin-active #view-map{display:none !important;}body.admin-active #view-admin{display:flex !important;width:100%;}body.grid-active #view-groups{display:none !important;}body.grid-active #view-map{display:none !important;}body.grid-active #view-grid{display:flex !important;width:100%;}#view-groups{width:360px;flex-shrink:0;padding:16px;background:#f1f5f9;border-right:1px solid var(--border-color);display:flex !important;flex-direction:column;gap:12px;height:100%;position:relative;overflow:hidden;}.search-container{position:sticky;top:0;z-index:10;background:#f1f5f9;padding-bottom:8px;}.search-input{width:100%;padding:10px 36px 10px 14px;border-radius:8px;border:1.5px solid #cbd5e1;font-size:14px;outline:none;transition:all 0.2s;box-shadow:0 1px 2px rgb(0 0 0 / 0.05);background:white;}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,121,0,0.15);}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:0.5;pointer-events:none;font-size:14px;}.sidebar-accordion{border:1px solid var(--border-color);border-radius:8px;background:white;overflow:hidden;margin-bottom:4px;box-shadow:var(--card-shadow);}.sidebar-accordion-header{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;font-weight:700;font-size:13px;color:#475569;background:#fafafa;border-bottom:1px solid transparent;transition:all 0.2s;}.sidebar-accordion-header:hover{background:#f1f5f9;color:var(--primary);}.sidebar-accordion.open .sidebar-accordion-header{border-bottom-color:var(--border-color);background:#f8fafc;}.sidebar-accordion-content{display:none;padding:14px;flex-direction:column;gap:12px;max-height:350px;overflow-y:auto;background:white;}.sidebar-accordion.open .sidebar-accordion-content{display:flex;}#group-list-container{display:flex;flex-direction:column;gap:12px;flex:1;}.group-container{background:white;border-radius:12px;box-shadow:var(--card-shadow);overflow:hidden;border:1.5px solid var(--border-color);transition:all 0.25s ease;flex-shrink:0;}.group-container:hover{box-shadow:var(--card-shadow-hover);}.group-header{padding:12px 16px;color:white;font-weight:700;display:flex;justify-content:space-between;align-items:center;font-size:14px;cursor:pointer;user-select:none;}.group-header:active{filter:brightness(0.95);}.chevron{display:inline-block;transition:transform 0.2s ease;font-size:10px;}.group-container.open .chevron{transform:rotate(90deg);}.edit-group-btn{font-size:12px;cursor:pointer;opacity:0.8;transition:all 0.2s;padding:2px;}.edit-group-btn:hover{opacity:1;transform:scale(1.25);}.group-count{background:rgba(255,255,255,0.2);padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:700;white-space:nowrap;color:#fff;}.group-count.dark-text{color:#1e293b;background:rgba(255,255,255,0.5);}.airport-list{display:none;padding:8px;min-height:30px;background:#f8fafc;border-top:1px solid var(--border-color);}.group-container.open .airport-list{display:block;}.airport-card{background:white;border-radius:10px;margin-bottom:8px;display:flex;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,0.05);overflow:hidden;border:1.5px solid var(--border-color);transition:all 0.2s;}.airport-card:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1);border-color:#cbd5e1;}.drag-handle{width:36px;height:52px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:16px;cursor:grab;background:#fafafa;border-right:1px solid var(--border-color);}.drag-handle:active{cursor:grabbing;background:#f1f5f9;color:#475569;}.card-info{flex:1;padding:8px 12px;overflow:hidden;}.card-title{font-weight:700;font-size:13px;color:var(--dark);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.card-subtitle{font-size:11px;color:#64748b;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.card-flights{font-size:11px;color:var(--primary);font-weight:700;margin-top:2px;}.card-actions{display:flex;height:52px;}.edit-btn,.note-btn{width:36px;background:none;border:none;border-left:1px solid var(--border-color);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}.edit-btn{color:var(--primary);}.edit-btn:hover{background:#f8fafc;}.note-btn{color:#94a3b8;position:relative;}.note-btn:hover{background:#f8fafc;}.note-btn.has-notes{color:var(--info);}.note-badge{position:absolute;top:6px;right:3px;background:var(--danger);color:white;border-radius:50%;padding:1px 4px;font-size:8px;font-weight:800;display:none;}.note-btn.has-notes .note-badge{display:block;}.status-badge{display:inline-block;padding:2px 6px;border-radius:6px;font-size:9px;font-weight:700;color:white;text-transform:uppercase;letter-spacing:0.3px;}.status-not-started{background-color:#64748b;}.status-in-progress{background-color:#f59e0b;color:#ffffff;}.status-completed{background-color:#10b981;}.status-ready{background-color:#3b82f6;}.user-dropdown{position:relative;display:inline-block;}.user-dropdown-content{display:none;position:absolute;right:0;background-color:#ffffff;min-width:220px;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);border-radius:12px;border:1px solid var(--border-color);z-index:3000;margin-top:6px;overflow:hidden;}.user-dropdown-content button{color:#334155;padding:12px 16px;display:block;width:100%;text-align:left;background:none;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s ease;box-sizing:border-box;}.user-dropdown-content button:hover{background-color:#f8fafc;color:var(--primary);}.user-dropdown-content.show{display:block !important;}#map{width:100%;height:100%;z-index:1;}.map-stats{position:absolute;top:12px;left:16px;z-index:1000;background:rgba(255,255,255,0.95);padding:12px 16px;border-radius:10px;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1);border-left:4px solid var(--primary);min-width:210px;display:flex;flex-direction:column;gap:5px;backdrop-filter:blur(4px);}.map-stats .stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;}.map-stats .val{font-size:16px;font-weight:800;color:var(--dark);}.map-stats .lbl{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:700;letter-spacing:0.3px;}.map-stats .percent{color:var(--primary);font-size:13px;font-weight:700;}.active-filters-panel{position:absolute;bottom:25px;top:auto;left:16px;right:auto;max-width:320px;z-index:1000;background:rgba(255,255,255,0.95);padding:10px 14px;border-radius:10px;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1);border-left:4px solid var(--success);display:none;backdrop-filter:blur(4px);}.active-filters-panel .title{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:700;margin-bottom:4px;letter-spacing:0.3px;}.active-filters-panel .content{font-size:12px;color:var(--dark);font-weight:700;line-height:1.4;word-wrap:break-word;}.filter-tag{display:inline-block;background:#e2e8f0;padding:2px 6px;border-radius:6px;margin-right:4px;margin-bottom:4px;border:1px solid rgba(0,0,0,0.05);font-size:11px;font-weight:600;color:#475569;}.custom-route-badge{display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);pointer-events:none;z-index:999;}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,0.6);z-index:3000;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px);}.modal-content{background:white;width:100%;max-width:800px;max-height:90vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);overflow:hidden;border:1px solid var(--border-color);}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#fafafa;}.modal-header h2{font-size:16px;color:var(--dark);margin:0;font-weight:800;}.drawer-close{background:none;border:none;font-size:22px;cursor:pointer;color:#94a3b8;transition:color 0.15s;font-weight:300;}.drawer-close:hover{color:var(--danger);}.modal-body{padding:20px;overflow-y:auto;flex:1;}.modal-footer{padding:16px 20px;border-top:1px solid var(--border-color);background:#fafafa;}.form-grid{display:grid;grid-template-columns:1fr;gap:14px;}.form-group label{display:block;font-size:12px;color:#475569;margin-bottom:5px;font-weight:700;}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1.5px solid #cbd5e1;border-radius:8px;font-size:14px;background:white;box-sizing:border-box;outline:none;transition:all 0.2s;}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,121,0,0.12);}.form-group input[type="file"]{padding:8px;background:#fff;}.form-group input[type="checkbox"]{width:auto !important;height:auto !important;cursor:pointer;}.form-group input:disabled,.form-group select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed;border-color:#e2e8f0;}.btn,.btn-full{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.05);}.btn-full{width:100%;padding:12px;}.btn-primary,.btn-full{background:var(--primary);color:white;}.btn-primary:hover,.btn-full:hover{background:#e06a00;transform:translateY(-1px);}.btn-secondary{background:#e2e8f0;color:#475569;}.btn-secondary:hover{background:#cbd5e1;}.btn-danger{background:var(--danger);color:white;}.btn-danger:hover{background:#dc2626;}.admin-tabs{display:flex;border-bottom:2px solid #e2e8f0;margin-bottom:16px;gap:4px;}.admin-tab{padding:10px 16px;cursor:pointer;font-weight:700;color:#64748b;border-bottom:3px solid transparent;transition:all 0.2s;font-size:13px;}.admin-tab:hover{color:var(--primary);}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary);}.admin-tab-content{display:none;}.admin-tab-content.active{display:block;}.user-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px;}.user-table th{background:#f8fafc;text-align:left;padding:10px 12px;border-bottom:2px solid #e2e8f0;font-weight:700;color:#475569;}.user-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;vertical-align:middle;color:#334155;}.user-action-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:700;font-size:12px;margin-right:8px;transition:color 0.15s;}.user-action-btn:hover{color:#e06a00;text-decoration:underline;}.log-container{flex:1;padding:16px;background:#f1f5f9;overflow-y:auto;display:flex;flex-direction:column;gap:12px;}.log-card{background:white;border-radius:10px;border-left:4px solid var(--primary);box-shadow:var(--card-shadow);padding:14px;}.log-header-info{display:flex;align-items:center;gap:10px;margin-bottom:8px;border-bottom:1px solid #e2e8f0;padding-bottom:8px;}.log-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#cbd5e1;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;border:1px solid white;}.log-meta{display:flex;flex-direction:column;}.log-name{font-size:12px;font-weight:700;color:var(--dark);}.log-time{font-size:10px;color:#64748b;}.log-text{font-size:13px;color:#334155;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;}.log-input-area{padding:12px 16px;background:#fff;display:flex;gap:10px;border-top:1px solid var(--border-color);align-items:flex-end;}.log-input-area textarea{flex:1;padding:10px 12px;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;font-size:14px;resize:vertical;min-height:40px;max-height:150px;font-family:inherit;line-height:1.4;box-sizing:border-box;transition:border-color 0.2s;}.log-input-area textarea:focus{border-color:var(--primary);}.log-input-area button{background:var(--primary);color:white;border:none;border-radius:8px;padding:0 18px;height:40px;font-weight:700;cursor:pointer;transition:all 0.2s;}.log-input-area button:hover{background:#e06a00;}#view-grid{position:absolute;top:0;left:0;width:100%;height:100%;background:white;z-index:500;display:none;flex-direction:column;}#view-analytics{position:absolute;top:0;left:0;width:100%;height:100%;background:#f8fafc;z-index:500;display:none;flex-direction:column;}#view-events{position:absolute;top:0;left:0;width:100%;height:100%;background:#f8fafc;z-index:500;display:none;flex-direction:column;}body.analytics-active #view-analytics{display:flex !important;width:100%;}body.planner-active #view-events{display:flex !important;width:100%;}body.analytics-active .map-stats,body.analytics-active .active-filters-panel,body.grid-active .map-stats,body.grid-active .active-filters-panel,body.planner-active .map-stats,body.planner-active .active-filters-panel,body.training-dashboard-active .map-stats,body.training-dashboard-active .active-filters-panel{display:none !important;}.tabulator{font-size:13px !important;border:none !important;}.tabulator-col{background:#fafafa !important;border-right:1px solid var(--border-color) !important;}.tabulator-col-title{font-weight:800 !important;color:var(--dark) !important;}.tabulator-row{border-bottom:1px solid var(--border-color) !important;}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:var(--bottom-nav-height);background:white;box-shadow:0 -4px 6px -1px rgb(0 0 0 / 0.05);display:flex;z-index:1000;border-top:1px solid var(--border-color);}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:#64748b;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.15s;}.nav-item.active{color:var(--primary);}.nav-icon{font-size:20px;margin-bottom:2px;}@media (max-width:849px){.mobile-hide{display:none !important;}#view-training h3,#view-events h3,#view-analytics h3,#view-admin h3{font-size:14px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:180px !important;}#view-training > div:first-child,#view-events > div:first-child,#view-analytics > div:first-child,#view-admin > div:first-child{padding:10px 14px !important;}.menu-btn{display:flex !important;background:rgba(255,255,255,0.12) !important;border:1px solid rgba(255,255,255,0.2) !important;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;}body.admin-logged-in .desktop-btn,body.training-authorized .desktop-btn,body.can-track-live-authorized .desktop-btn,body.gantt-authorized .desktop-btn,.desktop-btn{display:none !important;}.navbar{padding:0 10px !important;}.navbar h1{font-size:13px !important;white-space:nowrap !important;}.navbar h1 span{display:none !important;}.navbar-actions{gap:4px !important;}.user-info-nav{padding:4px 6px !important;font-size:11px !important;margin-right:0 !important;}.user-info-nav span{display:none !important;}.map-stats{padding:6px 10px !important;min-width:140px !important;font-size:10px !important;border-radius:8px !important;top:8px !important;right:8px !important;border-left-width:3px !important;box-shadow:0 4px 6px rgba(0,0,0,0.15) !important;}.map-stats .val{font-size:11px !important;}.map-stats .lbl{font-size:8px !important;}.map-stats .percent{font-size:9px !important;}.active-filters-panel{bottom:calc(var(--bottom-nav-height) + 15px);top:auto;left:10px;max-width:calc(100vw - 20px);}.modal{align-items:flex-end !important;justify-content:center !important;}.modal-content{width:100% !important;max-width:100vw !important;border-radius:20px 20px 0 0 !important;max-height:85vh !important;margin-bottom:0 !important;animation:slideUp 0.25s cubic-bezier(0.4,0,0.2,1);}@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}#view-events > div:nth-child(2),#view-training > div:nth-child(2){padding:8px 12px !important;gap:8px !important;overflow-x:auto !important;white-space:nowrap !important;flex-wrap:nowrap !important;display:flex !important;-webkit-overflow-scrolling:touch;}#view-events > div:nth-child(2) > div,#view-training > div:nth-child(2) > div,#view-events > div:nth-child(2) > button,#view-training > div:nth-child(2) > button{flex-shrink:0 !important;display:inline-flex !important;align-items:center !important;}.mobile-drawer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;}.mobile-drawer-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(15,23,42,0.6);backdrop-filter:blur(4px);opacity:0;transition:opacity 0.25s ease;}.mobile-drawer.open .mobile-drawer-overlay{opacity:1;}.mobile-drawer-content{position:absolute;top:0;right:-280px;width:280px;height:100%;background:white;box-shadow:-4px 0 25px rgba(0,0,0,0.15);display:flex;flex-direction:column;transition:right 0.25s cubic-bezier(0.4,0,0.2,1);}.mobile-drawer.open .mobile-drawer-content{right:0;}.mobile-drawer-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f8fafc;}.mobile-drawer-header h3{margin:0;font-size:15px;font-weight:800;color:#1e293b;}.mobile-drawer-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px;}.mobile-drawer-section-title{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:0.5px;margin-top:14px;margin-bottom:6px;padding-left:8px;}.mobile-drawer-section-title:first-child{margin-top:0;}.mobile-drawer-item{display:flex;align-items:center;width:100%;padding:10px 14px;border:none;background:none;border-radius:8px;font-size:13px;font-weight:700;color:#334155;cursor:pointer;text-align:left;transition:all 0.2s;gap:8px;}.mobile-drawer-item:hover,.mobile-drawer-item:active{background:#f1f5f9;color:var(--primary);}.mobile-drawer-item.admin-only,.mobile-drawer-item.gantt-only,.mobile-drawer-item.live-tracking-only,.mobile-drawer-item.training-only{display:none;}body.admin-logged-in .mobile-drawer-item.admin-only{display:flex !important;}body.gantt-authorized .mobile-drawer-item.gantt-only{display:flex !important;}body.can-track-live-authorized .mobile-drawer-item.live-tracking-only{display:flex !important;}body.training-authorized .mobile-drawer-item.training-only{display:flex !important;}}@media (min-width:850px){.desktop-btn{display:block;}.menu-btn{display:none;}.bottom-nav{display:none !important;}.view{padding-bottom:0 !important;}#view-groups{padding-bottom:20px !important;}.drawer-overlay.open{display:block !important;}.views-wrapper{display:flex;flex-direction:row;}.view{position:relative;height:100%;display:block !important;padding-bottom:0;}#view-groups{width:360px;border-right:1px solid var(--border-color);flex-shrink:0;transition:all 0.3s ease;overflow-x:hidden;}#view-groups.collapsed{width:0 !important;padding-left:0;padding-right:0;opacity:0;border:none;}#view-map{flex:1;}.form-grid{grid-template-columns:1fr 1fr 1fr;}.map-stats{right:10px;left:auto;}.active-filters-panel{left:15px;bottom:25px;top:auto;max-width:320px;}body.grid-active #view-groups{display:none !important;}body.grid-active #view-map{display:none !important;}body.grid-active #view-grid{display:flex !important;width:100%;}}