:root{--color-brand-primary: #3b82f6;--color-brand-hover: #2563eb;--color-background-primary: #0f172a;--color-background-secondary: #1e293b;--color-background-tertiary: #334155;--color-background-highlight: #1e293b;--color-surface-glass: rgba(30, 41, 59, .85);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-disabled: #475569;--color-border-primary: #334155;--color-border-secondary: #475569;--color-accent-success: #10b981;--color-accent-success-bg: rgba(16, 185, 129, .15);--color-accent-error: #ef4444;--color-accent-error-bg: rgba(239, 68, 68, .15);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--font-family: "Inter", sans-serif}[data-theme=light]{--color-background-primary: #f1f5f9;--color-background-secondary: #ffffff;--color-background-tertiary: #f8fafc;--color-background-highlight: #e2e8f0;--color-surface-glass: rgba(255, 255, 255, .9);--color-text-primary: #0f172a;--color-text-secondary: #64748b;--color-text-disabled: #cbd5e1;--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{margin:0;font-family:var(--font-family);background-color:var(--color-background-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}select,input{font-family:inherit}.top-navbar[data-v-1f745f67]{position:sticky;top:0;z-index:100;width:100%;height:60px;background-color:var(--color-surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-primary)}.nav-container[data-v-1f745f67]{max-width:1600px;margin:0 auto;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem}.left-section[data-v-1f745f67],.right-section[data-v-1f745f67]{display:flex;align-items:center;gap:1.5rem}.brand a[data-v-1f745f67]{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);text-decoration:none;letter-spacing:-.02em}.brand-accent[data-v-1f745f67]{color:var(--color-brand-primary)}.nav-links[data-v-1f745f67]{display:flex;gap:.5rem;height:100%}.nav-link[data-v-1f745f67]{display:flex;align-items:center;padding:0 1rem;margin:12px 0;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:.9rem;transition:all .2s ease}.nav-link[data-v-1f745f67]:hover:not(.disabled){color:var(--color-text-primary);background-color:var(--color-background-tertiary)}.nav-link.active[data-v-1f745f67]{color:var(--color-text-primary);background-color:var(--color-background-tertiary);font-weight:600}.nav-link.disabled[data-v-1f745f67]{color:var(--color-text-disabled);cursor:not-allowed}.logout-btn[data-v-1f745f67]{font-size:.85rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .2s;margin-left:1rem}.logout-btn[data-v-1f745f67]:hover{color:var(--color-accent-error)}#theme-toggle-checkbox[data-v-1f745f67]{display:none}.toggle-label[data-v-1f745f67]{display:block;cursor:pointer;width:46px;height:24px;background-color:var(--color-background-tertiary);border:1px solid var(--color-border-secondary);border-radius:99px;position:relative;transition:background-color .2s ease,border-color .2s ease}.toggle-thumb[data-v-1f745f67]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background-color:var(--color-text-primary);box-shadow:0 1px 2px #0000004d;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;color:var(--color-background-primary)}.toggle-thumb svg[data-v-1f745f67]{position:absolute;transition:opacity .2s ease}.sun[data-v-1f745f67]{opacity:1}.moon[data-v-1f745f67]{opacity:0}#theme-toggle-checkbox:checked+.toggle-label .toggle-thumb[data-v-1f745f67]{transform:translate(22px)}#theme-toggle-checkbox:checked+.toggle-label .sun[data-v-1f745f67]{opacity:0}#theme-toggle-checkbox:checked+.toggle-label .moon[data-v-1f745f67]{opacity:1}@media (max-width: 768px){.nav-container[data-v-1f745f67]{padding:0 1rem}.nav-link[data-v-1f745f67]{padding:0 .75rem;font-size:.85rem}}.app-shell[data-v-1306fb91]{display:grid;grid-template-rows:60px 1fr;height:100vh;width:100vw;background-color:var(--color-background-primary);color:var(--color-text-primary);overflow:hidden}.app-content[data-v-1306fb91]{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.controls[data-v-0e264e6c]{display:flex;flex-direction:row;gap:.5rem;align-items:flex-end;flex-wrap:nowrap;padding:.25rem 0;width:100%}.control-group[data-v-0e264e6c]{display:flex;flex-direction:column;min-width:70px;flex:1;flex-shrink:0}label[data-v-0e264e6c]{margin-bottom:.2rem;font-size:10px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.select-wrapper[data-v-0e264e6c]{position:relative;width:100%}select[data-v-0e264e6c]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;padding:.35rem 1.25rem .35rem .5rem;font-size:12px;background-color:var(--color-background-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);line-height:1.25;cursor:pointer;transition:border-color .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .1rem center;background-repeat:no-repeat;background-size:1.1em 1.1em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}select[data-v-0e264e6c]:hover{border-color:var(--color-text-secondary)}select[data-v-0e264e6c]:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #3b82f626}.table-container[data-v-e6f7a11d]{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--color-background-tertiary);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-primary)}.table-content[data-v-e6f7a11d]{flex:1;overflow-y:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}table[data-v-e6f7a11d]{width:100%;border-collapse:collapse;border-spacing:0;height:100%;min-width:300px;table-layout:fixed}th[data-v-e6f7a11d]{background-color:var(--color-background-secondary);color:var(--color-text-secondary);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.02em;padding:0 2px;height:32px;text-align:right;position:relative;border-bottom:1px solid var(--color-border-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td[data-v-e6f7a11d]{padding:0 2px;border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:.75rem;font-weight:400;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background-color .1s ease;height:28px;overflow:hidden}tbody tr:last-child td[data-v-e6f7a11d]{border-bottom:none}th[data-v-e6f7a11d]:last-child,td[data-v-e6f7a11d]:last-child{padding-right:24px}.center-align[data-v-e6f7a11d]{text-align:center!important}.left-align[data-v-e6f7a11d]{text-align:left!important}.num[data-v-e6f7a11d]{font-family:Inter,sans-serif}.total[data-v-e6f7a11d]{font-weight:600}tbody tr:hover td[data-v-e6f7a11d]{background-color:var(--color-background-highlight);cursor:pointer}.atm-row td[data-v-e6f7a11d]{background-color:#10b9811a;font-weight:600}.atm-row td[data-v-e6f7a11d]:first-child{border-left:3px solid var(--color-accent-success)}.custom-checkbox[data-v-e6f7a11d]{accent-color:var(--color-brand-primary);width:14px;height:14px;cursor:pointer;vertical-align:middle;opacity:.8}.loading-state[data-v-e6f7a11d]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--color-text-secondary);font-size:.9rem;background-color:var(--color-background-tertiary)}.spinner[data-v-e6f7a11d]{width:24px;height:24px;border:2px solid var(--color-border-secondary);border-top-color:var(--color-brand-primary);border-radius:50%;animation:spin-e6f7a11d .8s linear infinite}@keyframes spin-e6f7a11d{to{transform:rotate(360deg)}}.base-chart-root[data-v-30f11b2e]{width:100%;height:100%;position:relative;overflow:hidden}.base-chart-container[data-v-30f11b2e]{position:absolute;top:0;left:0;right:0;bottom:0}.reset-btn[data-v-30f11b2e]{position:absolute;top:10px;right:50px;z-index:50;background-color:var(--color-accent-success-bg);color:var(--color-accent-success);border:none;padding:5px 12px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0000004d}.chart-wrapper[data-v-0454a545]{position:relative;height:100%;width:100%;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background-color:var(--color-background-tertiary);overflow:hidden;margin:0;box-shadow:var(--shadow-sm)}.no-charts-message[data-v-0454a545]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:var(--color-text-secondary);font-size:.95rem;text-align:center;padding:1rem}.stats-container[data-v-55d9fe89]{display:flex;gap:.5rem;align-items:center;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;height:100%;padding-bottom:4px;white-space:nowrap}.stats-container[data-v-55d9fe89]::-webkit-scrollbar{display:none}.stat-pill[data-v-55d9fe89]{display:flex;flex-direction:column;background-color:var(--color-background-primary);border:1px solid var(--color-border-primary);padding:.3rem .5rem;border-radius:var(--radius-md);min-width:60px;flex-shrink:0;transition:transform .2s}.stat-pill[data-v-55d9fe89]:hover{border-color:var(--color-border-secondary)}.label[data-v-55d9fe89]{font-size:.65rem;color:var(--color-text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.05em;margin-bottom:.1rem}.value[data-v-55d9fe89]{font-size:.9rem;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1.1}.stat-pill.highlight[data-v-55d9fe89]{border-color:var(--color-accent-success);background-color:var(--color-accent-success-bg)}.stat-pill.highlight .value[data-v-55d9fe89]{color:var(--color-accent-success)}.analytics-frame[data-v-f95d1468]{background-color:var(--color-background-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:1.5rem;position:relative;margin-bottom:0;box-shadow:var(--shadow-md);transition:box-shadow .3s ease}.analytics-frame[data-v-f95d1468]:hover{box-shadow:var(--shadow-lg)}.remove-frame-btn[data-v-f95d1468]{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:0;line-height:1;z-index:5;opacity:.5;transition:opacity .2s,color .2s}.remove-frame-btn[data-v-f95d1468]:hover{opacity:1;color:var(--color-accent-error)}.content-grid[data-v-f95d1468]{display:grid;gap:1rem;width:100%}.content-grid[data-v-f95d1468]{grid-template-columns:1fr;grid-template-areas:"controls" "stats" "table" "chart";grid-auto-rows:auto}@media (min-width: 1024px){.content-grid[data-v-f95d1468]{grid-template-columns:380px 1fr;grid-template-rows:auto 360px;grid-template-areas:"controls stats" "table    chart";align-items:end}.grid-area-stats[data-v-f95d1468]{justify-self:end}}.grid-area-controls[data-v-f95d1468]{grid-area:controls}.grid-area-stats[data-v-f95d1468]{grid-area:stats;width:100%}.grid-area-table[data-v-f95d1468]{grid-area:table;height:100%;min-height:320px;width:100%;overflow:hidden;min-width:0}.grid-area-chart[data-v-f95d1468]{grid-area:chart;height:100%;min-height:320px;width:100%}.status-indicator[data-v-bec7207b]{font-weight:700;padding:4px 8px;border-radius:12px}.connected[data-v-bec7207b]{color:var(--color-accent-primary);background-color:var(--color-accent-primary-bg)}.disconnected[data-v-bec7207b]{color:var(--color-accent-error);background-color:var(--color-accent-error-bg)}.dashboard-layout[data-v-a342dff0]{padding:0 1.5rem 2rem;max-width:1600px;margin:0 auto}.frame-manager[data-v-a342dff0]{position:sticky;top:0;z-index:90;background-color:var(--color-background-primary);padding:1.25rem 0;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -4px #0000001a}.frame-controls[data-v-a342dff0]{display:flex;align-items:center;gap:0;background:var(--color-background-secondary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--color-border-primary)}.frame-controls button[data-v-a342dff0]{background-color:transparent;border:none;color:var(--color-text-primary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.frame-controls button[data-v-a342dff0]:hover:not(:disabled){background-color:var(--color-background-tertiary)}.frame-controls button[data-v-a342dff0]:disabled{opacity:.3;cursor:not-allowed}.frame-count[data-v-a342dff0]{font-weight:600;font-size:.85rem;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;display:inline-block;min-width:80px;text-align:center}.frames-grid[data-v-a342dff0]{display:grid;grid-template-columns:1fr;gap:2rem}.login-wrapper[data-v-b29825ba]{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-background-primary);padding:1rem}.login-card[data-v-b29825ba]{width:100%;max-width:400px;padding:2.5rem;background-color:var(--color-background-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.header[data-v-b29825ba]{text-align:center;margin-bottom:2rem}.header h1[data-v-b29825ba]{margin:0 0 .5rem;font-size:1.75rem;color:var(--color-text-primary)}.header p[data-v-b29825ba]{margin:0;color:var(--color-text-secondary)}.form-group[data-v-b29825ba]{margin-bottom:1.25rem}label[data-v-b29825ba]{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}input[data-v-b29825ba]{width:100%;padding:.75rem;border:1px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);border-radius:var(--radius-md);box-sizing:border-box;transition:all .2s}input[data-v-b29825ba]:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 2px #3b82f633}button[data-v-b29825ba]{width:100%;padding:.75rem;margin-top:.5rem;background:var(--color-brand-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s}button[data-v-b29825ba]:hover:not(:disabled){background:var(--color-brand-hover)}button[data-v-b29825ba]:disabled{opacity:.7;cursor:wait}.error-banner[data-v-b29825ba]{background-color:var(--color-accent-error-bg);color:var(--color-accent-error);padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1.25rem;text-align:center}
