.dashboard-widget-header[data-v-0e938939]{align-items:center;background:var(--dc-widget-header);border-bottom:1px solid var(--dc-widget-border);cursor:grab;display:flex;flex-shrink:0;gap:4px;justify-content:space-between;min-height:28px;padding:3px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dashboard-widget-header[data-v-0e938939]:active{cursor:grabbing}.header-left[data-v-0e938939]{align-items:center;display:flex;min-width:0}.widget-title[data-v-0e938939]{color:var(--dc-text);font-size:11px;font-weight:600;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.header-actions[data-v-0e938939]{align-items:center;display:flex;gap:1px}.header-separator[data-v-0e938939]{background:var(--dc-widget-border);height:12px;margin:0 3px;width:1px}.widget-btn[data-v-0e938939]{align-items:center;background:transparent;border:none;border-radius:3px;color:var(--dc-text-muted);cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;transition:background .15s,color .15s;width:18px}.widget-btn svg[data-v-0e938939]{height:10px;width:10px}.widget-btn svg circle[data-v-0e938939],.widget-btn svg path[data-v-0e938939],.widget-btn svg rect[data-v-0e938939]{stroke-width:1.5}.widget-btn[data-v-0e938939]:hover{background:var(--dc-hover-bg);color:var(--dc-text)}.widget-btn-action[data-v-0e938939],.widget-btn-action[data-v-0e938939]:hover{color:var(--dc-accent,#3b82f6)}.widget-btn-action[data-v-0e938939]:hover{background:#3b82f61a}.widget-btn-close[data-v-0e938939]:hover{background:#ef444426;color:#ef4444}.widget-btn-layers[data-v-0e938939]{color:var(--dc-accent,#3b82f6)}.widget-btn-layers[data-v-0e938939]:hover{background:#3b82f61a}.widget-btn-pinned[data-v-0e938939]{background:#f59e0b26;color:#f59e0b}.widget-btn-pinned[data-v-0e938939]:hover{background:#f59e0b40}.tabbed-table-container[data-v-bc9db47f]{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;width:100%}.tabs-header[data-v-bc9db47f]{align-items:center;border-bottom:1px solid rgba(0,0,0,.06);display:flex;flex-shrink:0;gap:0;padding:0 4px 6px}[data-theme=dark] .tabs-header[data-v-bc9db47f],html.dark .tabs-header[data-v-bc9db47f]{border-bottom-color:#ffffff0f}.tab-title[data-v-bc9db47f]{color:#374151;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:-.01em;padding:6px 0}[data-theme=dark] .tab-title[data-v-bc9db47f],html.dark .tab-title[data-v-bc9db47f]{color:#e4e6ea}.tab-button[data-v-bc9db47f]{background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;margin-bottom:-1px;padding:6px 12px;transition:all .15s ease}.tab-button[data-v-bc9db47f]:hover{color:#374151}.tab-button.active[data-v-bc9db47f]{border-bottom-color:#3b82f6;color:#3b82f6}[data-theme=dark] .tab-button[data-v-bc9db47f],html.dark .tab-button[data-v-bc9db47f]{color:#8b949e}[data-theme=dark] .tab-button[data-v-bc9db47f]:hover,html.dark .tab-button[data-v-bc9db47f]:hover{color:#c9d1d9}[data-theme=dark] .tab-button.active[data-v-bc9db47f],html.dark .tab-button.active[data-v-bc9db47f]{border-bottom-color:#58a6ff;color:#58a6ff}.tabs-actions[data-v-bc9db47f]{display:flex;gap:4px;margin-left:auto}.action-btn[data-v-bc9db47f]{background:transparent;border:none;border-radius:4px;color:#3b82f6;cursor:pointer;font-size:13px;padding:4px 8px;transition:background .15s}.action-btn[data-v-bc9db47f]:hover{background:#3b82f61a}[data-theme=dark] .action-btn[data-v-bc9db47f],html.dark .action-btn[data-v-bc9db47f]{color:#58a6ff}[data-theme=dark] .action-btn[data-v-bc9db47f]:hover,html.dark .action-btn[data-v-bc9db47f]:hover{background:#58a6ff1a}.table-content[data-v-bc9db47f]{flex:1 1 auto;min-height:0;overflow:hidden}.scrollable-table[data-v-bc9db47f]{background-color:var(--color-surface-raised,#fff);border:none;box-sizing:border-box;height:100%;overflow:auto;position:relative;width:100%}[data-theme=dark] .scrollable-table[data-v-bc9db47f],html.dark .scrollable-table[data-v-bc9db47f]{background-color:#141a23}.scrollable-table table[data-v-bc9db47f]{border:none;border-collapse:collapse;border-spacing:0;table-layout:auto;width:100%}.scrollable-table th[data-v-bc9db47f]{background-color:var(--color-surface-raised,#f9fafb);border-bottom:1px solid rgba(0,0,0,.06);border-right:1px solid rgba(0,0,0,.02);color:var(--color-text-tertiary,#6b7280);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:10px;font-weight:600;height:36px;letter-spacing:.03em;overflow:hidden;padding:6px 4px;position:sticky;text-align:center;text-overflow:ellipsis;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.scrollable-table th[data-v-bc9db47f]:first-child{border-left:none}.scrollable-table th[data-v-bc9db47f]:last-child{border-right:none}[data-theme=dark] .scrollable-table th[data-v-bc9db47f],html.dark .scrollable-table th[data-v-bc9db47f]{background-color:#1b222d;border-bottom:1px solid hsla(0,0%,100%,.06);border-right:1px solid hsla(0,0%,100%,.02);color:#8b949e}.header-cell[data-v-bc9db47f]{align-items:center;display:flex;gap:2px;justify-content:center;min-width:36px}.header-text[data-v-bc9db47f]{cursor:pointer}.fa-arrow-down[data-v-bc9db47f],.fa-arrow-up[data-v-bc9db47f]{color:#9ca3af;font-size:8px}.scrollable-table td[data-v-bc9db47f]{background-color:var(--color-surface,#fff);border-bottom:1px solid rgba(0,0,0,.02);border-right:1px solid rgba(0,0,0,.02);box-sizing:border-box;color:var(--color-text-primary,#374151);font-family:Inter,system-ui,sans-serif;font-size:12px;font-variant-numeric:tabular-nums;font-weight:450;height:28px;overflow:hidden;padding:4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.scrollable-table td[data-v-bc9db47f]:first-child{border-left:none}.scrollable-table td[data-v-bc9db47f]:last-child{border-right:none}[data-theme=dark] .scrollable-table td[data-v-bc9db47f],html.dark .scrollable-table td[data-v-bc9db47f]{background-color:#141a23;border-bottom:1px solid hsla(0,0%,100%,.02);border-right:1px solid hsla(0,0%,100%,.02);color:#e4e6ea}.scrollable-table td[data-v-bc9db47f]:first-child,.scrollable-table th[data-v-bc9db47f]:first-child{border-right:1px solid rgba(0,0,0,.06);font-weight:500;left:0;position:sticky;z-index:5}.scrollable-table th[data-v-bc9db47f]:first-child{background-color:var(--color-surface-raised,#f9fafb);z-index:15}.scrollable-table td[data-v-bc9db47f]:first-child{background-color:var(--color-surface,#fff)}[data-theme=dark] .scrollable-table th[data-v-bc9db47f]:first-child,html.dark .scrollable-table th[data-v-bc9db47f]:first-child{background-color:#1b222d;border-right:1px solid hsla(0,0%,100%,.06)}[data-theme=dark] .scrollable-table td[data-v-bc9db47f]:first-child,html.dark .scrollable-table td[data-v-bc9db47f]:first-child{background-color:#141a23;border-right:1px solid hsla(0,0%,100%,.06)}tbody tr[data-v-bc9db47f]{background-color:var(--color-surface,#fff)}tbody tr:hover td[data-v-bc9db47f]{background-color:var(--color-hover-bg,#f9fafb)}[data-theme=dark] tbody tr[data-v-bc9db47f],html.dark tbody tr[data-v-bc9db47f]{background-color:#141a23}[data-theme=dark] tbody tr:hover td[data-v-bc9db47f],html.dark tbody tr:hover td[data-v-bc9db47f]{background-color:#1f2937}tbody tr:hover td[data-v-bc9db47f]:first-child{background-color:var(--color-hover-bg,#f9fafb)}[data-theme=dark] tbody tr:hover td[data-v-bc9db47f]:first-child,html.dark tbody tr:hover td[data-v-bc9db47f]:first-child{background-color:#1f2937}.bottom-text[data-v-bc9db47f],.top-text[data-v-bc9db47f]{display:block;font-size:11px;line-height:1.2}.top-text[data-v-bc9db47f]{margin-bottom:1px}.positive[data-v-bc9db47f]{color:#16a34a!important}.negative[data-v-bc9db47f]{color:#dc2626!important}[data-theme=dark] .positive[data-v-bc9db47f],html.dark .positive[data-v-bc9db47f]{color:#4ade80!important}[data-theme=dark] .negative[data-v-bc9db47f],html.dark .negative[data-v-bc9db47f]{color:#f87171!important}.loader-space[data-v-bc9db47f]{height:224px}.loading-container[data-v-bc9db47f]{align-items:center;background:#ffffffe6;display:flex;justify-content:center;inset:36px 0 0;position:absolute;z-index:50}[data-theme=dark] .loading-container[data-v-bc9db47f],html.dark .loading-container[data-v-bc9db47f]{background:#141a23e6}.loading-container .fa-spin[data-v-bc9db47f]{color:#6b7280;font-size:18px}[data-theme=dark] .loading-container .fa-spin[data-v-bc9db47f],html.dark .loading-container .fa-spin[data-v-bc9db47f]{color:#9ca3af}.no-grid-lines td[data-v-bc9db47f]{border:none!important}.dashboard-canvas-wrapper{--dc-canvas-bg:#e8e8e8;--dc-widget-bg:#fff;--dc-widget-header:#f9fafb;--dc-widget-border:#e5e7eb;--dc-text:#111827;--dc-text-muted:#6b7280;--dc-hover-bg:rgba(0,0,0,.04);--dc-accent:#3b82f6;--dc-accent-subtle:rgba(59,130,246,.1);--dc-shadow:0 1px 3px rgba(0,0,0,.1);--dc-shadow-lg:0 4px 12px rgba(0,0,0,.1);--dc-overlay:rgba(0,0,0,.5);--dc-guide:rgba(0,0,0,.1);--dc-transition-fast:.15s ease;--dc-transition:.2s ease}.dark .dashboard-canvas-wrapper,[data-theme=dark] .dashboard-canvas-wrapper,html.dark .dashboard-canvas-wrapper{--dc-canvas-bg:#0d1117;--dc-widget-bg:#161b22;--dc-widget-header:#21262d;--dc-widget-border:#30363d;--dc-text:#f0f6fc;--dc-text-muted:#8b949e;--dc-hover-bg:hsla(0,0%,100%,.05);--dc-accent:#3b82f6;--dc-accent-subtle:rgba(59,130,246,.15);--dc-shadow:0 1px 3px rgba(0,0,0,.3);--dc-shadow-lg:0 4px 12px rgba(0,0,0,.4);--dc-overlay:rgba(0,0,0,.7);--dc-guide:hsla(0,0%,100%,.08)}.dashboard-canvas-wrapper{background:var(--dc-canvas-bg);height:100%;overflow:auto;position:relative;width:100%}.dashboard-canvas-wrapper.has-taskbar{height:calc(100% - 28px)}.dashboard-canvas{background:var(--dc-canvas-bg);position:relative}.alignment-guide{background:var(--dc-guide);pointer-events:none;position:absolute;z-index:1000}.alignment-guide.vertical{width:1px}.alignment-guide.horizontal{height:1px}.dashboard-widget{background:var(--dc-widget-bg);border:1px solid var(--dc-widget-border);border-radius:4px;box-shadow:var(--dc-shadow);position:absolute;transition:border-color var(--dc-transition-fast),box-shadow var(--dc-transition-fast)}.dashboard-widget-active{border-color:var(--dc-accent);box-shadow:var(--dc-shadow-lg)}.dashboard-widget-maximized{border-color:#3b82f64d}.dashboard-widget-dragging{cursor:grabbing;opacity:.9}.dashboard-widget-resizing{opacity:.95}.interaction-overlay{background:transparent;cursor:inherit;inset:0;position:fixed;z-index:999999}.widget-container{border-radius:3px;display:flex;flex-direction:column;height:100%;width:100%}.widget-body,.widget-container{overflow:hidden;position:relative}.widget-body{background:var(--dc-widget-bg);flex:1;height:calc(100% - 28px)}.widget-body .tabbed-table-container{display:flex;flex-direction:column;height:100%}.widget-body .table-content{flex:1;min-height:0;overflow:hidden}.widget-body .scrollable-table{height:100%;overflow:auto}.widget-loading{align-items:center;display:flex;height:100%;justify-content:center}.loading-spinner{animation:dc-spin .8s linear infinite;border:2px solid var(--dc-widget-border);border-radius:50%;border-top-color:var(--dc-accent);height:24px;width:24px}@keyframes dc-spin{to{transform:rotate(1turn)}}.taskbar{align-items:center;background:var(--dc-widget-header);border-top:1px solid var(--dc-widget-border);bottom:0;display:flex;gap:4px;height:28px;left:0;padding:0 4px;position:fixed;right:0;z-index:200}.taskbar-item{background:var(--dc-widget-bg);border:1px solid var(--dc-widget-border);border-radius:4px;color:var(--dc-text);cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:background var(--dc-transition-fast),border-color var(--dc-transition-fast);white-space:nowrap}.taskbar-item:hover{background:var(--dc-hover-bg);border-color:var(--dc-accent)}.fab-add{align-items:center;background:#3b82f6d9;border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:grab;display:flex;height:44px;justify-content:center;position:fixed;transition:background var(--dc-transition-fast),transform var(--dc-transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:44px;z-index:9999}.fab-add svg{height:20px;pointer-events:none;width:20px}.fab-add:hover{background:#3b82f6}.fab-add.fab-dragging{cursor:grabbing;transform:scale(1.05)}.modal-overlay{--dc-widget-bg:#fff;--dc-widget-header:#f9fafb;--dc-widget-border:#e5e7eb;--dc-text:#111827;--dc-text-muted:#6b7280;--dc-hover-bg:rgba(0,0,0,.04);--dc-accent:#3b82f6;--dc-overlay:rgba(0,0,0,.5);--dc-shadow-lg:0 4px 12px rgba(0,0,0,.15);--dc-transition-fast:.15s ease;align-items:center;background:var(--dc-overlay);display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.dark .modal-overlay,[data-theme=dark] .modal-overlay,html.dark .modal-overlay{--dc-widget-bg:#161b22;--dc-widget-header:#21262d;--dc-widget-border:#30363d;--dc-text:#f0f6fc;--dc-text-muted:#8b949e;--dc-hover-bg:hsla(0,0%,100%,.05);--dc-overlay:rgba(0,0,0,.7);--dc-shadow-lg:0 4px 12px rgba(0,0,0,.4)}.modal-container{background:var(--dc-widget-bg);border:1px solid var(--dc-widget-border);border-radius:6px;box-shadow:var(--dc-shadow-lg);max-height:80vh;max-width:400px;overflow:hidden;width:90%}.modal-header{align-items:center;background:var(--dc-widget-header);border-bottom:1px solid var(--dc-widget-border);display:flex;justify-content:space-between;padding:12px 16px}.modal-header h3{color:var(--dc-text);font-size:14px;font-weight:600;margin:0}.modal-close{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--dc-text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.modal-close svg{height:16px;width:16px;stroke-width:2}.modal-close:hover{background:var(--dc-hover-bg)}.modal-body{max-height:calc(80vh - 56px);overflow-y:auto;padding:12px 16px}.modal-section{margin-bottom:16px}.modal-section:last-child{margin-bottom:0}.modal-section-title{border-bottom:1px solid var(--dc-widget-border);color:var(--dc-text);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;text-transform:uppercase}.modal-action-btn,.modal-actions-grid{display:flex;gap:8px}.modal-action-btn{align-items:center;background:var(--dc-widget-header);border:1px solid var(--dc-widget-border);border-radius:4px;color:var(--dc-text);cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:background var(--dc-transition-fast),border-color var(--dc-transition-fast)}.modal-action-btn:hover{background:var(--dc-hover-bg);border-color:var(--dc-accent)}.modal-action-btn svg{height:16px;width:16px;stroke-width:1.5;color:var(--dc-accent)}.add-table-list{display:flex;flex-direction:column;gap:4px}.add-table-btn{align-items:center;background:transparent;border:1px solid var(--dc-widget-border);border-radius:4px;color:var(--dc-text);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:10px;padding:8px 12px;text-align:left;transition:background var(--dc-transition-fast),border-color var(--dc-transition-fast);width:100%}.add-table-btn:hover{background:var(--dc-hover-bg);border-color:var(--dc-accent)}.add-table-btn svg{height:16px;width:16px;stroke-width:1.5;color:var(--dc-accent);flex-shrink:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--dc-transition)}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active,.modal-leave-active{transition:opacity var(--dc-transition)}.modal-enter-active .modal-container,.modal-leave-active .modal-container{transition:transform var(--dc-transition)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-container,.modal-leave-to .modal-container{transform:scale(.95)}.taskbar-enter-active,.taskbar-leave-active{transition:transform var(--dc-transition),opacity var(--dc-transition)}.taskbar-enter-from,.taskbar-leave-to{opacity:0;transform:translateY(100%)}@media (max-width:767px){.dashboard-canvas-wrapper{max-width:100vw;overflow:hidden}.dashboard-widget{height:350px!important;left:0!important;margin-bottom:4px;position:relative!important;top:auto!important;width:100%!important}.dashboard-canvas{display:flex;flex-direction:column;height:auto!important;min-height:auto;width:100%!important}}.dashboard-page[data-v-d6b3cd11]{height:calc(100vh - 55px);overflow:hidden;width:100%}@media (max-width:767px){.dashboard-page[data-v-d6b3cd11]{height:calc(100vh - 108px - env(safe-area-inset-bottom));max-width:100vw;overflow-x:hidden;overflow-y:auto}}
