@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap);:root{--text:var(--tx);--text2:var(--tx2);--text3:var(--tx3);--bg:#0f1117;--bg2:#161923;--bg3:#1e2330;--border:#ffffff14;--border2:#ffffff24;--tx:#e8eaf0;--tx2:#8b90a0;--tx3:#555c6e;--blue:#4a9eff;--blue-dim:#4a9eff1f;--green:#3ecf8e;--green-dim:#3ecf8e1f;--amber:#f5a623;--amber-dim:#f5a6231f;--red:#f06060;--red-dim:#f060601f;--purple:#a78bfa;--purple-dim:#a78bfa1f;--teal:#2dd4bf;--font:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",monospace;--radius:8px;--radius-lg:12px}.metric-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:22px}.metric-card{background:#161923;background:var(--bg2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);padding:16px;transition:border-color .15s}.metric-card:hover{border-color:#ffffff24;border-color:var(--border2)}.metric-label{color:#555c6e;color:var(--text3);font-size:11px;font-weight:500;letter-spacing:.04em;margin-bottom:6px}.metric-value{color:#e8eaf0;color:var(--text);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:26px;font-weight:300;line-height:1}.metric-sub{color:#555c6e;color:var(--text3);font-size:11px;margin-top:4px}.metric-blue{color:#4a9eff;color:var(--blue)}.metric-green{color:#3ecf8e;color:var(--green)}.metric-amber{color:#f5a623;color:var(--amber)}.metric-red{color:#f06060;color:var(--red)}.charts-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:16px}.charts-row.single{grid-template-columns:1fr}.chart-card{background:#161923;background:var(--bg2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);padding:18px}.chart-title{color:#8b90a0;color:var(--text2);font-size:12px;font-weight:600;letter-spacing:.06em;margin-bottom:16px;text-transform:uppercase}.bar-row{align-items:center;display:flex;gap:8px;margin-bottom:9px}.bar-row:last-child{margin-bottom:0}.bar-label{color:#8b90a0;color:var(--text2);flex-shrink:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:110px}.bar-track{background:#1e2330;background:var(--bg3);border-radius:99px;flex:1 1;height:6px;overflow:hidden}.bar-fill{border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.bar-count{color:#555c6e;color:var(--text3);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:11px;text-align:right;width:32px}.table-wrap{background:#161923;background:var(--bg2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden}.tbl-title{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);color:#8b90a0;color:var(--text2);font-size:12px;font-weight:600;letter-spacing:.06em;padding:16px 18px 12px;text-transform:uppercase}table{border-collapse:collapse;font-size:12px;width:100%}thead tr{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border)}thead th{color:#555c6e;color:var(--text3);font-size:10px;font-weight:600;letter-spacing:.08em;padding:10px 18px;text-align:left;text-transform:uppercase;white-space:nowrap}tbody tr{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#ffffff05}td{color:#e8eaf0;color:var(--text);padding:10px 18px;vertical-align:middle}td.mono{color:#8b90a0;color:var(--text2);font-family:IBM Plex Mono,monospace;font-family:var(--mono)}.badge{align-items:center;border-radius:99px;display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 8px}.badge-green{background:#3ecf8e1f;background:var(--green-dim);border:1px solid #3ecf8e40;color:#3ecf8e;color:var(--green)}.badge-amber{background:#f5a6231f;background:var(--amber-dim);border:1px solid #f5a62340;color:#f5a623;color:var(--amber)}.badge-red{background:#f060601f;background:var(--red-dim);border:1px solid #f0606040;color:#f06060;color:var(--red)}.badge-blue{background:#4a9eff1f;background:var(--blue-dim);border:1px solid #4a9eff40;color:#4a9eff;color:var(--blue)}.badge-purple{background:#a78bfa1f;background:var(--purple-dim);border:1px solid #a78bfa40;color:#a78bfa;color:var(--purple)}.badge-teal{background:#2dd4bf1f;border:1px solid #2dd4bf40;color:#2dd4bf;color:var(--teal)}.trend-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.trend-week{color:#555c6e;color:var(--text3);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:11px;width:90px}.trend-bars{display:flex;flex:1 1;flex-direction:column;gap:2px}.trend-bar-wrap{align-items:center;display:flex;gap:6px}.trend-bar-track{background:#1e2330;background:var(--bg3);border-radius:99px;flex:1 1;height:5px;overflow:hidden}.trend-bar-fill{border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.trend-count{color:#555c6e;color:var(--text3);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:10px;text-align:right;width:24px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;display:none;inset:0;justify-content:center;position:fixed;z-index:200}.modal-overlay.open{display:flex}.modal{background:#161923;background:var(--bg2);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 24px 64px #00000080;max-width:95vw;padding:28px;width:460px}.modal h2{font-size:16px;font-weight:500;margin-bottom:6px}.modal .modal-sub{color:#8b90a0;color:var(--text2);font-size:12px;margin-bottom:22px}.field{margin-bottom:14px}.field label{color:#555c6e;color:var(--text3);display:block;font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.field input{background:#1e2330;background:var(--bg3);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius);color:#e8eaf0;color:var(--text);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s;width:100%}.field input:focus{border-color:#4a9eff;border-color:var(--blue)}.field .hint{color:#555c6e;color:var(--text3);font-size:11px;margin-top:4px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}.status-bar{border-radius:8px;border-radius:var(--radius);display:none;font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:12px;margin-top:14px;padding:9px 14px}.status-bar.ok{background:#3ecf8e1f;background:var(--green-dim);border:1px solid #3ecf8e33;color:#3ecf8e;color:var(--green);display:block}.status-bar.err{background:#f060601f;background:var(--red-dim);border:1px solid #f0606033;color:#f06060;color:var(--red);display:block}.status-bar.loading{background:#4a9eff1f;background:var(--blue-dim);border:1px solid #4a9eff33;color:#4a9eff;color:var(--blue);display:block}.loading-bar{background:#4a9eff;background:var(--blue);height:2px;left:0;position:fixed;top:0;transition:width .4s ease;width:0;z-index:999}.filter-bar{align-items:center;background:#161923;background:var(--bg2);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:8px 20px}.filter-divider{background:#ffffff14;background:var(--border);flex-shrink:0;height:20px;margin:0 2px;width:1px}.filter-clear{border:1px solid #0000;border-radius:8px;border-radius:var(--radius);color:#555c6e;color:var(--text3);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s;white-space:nowrap}.filter-clear:hover{border-color:#f060604d;color:#f06060;color:var(--red)}.filter-count{color:#555c6e;color:var(--text3);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:11px;margin-left:auto;white-space:nowrap}.filter-count span{color:#4a9eff;color:var(--blue);font-weight:500}.ms-wrap{position:relative}.ms-pill{align-items:center;background:#1e2330;background:var(--bg3);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius);color:#8b90a0;color:var(--text2);cursor:pointer;display:flex;font-size:12px;gap:5px;min-width:90px;padding:4px 10px;transition:border-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.ms-pill:hover{border-color:#ffffff24;border-color:var(--border2);color:#e8eaf0;color:var(--text)}.ms-pill.active{border-color:#4a9eff;border-color:var(--blue);color:#4a9eff;color:var(--blue)}.ms-pill .ms-caret{font-size:10px;margin-left:auto;opacity:.5}.ms-pill .ms-badge{background:#4a9eff;background:var(--blue);border-radius:99px;color:#0a1628;font-size:10px;font-weight:700;margin-left:2px;padding:1px 6px}.ms-dropdown{background:#161923;background:var(--bg2);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 8px 24px #0006;display:none;left:0;max-width:260px;min-width:200px;overflow:hidden;position:absolute;top:calc(100% + 4px);z-index:100}.ms-dropdown.open{display:block}.ms-search{background:#1e2330;background:var(--bg3);border:none;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);color:#e8eaf0;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-family:var(--font);font-size:12px;outline:none;padding:8px 12px;width:100%}.ms-options{max-height:220px;overflow-y:auto;padding:4px 0;scrollbar-color:#1e2330 #0000;scrollbar-color:var(--bg3) #0000;scrollbar-width:thin}.ms-option{align-items:center;color:#8b90a0;color:var(--text2);cursor:pointer;display:flex;font-size:12px;gap:8px;padding:7px 12px;transition:background .1s}.ms-option:hover{background:#ffffff0a}.ms-option.selected,.ms-option:hover{color:#e8eaf0;color:var(--text)}.ms-option input[type=checkbox]{accent-color:#4a9eff;accent-color:var(--blue);cursor:pointer;flex-shrink:0;height:13px;width:13px}.ms-footer{align-items:center;border-top:1px solid #ffffff14;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:6px 12px}.ms-footer-btn{color:#555c6e;color:var(--text3);cursor:pointer;font-size:11px;padding:2px 4px}.ms-footer-btn:hover{color:#e8eaf0;color:var(--text)}body.light{--bg:#f0f2f5;--bg2:#fff;--bg3:#e8eaed;--border:#00000014;--border2:#00000024;--text:#1a1d23;--text2:#4a5060;--text3:#8b90a0}body.light .ms-dropdown{box-shadow:0 8px 24px #0000001f}body.light input[type=date]{color-scheme:light}.theme-toggle{align-items:center;background:#1e2330;background:var(--bg3);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius);color:#8b90a0;color:var(--text2);cursor:pointer;display:flex;font-size:12px;gap:7px;padding:6px 12px;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.theme-toggle:hover{color:#e8eaf0;color:var(--text)}.chart-card{position:relative}.chart-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.chart-card-header .chart-title{margin-bottom:0}.chart-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.chart-card:hover .chart-actions{opacity:1}.chart-action-btn{align-items:center;background:#0000;border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:4px;color:#555c6e;color:var(--text3);cursor:pointer;display:flex;font-size:11px;height:22px;justify-content:center;transition:all .15s;width:22px}.chart-action-btn:hover{background:#1e2330;background:var(--bg3);color:#e8eaf0;color:var(--text)}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;min-height:300px}.loading-logo{animation:pulse 1.8s ease-in-out infinite;height:64px;width:64px}.loading-title{color:#e8eaf0;color:var(--text);font-size:15px;font-weight:500}.loading-sub{color:#555c6e;color:var(--text3);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:12px}.loading-ring{animation:spin .8s linear infinite;border:2px solid #ffffff24;border-top-color:#4a9eff;border:2px solid var(--border2);border-radius:50%;border-top-color:var(--blue);height:36px;width:36px}@media print{#sidebar,.chart-actions,.filter-bar,.theme-toggle,.topbar{display:none!important}body{background:#fff!important;color:#000!important}.chart-card{break-inside:avoid;page-break-inside:avoid}}@media (max-width:700px){#sidebar{display:none}.charts-row{grid-template-columns:1fr}}.topbar{align-items:center;background:#161923;background:var(--bg2);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:14px;padding:12px 24px}.topbar-title{color:#e8eaf0;color:var(--text);flex:1 1;font-size:14px;font-weight:500;min-width:120px}.date-group{align-items:center;display:flex;gap:8px}.date-group label{color:#8b90a0;color:var(--text2);font-size:11px}.date-group input[type=date]{background:#1e2330;background:var(--bg3);border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius);color:#e8eaf0;color:var(--text);color-scheme:dark;font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:12px;outline:none;padding:5px 10px;transition:border-color .15s}.date-group input[type=date]:focus{border-color:#4a9eff;border-color:var(--blue)}.btn{background:#0000;border:1px solid #ffffff24;border:1px solid var(--border2);border-radius:8px;border-radius:var(--radius);color:#8b90a0;color:var(--text2);cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-family:var(--font);font-size:12px;font-weight:500;padding:6px 16px;transition:all .15s}.btn:hover{background:#ffffff0d;color:#e8eaf0;color:var(--text)}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-primary{background:#4a9eff;background:var(--blue);border-color:#4a9eff;border-color:var(--blue);color:#0a1628;font-weight:600}.btn-primary:hover{background:#6cb0ff;border-color:#6cb0ff;color:#0a1628}#content{flex:1 1;overflow-y:auto;padding:24px;scrollbar-color:#1e2330 #0000;scrollbar-color:var(--bg3) #0000;scrollbar-width:thin}#content::-webkit-scrollbar{width:5px}#content::-webkit-scrollbar-track{background:#0000}#content::-webkit-scrollbar-thumb{background:#1e2330;background:var(--bg3);border-radius:99px}.empty-state{align-items:center;color:#8b90a0;color:var(--text2);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;min-height:300px;text-align:center}.empty-icon{font-size:36px;opacity:.4}.empty-title{color:#e8eaf0;color:var(--text);font-size:15px;font-weight:500}.empty-sub{color:#8b90a0;color:var(--text2);font-size:13px;line-height:1.6;max-width:340px}.section-hdr{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}.section-hdr h2{color:#8b90a0;color:var(--text2);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.section-hdr span{color:#555c6e;color:var(--text3);font-family:IBM Plex Mono,monospace;font-family:var(--mono);font-size:11px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#071520;--s1:#0a1e2e;--s2:#0f2740;--s3:#143352;--b1:#1a3a52;--b2:#1f4560;--b3:#2a5570;--tx:#e8f4fb;--tx2:#7a97ab;--tx3:#3f738d;--ima-blue:#00b2e3;--ima-navy:#3f738d;--ima-dark:#004d71;--ima-teal:#00bbb4;--ima-accent:#ff9e18;--ima-green:#6abf4b;--ima-gray1:#7a97ab;--ima-gray2:#a5bac9;--ima-gray3:#dae1e9;--primary:#00b2e3;--primary-dim:#00b2e31f;--teal:#00bbb4;--teal-dim:#00bbb41f;--green:#6abf4b;--green-dim:#6abf4b1f;--orange:#ff9e18;--orange-dim:#ff9e181f;--red:#e05252;--red-dim:#e052521f;--purple:#8b7ef8;--purple-dim:#8b7ef81f;--warn:#ff9e18;--warn-dim:#ff9e181f;--mono:"JetBrains Mono",monospace;--sans:"Inter",sans-serif;--r:6px}[data-theme=light]{--bg:#f0f6fb;--s1:#fff;--s2:#e8f2f9;--s3:#d8eaf5;--b1:#c8dde9;--b2:#b0ccd9;--b3:#90b5c8;--tx:#071520;--tx2:#3f738d;--tx3:#7a97ab}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#071520;background:var(--bg);color:#e8f4fb;color:var(--tx);font-family:Inter,sans-serif;font-family:var(--sans);font-size:13px;line-height:1.5;transition:background .2s,color .2s}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0a1e2e;background:var(--s1)}::-webkit-scrollbar-thumb{background:#2a5570;background:var(--b3);border-radius:3px}::selection{background:#00b2e3;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scanPulse{0%{box-shadow:0 0 0 0 #00b2e366}70%{box-shadow:0 0 0 8px #00b2e300}to{box-shadow:0 0 0 0 #00b2e300}}.fade-in{animation:fadeIn .2s ease forwards}.scanning-pulse{animation:scanPulse 1.5s ease-out infinite}
/*# sourceMappingURL=main.17ccf76e.css.map*/