*{margin:0;padding:0;box-sizing:border-box}#app{min-height:100vh;display:flex;flex-direction:column}.app-shell{min-height:100vh;display:flex;background:radial-gradient(circle at 0% 0%,rgba(59,130,246,.12) 0%,transparent 35%),linear-gradient(180deg,#f7f9fc,#f3f6fa)}.sidebar{width:282px;min-width:282px;border-right:1px solid #dbe4ef;background:linear-gradient(180deg,#f9fcff,#eef4fb);transition:width .28s ease,min-width .28s ease;position:sticky;top:0;height:100vh;overflow:hidden;z-index:200}.sidebar-inner{height:100%;min-height:0;display:flex;flex-direction:column;gap:20px;padding:20px 16px 18px}.sidebar-head{padding:6px 4px 2px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.brand-mark{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:#fff;font-size:13px;font-weight:700;letter-spacing:.05em;box-shadow:0 10px 20px #2563eb40}.brand-text{display:flex;flex-direction:column;line-height:1.06}.logo{font-size:23px}.brand-text small{font-size:11px;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-top:4px}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.nav-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0f172a;border:1px solid transparent;border-radius:12px;padding:10px 11px;font-size:14px;font-weight:600;transition:all .2s ease}.nav-icon{width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#e6edf7;color:#334155;flex-shrink:0}.nav-icon svg{width:16px;height:16px;display:block}.nav-label{white-space:nowrap}.nav-link:hover{background:#fff;border-color:#d5e0ef}.nav-link.router-link-active{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border-color:#2563eb;box-shadow:0 10px 22px #2563eb47}.nav-link.router-link-active .nav-icon{background:#ffffff3d;color:#fff}.admin-accordion{display:flex;flex-direction:column;gap:6px;border:1px solid #dbe4ef;border-radius:14px;padding:6px;background:#ffffff73}.nav-accordion-toggle{width:100%;justify-content:flex-start;border-radius:10px;border:1px solid transparent}.nav-accordion-toggle.active{background:#eff5ff;border-color:#cfe0fb}.nav-accordion-toggle.active .nav-icon{background:#d6e5fb;color:#1d4ed8}.nav-accordion-label{flex:1}.nav-chevron{width:8px;height:8px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg);transition:transform .2s ease;margin-right:2px}.nav-chevron.open{transform:rotate(-135deg)}.nav-submenu{display:flex;flex-direction:column;gap:4px;margin-top:2px;padding:6px 0 2px 10px;border-left:2px solid #d9e5f8}.nav-sub-link{margin-left:0;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:600}.nav-sub-link .nav-icon{width:24px;height:24px;border-radius:8px;background:#edf2fa}.nav-sub-link .nav-icon svg{width:14px;height:14px}.sidebar-user{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid #dbe4ef}.user-email{font-size:12px;color:#334155;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #dbe4ef;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#0f4c81;background:#e8f2ff;border:1px solid #c3d9f8;border-radius:8px;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-icon{width:14px;height:14px;flex-shrink:0;color:#3b82f6}.org-switcher{display:flex;flex-direction:column;gap:4px}.org-switcher-label{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:0 2px}.org-select{width:100%;padding:6px 10px;font-size:12px;font-weight:600;color:#0f4c81;background:#e8f2ff;border:1px solid #c3d9f8;border-radius:8px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.org-select:focus{outline:none;border-color:#3b82f6}.btn-logout{width:100%;padding:10px 14px;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.btn-logout:hover{background:#f1f5f9;border-color:#94a3b8}.content-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{min-height:68px;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid #dbe4ef;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.menu-toggle{width:40px;height:40px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.menu-toggle span{width:17px;height:2px;border-radius:2px;background:#334155}.topbar-title{font-size:18px;font-weight:700;color:#0f172a}.main{flex:1;padding:22px 0}.content-area .container{max-width:none;width:100%;padding:0 12px}.footer{background:#ffffffb3;color:var(--text-secondary);text-align:center;padding:14px 0;margin-top:auto;font-size:13px;border-top:1px solid var(--border)}.app-shell.collapsed .sidebar{width:94px;min-width:94px}.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-chevron,.app-shell.collapsed .user-email,.app-shell.collapsed .btn-logout,.app-shell.collapsed .org-badge,.app-shell.collapsed .org-switcher{display:none}.app-shell.collapsed .nav-link{justify-content:center;gap:0}.app-shell.collapsed .nav-sub-link{margin-left:0}.app-shell.collapsed .nav-submenu{display:none}.app-shell.collapsed .admin-accordion{border:none;background:transparent;padding:0}.app-shell.collapsed .sidebar-inner{align-items:center}.app-shell.collapsed .sidebar-nav,.app-shell.collapsed .sidebar-head{width:100%}.app-shell.collapsed .sidebar-user,.sidebar-overlay{display:none}@media (max-width: 1024px){.sidebar{position:fixed;top:0;left:-320px;width:300px;min-width:300px;height:100vh;transition:left .3s ease;box-shadow:14px 0 36px #0f172a33;z-index:1200}.sidebar.open{left:0}.app-shell.collapsed .sidebar{width:300px;min-width:300px}.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-label,.app-shell.collapsed .nav-chevron,.app-shell.collapsed .user-email,.app-shell.collapsed .btn-logout,.app-shell.collapsed .org-badge,.app-shell.collapsed .org-switcher{display:revert}.app-shell.collapsed .sidebar-user{display:flex}.app-shell.collapsed .nav-link{justify-content:flex-start;gap:12px}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;z-index:1100}.topbar{padding:0 16px}}@media (max-width: 640px){.topbar-title{font-size:16px}}.hero[data-v-5d9a7ec0]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #dbe4ef}.page-title[data-v-5d9a7ec0]{font-size:30px;margin-bottom:6px;color:var(--primary-color);font-weight:700}.hero-subtitle[data-v-5d9a7ec0]{color:var(--text-secondary);font-size:14px}.hero-actions[data-v-5d9a7ec0]{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.hero-updated[data-v-5d9a7ec0]{font-size:12px;color:var(--text-secondary)}.stats-grid[data-v-5d9a7ec0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card[data-v-5d9a7ec0]{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dbe4ef;border-radius:14px;box-shadow:0 8px 24px #0f172a0f;padding:14px 16px}.stat-head[data-v-5d9a7ec0]{font-size:12px;color:var(--text-secondary)}.stat-value[data-v-5d9a7ec0]{margin-top:6px;font-size:32px;font-weight:700;color:var(--primary-color)}.stat-online .stat-value[data-v-5d9a7ec0]{color:var(--success-color)}.stat-offline .stat-value[data-v-5d9a7ec0]{color:var(--danger-color)}.buses-card[data-v-5d9a7ec0]{margin-top:18px}.section-head[data-v-5d9a7ec0]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-tools[data-v-5d9a7ec0]{display:flex;align-items:center;gap:8px}.search-input[data-v-5d9a7ec0],.status-filter[data-v-5d9a7ec0]{height:36px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 11px;font-size:14px}.search-input[data-v-5d9a7ec0]{min-width:300px}.home-table td[data-v-5d9a7ec0]{vertical-align:middle}.cell-strong[data-v-5d9a7ec0]{font-weight:700;color:var(--primary-color)}.cell-muted[data-v-5d9a7ec0]{color:#334155;font-weight:500}.cell-last-seen[data-v-5d9a7ec0]{font-variant-numeric:tabular-nums;color:#334155}.quick-grid[data-v-5d9a7ec0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.quick-link[data-v-5d9a7ec0]{text-decoration:none;color:var(--primary-color);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.quick-link[data-v-5d9a7ec0]:hover{transform:translateY(-6px);box-shadow:0 12px 40px #00000026}.quick-link h3[data-v-5d9a7ec0]{margin-bottom:8px;font-size:18px;color:var(--primary-color)}.quick-link p[data-v-5d9a7ec0]{color:var(--text-secondary);font-size:14px}.map-link[data-v-5d9a7ec0]{background:linear-gradient(135deg,#2563eb14,#3b82f60a)}.stats-link[data-v-5d9a7ec0]{background:linear-gradient(135deg,#16a34a17,#22c55e0a)}.btn-sm[data-v-5d9a7ec0]{padding:6px 14px;font-size:13px}.action-buttons[data-v-5d9a7ec0]{display:flex;gap:8px;align-items:center}.table-shell[data-v-5d9a7ec0]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-5d9a7ec0]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-5d9a7ec0]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-5d9a7ec0]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-5d9a7ec0]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-5d9a7ec0]{border-bottom:none}.home-table .status[data-v-5d9a7ec0]{min-width:84px;justify-content:center}@media (max-width: 768px){.hero[data-v-5d9a7ec0]{flex-direction:column}.hero-actions[data-v-5d9a7ec0]{align-items:stretch;width:100%}.stats-grid[data-v-5d9a7ec0]{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head[data-v-5d9a7ec0],.section-tools[data-v-5d9a7ec0]{flex-direction:column;align-items:stretch}.search-input[data-v-5d9a7ec0]{min-width:0;width:100%}.quick-grid[data-v-5d9a7ec0]{grid-template-columns:1fr}.page-title[data-v-5d9a7ec0]{font-size:24px}}.page-header[data-v-5c278a17]{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px}.header-actions[data-v-5c278a17]{display:flex;gap:10px;align-items:center}.page-title[data-v-5c278a17]{font-size:28px;color:var(--primary-color);font-weight:700}.filters-bar[data-v-5c278a17]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.filter-input[data-v-5c278a17],.filter-select[data-v-5c278a17]{height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 12px;font-size:14px;color:var(--primary-color)}.filter-input[data-v-5c278a17]{width:min(380px,100%);flex:1 1 280px}.filter-select[data-v-5c278a17]{min-width:180px}.filters-meta[data-v-5c278a17]{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.table-shell[data-v-5c278a17]{background:var(--glass-bg-solid);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.buses-table[data-v-5c278a17]{width:100%;min-width:1320px;border-collapse:collapse}.buses-table th[data-v-5c278a17],.buses-table td[data-v-5c278a17]{padding:13px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.18);vertical-align:middle}.buses-table th[data-v-5c278a17]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb}.buses-table tbody tr[data-v-5c278a17]:hover{background:#e2e8f057}.buses-table tbody tr:last-child td[data-v-5c278a17]{border-bottom:none}.bus-number[data-v-5c278a17]{font-weight:700;color:var(--primary-color)}.driver-line[data-v-5c278a17]{display:flex;flex-direction:column;line-height:1.2;margin-bottom:3px}.driver-line[data-v-5c278a17]:last-child{margin-bottom:0}.muted-cell[data-v-5c278a17]{color:var(--text-secondary);font-size:12px}.th-actions[data-v-5c278a17]{min-width:270px}.row-actions[data-v-5c278a17]{display:flex;gap:8px;flex-wrap:wrap}.action-btn[data-v-5c278a17]{min-width:76px;text-align:center}.no-data[data-v-5c278a17]{margin-top:12px;color:var(--text-secondary);font-style:italic}.btn-sm[data-v-5c278a17]{padding:7px 14px;font-size:13px}.modal[data-v-5c278a17]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn-5c278a17 .2s ease}@keyframes fadeIn-5c278a17{0%{opacity:0}to{opacity:1}}.modal-content[data-v-5c278a17]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);width:92%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 28px 72px #0f172a3d;animation:slideUp-5c278a17 .3s ease}.modal-content-bus[data-v-5c278a17]{max-width:760px;background:linear-gradient(180deg,#fff,#f8fafc)}@keyframes slideUp-5c278a17{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-5c278a17]{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-header h2[data-v-5c278a17]{margin:0;font-size:28px;font-weight:700}.modal-subtitle[data-v-5c278a17]{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.btn-close[data-v-5c278a17]{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;color:var(--primary-color);transition:background .2s ease,border-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn-close[data-v-5c278a17]:hover{background:#f8fafc;border-color:#cbd5e1}.close-icon[data-v-5c278a17]{position:relative;width:14px;height:14px}.close-icon[data-v-5c278a17]:before,.close-icon[data-v-5c278a17]:after{content:"";position:absolute;top:6px;left:0;width:14px;height:2px;background:var(--primary-color);border-radius:2px}.close-icon[data-v-5c278a17]:before{transform:rotate(45deg)}.close-icon[data-v-5c278a17]:after{transform:rotate(-45deg)}.bus-form[data-v-5c278a17]{padding:16px 24px 22px;display:flex;flex-direction:column;gap:14px}.form-group[data-v-5c278a17]{margin-bottom:16px}.form-group label[data-v-5c278a17]{display:block;margin-bottom:6px;font-weight:600;color:var(--primary-color);font-size:13px}.form-group input[data-v-5c278a17],.form-group select[data-v-5c278a17]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-group input[data-v-5c278a17]:focus,.form-group select[data-v-5c278a17]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.form-section[data-v-5c278a17]{padding:16px;background:#fff;border:1px solid #dbe4ef;border-radius:14px;box-shadow:0 8px 24px #0f172a0d}.section-title[data-v-5c278a17]{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:12px;font-weight:700}.form-grid[data-v-5c278a17]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-span[data-v-5c278a17]{grid-column:span 2}.form-hint[data-v-5c278a17]{margin-top:6px;font-size:12px;color:var(--text-secondary)}.toggle-row[data-v-5c278a17]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#fff,#f9fafb);box-shadow:0 6px 16px #0f172a0f}.toggle-texts[data-v-5c278a17]{display:flex;flex-direction:column;gap:4px}.toggle-title[data-v-5c278a17]{font-size:14px;color:var(--primary-color);font-weight:600}.toggle-desc[data-v-5c278a17]{font-size:12px;color:var(--text-secondary)}.toggle[data-v-5c278a17]{position:relative;display:inline-flex;align-items:center}.toggle input[data-v-5c278a17]{position:absolute;opacity:0;pointer-events:none}.toggle-ui[data-v-5c278a17]{width:44px;height:24px;border-radius:999px;background:#e5e7eb;border:1px solid var(--border);position:relative;transition:background .2s ease,border-color .2s ease}.toggle-ui[data-v-5c278a17]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .2s ease}.toggle input:checked+.toggle-ui[data-v-5c278a17]{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-ui[data-v-5c278a17]:after{transform:translate(20px)}.toggle-state[data-v-5c278a17]{margin-left:10px;font-size:12px;font-weight:600;color:var(--text-secondary)}.toggle input:checked~.toggle-state[data-v-5c278a17]{color:var(--accent)}.form-actions[data-v-5c278a17]{display:flex;gap:10px;justify-content:flex-end}.sticky-actions[data-v-5c278a17]{position:sticky;bottom:0;padding-top:12px;margin-top:4px;border-top:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc33,#f8fafc 25%,#f8fafc)}@media (max-width: 768px){.filters-bar[data-v-5c278a17]{flex-direction:column;align-items:stretch}.filter-input[data-v-5c278a17],.filter-select[data-v-5c278a17]{width:100%;min-width:0}.page-title[data-v-5c278a17]{font-size:22px}.form-grid[data-v-5c278a17]{grid-template-columns:1fr}.form-span[data-v-5c278a17]{grid-column:span 1}.modal-content-bus[data-v-5c278a17]{width:96%;max-width:96%}.modal-header h2[data-v-5c278a17]{font-size:22px}.bus-form[data-v-5c278a17]{padding:14px}.form-actions[data-v-5c278a17]{flex-direction:column-reverse}.form-actions .btn[data-v-5c278a17]{width:100%}}.video-player-container[data-v-7419c778]{width:100%}.video-player-wrapper[data-v-7419c778]{position:relative;width:100%;aspect-ratio:16/9;background-color:#000;border-radius:8px;overflow:hidden}.video-player[data-v-7419c778]{width:100%;height:100%;object-fit:contain}.video-overlay[data-v-7419c778]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000c;color:#fff;z-index:10}.error-overlay[data-v-7419c778]{background-color:#dc3545e6}.error-icon[data-v-7419c778]{font-size:48px;margin-bottom:10px}.loading-spinner[data-v-7419c778]{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:40px;height:40px;animation:spin-7419c778 1s linear infinite;margin-bottom:10px}@keyframes spin-7419c778{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stream-info[data-v-7419c778]{position:absolute;top:10px;left:10px;z-index:5}.stream-status[data-v-7419c778]{background-color:#000000b3;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700}.stream-status.online[data-v-7419c778]{background-color:#dc3545e6}.video-controls[data-v-7419c778]{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.control-btn[data-v-7419c778]{padding:8px 16px;background-color:var(--secondary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.control-btn[data-v-7419c778]:hover{background-color:#2980b9}.btn[data-v-7419c778]{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s}.btn-secondary[data-v-7419c778]{background-color:var(--dark-gray);color:#fff}.btn-secondary[data-v-7419c778]:hover{background-color:#5f6c6d}.btn-sm[data-v-7419c778]{padding:6px 12px;font-size:12px}.detail-header[data-v-d8abc294]{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;padding:16px 18px;border:1px solid #dbe4ef;border-radius:14px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 8px 26px #0f172a0f}.back-link[data-v-d8abc294]{color:var(--accent, #2563eb);text-decoration:none;margin-bottom:8px;display:block;font-weight:600;transition:color .2s ease}.back-link[data-v-d8abc294]:hover{color:#1d4ed8;text-decoration:underline}.page-title[data-v-d8abc294]{font-size:30px;color:var(--primary-color);margin:0}.detail-subline[data-v-d8abc294]{margin-top:8px;display:flex;gap:16px;flex-wrap:wrap;color:var(--text-secondary, #64748b);font-size:13px}.detail-badges[data-v-d8abc294]{display:flex;align-items:center;gap:8px}.detail-top-grid[data-v-d8abc294]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card[data-v-d8abc294]{border:1px solid #dbe4ef;background:linear-gradient(180deg,#fff,#fbfdff)}.info-grid[data-v-d8abc294]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info-tile[data-v-d8abc294]{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:10px 12px}.label[data-v-d8abc294]{color:#64748b;font-weight:500;font-size:12px}.value[data-v-d8abc294]{margin-top:4px;font-weight:700;font-size:14px;color:var(--primary-color, #1e293b)}.jt808-conn[data-v-d8abc294]{display:inline-flex;align-items:center;gap:6px}.jt808-conn[data-v-d8abc294]:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.9}.jt808-online[data-v-d8abc294]{color:#16a34a}.jt808-offline[data-v-d8abc294]{color:#dc2626}.jt808-unknown[data-v-d8abc294]{color:#64748b}.jt808-last-seen[data-v-d8abc294]{margin-top:4px;font-size:12px;color:#64748b}.stats-grid[data-v-d8abc294]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bus-stats-grid[data-v-d8abc294]{margin-top:4px}.stat-item[data-v-d8abc294]{text-align:center;background:#f8fafc;border-radius:var(--radius-md, 12px);padding:16px 10px;border:1px solid #dbe4ef}.stat-label[data-v-d8abc294]{color:var(--text-secondary, #64748b);font-size:12px;margin-bottom:8px}.stat-value[data-v-d8abc294]{font-size:30px;font-weight:700;color:var(--primary-color)}.stat-enter .stat-value[data-v-d8abc294]{color:var(--success-color)}.stat-exit .stat-value[data-v-d8abc294]{color:var(--danger-color)}.stat-load .stat-value[data-v-d8abc294]{color:#2563eb}.compact[data-v-d8abc294]{padding:18px}.video-header-section[data-v-d8abc294]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.coords-header[data-v-d8abc294]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.coords-toggle[data-v-d8abc294]{display:flex;gap:6px}.video-grid[data-v-d8abc294]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.video-actions[data-v-d8abc294]{display:flex;align-items:center;gap:10px}.video-source-toggle[data-v-d8abc294]{display:flex;gap:6px}.jt1078-section[data-v-d8abc294]{margin-top:10px}.archive-section[data-v-d8abc294]{display:flex;flex-direction:column;gap:12px}.archive-filters[data-v-d8abc294]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.filter-item[data-v-d8abc294]{display:flex;flex-direction:column;gap:6px}.filter-item label[data-v-d8abc294]{font-size:12px;color:#64748b;font-weight:600}.archive-search-btn[data-v-d8abc294]{height:38px}.input[data-v-d8abc294]{width:100%;height:38px;border:1px solid #d1d9e6;border-radius:8px;padding:0 10px;background:#fff}.archive-player-wrap[data-v-d8abc294]{border:1px solid #dbe4ef;border-radius:10px;padding:10px;background:#f8fafc}.archive-player-meta[data-v-d8abc294]{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:#334155}.archive-list[data-v-d8abc294]{display:flex;flex-direction:column;gap:8px}.archive-item[data-v-d8abc294]{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #dbe4ef;border-radius:10px;background:#fff;padding:10px 12px}.archive-main[data-v-d8abc294]{min-width:0}.archive-title[data-v-d8abc294]{font-size:13px;font-weight:700;color:#0f172a}.archive-sub[data-v-d8abc294]{margin-top:2px;font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-actions[data-v-d8abc294]{display:flex;gap:6px;flex-shrink:0}.channel-selector[data-v-d8abc294]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.btn-channel.active[data-v-d8abc294]{background:var(--accent-gradient, linear-gradient(135deg, #6366f1, #8b5cf6));color:#fff;border-color:transparent}.jt1078-grid[data-v-d8abc294]{display:grid;gap:12px}.jt1078-grid.grid-1[data-v-d8abc294]{grid-template-columns:1fr}.jt1078-grid.grid-2[data-v-d8abc294],.jt1078-grid.grid-4[data-v-d8abc294]{grid-template-columns:repeat(2,1fr)}.video-cell[data-v-d8abc294]{border-radius:var(--radius-md, 12px);overflow:hidden;background:#0f1320;box-shadow:var(--shadow, 0 8px 32px rgba(0, 0, 0, .1))}.video-cell-header[data-v-d8abc294]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1b2440;color:#fff;font-size:13px}.video-wrapper[data-v-d8abc294]{position:relative;background:#000;height:260px;border-radius:0 0 var(--radius-md, 12px) var(--radius-md, 12px)}.video-element[data-v-d8abc294]{width:100%;height:100%;object-fit:contain;background:#000}.video-overlay[data-v-d8abc294]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:#0000008c;gap:8px;font-size:13px}.spinner[data-v-d8abc294]{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-d8abc294 1s linear infinite}.stream-status[data-v-d8abc294]{margin-left:auto;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.stream-status.loading[data-v-d8abc294]{background:#fbbf24;color:#1b2440}.stream-status.active[data-v-d8abc294]{background:#22c55e;color:#fff}.stream-status.error[data-v-d8abc294]{background:#ef4444;color:#fff}@keyframes spin-d8abc294{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-item[data-v-d8abc294]{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md, 12px);overflow:hidden;background:var(--glass-bg-solid, rgba(255, 255, 255, .82));-webkit-backdrop-filter:var(--glass-blur, blur(20px));backdrop-filter:var(--glass-blur, blur(20px));box-shadow:var(--shadow, 0 8px 32px rgba(0, 0, 0, .1))}.video-item-header[data-v-d8abc294]{padding:12px;background:#00000008;display:flex;justify-content:space-between;align-items:center;font-size:14px;border-bottom:1px solid rgba(0,0,0,.06)}.channel-name[data-v-d8abc294]{font-weight:600;color:var(--primary-color, #1e293b)}.channel-status[data-v-d8abc294]{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600}.video-placeholder[data-v-d8abc294]{width:100%;aspect-ratio:16/9;background-color:#1a1a1a;display:flex;align-items:center;justify-content:center;border-radius:0 0 var(--radius-md, 12px) var(--radius-md, 12px)}.placeholder-content[data-v-d8abc294]{text-align:center;color:#fff9}.placeholder-icon[data-v-d8abc294]{font-size:48px;margin-bottom:10px;opacity:.3}.placeholder-hint[data-v-d8abc294]{font-size:12px;margin-top:8px;opacity:.7}.empty-state[data-v-d8abc294]{text-align:center;padding:40px;color:var(--text-secondary, #64748b);border:1px dashed #dbe4ef;border-radius:12px;background:#f8fafc}.help-text[data-v-d8abc294]{font-size:14px;color:var(--text-secondary, #64748b);margin-top:8px}@media (max-width: 768px){.detail-header[data-v-d8abc294]{flex-direction:column;gap:12px;margin-bottom:14px;padding:14px}.page-title[data-v-d8abc294]{font-size:24px}.detail-subline[data-v-d8abc294]{flex-direction:column;gap:4px}.detail-top-grid[data-v-d8abc294],.info-grid[data-v-d8abc294]{grid-template-columns:1fr}.stats-grid[data-v-d8abc294],.video-grid[data-v-d8abc294]{grid-template-columns:1fr;gap:12px}.jt1078-grid.grid-2[data-v-d8abc294],.jt1078-grid.grid-4[data-v-d8abc294]{grid-template-columns:1fr}.video-header-section[data-v-d8abc294]{flex-direction:column;align-items:flex-start;gap:12px}.video-actions[data-v-d8abc294]{flex-wrap:wrap}.archive-filters[data-v-d8abc294]{grid-template-columns:1fr}.archive-item[data-v-d8abc294]{flex-direction:column;align-items:flex-start}.coords-header[data-v-d8abc294]{flex-direction:column;align-items:flex-start;gap:8px}.channel-selector[data-v-d8abc294]{gap:4px}.video-wrapper[data-v-d8abc294]{height:200px}.empty-state[data-v-d8abc294]{padding:24px}.stat-value[data-v-d8abc294]{font-size:24px}}.archive-page[data-v-70167191]{width:100%}.archive-card[data-v-70167191]{padding:18px;border:1px solid #dde6f1;box-shadow:0 10px 24px #0f172a0d}.archive-head[data-v-70167191]{margin-bottom:12px}.archive-head h2[data-v-70167191]{margin:0;font-size:18px;font-weight:700;color:#0f172a;letter-spacing:.2px}.archive-head p[data-v-70167191]{margin:4px 0 0;font-size:13px;color:#64748b}.quick-range[data-v-70167191]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.quick-btn[data-v-70167191]{border:1px solid #d3dfef;background:#f7fbff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .16s ease}.quick-btn[data-v-70167191]:hover{background:#eaf2ff;border-color:#b9cdf0}.archive-filters[data-v-70167191]{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#f2f7fd)}.filter-item[data-v-70167191]{display:flex;flex-direction:column;gap:6px}.filter-item label[data-v-70167191]{font-size:12px;color:#475569;font-weight:600}.archive-filters .input[data-v-70167191]{height:38px;border-radius:10px;border:1px solid #cfd8e3;background:#fff;color:#0f172a;padding:8px 10px}.archive-filters .input[data-v-70167191]:focus{outline:none;border-color:#4f86e8;box-shadow:0 0 0 3px #3b82f626}.bus-picker-trigger[data-v-70167191]{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.bus-picker-value[data-v-70167191]{display:flex;gap:6px;min-width:0;color:#0f172a}.bus-picker-value span[data-v-70167191]{color:#64748b}.bus-picker-placeholder[data-v-70167191]{color:#94a3b8}.archive-search-btn[data-v-70167191]{min-width:160px;height:38px;border-radius:10px;font-weight:700}.empty-state[data-v-70167191]{border:1px dashed #d1d5db;border-radius:10px;padding:14px;color:#6b7280;text-align:center}.archive-player-wrap[data-v-70167191]{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#0f172a;margin-bottom:12px}.archive-player-meta[data-v-70167191]{background:#fff;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px}.archive-list[data-v-70167191]{display:flex;flex-direction:column;gap:10px;margin-top:12px}.archive-item[data-v-70167191]{border:1px solid #dbe4ef;border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fdfefe}.archive-main[data-v-70167191]{min-width:0}.archive-title[data-v-70167191]{font-size:14px;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.archive-sub[data-v-70167191]{margin-top:2px;font-size:12px;color:#6b7280}.ch-badge[data-v-70167191]{background:#eaf2ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.archive-actions[data-v-70167191]{flex-shrink:0}.status-pill[data-v-70167191]{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;white-space:nowrap}.status-pill.online[data-v-70167191]{color:#166534;background:#dcfce7;border:1px solid #86efac}.status-pill.offline[data-v-70167191]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.picker-overlay[data-v-70167191]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a75;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.picker-modal[data-v-70167191]{width:min(760px,100%);max-height:min(82vh,760px);background:#fff;border-radius:14px;border:1px solid #dbe4ef;display:flex;flex-direction:column;overflow:hidden}.picker-head[data-v-70167191]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e2e8f0}.picker-head h3[data-v-70167191]{margin:0;font-size:16px;color:#0f172a}.picker-close[data-v-70167191]{border:1px solid #dbe4ef;background:#fff;width:30px;height:30px;border-radius:8px;cursor:pointer;color:#475569}.picker-search-row[data-v-70167191]{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 16px;border-bottom:1px solid #e2e8f0}.picker-search[data-v-70167191]{height:38px}.picker-list[data-v-70167191]{overflow:auto;padding:6px}.picker-item[data-v-70167191]{width:100%;border:1px solid transparent;border-radius:10px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px;cursor:pointer;text-align:left}.picker-item[data-v-70167191]:hover{background:#f8fbff;border-color:#d3e3fa}.picker-item.active[data-v-70167191]{background:#eaf2ff;border-color:#b9d1f7}.picker-item-main[data-v-70167191]{min-width:0}.picker-item-title[data-v-70167191]{font-size:14px;font-weight:600;color:#0f172a}.picker-item-sub[data-v-70167191]{margin-top:2px;font-size:12px;color:#64748b}.picker-empty[data-v-70167191]{text-align:center;color:#64748b;padding:16px 8px}@media (max-width: 1024px){.archive-filters[data-v-70167191]{grid-template-columns:1fr}.archive-search-btn[data-v-70167191]{width:100%}.picker-search-row[data-v-70167191]{grid-template-columns:1fr}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-view{--glass-bg-solid: rgba(255, 255, 255, .82);--glass-blur: blur(20px);--glass-border: rgba(255, 255, 255, .25);--shadow: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .14);--accent: #6366f1;--accent-gradient: linear-gradient(135deg, #6366f1, #8b5cf6);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--text-secondary: #64748b;--primary-color: #1e293b}.map-view .page-title{color:var(--primary-color)}.map-view .card{background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.map-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.overview-card{border:1px solid #dbe4ef;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);padding:10px 12px}.overview-label{font-size:12px;color:var(--text-secondary)}.overview-value{margin-top:4px;font-size:24px;font-weight:700;color:var(--primary-color)}.overview-value.online{color:#15803d}.overview-value.offline{color:#dc2626}.map-filters{display:flex;gap:12px;align-items:center;margin-bottom:15px;padding:12px;background:#f8fbff;border:1px solid #dbe4ef;border-radius:var(--radius-md);flex-wrap:wrap}.filter-group{display:flex;align-items:center}.filter-group label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--primary-color);font-weight:500}.map-container{height:540px;border-radius:var(--radius-md);overflow:hidden;border:1px solid #dbe4ef}.map-legend{display:flex;gap:20px;margin-top:15px;padding:10px}.legend-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.map-updated-at{margin-left:auto;color:var(--text-secondary);font-size:12px}.legend-marker{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px #00000026}.legend-marker.online{background-color:var(--success-color)}.legend-marker.offline{background-color:var(--dark-gray)}.bus-marker-container{display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.bus-marker-container.selected{transform:scale(1.3)}.bus-icon{width:32px;height:32px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #0006;transition:all .3s ease}.bus-marker-container.selected .bus-icon{box-shadow:0 4px 20px #6366f199;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.bus-icon.online{border:3px solid var(--success-color);color:var(--success-color)}.bus-icon.offline{border:3px solid var(--dark-gray);color:var(--dark-gray)}.bus-label{margin-top:4px;background-color:#fffffff2;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:700;color:#2d3436;box-shadow:0 2px 6px #0003;white-space:nowrap}.bus-marker-container.selected .bus-label{background:var(--accent-gradient);color:#fff;font-size:12px}.marker-popup h3{margin:0 0 10px;font-size:16px;color:var(--primary-color)}.marker-popup p{margin:5px 0;font-size:14px;color:var(--text-secondary)}.marker-popup a{color:var(--accent);text-decoration:none;font-weight:500}.marker-popup a:hover{text-decoration:underline}.map-view .card-title{color:var(--primary-color);font-weight:700;margin-bottom:0}.list-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.list-search{width:min(320px,100%);height:38px;border:1px solid var(--border);border-radius:10px;padding:0 12px;font-size:14px;background:#fff}.buses-list{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding-right:4px}.no-buses-hint{color:var(--text-secondary);font-size:13px;padding:8px 2px}.bus-list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease}.bus-list-item:hover{background:#6366f114;border-color:#6366f14d;transform:translate(5px);box-shadow:var(--shadow)}.bus-list-item.selected{background:var(--accent-gradient);color:#fff;border-color:transparent;transform:translate(8px);box-shadow:0 4px 16px #6366f159}.bus-list-item.selected .bus-number,.bus-list-item.selected .bus-route{color:#fff}.bus-list-item.selected .status{background-color:#fff;color:var(--accent)}.bus-list-info{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bus-number{font-weight:700;font-size:16px;color:var(--primary-color)}.bus-list-item.selected .bus-number{color:#fff}.bus-route{color:var(--text-secondary)}.bus-meta{color:#64748b;font-size:13px}@media (max-width: 768px){.map-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.map-filters{flex-direction:column;gap:12px;align-items:stretch}.map-updated-at{margin-left:0}.map-filters .btn{width:100%;text-align:center}.map-container{height:360px}.map-legend{flex-direction:column;gap:10px}.list-header{flex-direction:column;align-items:stretch}.list-search{width:100%}.bus-list-item{flex-direction:column;align-items:flex-start;gap:8px}.bus-list-item:hover,.bus-list-item.selected{transform:none}}.statistics[data-v-a0036fc5]{--glass-bg-solid: rgba(255, 255, 255, .82);--glass-blur: blur(20px);--glass-border: rgba(255, 255, 255, .25);--shadow: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .14);--accent: #6366f1;--accent-gradient: linear-gradient(135deg, #6366f1, #8b5cf6);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--text-secondary: #64748b;--primary-color: #1e293b}.statistics .page-title[data-v-a0036fc5]{color:var(--primary-color);margin-bottom:4px}.stats-hero[data-v-a0036fc5]{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;margin-bottom:14px;background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #dbe4ef}.hero-subtitle[data-v-a0036fc5]{color:var(--text-secondary);font-size:14px}.hero-meta[data-v-a0036fc5]{display:flex;align-items:flex-start}.meta-stack[data-v-a0036fc5]{display:flex;flex-direction:column;gap:4px}.meta-label[data-v-a0036fc5]{color:var(--text-secondary);font-size:12px}.statistics .card[data-v-a0036fc5]{background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.statistics .stat-card[data-v-a0036fc5]{background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:14px 16px}.stats-grid[data-v-a0036fc5]{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-label[data-v-a0036fc5]{font-size:12px;color:var(--text-secondary)}.stat-value[data-v-a0036fc5]{margin-top:6px;font-size:30px;font-weight:700;color:var(--primary-color)}.stat-card.entered .stat-value[data-v-a0036fc5]{color:var(--success-color)}.stat-card.exited .stat-value[data-v-a0036fc5]{color:var(--danger-color)}.stat-card.balance .stat-value[data-v-a0036fc5]{color:#2563eb}.stat-selected[data-v-a0036fc5]{font-size:20px}.filters-card[data-v-a0036fc5]{padding:16px}.filters[data-v-a0036fc5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;padding:12px;background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid #dbe4ef;border-radius:var(--radius-md)}.filter-group[data-v-a0036fc5]{display:flex;flex-direction:column;gap:6px}.filter-group label[data-v-a0036fc5]{font-weight:600;font-size:14px;color:var(--primary-color)}.filter-group input[data-v-a0036fc5],.filter-group select[data-v-a0036fc5]{padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:14px;background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s ease,box-shadow .2s ease}.filter-group input[data-v-a0036fc5]:focus,.filter-group select[data-v-a0036fc5]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.quick-ranges[data-v-a0036fc5]{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.section-card[data-v-a0036fc5]{margin-top:16px;padding:16px}.section-header[data-v-a0036fc5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.text-success[data-v-a0036fc5]{color:var(--success-color);font-weight:600}.text-danger[data-v-a0036fc5]{color:var(--danger-color);font-weight:600}.stats-table-wrap[data-v-a0036fc5]{overflow-x:auto;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#ffffff8c}.stats-table[data-v-a0036fc5]{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}.stats-table thead th[data-v-a0036fc5]{background:#0f172a08;color:#475569;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:14px 16px;text-align:left;border-bottom:1px solid rgba(15,23,42,.08)}.bus-col[data-v-a0036fc5]{width:32%}.route-col[data-v-a0036fc5]{width:16%}.updated-col[data-v-a0036fc5]{width:22%}.metric-col[data-v-a0036fc5]{width:14%}.stats-table tbody td[data-v-a0036fc5]{padding:14px 16px;border-bottom:1px solid rgba(30,41,59,.08);color:#1f2937;font-weight:500;vertical-align:middle;background:transparent}.stats-table tbody tr:hover td[data-v-a0036fc5]{background:#0f172a05}.stats-table tbody tr:last-child td[data-v-a0036fc5]{border-bottom:none}.bus-id[data-v-a0036fc5]{font-weight:700;letter-spacing:.01em;white-space:nowrap}.numeric[data-v-a0036fc5]{text-align:right;font-variant-numeric:tabular-nums}.sort-button[data-v-a0036fc5]{width:100%;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;border:0;background:transparent;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.sort-indicator[data-v-a0036fc5]{width:14px;display:inline-flex;justify-content:center;font-size:12px;color:#64748b}.delta-value[data-v-a0036fc5]{font-weight:600;color:#334155}.delta-value.positive[data-v-a0036fc5]{color:#1e3a8a}.delta-value.negative[data-v-a0036fc5]{color:#7f1d1d}.chart-container[data-v-a0036fc5]{min-height:300px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#ffffff73}.chart-empty[data-v-a0036fc5]{display:flex;align-items:center;justify-content:center}.chart-placeholder[data-v-a0036fc5]{color:#64748b;font-size:14px}.insights-grid[data-v-a0036fc5]{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-list[data-v-a0036fc5]{display:flex;flex-direction:column;gap:10px}.route-item[data-v-a0036fc5]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:box-shadow .2s ease,transform .2s ease}.route-item[data-v-a0036fc5]:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.route-info[data-v-a0036fc5]{display:flex;align-items:center;gap:15px}.route-rank[data-v-a0036fc5]{width:32px;height:32px;background:var(--accent-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.route-name[data-v-a0036fc5]{font-weight:600;font-size:16px;color:var(--primary-color)}.route-bus[data-v-a0036fc5]{color:var(--text-secondary);font-size:14px}.route-count[data-v-a0036fc5]{font-size:24px;font-weight:700;color:var(--accent)}.time-stats[data-v-a0036fc5]{display:flex;flex-direction:column;gap:12px}.time-item[data-v-a0036fc5]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:box-shadow .2s ease}.time-item[data-v-a0036fc5]:hover{box-shadow:var(--shadow)}.time-label[data-v-a0036fc5]{font-weight:500;color:var(--primary-color)}.time-value[data-v-a0036fc5]{font-size:20px;font-weight:700;color:var(--accent)}@media (max-width: 768px){.stats-hero[data-v-a0036fc5]{flex-direction:column;align-items:stretch}.stats-grid[data-v-a0036fc5]{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid[data-v-a0036fc5]{grid-template-columns:1fr}.filters[data-v-a0036fc5]{grid-template-columns:1fr;gap:12px}.filter-group[data-v-a0036fc5]{width:100%}.filters .btn[data-v-a0036fc5]{width:100%;text-align:center}.chart-container[data-v-a0036fc5]{height:220px;padding:12px}.stats-table-wrap[data-v-a0036fc5]{border-radius:12px}.stats-table[data-v-a0036fc5]{min-width:640px}.stats-table thead th[data-v-a0036fc5],.stats-table tbody td[data-v-a0036fc5]{padding:12px}.route-item[data-v-a0036fc5]{flex-direction:column;align-items:flex-start;gap:8px}.route-count[data-v-a0036fc5]{font-size:20px}.time-item[data-v-a0036fc5]{flex-direction:column;align-items:flex-start;gap:6px}.time-value[data-v-a0036fc5]{font-size:18px}}.auth-container[data-v-cfe06dc2]{display:flex;justify-content:center;align-items:center;min-height:85vh;padding:24px 12px}.auth-card[data-v-cfe06dc2]{background:#fff;border:1px solid var(--border);padding:36px;border-radius:16px;width:100%;max-width:420px;box-shadow:0 18px 48px #0f172a1f}.auth-logo[data-v-cfe06dc2]{text-align:center;font-size:26px;font-weight:700;color:var(--primary-color);margin-bottom:6px}.auth-card h2[data-v-cfe06dc2]{margin-bottom:24px;text-align:center;color:var(--text-secondary);font-size:15px;font-weight:500}.form-group[data-v-cfe06dc2]{margin-bottom:20px}.form-group label[data-v-cfe06dc2]{display:block;margin-bottom:8px;font-weight:500;color:var(--primary-light);font-size:14px}.form-group input[data-v-cfe06dc2]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:14px;box-sizing:border-box;background:#fff;color:var(--primary-color);transition:all .25s ease}.form-group input[data-v-cfe06dc2]::placeholder{color:#9aa3af}.form-group input[data-v-cfe06dc2]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26;background:#fff}.form-group input[data-v-cfe06dc2]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-cfe06dc2]{background:#ef444414;color:#b91c1c;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;border:1px solid rgba(239,68,68,.2)}.btn-submit[data-v-cfe06dc2]{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 20px #2563eb33}.btn-submit[data-v-cfe06dc2]:hover:not(:disabled){transform:translateY(-1px);background:#1d4ed8;box-shadow:0 10px 24px #2563eb47}.btn-submit[data-v-cfe06dc2]:disabled{opacity:.6;cursor:not-allowed}.auth-link[data-v-cfe06dc2]{margin-top:24px;text-align:center;font-size:14px;color:var(--text-secondary)}.auth-link a[data-v-cfe06dc2]{color:var(--accent);text-decoration:none;font-weight:600}.auth-link a[data-v-cfe06dc2]:hover{text-decoration:underline}@media (max-width: 480px){.auth-card[data-v-cfe06dc2]{padding:28px 20px;margin:0 8px;border-radius:14px}}.auth-container[data-v-bd272b3b]{display:flex;justify-content:center;align-items:center;min-height:85vh;padding:24px 12px}.auth-card[data-v-bd272b3b]{background:#fff;border:1px solid var(--border);padding:36px;border-radius:16px;width:100%;max-width:420px;box-shadow:0 18px 48px #0f172a1f}.auth-logo[data-v-bd272b3b]{text-align:center;font-size:26px;font-weight:700;color:var(--primary-color);margin-bottom:6px}.auth-card h2[data-v-bd272b3b]{margin-bottom:24px;text-align:center;color:var(--text-secondary);font-size:15px;font-weight:500}.form-group[data-v-bd272b3b]{margin-bottom:20px}.form-group label[data-v-bd272b3b]{display:block;margin-bottom:8px;font-weight:500;color:var(--primary-light);font-size:14px}.form-group input[data-v-bd272b3b]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:#fff;color:var(--primary-color);transition:all .25s ease}.form-group input[data-v-bd272b3b]::placeholder{color:#9aa3af}.form-group input[data-v-bd272b3b]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26;background:#fff}.form-group input[data-v-bd272b3b]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-bd272b3b]{background:#ef444414;color:#b91c1c;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;border:1px solid rgba(239,68,68,.2)}.success-message[data-v-bd272b3b]{background:#16a34a1a;color:#166534;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;border:1px solid rgba(22,163,74,.2)}.btn-submit[data-v-bd272b3b]{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 20px #2563eb33}.btn-submit[data-v-bd272b3b]:hover:not(:disabled){transform:translateY(-1px);background:#1d4ed8;box-shadow:0 10px 24px #2563eb47}.btn-submit[data-v-bd272b3b]:disabled{opacity:.6;cursor:not-allowed}.auth-link[data-v-bd272b3b]{margin-top:24px;text-align:center;font-size:14px;color:var(--text-secondary)}.auth-link a[data-v-bd272b3b]{color:var(--accent);text-decoration:none;font-weight:600}.auth-link a[data-v-bd272b3b]:hover{text-decoration:underline}@media (max-width: 480px){.auth-card[data-v-bd272b3b]{padding:28px 20px;margin:0 8px;border-radius:14px}}.admin-page[data-v-2b0ece3e]{--glass-bg-solid: rgba(255, 255, 255, .82);--glass-blur: blur(20px);--glass-border: rgba(255, 255, 255, .25);--shadow: 0 8px 32px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .14);--accent: #6366f1;--accent-gradient: linear-gradient(135deg, #6366f1, #8b5cf6);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--text-secondary: #64748b;--primary-color: #1e293b}.admin-page h2[data-v-2b0ece3e]{margin-bottom:24px;color:var(--primary-color)}.section[data-v-2b0ece3e]{margin-bottom:32px}.section h3[data-v-2b0ece3e]{margin-bottom:16px;color:var(--primary-color)}.users-filter-row[data-v-2b0ece3e]{display:flex;align-items:center;gap:12px;margin-bottom:18px}.users-top-row[data-v-2b0ece3e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.users-top-row h3[data-v-2b0ece3e]{margin:0 0 4px}.users-top-hint[data-v-2b0ece3e]{margin:0;color:var(--text-secondary);font-size:13px}.create-user-modal-body[data-v-2b0ece3e]{padding:16px 22px 22px}.modal-create-user[data-v-2b0ece3e]{max-width:700px}.create-user-modal-grid[data-v-2b0ece3e]{display:flex;flex-wrap:wrap;gap:10px 12px}.create-user-modal-grid .form-group[data-v-2b0ece3e]{width:calc(50% - 6px)}.create-user-modal-grid .form-group.form-span-2[data-v-2b0ece3e]{width:100%}.create-user-modal-grid .form-group .input[data-v-2b0ece3e]{width:100%;background:#fff}.users-search-input[data-v-2b0ece3e]{width:min(420px,100%);background:#fff;border:1px solid #dbe4ef}.filter-count[data-v-2b0ece3e]{font-size:13px;color:var(--text-secondary)}.settings-card[data-v-2b0ece3e]{background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}.setting-row[data-v-2b0ece3e]{display:flex;justify-content:space-between;align-items:center;gap:16px}.setting-label[data-v-2b0ece3e]{font-weight:600;color:var(--primary-color)}.setting-hint[data-v-2b0ece3e]{font-size:12px;color:var(--text-secondary);margin-top:4px}.setting-actions[data-v-2b0ece3e]{display:flex;align-items:center;gap:8px}.setting-row-wrap[data-v-2b0ece3e]{align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid #e8eef6}.setting-actions-column[data-v-2b0ece3e]{flex-direction:column;align-items:flex-end;gap:10px}.role-chips[data-v-2b0ece3e]{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:520px}.role-chip[data-v-2b0ece3e]{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #d5dfeb;border-radius:999px;font-size:12px;color:#334155;background:#f8fbff}.role-chip input[data-v-2b0ece3e]{margin:0}.menu-settings-card[data-v-2b0ece3e]{padding:16px}.menu-header[data-v-2b0ece3e]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.menu-subtitle[data-v-2b0ece3e]{margin:0;font-size:13px;color:#5f6f87}.menu-header-stats[data-v-2b0ece3e]{display:flex;align-items:center;gap:8px}.menu-stat[data-v-2b0ece3e]{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;color:#2c3e55;background:#edf3ff;border:1px solid #d7e4ff;white-space:nowrap}.menu-matrix-wrap[data-v-2b0ece3e]{border:1px solid #d5dfeb;border-radius:14px;overflow:auto;background:linear-gradient(180deg,#fcfdff,#f5f8fd);margin-bottom:14px}.menu-matrix[data-v-2b0ece3e]{width:100%;min-width:1250px;border-collapse:collapse}.menu-matrix th[data-v-2b0ece3e],.menu-matrix td[data-v-2b0ece3e]{border-bottom:1px solid #e8eef6;padding:10px;text-align:center;font-size:13px}.menu-matrix th[data-v-2b0ece3e]{position:sticky;top:0;background:#eef4fb;color:#3a4a62;text-transform:none;letter-spacing:.01em;font-weight:700;z-index:3;white-space:nowrap}.menu-matrix thead th[data-v-2b0ece3e]:first-child{left:0;z-index:5}.menu-matrix tbody tr:nth-child(2n) td[data-v-2b0ece3e]{background:#ffffff9e}.menu-matrix tbody tr:hover td[data-v-2b0ece3e]{background:#edf4ff}.menu-matrix .role-cell[data-v-2b0ece3e]{text-align:left;white-space:nowrap;font-weight:700;color:var(--primary-color);background:#f8fbff;position:sticky;left:0;z-index:4;min-width:200px;box-shadow:1px 0 #dfe7f1}.menu-matrix .checkbox-cell[data-v-2b0ece3e]{min-width:96px}.menu-matrix .checkbox-cell input[data-v-2b0ece3e]{width:18px;height:18px;accent-color:#2563eb;cursor:pointer}.menu-actions[data-v-2b0ece3e]{justify-content:flex-end;border-top:1px solid #e7edf6;padding-top:12px}.input[data-v-2b0ece3e]{border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:14px;width:110px;background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s ease,box-shadow .2s ease}.input[data-v-2b0ece3e]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f126}.input-sm[data-v-2b0ece3e]{padding:6px 8px;font-size:13px}.no-data[data-v-2b0ece3e]{color:var(--text-secondary);font-style:italic}.table-shell[data-v-2b0ece3e]{background:var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.user-table[data-v-2b0ece3e]{width:100%;min-width:860px;border-collapse:collapse}.user-table th[data-v-2b0ece3e],.user-table td[data-v-2b0ece3e]{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(148,163,184,.18);vertical-align:middle}.user-table th[data-v-2b0ece3e]{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#475569;background:#f1f5f9eb}.user-table tbody tr[data-v-2b0ece3e]:hover{background:#e2e8f05c}.user-table tbody tr:last-child td[data-v-2b0ece3e]{border-bottom:none}.th-actions[data-v-2b0ece3e]{min-width:220px}.user-name[data-v-2b0ece3e]{font-weight:700;color:var(--primary-color)}.table-actions[data-v-2b0ece3e]{display:flex;gap:8px;flex-wrap:wrap}.role-muted[data-v-2b0ece3e]{color:var(--text-secondary);font-size:13px}.role-select[data-v-2b0ece3e]{padding:4px 8px;border:1px solid #dbe4ef;border-radius:8px;font-size:13px;background:#f8fafc;cursor:pointer;max-width:140px}.role-select[data-v-2b0ece3e]:disabled{opacity:.6;cursor:not-allowed}.row-pending td[data-v-2b0ece3e]:first-child{box-shadow:inset 4px 0 #f59e0b}.row-approved td[data-v-2b0ece3e]:first-child{box-shadow:inset 4px 0 #22c55e}.row-rejected td[data-v-2b0ece3e]:first-child{box-shadow:inset 4px 0 #ef4444}.access-panel[data-v-2b0ece3e]{margin-top:0;padding:12px;background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-md);box-shadow:var(--shadow)}.access-list[data-v-2b0ece3e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-bottom:8px}.access-item[data-v-2b0ece3e]{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:var(--primary-color);padding:10px 12px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fafc;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.access-item[data-v-2b0ece3e]:hover{border-color:#cbd5e1;background:#fff}.access-item input[data-v-2b0ece3e]{width:17px;height:17px;margin-top:2px;accent-color:#2563eb}.access-bus[data-v-2b0ece3e]{display:flex;flex-direction:column;gap:5px}.access-meta[data-v-2b0ece3e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;color:var(--text-secondary);font-size:11px}.access-actions[data-v-2b0ece3e]{display:flex;justify-content:space-between;align-items:center;gap:12px}.access-actions .btn[data-v-2b0ece3e]{min-width:160px}.access-actions[data-v-2b0ece3e]:before{content:"Изменения применятся после сохранения";color:var(--text-secondary);font-size:12px}.modal[data-v-2b0ece3e]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a59;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-2b0ece3e]{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dbe4ef;border-radius:var(--radius-xl);width:94%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 28px 72px #0f172a33}.modal-wide[data-v-2b0ece3e]{max-width:900px}.modal-header[data-v-2b0ece3e]{padding:18px 22px 14px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-header h2[data-v-2b0ece3e]{margin:0;font-size:30px}.modal-subtitle[data-v-2b0ece3e]{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.modal-toolbar[data-v-2b0ece3e]{margin:14px 22px 0;padding:10px 12px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-counter[data-v-2b0ece3e]{font-size:13px;color:#334155}.modal-counter strong[data-v-2b0ece3e]{color:#1d4ed8}.modal-toolbar-actions[data-v-2b0ece3e]{display:flex;align-items:center;gap:8px}.modal-panel[data-v-2b0ece3e]{margin:12px 22px 0}.modal-actions[data-v-2b0ece3e]{padding:16px 22px 22px;display:flex;justify-content:flex-end;gap:10px}.edit-user-form[data-v-2b0ece3e]{padding:16px 22px 22px}.form-grid[data-v-2b0ece3e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-group[data-v-2b0ece3e]{margin-bottom:12px}.form-group label[data-v-2b0ece3e]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#475569;letter-spacing:.03em;text-transform:uppercase}.form-group .input[data-v-2b0ece3e]{width:100%;background:#fff}.edit-error[data-v-2b0ece3e]{margin:4px 0 0;color:#b91c1c;font-size:13px}.btn-icon[data-v-2b0ece3e]{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}.btn-icon[data-v-2b0ece3e]:hover{background:#eef2f7;border-color:var(--border-strong)}.icon-x[data-v-2b0ece3e]{position:relative;width:14px;height:14px}.icon-x[data-v-2b0ece3e]:before,.icon-x[data-v-2b0ece3e]:after{content:"";position:absolute;top:6px;left:0;width:14px;height:2px;background:var(--primary-color);border-radius:2px}.icon-x[data-v-2b0ece3e]:before{transform:rotate(45deg)}.icon-x[data-v-2b0ece3e]:after{transform:rotate(-45deg)}.toast[data-v-2b0ece3e]{position:fixed;right:24px;bottom:24px;padding:12px 16px;border-radius:10px;font-size:14px;box-shadow:var(--shadow);z-index:1100}.toast-success[data-v-2b0ece3e]{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}.toast-error[data-v-2b0ece3e]{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.badge[data-v-2b0ece3e]{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-pending[data-v-2b0ece3e]{background:#f59e0b1f;color:#d97706}.badge-approved[data-v-2b0ece3e]{background:#22c55e1f;color:#16a34a}.badge-rejected[data-v-2b0ece3e]{background:#ef44441f;color:#dc2626}.badge-admin[data-v-2b0ece3e]{background:#6366f11f;color:var(--accent)}.btn[data-v-2b0ece3e]{padding:8px 18px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.btn[data-v-2b0ece3e]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-2b0ece3e]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-sm[data-v-2b0ece3e]{padding:5px 14px;font-size:13px}.btn-primary[data-v-2b0ece3e]{background:var(--accent);color:#fff}.btn-primary[data-v-2b0ece3e]:hover:not(:disabled){background:#1d4ed8}.btn-secondary[data-v-2b0ece3e]{background:var(--bg-muted);color:var(--primary-color);border:1px solid var(--border)}.btn-approve[data-v-2b0ece3e]{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-approve[data-v-2b0ece3e]:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d)}.btn-reject[data-v-2b0ece3e]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.btn-reject[data-v-2b0ece3e]:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.btn-delete[data-v-2b0ece3e]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-delete[data-v-2b0ece3e]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}@media (max-width: 768px){.users-top-row[data-v-2b0ece3e]{flex-direction:column;align-items:flex-start}.users-filter-row[data-v-2b0ece3e]{flex-direction:column;align-items:stretch;gap:8px}.users-search-input[data-v-2b0ece3e]{width:100%}.create-user-modal-body[data-v-2b0ece3e]{padding:14px}.create-user-modal-grid .form-group[data-v-2b0ece3e]{width:100%}.modal-toolbar[data-v-2b0ece3e]{margin:12px 14px 0;flex-direction:column;align-items:stretch}.modal-toolbar-actions[data-v-2b0ece3e]{width:100%}.modal-toolbar-actions .btn[data-v-2b0ece3e]{flex:1}.modal-panel[data-v-2b0ece3e]{margin:12px 14px 0}.modal-actions[data-v-2b0ece3e]{padding:14px;flex-direction:column-reverse;align-items:stretch}.form-grid[data-v-2b0ece3e]{grid-template-columns:1fr}.access-actions[data-v-2b0ece3e]:before{content:""}.access-actions .btn[data-v-2b0ece3e]{width:100%}.table-shell[data-v-2b0ece3e]{border-radius:12px}.user-table th[data-v-2b0ece3e],.user-table td[data-v-2b0ece3e]{padding:11px 10px}.table-actions .btn[data-v-2b0ece3e]{min-width:0}.setting-row[data-v-2b0ece3e]{flex-direction:column;align-items:flex-start;gap:12px}.setting-actions[data-v-2b0ece3e]{width:100%}.menu-header[data-v-2b0ece3e]{flex-direction:column;align-items:flex-start}.menu-header-stats[data-v-2b0ece3e]{flex-wrap:wrap}.menu-matrix[data-v-2b0ece3e]{min-width:1000px}.setting-actions .input[data-v-2b0ece3e]{flex:1}.setting-actions .btn[data-v-2b0ece3e]{white-space:nowrap}}.page-header[data-v-95ba11ae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title[data-v-95ba11ae]{font-size:28px;color:var(--primary-color)}.header-actions[data-v-95ba11ae]{display:flex;align-items:center;gap:12px}.server-badge[data-v-95ba11ae]{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.server-badge.online[data-v-95ba11ae]{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.server-badge.offline[data-v-95ba11ae]{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.auto-refresh-label[data-v-95ba11ae]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #64748b);cursor:pointer}.stats-row[data-v-95ba11ae]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.stat-card[data-v-95ba11ae]{background:var(--glass-bg-solid, rgba(255, 255, 255, .82));-webkit-backdrop-filter:var(--glass-blur, blur(20px));backdrop-filter:var(--glass-blur, blur(20px));border-radius:var(--radius-md, 12px);padding:20px;text-align:center;box-shadow:var(--shadow, 0 8px 32px rgba(0, 0, 0, .1));border:1px solid rgba(255,255,255,.3);transition:transform .2s ease,box-shadow .2s ease}.stat-card[data-v-95ba11ae]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg, 0 16px 48px rgba(0, 0, 0, .14))}.stat-number[data-v-95ba11ae]{font-size:32px;font-weight:700;color:var(--primary-color, #1e293b)}.stat-label[data-v-95ba11ae]{font-size:13px;color:var(--text-secondary, #64748b);margin-top:4px}.mono[data-v-95ba11ae]{font-family:Courier New,monospace;font-size:13px}.dot[data-v-95ba11ae]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot-online[data-v-95ba11ae]{background-color:#22c55e}.dot-offline[data-v-95ba11ae]{background-color:#ef4444}.text-muted[data-v-95ba11ae]{color:#999;font-size:13px}.btn-video[data-v-95ba11ae]{background:var(--accent-gradient, linear-gradient(135deg, #6366f1, #8b5cf6));color:#fff;border:none;border-radius:var(--radius-sm, 8px);transition:opacity .2s ease,transform .2s ease}.btn-video[data-v-95ba11ae]:hover{opacity:.9;transform:translateY(-1px)}.btn-danger[data-v-95ba11ae]{background-color:#ef4444;color:#fff;border:none;border-radius:var(--radius-sm, 8px)}.btn-danger[data-v-95ba11ae]:hover{background-color:#dc2626}.modal-overlay[data-v-95ba11ae]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-95ba11ae]{background:#1e293bf2;-webkit-backdrop-filter:var(--glass-blur, blur(20px));backdrop-filter:var(--glass-blur, blur(20px));border-radius:var(--radius-lg, 16px);max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-lg, 0 16px 48px rgba(0, 0, 0, .14))}.modal-lg[data-v-95ba11ae]{width:90%;max-width:1200px}.modal-header[data-v-95ba11ae]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3[data-v-95ba11ae]{margin:0;color:#fff}.modal-close[data-v-95ba11ae]{background:none;border:none;font-size:28px;cursor:pointer;color:#ffffff80;line-height:1;transition:color .2s ease}.modal-close[data-v-95ba11ae]:hover{color:#fff}.modal-body[data-v-95ba11ae]{padding:24px}.channel-selector[data-v-95ba11ae]{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.btn-channel[data-v-95ba11ae]{background-color:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm, 8px);transition:all .2s ease}.btn-channel[data-v-95ba11ae]:hover{background-color:#ffffff26;color:#fff}.btn-channel.active[data-v-95ba11ae]{background:var(--accent-gradient, linear-gradient(135deg, #6366f1, #8b5cf6));color:#fff;border-color:transparent}.video-grid[data-v-95ba11ae]{display:grid;gap:12px}.grid-1[data-v-95ba11ae]{grid-template-columns:1fr}.grid-2[data-v-95ba11ae],.grid-4[data-v-95ba11ae]{grid-template-columns:1fr 1fr}.video-cell[data-v-95ba11ae]{background:#0f1320e6;border-radius:var(--radius-md, 12px);overflow:hidden;border:1px solid rgba(255,255,255,.08)}.video-cell-header[data-v-95ba11ae]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#16213ee6;color:#fff;font-size:13px;font-weight:600}.stream-status[data-v-95ba11ae]{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600}.stream-status.loading[data-v-95ba11ae]{background:#fbbf2433;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.stream-status.active[data-v-95ba11ae]{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.stream-status.error[data-v-95ba11ae]{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.video-wrapper[data-v-95ba11ae]{position:relative;aspect-ratio:16/9}.video-element[data-v-95ba11ae]{width:100%;height:100%;object-fit:contain;background:#000}.video-overlay[data-v-95ba11ae]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:#0009}.spinner[data-v-95ba11ae]{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-95ba11ae 1s linear infinite;margin-bottom:12px}@keyframes spin-95ba11ae{to{transform:rotate(360deg)}}.events-log[data-v-95ba11ae]{max-height:500px;overflow-y:auto;font-size:13px;background:var(--glass-bg-solid, rgba(255, 255, 255, .82));-webkit-backdrop-filter:var(--glass-blur, blur(20px));backdrop-filter:var(--glass-blur, blur(20px));border-radius:var(--radius-md, 12px);border:1px solid rgba(255,255,255,.3)}.event-row[data-v-95ba11ae]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.06);transition:background-color .15s ease}.event-row[data-v-95ba11ae]:last-child{border-bottom:none}.event-row[data-v-95ba11ae]:hover{background-color:#6366f10a}.event-time[data-v-95ba11ae]{color:var(--text-secondary, #64748b);white-space:nowrap;min-width:130px}.event-type[data-v-95ba11ae]{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;min-width:50px;text-align:center}.type-location[data-v-95ba11ae]{background:#22c55e1f;color:#16a34a}.type-register[data-v-95ba11ae]{background:#3b82f61f;color:#2563eb}.type-auth[data-v-95ba11ae]{background:#fbbf241f;color:#d97706}.type-heartbeat[data-v-95ba11ae]{background:#64748b1a;color:#64748b}.type-disconnect[data-v-95ba11ae]{background:#ef44441f;color:#dc2626}.type-video_request[data-v-95ba11ae]{background:#6366f11f;color:var(--accent, #6366f1)}.type-video_stop[data-v-95ba11ae]{background:#ef44441f;color:#dc2626}.event-device[data-v-95ba11ae]{min-width:120px;font-weight:600;color:var(--primary-color, #1e293b)}.event-detail[data-v-95ba11ae]{color:var(--text-secondary, #64748b);flex:1}.empty-state[data-v-95ba11ae]{text-align:center;padding:40px;color:var(--text-secondary, #64748b)}.card[data-v-95ba11ae]{background:var(--glass-bg-solid, rgba(255, 255, 255, .82));-webkit-backdrop-filter:var(--glass-blur, blur(20px));backdrop-filter:var(--glass-blur, blur(20px));border-radius:var(--radius-lg, 16px);padding:24px;margin-bottom:24px;box-shadow:var(--shadow, 0 8px 32px rgba(0, 0, 0, .1));border:1px solid rgba(255,255,255,.3)}.card-title[data-v-95ba11ae]{margin-bottom:16px;font-size:18px;color:var(--primary-color, #1e293b)}.table[data-v-95ba11ae]{width:100%;border-collapse:collapse}.table th[data-v-95ba11ae],.table td[data-v-95ba11ae]{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.table th[data-v-95ba11ae]{font-weight:600;color:var(--text-secondary, #64748b);font-size:13px;text-transform:uppercase;letter-spacing:.03em}.table tbody tr[data-v-95ba11ae]{transition:background-color .15s ease}.table tbody tr[data-v-95ba11ae]:hover{background-color:#6366f10a}.table tbody tr:last-child td[data-v-95ba11ae]{border-bottom:none}.btn[data-v-95ba11ae]{padding:8px 16px;border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;font-size:14px;transition:opacity .2s ease}.btn-secondary[data-v-95ba11ae]{background-color:var(--secondary-color);color:#fff}.btn-secondary[data-v-95ba11ae]:hover{opacity:.9}.btn-secondary[data-v-95ba11ae]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-95ba11ae]{padding:6px 12px;font-size:13px}@media (max-width: 768px){.page-header[data-v-95ba11ae]{flex-direction:column;align-items:flex-start;gap:12px}.page-title[data-v-95ba11ae]{font-size:22px}.header-actions[data-v-95ba11ae]{flex-wrap:wrap;gap:8px}.stats-row[data-v-95ba11ae]{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card[data-v-95ba11ae]{padding:14px}.stat-number[data-v-95ba11ae]{font-size:24px}.card[data-v-95ba11ae]{padding:16px;border-radius:var(--radius-md, 12px)}.table[data-v-95ba11ae]{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th[data-v-95ba11ae],.table td[data-v-95ba11ae]{padding:8px 10px;white-space:nowrap}.events-log[data-v-95ba11ae]{max-height:350px}.event-row[data-v-95ba11ae]{flex-wrap:wrap;gap:6px;padding:8px 10px}.event-time[data-v-95ba11ae]{min-width:auto;font-size:11px}.event-device[data-v-95ba11ae]{min-width:auto}.modal-lg[data-v-95ba11ae]{width:95%}.modal-body[data-v-95ba11ae]{padding:16px}.grid-2[data-v-95ba11ae],.grid-4[data-v-95ba11ae]{grid-template-columns:1fr}.empty-state[data-v-95ba11ae]{padding:24px}}.page[data-v-3c0c1bc6]{padding:24px 28px;width:100%;max-width:none;margin:0}.page-header[data-v-3c0c1bc6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header h1[data-v-3c0c1bc6]{font-size:28px;font-weight:700;color:var(--primary-color)}.page-actions[data-v-3c0c1bc6]{display:flex;align-items:center;gap:10px}.search-bar[data-v-3c0c1bc6]{margin-bottom:16px}.search-input[data-v-3c0c1bc6]{height:40px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:#fff;width:320px;font-size:14px;color:var(--primary-color)}.search-input[data-v-3c0c1bc6]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.table-shell[data-v-3c0c1bc6]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-3c0c1bc6]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-3c0c1bc6]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-3c0c1bc6]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-3c0c1bc6]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-3c0c1bc6]{border-bottom:none}.badge[data-v-3c0c1bc6]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.active[data-v-3c0c1bc6]{background:#dcfce7;color:#15803d}.badge.inactive[data-v-3c0c1bc6]{background:#fee2e2;color:#dc2626}.btn-primary[data-v-3c0c1bc6]{height:40px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-primary[data-v-3c0c1bc6]:hover{background:#1d4ed8}.btn-secondary[data-v-3c0c1bc6]{height:40px;padding:0 20px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary[data-v-3c0c1bc6]:hover{background:#f8fafc}.btn-secondary[data-v-3c0c1bc6]:disabled{opacity:.7;cursor:not-allowed}.btn-sm[data-v-3c0c1bc6]{display:inline-flex;align-items:center;height:32px;padding:0 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-sm[data-v-3c0c1bc6]:hover{background:#1d4ed8}.empty[data-v-3c0c1bc6]{text-align:center;color:var(--text-secondary);padding:32px!important;font-size:14px}.loading[data-v-3c0c1bc6]{padding:32px;text-align:center;color:var(--text-secondary)}.error-msg[data-v-3c0c1bc6]{color:#dc2626;font-size:13px}.error-page[data-v-3c0c1bc6]{padding:32px;text-align:center;color:#dc2626}.modal-overlay[data-v-3c0c1bc6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3c0c1bc6]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:28px;width:700px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f172a33}.modal h3[data-v-3c0c1bc6]{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color)}.hint[data-v-3c0c1bc6]{font-size:13px;color:var(--text-secondary);margin-top:6px}.form-group[data-v-3c0c1bc6]{margin-bottom:16px}.form-group label[data-v-3c0c1bc6]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-3c0c1bc6],.form-select[data-v-3c0c1bc6]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[data-v-3c0c1bc6]:focus,.form-select[data-v-3c0c1bc6]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-3c0c1bc6]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.page[data-v-a255e34b]{padding:24px 28px;width:100%;max-width:none;margin:0}.back-link[data-v-a255e34b]{margin-bottom:20px}.back-link a[data-v-a255e34b]{color:var(--accent);text-decoration:none;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.back-link a[data-v-a255e34b]:hover{text-decoration:underline}.driver-header[data-v-a255e34b]{display:flex;justify-content:space-between;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;box-shadow:var(--shadow);gap:16px}.driver-header h1[data-v-a255e34b]{font-size:26px;font-weight:700;margin-bottom:6px;color:var(--primary-color)}.driver-meta[data-v-a255e34b]{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-secondary);text-align:right}.badge[data-v-a255e34b]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.active[data-v-a255e34b],.badge.allowed[data-v-a255e34b]{background:#dcfce7;color:#15803d}.badge.inactive[data-v-a255e34b],.badge.denied[data-v-a255e34b]{background:#fee2e2;color:#dc2626}.badge.planned[data-v-a255e34b]{background:#dbeafe;color:#1d4ed8}.badge.completed[data-v-a255e34b]{background:#d1fae5;color:#047857}.badge.cancelled[data-v-a255e34b]{background:#fee2e2;color:#dc2626}.badge.salary[data-v-a255e34b]{background:#e0f2fe;color:#0369a1}.badge.bonus[data-v-a255e34b]{background:#dcfce7;color:#15803d}.badge.fine[data-v-a255e34b]{background:#fee2e2;color:#dc2626}.badge.advance[data-v-a255e34b]{background:#fef9c3;color:#854d0e}.tabs[data-v-a255e34b]{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px}.tab[data-v-a255e34b]{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s}.tab.active[data-v-a255e34b]{color:var(--accent);border-bottom-color:var(--accent)}.tab[data-v-a255e34b]:hover:not(.active){color:var(--primary-color)}.tab-header[data-v-a255e34b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tab-header h3[data-v-a255e34b]{font-size:18px;font-weight:700;color:var(--primary-color)}.table-shell[data-v-a255e34b]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-a255e34b]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-a255e34b]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-a255e34b]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-a255e34b]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-a255e34b]{border-bottom:none}.empty[data-v-a255e34b]{text-align:center;color:var(--text-secondary);padding:32px!important;font-size:14px}.loading[data-v-a255e34b]{padding:32px;text-align:center;color:var(--text-secondary)}.error-msg[data-v-a255e34b]{color:#dc2626;font-size:13px;padding:16px;text-align:center}.btn-primary[data-v-a255e34b]{height:40px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-primary[data-v-a255e34b]:hover{background:#1d4ed8}.btn-secondary[data-v-a255e34b]{height:40px;padding:0 20px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary[data-v-a255e34b]:hover{background:#f8fafc}.modal-overlay[data-v-a255e34b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-a255e34b]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:28px;width:700px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f172a33}.modal h3[data-v-a255e34b]{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color)}.form-group[data-v-a255e34b]{margin-bottom:16px}.form-group label[data-v-a255e34b]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-a255e34b],.form-group select[data-v-a255e34b]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[data-v-a255e34b]:focus,.form-group select[data-v-a255e34b]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-a255e34b]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.page[data-v-dd5850a8]{padding:24px 28px;width:100%;max-width:none;margin:0}.page-header[data-v-dd5850a8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header h1[data-v-dd5850a8]{font-size:28px;font-weight:700;color:var(--primary-color)}.table-shell[data-v-dd5850a8]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-dd5850a8]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-dd5850a8]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-dd5850a8]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-dd5850a8]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-dd5850a8]{border-bottom:none}.badge[data-v-dd5850a8]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.active[data-v-dd5850a8]{background:#dcfce7;color:#15803d}.badge.inactive[data-v-dd5850a8]{background:#fee2e2;color:#dc2626}.btn-primary[data-v-dd5850a8]{height:40px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-primary[data-v-dd5850a8]:hover{background:#1d4ed8}.btn-secondary[data-v-dd5850a8]{height:40px;padding:0 20px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary[data-v-dd5850a8]:hover{background:#f8fafc}.btn-sm[data-v-dd5850a8]{display:inline-flex;align-items:center;height:30px;padding:0 12px;background:var(--accent);color:#fff;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.btn-sm[data-v-dd5850a8]:hover{background:#1d4ed8}.btn-sm.danger[data-v-dd5850a8]{background:#dc2626}.btn-sm.danger[data-v-dd5850a8]:hover{background:#b91c1c}.empty[data-v-dd5850a8]{text-align:center;color:var(--text-secondary);padding:32px!important;font-size:14px}.loading[data-v-dd5850a8]{padding:32px;text-align:center;color:var(--text-secondary)}.error-msg[data-v-dd5850a8]{color:#dc2626;font-size:13px;padding:16px;text-align:center}.modal-overlay[data-v-dd5850a8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-dd5850a8]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:28px;width:700px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f172a33}.modal h3[data-v-dd5850a8]{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color)}.form-group[data-v-dd5850a8]{margin-bottom:16px}.form-group label[data-v-dd5850a8]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-dd5850a8],.form-group select[data-v-dd5850a8]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[data-v-dd5850a8]:focus,.form-group select[data-v-dd5850a8]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-dd5850a8]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dispatch-page[data-v-ba675278]{padding:24px 20px}.page-head[data-v-ba675278]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head h1[data-v-ba675278]{margin:0;font-size:30px;font-weight:800;color:#0f172a}.subtabs[data-v-ba675278]{display:flex;gap:8px}.subtab[data-v-ba675278]{border:1px solid #d1d9e6;background:#fff;color:#1e293b;border-radius:10px;height:38px;padding:0 14px;font-weight:600;cursor:pointer}.subtab.active[data-v-ba675278]{background:#e2e8f0;border-color:#94a3b8}.panel[data-v-ba675278]{border:1px solid #dbe4ef;border-radius:14px;background:#fff;padding:16px;box-shadow:0 1px 4px #0f172a0a}.panel-head[data-v-ba675278]{margin-bottom:14px}.panel-head h2[data-v-ba675278]{margin:0;font-size:21px}.panel-head.split[data-v-ba675278]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.week-nav[data-v-ba675278]{display:flex;align-items:center;gap:8px;color:#1e293b;font-weight:700}.inline-form[data-v-ba675278]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.inline-form.compact[data-v-ba675278]{margin-bottom:0}.inline-form input[data-v-ba675278],.inline-form select[data-v-ba675278],.form-grid input[data-v-ba675278],.form-grid select[data-v-ba675278],.template-table input[data-v-ba675278],.template-table select[data-v-ba675278]{height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;font-size:14px}.export-drivers-form[data-v-ba675278]{align-items:flex-start}.driver-picker[data-v-ba675278]{position:relative;min-width:320px;max-width:420px}.driver-picker-toggle[data-v-ba675278]{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:10px;background:linear-gradient(180deg,#fff,#f8fbff);color:#1e293b;font-weight:600;text-align:left;padding:0 12px;cursor:pointer}.driver-picker-toggle[data-v-ba675278]:hover{border-color:#93c5fd}.driver-picker-menu[data-v-ba675278]{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:100%;max-height:260px;overflow:auto;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 12px 24px #0f172a1f;padding:8px}.driver-picker-actions[data-v-ba675278]{display:flex;gap:6px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.driver-picker-option[data-v-ba675278]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:#334155;cursor:pointer}.driver-picker-option[data-v-ba675278]:hover{background:#eff6ff}.driver-picker-empty[data-v-ba675278]{color:#64748b;font-size:13px;padding:8px}.selected-driver-chips[data-v-ba675278]{display:flex;flex-wrap:wrap;gap:6px;max-width:420px;margin-top:2px}.driver-chip[data-v-ba675278]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600}.btn[data-v-ba675278]{border:1px solid transparent;border-radius:8px;height:38px;padding:0 12px;font-weight:700;cursor:pointer}.btn-primary[data-v-ba675278]{background:#2563eb;color:#fff}.btn-secondary[data-v-ba675278]{background:#fff;color:#1e293b;border-color:#cbd5e1}.btn-danger[data-v-ba675278]{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.table-wrap[data-v-ba675278]{overflow:auto}.grid-table[data-v-ba675278]{width:100%;border-collapse:collapse;min-width:860px}.grid-table th[data-v-ba675278],.grid-table td[data-v-ba675278]{border:1px solid #e2e8f0;padding:8px;font-size:13px;vertical-align:middle}.grid-table th[data-v-ba675278]{background:#f8fafc;font-weight:700;color:#334155}.grid-table td input[data-v-ba675278],.grid-table td select[data-v-ba675278]{width:100%;box-sizing:border-box}.grid-table .actions[data-v-ba675278]{display:flex;gap:6px;flex-wrap:wrap}.clickable-row[data-v-ba675278]{cursor:pointer}.clickable-row:hover td[data-v-ba675278]{background:#f8fbff}.ta-center[data-v-ba675278]{text-align:center}.empty[data-v-ba675278]{text-align:center;color:#64748b;padding:14px}.template-tools[data-v-ba675278]{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.template-table[data-v-ba675278]{min-width:1200px}.template-table .sticky-col[data-v-ba675278]{position:sticky;left:0;background:#fff;z-index:1;min-width:160px}.trips-section .template-table .sticky-col[data-v-ba675278]{min-width:240px;width:240px;max-width:240px}.trips-section .template-table[data-v-ba675278]{min-width:980px;table-layout:fixed}.trips-section .template-table th[data-v-ba675278]:not(.sticky-col),.trips-section .template-table td[data-v-ba675278]:not(.sticky-col){min-width:140px;width:140px}.column-head[data-v-ba675278]{min-width:220px;display:grid;gap:6px}.column-stop-select[data-v-ba675278]{width:100%}.column-actions[data-v-ba675278]{display:flex;gap:4px}.mini-btn[data-v-ba675278]{border:1px solid #cbd5e1;background:#fff;color:#334155;height:26px;min-width:30px;border-radius:6px;cursor:pointer;font-weight:700}.mini-btn[data-v-ba675278]:disabled{opacity:.45;cursor:not-allowed}.mini-btn.danger[data-v-ba675278]{border-color:#fecaca;color:#b91c1c}.cell-times[data-v-ba675278]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;min-width:200px}.assign-cell[data-v-ba675278]{min-width:220px;display:grid;gap:4px}.assign-cell select[data-v-ba675278]{height:32px;padding:0 8px;font-size:12px;border-radius:7px}.readonly-pill[data-v-ba675278]{height:32px;border:1px solid #d5deea;border-radius:7px;background:#f8fafc;color:#334155;font-size:12px;display:flex;align-items:center;padding:0 10px}.template-tabs[data-v-ba675278]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.template-tab[data-v-ba675278]{border:1px solid #cbd5e1;border-radius:8px;background:#fff;height:36px;padding:0 12px;font-weight:700;color:#334155;cursor:pointer}.template-tab.active[data-v-ba675278]{background:#e2e8f0;border-color:#94a3b8}.day-tabs[data-v-ba675278]{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin-bottom:12px}.day-tab[data-v-ba675278]{border:1px solid #cbd5e1;border-radius:8px;background:#fff;height:40px;font-weight:700;color:#334155;cursor:pointer}.day-tab.active[data-v-ba675278]{background:#e2e8f0;border-color:#94a3b8}.flash[data-v-ba675278]{margin:0 0 12px;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}.flash-error[data-v-ba675278]{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.flash-success[data-v-ba675278]{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.modal-overlay[data-v-ba675278]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-ba675278]{width:760px;max-width:95vw;background:#fff;border-radius:14px;padding:18px}.modal-wide[data-v-ba675278]{width:1100px}.modal h3[data-v-ba675278]{margin:0 0 14px}.driver-day-meta[data-v-ba675278]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0 0 14px}.driver-day-meta p[data-v-ba675278]{margin:0;font-size:13px;color:#334155}.driver-day-table[data-v-ba675278]{min-width:980px}.form-grid[data-v-ba675278]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid label[data-v-ba675278]{display:grid;gap:6px;font-size:13px;font-weight:600}.modal-actions[data-v-ba675278]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.check-row[data-v-ba675278]{display:flex;align-items:center;gap:8px}.mt16[data-v-ba675278]{margin-top:16px}@media (max-width: 980px){.form-grid[data-v-ba675278]{grid-template-columns:1fr}.day-tabs[data-v-ba675278]{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-day-meta[data-v-ba675278]{grid-template-columns:1fr}}.page[data-v-30154922]{padding:24px 28px;width:100%;max-width:none;margin:0}h1[data-v-30154922]{font-size:30px;font-weight:700;margin-bottom:6px;color:var(--primary-color)}p[data-v-30154922]{margin:0;color:var(--text-secondary);font-size:14px}.hero[data-v-30154922]{margin-bottom:16px}.toolbar[data-v-30154922]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.search-input[data-v-30154922],.select-input[data-v-30154922]{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:14px;color:var(--primary-color)}.search-input[data-v-30154922]{width:280px}.search-input[data-v-30154922]:focus,.select-input[data-v-30154922]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.kpis[data-v-30154922]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.kpi-card[data-v-30154922]{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.kpi-card span[data-v-30154922]{font-size:12px;color:var(--text-secondary)}.kpi-card strong[data-v-30154922]{font-size:20px;color:var(--primary-color)}.kpi-card.success[data-v-30154922]{border-color:#16a34a40;background:#f0fdf4cc}.kpi-card.danger[data-v-30154922]{border-color:#dc262640;background:#fef2f2cc}.table-shell[data-v-30154922]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-30154922]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-30154922]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-30154922]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tfoot td[data-v-30154922]{font-weight:700;background:#f8fafc}.actions[data-v-30154922]{width:110px;text-align:right}.plus[data-v-30154922]{color:#047857;font-variant-numeric:tabular-nums}.minus[data-v-30154922]{color:#dc2626;font-variant-numeric:tabular-nums}.role-badge[data-v-30154922]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}.btn-primary[data-v-30154922]{height:34px;padding:0 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:background .2s}.btn-primary[data-v-30154922]:hover{background:#1d4ed8}.btn-secondary[data-v-30154922]{height:34px;padding:0 14px;background:#fff;color:#334155;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-weight:600;font-size:13px}.btn-secondary[data-v-30154922]:disabled{opacity:.7;cursor:not-allowed}.empty[data-v-30154922]{text-align:center;padding:28px!important;color:var(--text-secondary)}.loading[data-v-30154922]{padding:24px;text-align:center;color:var(--text-secondary)}@media (max-width: 900px){.kpis[data-v-30154922]{grid-template-columns:1fr}}.page[data-v-c3fd24cc]{padding:24px 28px;width:100%;max-width:none;margin:0}.topbar[data-v-c3fd24cc]{margin-bottom:12px}.hero[data-v-c3fd24cc]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}h1[data-v-c3fd24cc]{font-size:30px;font-weight:700;margin-bottom:6px;color:var(--primary-color)}.hero-subtitle[data-v-c3fd24cc]{margin:0;color:var(--text-secondary);font-size:14px}.hero-actions[data-v-c3fd24cc]{display:flex;gap:10px;align-items:center}.month-input[data-v-c3fd24cc]{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:14px;color:var(--primary-color)}.month-input[data-v-c3fd24cc]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.summary-row[data-v-c3fd24cc]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.summary-chip[data-v-c3fd24cc]{min-width:220px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;display:flex;flex-direction:column;gap:4px}.summary-chip span[data-v-c3fd24cc]{font-size:12px;color:var(--text-secondary)}.summary-chip strong[data-v-c3fd24cc]{font-size:18px;color:var(--primary-color)}.summary-chip.income[data-v-c3fd24cc]{border-color:#16a34a33;background:#f0fdf4bf}.summary-chip.deduction[data-v-c3fd24cc]{border-color:#dc262633;background:#fef2f2bf}.summary-chip.total[data-v-c3fd24cc]{border-color:#2563eb40;background:#eff6ffbf}.table-shell[data-v-c3fd24cc]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-c3fd24cc]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-c3fd24cc]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-c3fd24cc]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr:last-child td[data-v-c3fd24cc]{border-bottom:none}.amount-cell[data-v-c3fd24cc]{font-variant-numeric:tabular-nums;font-weight:600}.amount-cell.plus[data-v-c3fd24cc]{color:#047857}.amount-cell.minus[data-v-c3fd24cc]{color:#dc2626}.badge[data-v-c3fd24cc]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.salary[data-v-c3fd24cc]{background:#e0f2fe;color:#0369a1}.badge.bonus[data-v-c3fd24cc]{background:#dcfce7;color:#15803d}.badge.fine[data-v-c3fd24cc]{background:#fee2e2;color:#dc2626}.badge.advance[data-v-c3fd24cc]{background:#fef9c3;color:#854d0e}.empty[data-v-c3fd24cc]{text-align:center;color:var(--text-secondary);padding:24px!important;font-size:14px}.loading[data-v-c3fd24cc]{padding:24px;text-align:center;color:var(--text-secondary)}.error-inline[data-v-c3fd24cc]{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;padding:10px 12px;border-radius:10px}.error-msg[data-v-c3fd24cc]{color:#dc2626;font-size:13px}.btn-primary[data-v-c3fd24cc]{height:36px;padding:0 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:background .2s}.btn-primary[data-v-c3fd24cc]:hover{background:#1d4ed8}.btn-secondary[data-v-c3fd24cc]{height:36px;padding:0 16px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:13px;transition:background .2s}.btn-secondary[data-v-c3fd24cc]:hover{background:#f8fafc}.modal-overlay[data-v-c3fd24cc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-c3fd24cc]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:28px;width:700px;max-width:95vw;box-shadow:0 20px 60px #0f172a33}.modal h3[data-v-c3fd24cc]{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color)}.form-group[data-v-c3fd24cc]{margin-bottom:16px}.form-group label[data-v-c3fd24cc]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-c3fd24cc],.form-group select[data-v-c3fd24cc]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[type=text][data-v-c3fd24cc]{font-variant-numeric:tabular-nums}.form-group input[data-v-c3fd24cc]:focus,.form-group select[data-v-c3fd24cc]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-c3fd24cc]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@media (max-width: 900px){.hero[data-v-c3fd24cc]{flex-direction:column}.hero-actions[data-v-c3fd24cc],.month-input[data-v-c3fd24cc]{width:100%}}.page[data-v-0514feb6]{padding:24px 28px;width:100%;max-width:none;margin:0}h1[data-v-0514feb6]{font-size:32px;font-weight:700;margin-bottom:6px;color:var(--primary-color)}.hero-subtitle[data-v-0514feb6]{margin:0;font-size:14px;color:var(--text-secondary)}.hero[data-v-0514feb6]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 24px #0f172a0d}.hero-kpis[data-v-0514feb6]{display:flex;gap:10px;flex-wrap:wrap}.kpi[data-v-0514feb6]{min-width:150px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.kpi-label[data-v-0514feb6]{font-size:12px;color:var(--text-secondary)}.kpi-value[data-v-0514feb6]{font-size:24px;line-height:1.1;color:var(--primary-color)}.kpi.success[data-v-0514feb6]{border-color:#16a34a40;background:#f0fdf4cc}.kpi.danger[data-v-0514feb6]{border-color:#dc262640;background:#fef2f2cc}.toolbar[data-v-0514feb6]{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fff}.search-input[data-v-0514feb6],.filter-input[data-v-0514feb6]{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:14px;color:var(--primary-color)}.search-input[data-v-0514feb6]{width:280px}.search-input[data-v-0514feb6]:focus,.filter-input[data-v-0514feb6]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.driver-list[data-v-0514feb6]{display:grid;gap:10px}.driver-card[data-v-0514feb6]{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 8px #0f172a0d;background:#fff;transition:box-shadow .2s,border-color .2s,transform .2s}.driver-card[data-v-0514feb6]:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14}.driver-card.expanded[data-v-0514feb6]{border-color:#2563eb40;box-shadow:0 8px 20px #2563eb1f}.driver-top[data-v-0514feb6]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;gap:16px}.driver-headline[data-v-0514feb6]{display:flex;align-items:center;gap:12px;min-width:260px}.avatar[data-v-0514feb6]{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.driver-name[data-v-0514feb6]{font-weight:700;font-size:16px;margin-bottom:4px;color:var(--primary-color)}.last-check[data-v-0514feb6]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-top:4px}.last-check.muted[data-v-0514feb6]{opacity:.85}.quick-actions[data-v-0514feb6]{display:flex;gap:8px;flex-shrink:0}.btn-history[data-v-0514feb6]{height:36px;padding:0 14px;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;transition:background .15s;border:1px solid var(--border);background:#fff;color:var(--text-secondary)}.btn-history[data-v-0514feb6]:hover{background:#f8fafc}.btn-open[data-v-0514feb6]{height:36px;padding:0 14px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;border:1px solid rgba(37,99,235,.35);background:#eff6ff;color:#1d4ed8}.btn-open[data-v-0514feb6]:hover{background:#dbeafe}.btn-download[data-v-0514feb6]{height:40px;padding:0 14px;border-radius:10px;cursor:pointer;font-weight:600;font-size:13px;border:1px solid var(--border);background:#fff;color:#334155}.btn-download[data-v-0514feb6]:hover{background:#f8fafc}.btn-download[data-v-0514feb6]:disabled{opacity:.7;cursor:not-allowed}.badge[data-v-0514feb6]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.allowed[data-v-0514feb6]{background:#dcfce7;color:#15803d}.badge.denied[data-v-0514feb6]{background:#fee2e2;color:#dc2626}.history-wrap[data-v-0514feb6]{padding:14px 16px 16px;border-top:1px solid var(--border);background:#f8fafc}.table-shell[data-v-0514feb6]{background:#fff;border:1px solid var(--border);border-radius:10px;overflow-x:auto}.data-table[data-v-0514feb6]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-0514feb6]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:10px 14px;text-align:left}.data-table td[data-v-0514feb6]{padding:11px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr:last-child td[data-v-0514feb6]{border-bottom:none}.empty[data-v-0514feb6]{text-align:center;color:var(--text-secondary);padding:24px!important;font-size:14px}.empty-page[data-v-0514feb6]{text-align:center;padding:40px;color:var(--text-secondary)}.loading[data-v-0514feb6],.loading-sm[data-v-0514feb6]{padding:24px;text-align:center;color:var(--text-secondary)}.error-inline[data-v-0514feb6]{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;padding:10px 12px;border-radius:10px;margin-bottom:12px}@media (max-width: 980px){.hero[data-v-0514feb6]{flex-direction:column}.hero-kpis[data-v-0514feb6]{width:100%}.kpi[data-v-0514feb6]{flex:1 1 calc(33.333% - 8px);min-width:120px}.driver-top[data-v-0514feb6]{flex-direction:column;align-items:flex-start}}.page[data-v-a2ae7342]{padding:24px 28px;width:100%;max-width:none;margin:0}.back-link[data-v-a2ae7342]{margin-bottom:12px}.back-link a[data-v-a2ae7342]{color:var(--accent);text-decoration:none;font-size:14px;font-weight:500}.back-link a[data-v-a2ae7342]:hover{text-decoration:underline}.hero[data-v-a2ae7342]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 24px #0f172a0d;margin-bottom:14px}h1[data-v-a2ae7342]{font-size:30px;font-weight:700;margin-bottom:6px;color:var(--primary-color)}.hero-subtitle[data-v-a2ae7342]{margin:0 0 8px;color:var(--text-secondary);font-size:14px}.meta[data-v-a2ae7342]{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.actions[data-v-a2ae7342]{display:flex;gap:8px}.kpis[data-v-a2ae7342]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.kpi[data-v-a2ae7342]{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.kpi span[data-v-a2ae7342]{font-size:12px;color:var(--text-secondary)}.kpi strong[data-v-a2ae7342]{font-size:22px;color:var(--primary-color)}.kpi.success[data-v-a2ae7342]{border-color:#16a34a40;background:#f0fdf4cc}.kpi.danger[data-v-a2ae7342]{border-color:#dc262640;background:#fef2f2cc}.table-shell[data-v-a2ae7342]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-a2ae7342]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-a2ae7342]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-a2ae7342]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr:last-child td[data-v-a2ae7342]{border-bottom:none}.badge[data-v-a2ae7342]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.allowed[data-v-a2ae7342]{background:#dcfce7;color:#15803d}.badge.denied[data-v-a2ae7342]{background:#fee2e2;color:#dc2626}.btn-primary[data-v-a2ae7342]{height:36px;padding:0 14px;border-radius:8px;cursor:pointer;font-weight:700;font-size:13px;border:1px solid transparent;background:var(--accent);color:#fff}.btn-primary[data-v-a2ae7342]:hover{background:#1d4ed8}.btn-primary[data-v-a2ae7342]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-a2ae7342]{height:36px;padding:0 14px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;border:1px solid var(--border);background:#fff;color:var(--primary-color)}.btn-secondary[data-v-a2ae7342]:hover{background:#f8fafc}.empty[data-v-a2ae7342]{text-align:center;color:var(--text-secondary);padding:24px!important;font-size:14px}.loading[data-v-a2ae7342]{padding:24px;text-align:center;color:var(--text-secondary)}.error-inline[data-v-a2ae7342]{background:#fff1f2;border:1px solid #fecdd3;color:#be123c;padding:10px 12px;border-radius:10px}.modal-overlay[data-v-a2ae7342]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-a2ae7342]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:24px;width:760px;max-width:95vw;box-shadow:0 20px 60px #0f172a33}.modal h3[data-v-a2ae7342]{font-size:20px;font-weight:700;margin-bottom:16px;color:var(--primary-color)}.form-group[data-v-a2ae7342]{margin-bottom:12px}.form-group label[data-v-a2ae7342]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-a2ae7342],.form-group select[data-v-a2ae7342],.form-group textarea[data-v-a2ae7342]{width:100%;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[data-v-a2ae7342],.form-group select[data-v-a2ae7342]{height:40px;padding:0 12px}.form-group textarea[data-v-a2ae7342]{padding:10px 12px;resize:vertical;min-height:82px}.form-group input[data-v-a2ae7342]:focus,.form-group select[data-v-a2ae7342]:focus,.form-group textarea[data-v-a2ae7342]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-a2ae7342]{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}@media (max-width: 980px){.hero[data-v-a2ae7342]{flex-direction:column}.kpis[data-v-a2ae7342]{grid-template-columns:1fr}}.page[data-v-77cb370c]{padding:24px 28px;width:100%;max-width:none;margin:0}.hero[data-v-77cb370c]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid #dbe4ef;background:radial-gradient(circle at 85% 15%,rgba(14,165,233,.18) 0%,transparent 35%),linear-gradient(180deg,#fff,#f6f9fd);margin-bottom:16px}.hero-kicker[data-v-77cb370c]{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}.hero h1[data-v-77cb370c]{margin:0 0 8px;font-size:30px;line-height:1.05;color:#0f172a}.hero-subtitle[data-v-77cb370c]{margin:0;color:#475569;font-size:14px}.hero-chip[data-v-77cb370c]{display:flex;gap:8px;flex-wrap:wrap}.hero-chip span[data-v-77cb370c]{padding:6px 10px;border-radius:999px;background:#eaf2ff;border:1px solid #d1e1ff;color:#1e3a8a;font-size:12px;font-weight:700}.tabs[data-v-77cb370c]{display:inline-flex;gap:6px;border:1px solid #dbe4ef;border-radius:12px;padding:4px;background:#f8fbff;margin-bottom:16px}.tab[data-v-77cb370c]{height:36px;padding:0 16px;border:none;background:transparent;border-radius:9px;cursor:pointer;font-size:13px;font-weight:700;color:#475569;transition:all .2s ease}.tab.active[data-v-77cb370c]{color:#fff;background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 8px 18px #2563eb40}.tab[data-v-77cb370c]:hover:not(.active){color:#0f172a;background:#edf3fc}.stats-row[data-v-77cb370c]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat-card[data-v-77cb370c]{border:1px solid #dbe4ef;border-radius:12px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.stat-card span[data-v-77cb370c]{color:#64748b;font-size:12px}.stat-card strong[data-v-77cb370c]{font-size:22px;color:#0f172a;line-height:1}.stat-card.blue[data-v-77cb370c]{background:#eff6ffd9;border-color:#bfdbfe}.stat-card.amber[data-v-77cb370c]{background:#fffbebe6;border-color:#fde68a}.stat-card.green[data-v-77cb370c]{background:#f0fdf4e6;border-color:#bbf7d0}.stat-card.red[data-v-77cb370c]{background:#fef2f2e6;border-color:#fecaca}.section-header[data-v-77cb370c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2[data-v-77cb370c]{font-size:22px;font-weight:700;color:var(--primary-color)}.section-header-actions[data-v-77cb370c]{display:flex;align-items:center;gap:10px}.search-input[data-v-77cb370c]{height:40px;min-width:260px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--primary-color);font-size:14px}.search-input[data-v-77cb370c]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.table-shell[data-v-77cb370c]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-77cb370c]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-77cb370c]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-77cb370c]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-77cb370c]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-77cb370c]{border-bottom:none}.badge[data-v-77cb370c]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.open[data-v-77cb370c]{background:#dbeafe;color:#1d4ed8}.badge.in_progress[data-v-77cb370c]{background:#fef9c3;color:#854d0e}.badge.done[data-v-77cb370c]{background:#dcfce7;color:#15803d}.badge.cancelled[data-v-77cb370c]{background:#fee2e2;color:#dc2626}.badge.type[data-v-77cb370c]{border:1px solid #dbe4ef;background:#f8fafc;color:#334155}.low-stock td[data-v-77cb370c]{background:#fef2f2!important}.bus-cell[data-v-77cb370c],.item-name[data-v-77cb370c]{font-weight:700;color:#0f172a}.empty[data-v-77cb370c]{text-align:center;color:var(--text-secondary);padding:32px!important;font-size:14px}.loading[data-v-77cb370c]{padding:32px;text-align:center;color:var(--text-secondary)}.btn-primary[data-v-77cb370c]{height:40px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-primary[data-v-77cb370c]:hover{background:#1d4ed8}.btn-secondary[data-v-77cb370c]{height:40px;padding:0 20px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary[data-v-77cb370c]:hover{background:#f8fafc}.btn-secondary[data-v-77cb370c]:disabled{opacity:.7;cursor:not-allowed}.btn-sm[data-v-77cb370c]{display:inline-flex;align-items:center;height:30px;padding:0 12px;background:var(--accent);color:#fff;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.btn-sm[data-v-77cb370c]:hover{background:#1d4ed8}.btn-sm-ghost[data-v-77cb370c]{background:#fff;color:#1e3a8a;border:1px solid #c7d2fe}.btn-sm-ghost[data-v-77cb370c]:hover{background:#eef2ff}.actions-cell[data-v-77cb370c]{display:flex;gap:8px;align-items:center}.modal-overlay[data-v-77cb370c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-77cb370c]{background:#fff;border:1px solid #dbe4ef;border-radius:var(--radius-xl);padding:28px;width:700px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f172a33}.modal-wide[data-v-77cb370c]{width:980px}.modal h3[data-v-77cb370c]{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--primary-color)}.form-group[data-v-77cb370c]{margin-bottom:16px}.form-group label[data-v-77cb370c]{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-group input[data-v-77cb370c],.form-group select[data-v-77cb370c]{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--primary-color);background:#fff;box-sizing:border-box}.form-group input[data-v-77cb370c]:focus,.form-group select[data-v-77cb370c]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.modal-actions[data-v-77cb370c]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.error-msg[data-v-77cb370c]{color:#dc2626;font-size:13px}.badge.txn[data-v-77cb370c]{border:1px solid transparent}.badge.txn-in[data-v-77cb370c]{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.badge.txn-out[data-v-77cb370c]{background:#fef9c3;color:#854d0e;border-color:#fde68a}.badge.txn-writeoff[data-v-77cb370c]{background:#fee2e2;color:#dc2626;border-color:#fecaca}@media (max-width: 980px){.stats-row[data-v-77cb370c]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.hero[data-v-77cb370c]{flex-direction:column;align-items:flex-start}.hero h1[data-v-77cb370c]{font-size:26px}.stats-row[data-v-77cb370c]{grid-template-columns:1fr}.section-header[data-v-77cb370c]{flex-direction:column;align-items:flex-start;gap:10px}.section-header-actions[data-v-77cb370c]{width:100%}.search-input[data-v-77cb370c]{min-width:0;width:100%}}.page[data-v-b0b1de11]{padding:24px 28px;width:100%;max-width:none;margin:0}h1[data-v-b0b1de11]{font-size:28px;font-weight:700;margin-bottom:24px;color:var(--primary-color)}.profile-card[data-v-b0b1de11]{display:flex;align-items:flex-start;gap:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;box-shadow:var(--shadow)}.avatar[data-v-b0b1de11]{width:64px;height:64px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0}.profile-info h2[data-v-b0b1de11]{font-size:22px;font-weight:700;margin-bottom:10px;color:var(--primary-color)}.meta[data-v-b0b1de11]{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--text-secondary)}.badge[data-v-b0b1de11]{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge.active[data-v-b0b1de11]{background:#dcfce7;color:#15803d}.badge.inactive[data-v-b0b1de11]{background:#fee2e2;color:#dc2626}.badge.planned[data-v-b0b1de11]{background:#dbeafe;color:#1d4ed8}.badge.completed[data-v-b0b1de11]{background:#cffafe;color:#0e7490}.badge.cancelled[data-v-b0b1de11]{background:#fee2e2;color:#dc2626}.badge.salary[data-v-b0b1de11]{background:#e0f2fe;color:#0369a1}.badge.bonus[data-v-b0b1de11]{background:#dcfce7;color:#15803d}.badge.fine[data-v-b0b1de11]{background:#fee2e2;color:#dc2626}.badge.advance[data-v-b0b1de11]{background:#fef9c3;color:#854d0e}.telegram-card[data-v-b0b1de11]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:22px;box-shadow:var(--shadow)}.telegram-head[data-v-b0b1de11]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.telegram-head h3[data-v-b0b1de11]{margin:0;color:var(--primary-color);font-size:18px}.telegram-hint[data-v-b0b1de11]{margin:0 0 10px;color:var(--text-secondary);font-size:14px}.telegram-meta[data-v-b0b1de11]{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#334155;margin-bottom:12px}.telegram-actions[data-v-b0b1de11]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.telegram-instruction[data-v-b0b1de11]{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:10px 12px;font-size:13px;color:#334155}.telegram-instruction p[data-v-b0b1de11]{margin:4px 0}.telegram-instruction code[data-v-b0b1de11]{font-size:13px;font-weight:700;color:#0f172a;background:#e2e8f0;padding:2px 6px;border-radius:6px}.password-card[data-v-b0b1de11]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:22px;box-shadow:var(--shadow)}.password-head[data-v-b0b1de11]{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.password-head h3[data-v-b0b1de11]{margin:0;color:var(--primary-color);font-size:18px}.password-hint[data-v-b0b1de11]{margin:0;font-size:14px;color:var(--text-secondary)}.password-form[data-v-b0b1de11]{display:grid;gap:12px}.field[data-v-b0b1de11]{display:grid;gap:6px}.field label[data-v-b0b1de11]{font-size:13px;color:#475569;font-weight:600}.field input[data-v-b0b1de11]{width:100%;height:38px;border:1px solid var(--border);border-radius:10px;padding:0 10px;font-size:14px;color:var(--primary-color);background:#fff}.password-input-wrap[data-v-b0b1de11]{display:flex;gap:8px;align-items:center}.btn-ghost[data-v-b0b1de11]{height:38px;min-width:92px;padding:0 10px;border:1px solid var(--border);background:#f8fafc;color:#334155;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600}.password-actions[data-v-b0b1de11]{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.password-error[data-v-b0b1de11]{color:#b91c1c;font-size:13px}.password-success[data-v-b0b1de11]{color:#15803d;font-size:13px}.modal[data-v-b0b1de11]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-content[data-v-b0b1de11]{width:100%;max-width:560px;background:#fff;border-radius:16px;border:1px solid var(--border);box-shadow:0 24px 60px #0f172a40;padding:18px}.modal-header[data-v-b0b1de11]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.modal-header h2[data-v-b0b1de11]{margin:0;color:var(--primary-color);font-size:22px}.modal-subtitle[data-v-b0b1de11]{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.btn-icon[data-v-b0b1de11]{width:34px;height:34px;border:1px solid var(--border);background:#fff;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-x[data-v-b0b1de11]{width:14px;height:14px;position:relative}.icon-x[data-v-b0b1de11]:before,.icon-x[data-v-b0b1de11]:after{content:"";position:absolute;top:6px;left:0;width:14px;height:2px;background:#475569}.icon-x[data-v-b0b1de11]:before{transform:rotate(45deg)}.icon-x[data-v-b0b1de11]:after{transform:rotate(-45deg)}.tabs[data-v-b0b1de11]{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px}.tab[data-v-b0b1de11]{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s}.tab.active[data-v-b0b1de11]{color:var(--accent);border-bottom-color:var(--accent)}.tab[data-v-b0b1de11]:hover:not(.active){color:var(--primary-color)}.btn-secondary[data-v-b0b1de11]{height:38px;padding:0 14px;background:#fff;color:var(--primary-color);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:14px;font-weight:600}.btn-danger[data-v-b0b1de11]{height:38px;padding:0 14px;background:#fff1f2;color:#be123c;border:1px solid #fda4af;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600}.dispatch-lite[data-v-b0b1de11]{display:grid;gap:12px}.week-nav[data-v-b0b1de11]{display:flex;align-items:center;gap:8px;color:#1e293b;font-weight:700}.day-tabs[data-v-b0b1de11]{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px}.day-tab[data-v-b0b1de11]{border:1px solid #cbd5e1;border-radius:8px;background:#fff;height:38px;font-weight:700;color:#334155;cursor:pointer}.day-tab.active[data-v-b0b1de11]{background:#e2e8f0;border-color:#94a3b8}.template-tabs[data-v-b0b1de11]{display:flex;gap:8px;flex-wrap:wrap}.template-tab[data-v-b0b1de11]{border:1px solid #cbd5e1;border-radius:8px;background:#fff;height:36px;padding:0 12px;font-weight:700;color:#334155;cursor:pointer}.template-tab.active[data-v-b0b1de11]{background:#e2e8f0;border-color:#94a3b8}.table-shell[data-v-b0b1de11]{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow-x:auto}.data-table[data-v-b0b1de11]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-b0b1de11]{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9eb;padding:12px 14px;text-align:left}.data-table td[data-v-b0b1de11]{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.data-table tbody tr[data-v-b0b1de11]:hover{background:#e2e8f057}.data-table tbody tr:last-child td[data-v-b0b1de11]{border-bottom:none}.dispatch-table[data-v-b0b1de11]{min-width:1200px;table-layout:auto}.dispatch-table th[data-v-b0b1de11]{text-transform:none;letter-spacing:normal;font-size:13px;white-space:nowrap}.dispatch-table th[data-v-b0b1de11],.dispatch-table td[data-v-b0b1de11]{min-width:120px;white-space:nowrap}.assign-col[data-v-b0b1de11]{width:260px;min-width:260px!important;position:sticky;left:0;z-index:2;background:#fff}.dispatch-table thead .assign-col[data-v-b0b1de11]{background:#f1f5f9eb;z-index:3}.assign-lines[data-v-b0b1de11]{display:grid;gap:4px;font-size:13px;color:#334155}.assign-lines span[data-v-b0b1de11]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty[data-v-b0b1de11]{text-align:center;color:var(--text-secondary);padding:32px!important;font-size:14px}.loading[data-v-b0b1de11],.info-msg[data-v-b0b1de11]{padding:32px;text-align:center;color:var(--text-secondary)}@media (max-width: 980px){.password-head[data-v-b0b1de11]{align-items:flex-start;flex-direction:column}.password-input-wrap[data-v-b0b1de11]{flex-direction:column;align-items:stretch}.btn-ghost[data-v-b0b1de11]{width:100%}.day-tabs[data-v-b0b1de11]{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--font-ui: "Space Grotesk", "Segoe UI", sans-serif;--font-display: "IBM Plex Serif", "Times New Roman", serif;--primary-color: #111827;--primary-light: #1f2937;--accent: #2563eb;--accent-light: #3b82f6;--accent-gradient: linear-gradient(135deg, #2563eb, #3b82f6);--secondary-color: #0f172a;--success-color: #15803d;--danger-color: #dc2626;--warning-color: #d97706;--bg: #f7f8fb;--bg-muted: #eef2f7;--surface: #ffffff;--surface-strong: #f9fafb;--border: #e5e7eb;--border-strong: #d1d5db;--light-gray: #e5e7eb;--dark-gray: #6b7280;--white: #ffffff;--glass-bg: var(--surface);--glass-bg-solid: var(--surface);--glass-border: var(--border);--glass-blur: none;--shadow: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--text-secondary: #4b5563}body{font-family:var(--font-ui);color:var(--primary-color);background:var(--bg);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,.logo{font-family:var(--font-display);letter-spacing:-.02em}.container{max-width:1280px;margin:0 auto;padding:0 24px}.header{background:#fff;border-bottom:1px solid var(--border);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 4px 16px #0f172a0f}.header .container{display:flex;justify-content:space-between;align-items:center;min-height:64px}.logo{font-size:22px;font-weight:700;color:var(--primary-color)}.nav{display:flex;gap:4px;align-items:center}.nav a{color:var(--primary-light);text-decoration:none;padding:8px 16px;border-radius:var(--radius-sm);transition:all .25s ease;font-size:14px;font-weight:500}.nav a:hover{color:var(--primary-color);background:var(--bg-muted)}.nav a.router-link-active{color:#fff;background:var(--accent);box-shadow:0 6px 16px #2563eb40}.footer{background:var(--bg-muted);color:var(--text-secondary);text-align:center;padding:16px 0;margin-top:auto;font-size:13px;border-top:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);margin-bottom:20px;transition:transform .25s ease,box-shadow .25s ease}.card-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--primary-color)}.btn{padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;transition:all .25s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #2563eb40}.btn-primary:hover{background:#1d4ed8;box-shadow:0 10px 24px #2563eb47;transform:translateY(-1px)}.btn-secondary{background:#fff;color:var(--primary-light);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--bg-muted)}.btn-success{background:#16a34a;color:#fff;box-shadow:0 6px 16px #16a34a38}.btn-success:hover{background:#15803d;box-shadow:0 10px 24px #16a34a3d;transform:translateY(-1px)}.btn-danger{background:#ef4444;color:#fff;box-shadow:0 6px 16px #ef444438}.btn-danger:hover{background:#dc2626;box-shadow:0 10px 24px #ef44443d;transform:translateY(-1px)}.btn-sm{padding:6px 14px;font-size:13px;border-radius:var(--radius-sm)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.status{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:600}.status-online{background:#16a34a1f;color:var(--success-color);box-shadow:0 0 0 1px #16a34a33}.status-online:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success-color)}.status-offline{background:#ef44441a;color:var(--danger-color);box-shadow:0 0 0 1px #ef444433}.status-offline:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--danger-color);opacity:.6}.status-maintenance{background:#d977061f;color:var(--warning-color);box-shadow:0 0 0 1px #d9770633}.loading{text-align:center;padding:48px;color:var(--text-secondary)}.loading-spinner{border:3px solid rgba(37,99,235,.15);border-top:3px solid var(--accent);border-radius:50%;width:36px;height:36px;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#ef444414;color:var(--danger-color);padding:16px 20px;border-radius:var(--radius-md);margin-bottom:20px;border:1px solid rgba(239,68,68,.2)}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.table th{background:var(--secondary-color);color:#fff;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .2s}.table tbody tr:hover{background:#2563eb0f}.map-container{height:600px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.video-player{background:#0a0a0a;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/9;box-shadow:0 4px 20px #0000004d}.video-player video{width:100%;height:100%;object-fit:contain}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);text-align:center;transition:transform .25s ease,box-shadow .25s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-value{font-size:40px;font-weight:800;margin:8px 0;color:var(--primary-color)}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:#fff;transition:all .25s ease;color:var(--primary-color);box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26;background:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000040}@media (max-width: 768px){.container{padding:0 16px}.grid-2,.grid-3{grid-template-columns:1fr}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.map-container{height:400px}.stat-value{font-size:32px}.video-grid{grid-template-columns:1fr}}@media (max-width: 480px){.container{padding:0 12px}.card{padding:16px;border-radius:var(--radius-md)}.stat-card{padding:16px}.stat-value{font-size:28px}.btn{padding:8px 16px;font-size:13px}.map-container{height:300px}}
