:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-hover:rgba(8,145,178,.04);--bg-active:#eff6ff;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-light:rgba(226,232,240,.6);--border-default:#cbd5e1;--accent:#0891b2;--accent-light:#ecfeff;--accent-hover:#0e7490;--accent-glow:rgba(8,145,178,.15);--success:#10b981;--success-light:#ecfdf5;--warning:#f59e0b;--warning-light:#fffbeb;--danger:#ef4444;--danger-light:#fef2f2;--info:#3b82f6;--info-light:#eff6ff;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 2px 8px rgba(0,0,0,.06);--shadow-lg:0 8px 24px rgba(0,0,0,.08);--shadow-glow:0 0 20px rgba(8,145,178,.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--sidebar-w:240px;--sidebar-c:64px;--header-h:56px;--tr:.25s cubic-bezier(.4,0,.2,1);--glass:rgba(255,255,255,.7);--glass-border:rgba(255,255,255,.3);--navy-light:#f1f5f9;--navy:#f8fafc;--navy-dark:#ffffff;--navy-border:#e2e8f0;--text-light:#64748b;--text-white:#0f172a;--text-1:#0f172a;--text-2:#475569;--text-3:#94a3b8;--text-dim:#94a3b8;--surface-1:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--teal:#0891b2;--teal-light:#ecfeff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-border-tertiary:#e2e8f0;--color-background-secondary:#f8fafc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6;overflow:hidden}#root{height:100vh;width:100vw}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b880}button{cursor:pointer;font-family:inherit;border:none;background:none;transition:all var(--tr)}input,select,textarea{font-family:inherit;transition:border-color var(--tr),box-shadow var(--tr)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.4}}@keyframes slideInToast{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0891b200}50%{box-shadow:0 0 12px 2px #0891b226}}@keyframes countUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-live 2s ease-in-out infinite;flex-shrink:0;box-shadow:0 0 6px #10b98166}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e8edf2,#f1f5f9 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.skeleton-text{height:14px;margin-bottom:8px;width:80%}.skeleton-title{height:20px;margin-bottom:12px;width:50%}.skeleton-card{height:80px;border-radius:12px;margin-bottom:12px}.t-card{background:var(--bg-card);border-radius:var(--radius-lg);border:.5px solid var(--border-light);padding:20px;transition:all var(--tr);animation:fadeInUp .3s ease-out;position:relative;overflow:hidden}.t-card:hover{box-shadow:var(--shadow-lg);border-color:#0891b233;transform:translateY(-1px)}.t-card-header{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.01em}.t-stat{background:var(--bg-card);border-radius:var(--radius-lg);border:.5px solid var(--border-light);padding:18px 22px;transition:all var(--tr);animation:fadeInUp .3s ease-out;position:relative;overflow:hidden}.t-stat:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--accent),rgba(8,145,178,.3));border-radius:0 0 0 var(--radius-lg);opacity:0;transition:opacity var(--tr)}.t-stat:hover{box-shadow:var(--shadow-md);border-color:#0891b226;transform:translateY(-1px)}.t-stat:hover:before{opacity:1}.t-stat-label{font-size:11px;font-weight:600;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.t-stat-value{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;animation:countUp .5s ease-out}.t-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em}.t-badge-success{background:#ecfdf5;color:#059669;border:.5px solid rgba(5,150,105,.15)}.t-badge-warning{background:#fffbeb;color:#d97706;border:.5px solid rgba(217,119,6,.15)}.t-badge-danger{background:#fef2f2;color:#dc2626;border:.5px solid rgba(220,38,38,.15)}.t-badge-info{background:#ecfeff;color:#0891b2;border:.5px solid rgba(8,145,178,.15)}.t-table{width:100%;border-collapse:separate;border-spacing:0}.t-table th{padding:12px 22px;text-align:left;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--border-light);background:var(--bg-secondary);position:sticky;top:0;z-index:1}.t-table td{padding:12px 22px;font-size:13px;border-bottom:.5px solid rgba(241,245,249,.8);transition:all var(--tr)}.t-table tr{transition:all var(--tr)}.t-table tbody tr:hover td{background:var(--bg-hover)}.t-table tbody tr:hover{transform:scale(1.002)}.t-empty{text-align:center;padding:60px 20px;color:var(--text-tertiary);animation:fadeInUp .4s ease-out}.t-empty-icon{font-size:40px;margin-bottom:12px;filter:grayscale(.3)}.t-empty-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.t-empty-desc{font-size:13px;max-width:360px;margin:0 auto;line-height:1.6}.app-layout{display:flex;height:100vh}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid var(--border-light);display:flex;flex-direction:column;transition:width var(--tr);flex-shrink:0;z-index:10;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar.collapsed{width:var(--sidebar-c)}.sidebar-logo{height:var(--header-h);display:flex;align-items:center;justify-content:center;padding:0 16px;border-bottom:1px solid var(--border-light);flex-shrink:0;background:#fffc}.sidebar-logo img{height:38px;width:auto;transition:transform var(--tr)}.sidebar-logo img:hover{transform:scale(1.05)}.sidebar-logo span{font-weight:600;font-size:15px;color:var(--text-primary);white-space:nowrap;overflow:hidden;letter-spacing:-.02em}.sidebar.collapsed .sidebar-logo span{display:none}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.nav-section-label{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;padding:14px 12px 6px;white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-section-label{display:none}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all var(--tr);white-space:nowrap;overflow:hidden;width:100%;text-align:left;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,#0891b214,#0891b20a);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav-item svg{width:18px;height:18px;flex-shrink:0;transition:transform var(--tr)}.nav-item:hover svg{transform:scale(1.1)}.sidebar.collapsed .nav-item span{display:none}.sidebar-footer{padding:8px;border-top:1px solid var(--border-light);background:#f8fafc80}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-bar{height:var(--header-h);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;z-index:5}.top-bar-title{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.main-content{flex:1;overflow-y:auto;padding:24px;animation:fadeInUp .25s ease-out}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.metric-label{font-size:12px;font-weight:500;color:var(--text-tertiary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.metric-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.online{background:var(--success);box-shadow:0 0 0 3px var(--success-light)}.status-dot.offline{background:var(--danger);box-shadow:0 0 0 3px var(--danger-light)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;transition:all var(--tr);letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--text-inverse);box-shadow:0 2px 8px #0891b240}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-hover),#0c5e73);transform:translateY(-1px);box-shadow:0 4px 12px #0891b259}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}table{width:100%;border-collapse:collapse}table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}table td{padding:10px 12px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}table tr:hover td{background:var(--bg-hover)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:768px){.sidebar{display:none}.grid-2{grid-template-columns:1fr}.main-content{padding:16px}}[style*=background][style*="0d2137"],[style*=background][style*="0f2b3d"],[style*=background][style*="0a1929"],[style*=background][style*="132f4c"],[style*=background][style*="1a3a5c"],[style*=background][style*="rgb(13"],[style*=background][style*="rgb(15"],[style*=background][style*="rgb(10"],[style*=background-color][style*="0d2137"],[style*=background-color][style*="0f2b3d"]{background:#fff!important;background-color:#fff!important;border:1px solid #e2e8f0!important;color:#0f172a!important}[style*=linear-gradient][style*="0d2"],[style*=linear-gradient][style*="0a1"],[style*=linear-gradient][style*="132"]{background:#fff!important;border:1px solid #e2e8f0!important}[style*="color: white"],[style*="color: #fff"],[style*="color:#fff"],[style*="color: rgb(255"]{color:#0f172a!important}[style*="color: #00c7b1"],[style*="color: #0891b2"],[style*="color:#0891b2"]{color:#0891b2!important}input[style*=background][style*="0d2"],input[style*=background][style*="0a1"],input[style*=background][style*="132"]{background:#f8fafc!important;border:1px solid #e2e8f0!important;color:#0f172a!important}button[style*=background][style*="0d2"],button[style*=background][style*="0a1"]{background:#f1f5f9!important;color:#0f172a!important;border:1px solid #e2e8f0!important}th[style*=background][style*="0d2"],th[style*=background][style*="0a1"],thead[style*=background][style*="0d2"]{background:#f8fafc!important;color:#64748b!important}[style*=background][style*="10b981"]{background-color:#ecfdf5!important;color:#10b981!important}[style*=background][style*=ef4444]{background-color:#fef2f2!important;color:#ef4444!important}[style*=background][style*=f59e0b]{background-color:#fffbeb!important;color:#f59e0b!important}div[style*=border-radius]{transition:box-shadow .2s,border-color .2s}body.dark-mode{background:#0f172a!important;color:#f1f5f9;--bg-primary:#0f172a;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--bg-card:#1e293b;--bg-hover:#1e293b;--bg-active:#164e63;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#64748b;--text-inverse:#0f172a;--border-light:#1e293b;--border-default:#334155;--accent:#22d3ee;--accent-light:#164e63;--accent-hover:#06b6d4;--success:#34d399;--success-light:#064e3b;--warning:#fbbf24;--warning-light:#451a03;--danger:#f87171;--danger-light:#450a0a;--info:#60a5fa;--info-light:#1e3a5f;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 1px 3px rgba(0,0,0,.4);--text-1:#f1f5f9;--text-2:#cbd5e1;--text-3:#64748b;--text-dim:#64748b;--surface-1:#1e293b;--surface-2:#0f172a;--border:#1e293b;--teal:#22d3ee;--teal-light:#164e63;--color-text-primary:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-tertiary:#64748b;--color-border-tertiary:#1e293b;--color-background-secondary:#0f172a;--navy-light:#1e293b;--navy:#0f172a;--navy-dark:#0f172a;--navy-border:#1e293b;--text-light:#64748b;--text-white:#f1f5f9}body.dark-mode .app-layout{background:#0f172a}body.dark-mode .sidebar{background:#0f172a;border-right-color:#1e293b}body.dark-mode .sidebar-logo span{color:#f1f5f9}body.dark-mode .nav-section-label{color:#475569}body.dark-mode .nav-item{color:#94a3b8}body.dark-mode .nav-item:hover{background:#1e293b;color:#f1f5f9}body.dark-mode .nav-item.active{background:#164e63;color:#22d3ee}body.dark-mode .main-area{background:#0f172a}body.dark-mode .top-bar{background:#0f172a;border-bottom-color:#1e293b}body.dark-mode .top-bar-title{color:#f1f5f9}body.dark-mode .main-content{background:#0f172a}body.dark-mode .badge-success{background:#064e3b!important;color:#6ee7b7!important}body.dark-mode .og-root{color:#f1f5f9}body.dark-mode .og-stat{background:#1e293b!important;border-color:#334155!important}body.dark-mode .og-stat-val{color:#f1f5f9!important}body.dark-mode .og-stat-label{color:#94a3b8!important}body.dark-mode .og-plat{background:#1e293b!important;border-color:#334155!important}body.dark-mode .og-plat-name{color:#f1f5f9!important}body.dark-mode .og-ev-row{border-bottom-color:#1e293b!important}body.dark-mode .og-ev-type{color:#f1f5f9!important}body.dark-mode .og-tip{background:#1e293b!important;border-color:#334155!important}body.dark-mode .leaflet-container{background:#1e293b}body.dark-mode .leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.9) contrast(.9)}body.dark-mode .leaflet-popup-content-wrapper{background:#1e293b!important;color:#f1f5f9!important}body.dark-mode .leaflet-popup-tip{background:#1e293b!important}body.dark-mode .t-card{background:#1e293b!important;border-color:#334155!important}body.dark-mode .t-card:hover{box-shadow:0 4px 12px #0000004d!important;border-color:#475569!important}body.dark-mode .t-stat{background:#1e293b!important;border-color:#334155!important}body.dark-mode .t-stat:hover{box-shadow:0 4px 12px #0000004d!important}body.dark-mode .t-table th{color:#64748b!important;background:#0f172a!important;border-color:#1e293b!important}body.dark-mode .t-table td{color:#cbd5e1!important;border-color:#1e293b!important}body.dark-mode .t-table tr:hover td{background:#1e293b!important}body.dark-mode table th{color:#64748b!important;background:#0f172a!important;border-color:#1e293b!important}body.dark-mode table td{color:#cbd5e1!important;border-color:#1e293b!important}body.dark-mode table tr:hover td{background:#1e293b!important}body.dark-mode .card,body.dark-mode .metric-card{background:#1e293b!important;border-color:#334155!important}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}body.dark-mode button{border-color:#334155}body.dark-mode .btn-ghost:hover{background:#1e293b!important;color:#f1f5f9!important}body.dark-mode strong{color:#f1f5f9}body.dark-mode p{color:#cbd5e1}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4{color:#f1f5f9}body.dark-mode .main-content div[style*="background: #fff"],body.dark-mode .main-content div[style*="background:#fff"],body.dark-mode .main-content div[style*="background: rgb(255, 255, 255)"]{background:#1e293b!important;border-color:#334155!important}body.dark-mode .main-content div[style*="background: #f8fafc"],body.dark-mode .main-content div[style*="background:#f8fafc"],body.dark-mode .main-content div[style*="background: rgb(248, 250, 252)"]{background:#0f172a!important}body.dark-mode .main-content div[style*="background: #f1f5f9"],body.dark-mode .main-content div[style*="background:#f1f5f9"],body.dark-mode .main-content div[style*="background: rgb(241, 245, 249)"]{background:#1e293b!important}body.dark-mode .main-content div[style*="background: linear-gradient"]{border-color:#334155!important}body.dark-mode .main-content table{border-collapse:collapse}body.dark-mode .main-content th{color:#64748b!important;background:#0f172a!important;border-color:#1e293b!important}body.dark-mode .main-content td{color:#cbd5e1!important;border-color:#1e293b!important}body.dark-mode .main-content tr[style*=border-bottom]{border-color:#1e293b!important}body.dark-mode .main-content tr[style*="background: rgb(255, 251, 235)"],body.dark-mode .main-content tr[style*="background:#fffbeb"]{background:#292524!important}body.dark-mode .main-content tr[style*="background: rgb(254, 242, 242)"],body.dark-mode .main-content tr[style*="background:#fef2f2"]{background:#2c1515!important}body.dark-mode .main-content span[style*="color: #0f172a"],body.dark-mode .main-content span[style*="color:#0f172a"],body.dark-mode .main-content div[style*="color: #0f172a"],body.dark-mode .main-content div[style*="color:#0f172a"],body.dark-mode .main-content td[style*="color: #0f172a"],body.dark-mode .main-content td[style*="color:#0f172a"],body.dark-mode .main-content div[style*="color: rgb(15, 23, 42)"]{color:#f1f5f9!important}body.dark-mode .main-content span[style*="color: #334155"],body.dark-mode .main-content span[style*="color:#334155"],body.dark-mode .main-content td[style*="color: #334155"],body.dark-mode .main-content td[style*="color:#334155"],body.dark-mode .main-content div[style*="color: #334155"],body.dark-mode .main-content div[style*="color:#334155"],body.dark-mode .main-content div[style*="color: rgb(51, 65, 85)"]{color:#cbd5e1!important}body.dark-mode .main-content span[style*="color: #64748b"],body.dark-mode .main-content span[style*="color:#64748b"],body.dark-mode .main-content div[style*="color: #64748b"],body.dark-mode .main-content div[style*="color:#64748b"],body.dark-mode .main-content div[style*="color: rgb(100, 116, 139)"]{color:#94a3b8!important}body.dark-mode .main-content span[style*="color: #94a3b8"],body.dark-mode .main-content span[style*="color:#94a3b8"],body.dark-mode .main-content div[style*="color: #94a3b8"],body.dark-mode .main-content div[style*="color:#94a3b8"],body.dark-mode .main-content div[style*="color: rgb(148, 163, 184)"]{color:#64748b!important}body.dark-mode .main-content div[style*="font-weight: 650"],body.dark-mode .main-content div[style*="font-weight:650"]{color:#f1f5f9!important}body.dark-mode .main-content div[style*="font-weight: 600"],body.dark-mode .main-content td[style*="font-weight: 600"],body.dark-mode .main-content td[style*="font-weight:600"],body.dark-mode .main-content span[style*="font-weight: 600"],body.dark-mode .main-content span[style*="font-weight:600"]{color:#e2e8f0!important}body.dark-mode .main-content span[style*="font-weight: 600"][style*="font-size: 14px"]{color:#f1f5f9!important}body.dark-mode .main-content button[style*="background: #fff"],body.dark-mode .main-content button[style*="background:#fff"],body.dark-mode .main-content button[style*="background: rgb(255, 255, 255)"]{background:#334155!important;color:#f1f5f9!important;border-color:#475569!important}body.dark-mode .main-content button[style*="background: transparent"],body.dark-mode .main-content button[style*="background:transparent"]{color:#94a3b8!important}body.dark-mode .top-bar-actions input[style*="border: 1px solid"]{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}body.dark-mode .top-bar-actions button[style*="background: #f8fafc"],body.dark-mode .top-bar-actions button[style*="background:#f8fafc"]{background:#1e293b!important;border-color:#334155!important}body.dark-mode .main-content div[style*="border: 1px solid #e2e8f0"],body.dark-mode .main-content div[style*="border:1px solid #e2e8f0"],body.dark-mode .main-content div[style*="border: 1px solid rgb(226, 232, 240)"]{border-color:#334155!important}body.dark-mode .main-content div[style*="border-bottom: 1px solid #f1f5f9"],body.dark-mode .main-content div[style*="border-bottom:1px solid #f1f5f9"]{border-color:#1e293b!important}body.dark-mode .recharts-cartesian-axis-tick-value{fill:#64748b!important}body.dark-mode .recharts-cartesian-grid line{stroke:#1e293b!important}body.dark-mode .recharts-tooltip-wrapper div{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}body.dark-mode .skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200px 100%}body.dark-mode .t-card{background:#1e293b;border-color:#334155}body.dark-mode .t-card:hover{box-shadow:0 4px 12px #0003;border-color:#475569}body.dark-mode .t-stat{background:#1e293b;border-color:#334155}body.dark-mode .t-stat-value{color:#f1f5f9}body.dark-mode .t-badge-success{background:#064e3b;color:#6ee7b7}body.dark-mode .t-badge-warning{background:#78350f;color:#fcd34d}body.dark-mode .t-badge-danger{background:#7f1d1d;color:#fca5a5}body.dark-mode .t-badge-info{background:#164e63;color:#67e8f9}body.dark-mode .t-table th{color:#64748b;border-color:#1e293b}body.dark-mode .t-table td{border-color:#1e293b;color:#cbd5e1}body.dark-mode .t-table tr:hover td{background:#1e293b}@media (max-width: 768px){.app-layout{grid-template-columns:1fr!important}.sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:200;transition:left .25s}.sidebar.open{left:0}.main-area{margin-left:0!important}.top-bar{padding:12px 16px!important}.main-content{padding:16px!important}}.leaflet-container{font-family:Inter,system-ui,sans-serif!important;border-radius:0 0 12px 12px}.leaflet-popup-content-wrapper{border-radius:10px!important;box-shadow:0 4px 12px #0000001f!important;font-size:12px!important}.leaflet-popup-content{margin:10px 14px!important;line-height:1.5!important}.main-content>div{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.nav-item.active{position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.main-content>div>div:first-child{scrollbar-width:none}.main-content>div>div:first-child::-webkit-scrollbar{display:none}.quick-action-btn{transition:transform .15s,box-shadow .15s!important}.quick-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014!important}.t-table tbody tr{transition:background .15s}.nav-item:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.t-stat{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notif-badge{animation:notifPulse 2s ease-in-out infinite}@keyframes notifPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.nav-section-label{position:relative;margin-top:4px}.nav-section-label:after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:.5px;background:var(--border-light)}@media print{.sidebar,.top-bar{display:none!important}.main-content{padding:0!important}.app-layout{display:block!important}}@keyframes loading-bar{0%{width:20%;margin-left:0}50%{width:60%;margin-left:20%}to{width:20%;margin-left:80%}}.nav-item{transition:all .15s ease!important;position:relative}.nav-item:hover{background:var(--bg-hover)!important;transform:translate(2px)}.nav-item.active{transform:translate(0)}.t-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}.t-card:hover{transform:translateY(-1px)!important;box-shadow:0 6px 20px #0000000f!important;border-color:var(--border-default)!important}.t-stat:nth-child(1){animation-delay:0s}.t-stat:nth-child(2){animation-delay:.05s}.t-stat:nth-child(3){animation-delay:.1s}.t-stat:nth-child(4){animation-delay:.15s}button[style*="background: '#0891b2'"],button[style*="background:#0891b2"]{transition:all .15s ease!important}button[style*="background: '#0891b2'"]:hover,button[style*="background:#0891b2"]:hover{filter:brightness(1.1)!important;transform:translateY(-1px)!important}@keyframes rowSlide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.t-table tbody tr{animation:rowSlide .2s ease both}.t-table tbody tr:nth-child(1){animation-delay:0s}.t-table tbody tr:nth-child(2){animation-delay:.03s}.t-table tbody tr:nth-child(3){animation-delay:.06s}.t-table tbody tr:nth-child(4){animation-delay:.09s}.t-table tbody tr:nth-child(5){animation-delay:.12s}@keyframes alertPulse{0%,to{opacity:1}50%{opacity:.7}}.t-badge-danger{animation:alertPulse 1.5s ease-in-out infinite}.main-content{scroll-behavior:smooth}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.top-bar{box-shadow:0 1px 3px #0000000a!important}.sidebar{box-shadow:1px 0 8px #0000000a!important}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #0891b21f!important;border-color:var(--accent)!important;outline:none!important}@keyframes toastSlide{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 1024px){.sidebar{width:64px!important}.sidebar .nav-item span,.sidebar .nav-section-label,.sidebar-logo span{display:none!important}.main-content{padding:16px!important}}@media (max-width: 768px){.app-layout{flex-direction:column!important}.sidebar{width:100%!important;height:auto!important;flex-direction:row!important;border-right:none!important;border-bottom:1px solid var(--border-light)!important;overflow-x:auto!important}.sidebar-logo{height:auto!important;padding:8px 12px!important}.sidebar-nav{display:flex!important;flex-direction:row!important;padding:4px 8px!important;gap:2px!important;overflow-x:auto!important;flex:1!important}.nav-section-label{display:none!important}.nav-item{padding:6px 10px!important;font-size:11px!important;flex-shrink:0!important}.nav-item span,.sidebar-footer{display:none!important}.main-area{height:calc(100vh - 56px)!important}.main-content{padding:12px!important}.top-bar{padding:0 12px!important}.top-bar-title{font-size:13px!important}}@media (pointer: coarse){.nav-item{min-height:44px!important}button{min-height:36px!important}input,select{min-height:40px!important}}.skip-nav{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;z-index:1000;font-size:13px;font-weight:600;border-radius:0 0 8px;transition:top .2s}.skip-nav:focus{top:0}*:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important}@media (prefers-contrast: high){:root{--border-light: #000 !important;--text-secondary: #000 !important;--text-tertiary: #333 !important}.t-card,.t-stat{border-width:2px!important}.nav-item.active{border:2px solid var(--accent)!important}}.t-stat-label,.t-empty-desc{color:#475569!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}a{text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}button,a,input,select,textarea,[role=button],[role=tab]{min-height:32px}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.t-empty{text-align:center;padding:48px 24px}.t-empty-icon{font-size:40px;margin-bottom:12px}.t-empty-title{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:6px}.t-empty-desc{font-size:13px;color:#94a3b8;line-height:1.7;max-width:400px;margin:0 auto}
