var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { BaseDashboard } from '@memberjunction/ng-shared';
import { RegisterClass } from '@memberjunction/global';
import { Subject } from 'rxjs';
import { debounceTime } from 'rxjs/operators';
import { SharedService } from '@memberjunction/ng-shared';
import * as i0 from "@angular/core";
import * as i1 from "./communication-monitor-resource.component";
import * as i2 from "./communication-logs-resource.component";
import * as i3 from "./communication-providers-resource.component";
import * as i4 from "./communication-runs-resource.component";
import * as i5 from "./communication-templates-resource.component";
function CommunicationDashboardComponent_Case_47_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "mj-communication-monitor-resource");
} }
function CommunicationDashboardComponent_Case_47_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 23);
    i0.ɵɵconditionalCreate(1, CommunicationDashboardComponent_Case_47_Conditional_1_Template, 1, 0, "mj-communication-monitor-resource");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r0.hasVisited("monitor") ? 1 : -1);
} }
function CommunicationDashboardComponent_Case_48_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "mj-communication-logs-resource");
} }
function CommunicationDashboardComponent_Case_48_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 23);
    i0.ɵɵconditionalCreate(1, CommunicationDashboardComponent_Case_48_Conditional_1_Template, 1, 0, "mj-communication-logs-resource");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r0.hasVisited("logs") ? 1 : -1);
} }
function CommunicationDashboardComponent_Case_49_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "mj-communication-providers-resource");
} }
function CommunicationDashboardComponent_Case_49_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 23);
    i0.ɵɵconditionalCreate(1, CommunicationDashboardComponent_Case_49_Conditional_1_Template, 1, 0, "mj-communication-providers-resource");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r0.hasVisited("providers") ? 1 : -1);
} }
function CommunicationDashboardComponent_Case_50_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "mj-communication-templates-resource");
} }
function CommunicationDashboardComponent_Case_50_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 23);
    i0.ɵɵconditionalCreate(1, CommunicationDashboardComponent_Case_50_Conditional_1_Template, 1, 0, "mj-communication-templates-resource");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r0.hasVisited("templates") ? 1 : -1);
} }
function CommunicationDashboardComponent_Case_51_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "mj-communication-runs-resource");
} }
function CommunicationDashboardComponent_Case_51_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 23);
    i0.ɵɵconditionalCreate(1, CommunicationDashboardComponent_Case_51_Conditional_1_Template, 1, 0, "mj-communication-runs-resource");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r0 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r0.hasVisited("runs") ? 1 : -1);
} }
let CommunicationDashboardComponent = class CommunicationDashboardComponent extends BaseDashboard {
    cdr;
    isLoading = false;
    isRefreshing = false;
    activeTab = 'monitor';
    selectedIndex = 0;
    visitedTabs = new Set();
    navigationItems = ['monitor', 'logs', 'providers', 'templates', 'runs', 'settings'];
    stateChangeSubject = new Subject();
    constructor(cdr) {
        super();
        this.cdr = cdr;
        this.setupStateManagement();
    }
    async GetResourceDisplayName(data) {
        return "Communications";
    }
    ngAfterViewInit() {
        this.visitedTabs.add(this.activeTab);
        this.emitStateChange();
        this.cdr.detectChanges();
    }
    ngOnDestroy() {
        super.ngOnDestroy();
        this.stateChangeSubject.complete();
    }
    onTabChange(tabId) {
        this.activeTab = tabId;
        const index = this.navigationItems.indexOf(tabId);
        this.selectedIndex = index >= 0 ? index : 0;
        setTimeout(() => {
            SharedService.Instance.InvokeManualResize();
        }, 100);
        this.visitedTabs.add(tabId);
        this.emitStateChange();
        this.cdr.markForCheck();
    }
    hasVisited(tabId) {
        return this.visitedTabs.has(tabId);
    }
    onRefresh() {
        this.isRefreshing = true;
        this.cdr.markForCheck();
        setTimeout(() => {
            this.isRefreshing = false;
            this.cdr.markForCheck();
        }, 1000);
    }
    setupStateManagement() {
        this.stateChangeSubject.pipe(debounceTime(50)).subscribe(state => {
            this.UserStateChanged.emit(state);
        });
    }
    emitStateChange() {
        const state = {
            activeTab: this.activeTab
        };
        this.stateChangeSubject.next(state);
    }
    loadUserState(state) {
        if (state.activeTab) {
            this.activeTab = state.activeTab;
            const index = this.navigationItems.indexOf(state.activeTab);
            this.selectedIndex = index >= 0 ? index : 0;
            this.visitedTabs.add(state.activeTab);
        }
        this.cdr.markForCheck();
    }
    initDashboard() {
        try {
            this.isLoading = true;
        }
        catch (error) {
            console.error('Error initializing Communication dashboard:', error);
            this.Error.emit(new Error('Failed to initialize Communication dashboard. Please try again.'));
        }
        finally {
            this.isLoading = false;
        }
    }
    loadData() {
        if (this.Config?.userState) {
            setTimeout(() => {
                if (this.Config?.userState) {
                    this.loadUserState(this.Config.userState);
                }
            }, 0);
        }
        this.NotifyLoadComplete();
    }
    getCurrentTabLabel() {
        const tabIndex = this.navigationItems.indexOf(this.activeTab);
        const labels = ['Monitor', 'Logs', 'Providers', 'Templates', 'Runs', 'Settings'];
        return tabIndex >= 0 ? labels[tabIndex] : 'Communication Management';
    }
    static ɵfac = function CommunicationDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CommunicationDashboardComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommunicationDashboardComponent, selectors: [["mj-communication-dashboard"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 52, vars: 15, consts: [[1, "communication-dashboard-container"], [1, "studio-toolbar"], [1, "toolbar-brand"], [1, "brand-icon"], [1, "fa-solid", "fa-satellite-dish"], [1, "brand-label"], [1, "toolbar-divider"], [1, "toolbar-spacer"], [1, "tb-btn", 3, "click"], [1, "fa-solid", "fa-rotate"], [1, "dashboard-body"], [1, "sidebar"], [1, "sidebar-section-label"], [1, "nav-item", 3, "click"], [1, "fa-solid", "fa-chart-line"], [1, "fa-solid", "fa-list-ul"], [1, "fa-solid", "fa-server"], [1, "fa-solid", "fa-file-lines"], [1, "fa-solid", "fa-play-circle"], [1, "sidebar-footer"], [1, "fa-solid", "fa-gear"], [1, "main-content"], [1, "tab-container"], [1, "tab-content"]], template: function CommunicationDashboardComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
            i0.ɵɵelement(4, "i", 4);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(5, "span", 5);
            i0.ɵɵtext(6, "Communications");
            i0.ɵɵelementEnd()();
            i0.ɵɵelement(7, "div", 6)(8, "div", 7);
            i0.ɵɵelementStart(9, "button", 8);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_button_click_9_listener() { return ctx.onRefresh(); });
            i0.ɵɵelement(10, "i", 9);
            i0.ɵɵtext(11, " Refresh ");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(12, "div", 10)(13, "div", 11)(14, "div", 12);
            i0.ɵɵtext(15, "Dashboard");
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(16, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_16_listener() { return ctx.onTabChange("monitor"); });
            i0.ɵɵelement(17, "i", 14);
            i0.ɵɵelementStart(18, "span");
            i0.ɵɵtext(19, "Monitor");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(20, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_20_listener() { return ctx.onTabChange("logs"); });
            i0.ɵɵelement(21, "i", 15);
            i0.ɵɵelementStart(22, "span");
            i0.ɵɵtext(23, "Message Logs");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(24, "div", 12);
            i0.ɵɵtext(25, "Configuration");
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(26, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_26_listener() { return ctx.onTabChange("providers"); });
            i0.ɵɵelement(27, "i", 16);
            i0.ɵɵelementStart(28, "span");
            i0.ɵɵtext(29, "Providers");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(30, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_30_listener() { return ctx.onTabChange("templates"); });
            i0.ɵɵelement(31, "i", 17);
            i0.ɵɵelementStart(32, "span");
            i0.ɵɵtext(33, "Templates");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(34, "div", 12);
            i0.ɵɵtext(35, "Operations");
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(36, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_36_listener() { return ctx.onTabChange("runs"); });
            i0.ɵɵelement(37, "i", 18);
            i0.ɵɵelementStart(38, "span");
            i0.ɵɵtext(39, "Bulk Runs");
            i0.ɵɵelementEnd()();
            i0.ɵɵelementStart(40, "div", 19)(41, "div", 13);
            i0.ɵɵlistener("click", function CommunicationDashboardComponent_Template_div_click_41_listener() { return ctx.onTabChange("settings"); });
            i0.ɵɵelement(42, "i", 20);
            i0.ɵɵelementStart(43, "span");
            i0.ɵɵtext(44, "Settings");
            i0.ɵɵelementEnd()()()();
            i0.ɵɵelementStart(45, "div", 21)(46, "div", 22);
            i0.ɵɵconditionalCreate(47, CommunicationDashboardComponent_Case_47_Template, 2, 1, "div", 23)(48, CommunicationDashboardComponent_Case_48_Template, 2, 1, "div", 23)(49, CommunicationDashboardComponent_Case_49_Template, 2, 1, "div", 23)(50, CommunicationDashboardComponent_Case_50_Template, 2, 1, "div", 23)(51, CommunicationDashboardComponent_Case_51_Template, 2, 1, "div", 23);
            i0.ɵɵelementEnd()()()();
        } if (rf & 2) {
            let tmp_7_0;
            i0.ɵɵadvance(10);
            i0.ɵɵclassProp("spinning", ctx.isRefreshing);
            i0.ɵɵadvance(6);
            i0.ɵɵclassProp("selected", ctx.activeTab === "monitor");
            i0.ɵɵadvance(4);
            i0.ɵɵclassProp("selected", ctx.activeTab === "logs");
            i0.ɵɵadvance(6);
            i0.ɵɵclassProp("selected", ctx.activeTab === "providers");
            i0.ɵɵadvance(4);
            i0.ɵɵclassProp("selected", ctx.activeTab === "templates");
            i0.ɵɵadvance(6);
            i0.ɵɵclassProp("selected", ctx.activeTab === "runs");
            i0.ɵɵadvance(5);
            i0.ɵɵclassProp("selected", ctx.activeTab === "settings");
            i0.ɵɵadvance(6);
            i0.ɵɵconditional((tmp_7_0 = ctx.activeTab) === "monitor" ? 47 : tmp_7_0 === "logs" ? 48 : tmp_7_0 === "providers" ? 49 : tmp_7_0 === "templates" ? 50 : tmp_7_0 === "runs" ? 51 : -1);
        } }, dependencies: [i1.CommunicationMonitorResourceComponent, i2.CommunicationLogsResourceComponent, i3.CommunicationProvidersResourceComponent, i4.CommunicationRunsResourceComponent, i5.CommunicationTemplatesResourceComponent], styles: [".communication-dashboard-container[_ngcontent-%COMP%] {\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n    width: 100%;\n    background: var(--mj-bg-surface);\n    color: var(--mj-text-primary);\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    overflow: hidden;\n}\n\n\n\n.studio-toolbar[_ngcontent-%COMP%] {\n    display: flex;\n    align-items: center;\n    padding: 0 12px;\n    background: var(--mj-bg-surface-card);\n    border-bottom: 1px solid var(--mj-border-default);\n    min-height: 48px;\n    gap: 8px;\n    flex-shrink: 0;\n}\n\n.toolbar-brand[_ngcontent-%COMP%] {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 0 8px;\n}\n\n.brand-icon[_ngcontent-%COMP%] {\n    width: 32px;\n    height: 32px;\n    border-radius: 8px;\n    background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--mj-brand-primary);\n    font-size: 14px;\n}\n\n.brand-label[_ngcontent-%COMP%] {\n    font-weight: 700;\n    font-size: 14px;\n    color: var(--mj-text-primary);\n    letter-spacing: -0.01em;\n}\n\n.toolbar-divider[_ngcontent-%COMP%] {\n    width: 1px;\n    height: 24px;\n    background: var(--mj-border-default);\n    margin: 0 4px;\n}\n\n.toolbar-spacer[_ngcontent-%COMP%] {\n    flex: 1;\n}\n\n.tb-btn[_ngcontent-%COMP%] {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 12px;\n    border: 1px solid var(--mj-border-default);\n    border-radius: 4px;\n    background: var(--mj-bg-surface-card);\n    color: var(--mj-text-secondary);\n    font-size: 12px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    font-family: inherit;\n}\n\n.tb-btn[_ngcontent-%COMP%]:hover {\n    background: var(--mj-bg-surface-sunken);\n    border-color: var(--mj-border-strong);\n    color: var(--mj-text-primary);\n}\n\n.tb-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n    font-size: 12px;\n}\n\n@keyframes _ngcontent-%COMP%_spin {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n}\n\n.spinning[_ngcontent-%COMP%] {\n    animation: _ngcontent-%COMP%_spin 1s linear infinite;\n}\n\n\n\n.dashboard-body[_ngcontent-%COMP%] {\n    display: flex;\n    flex: 1;\n    overflow: hidden;\n}\n\n\n\n.sidebar[_ngcontent-%COMP%] {\n    width: 220px;\n    background: var(--mj-bg-surface-card);\n    border-right: 1px solid var(--mj-border-default);\n    padding: 12px 8px;\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    flex-shrink: 0;\n}\n\n.sidebar-section-label[_ngcontent-%COMP%] {\n    font-size: 10px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n    color: var(--mj-text-muted);\n    padding: 12px 12px 6px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 10px 12px;\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    color: var(--mj-text-secondary);\n    font-size: 13px;\n    font-weight: 500;\n}\n\n.nav-item[_ngcontent-%COMP%]:hover {\n    background: var(--mj-bg-surface-sunken);\n    color: var(--mj-text-primary);\n}\n\n.nav-item.selected[_ngcontent-%COMP%] {\n    background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n    color: var(--mj-brand-primary);\n    font-weight: 600;\n}\n\n.nav-item[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n    width: 18px;\n    text-align: center;\n    font-size: 13px;\n}\n\n.sidebar-footer[_ngcontent-%COMP%] {\n    margin-top: auto;\n    padding-top: 8px;\n    border-top: 1px solid var(--mj-border-default);\n}\n\n\n\n.main-content[_ngcontent-%COMP%] {\n    flex: 1;\n    overflow-y: auto;\n    overflow-x: hidden;\n    background: var(--mj-bg-surface);\n}\n\n.tab-container[_ngcontent-%COMP%] {\n    height: 100%;\n}\n\n.tab-content[_ngcontent-%COMP%] {\n    height: 100%;\n}"], changeDetection: 0 });
};
CommunicationDashboardComponent = __decorate([
    RegisterClass(BaseDashboard, 'CommunicationDashboard')
], CommunicationDashboardComponent);
export { CommunicationDashboardComponent };
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommunicationDashboardComponent, [{
        type: Component,
        args: [{ standalone: false, selector: 'mj-communication-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"communication-dashboard-container\">\n  <!-- TOOLBAR -->\n  <div class=\"studio-toolbar\">\n    <div class=\"toolbar-brand\">\n      <div class=\"brand-icon\"><i class=\"fa-solid fa-satellite-dish\"></i></div>\n      <span class=\"brand-label\">Communications</span>\n    </div>\n    <div class=\"toolbar-divider\"></div>\n    <div class=\"toolbar-spacer\"></div>\n    <button class=\"tb-btn\" (click)=\"onRefresh()\">\n      <i class=\"fa-solid fa-rotate\" [class.spinning]=\"isRefreshing\"></i> Refresh\n    </button>\n  </div>\n\n  <!-- BODY -->\n  <div class=\"dashboard-body\">\n    <!-- SIDEBAR -->\n    <div class=\"sidebar\">\n      <div class=\"sidebar-section-label\">Dashboard</div>\n      <div class=\"nav-item\" [class.selected]=\"activeTab === 'monitor'\"\n        (click)=\"onTabChange('monitor')\">\n        <i class=\"fa-solid fa-chart-line\"></i>\n        <span>Monitor</span>\n      </div>\n      <div class=\"nav-item\" [class.selected]=\"activeTab === 'logs'\"\n        (click)=\"onTabChange('logs')\">\n        <i class=\"fa-solid fa-list-ul\"></i>\n        <span>Message Logs</span>\n      </div>\n\n      <div class=\"sidebar-section-label\">Configuration</div>\n      <div class=\"nav-item\" [class.selected]=\"activeTab === 'providers'\"\n        (click)=\"onTabChange('providers')\">\n        <i class=\"fa-solid fa-server\"></i>\n        <span>Providers</span>\n      </div>\n      <div class=\"nav-item\" [class.selected]=\"activeTab === 'templates'\"\n        (click)=\"onTabChange('templates')\">\n        <i class=\"fa-solid fa-file-lines\"></i>\n        <span>Templates</span>\n      </div>\n\n      <div class=\"sidebar-section-label\">Operations</div>\n      <div class=\"nav-item\" [class.selected]=\"activeTab === 'runs'\"\n        (click)=\"onTabChange('runs')\">\n        <i class=\"fa-solid fa-play-circle\"></i>\n        <span>Bulk Runs</span>\n      </div>\n\n      <div class=\"sidebar-footer\">\n        <div class=\"nav-item\" [class.selected]=\"activeTab === 'settings'\"\n          (click)=\"onTabChange('settings')\">\n          <i class=\"fa-solid fa-gear\"></i>\n          <span>Settings</span>\n        </div>\n      </div>\n    </div>\n\n    <!-- MAIN CONTENT -->\n    <div class=\"main-content\">\n      <div class=\"tab-container\">\n        @switch (activeTab) {\n          @case ('monitor') {\n            <div class=\"tab-content\">\n              @if (hasVisited('monitor')) {\n                <mj-communication-monitor-resource></mj-communication-monitor-resource>\n              }\n            </div>\n          }\n          @case ('logs') {\n            <div class=\"tab-content\">\n              @if (hasVisited('logs')) {\n                <mj-communication-logs-resource></mj-communication-logs-resource>\n              }\n            </div>\n          }\n          @case ('providers') {\n            <div class=\"tab-content\">\n              @if (hasVisited('providers')) {\n                <mj-communication-providers-resource></mj-communication-providers-resource>\n              }\n            </div>\n          }\n          @case ('templates') {\n            <div class=\"tab-content\">\n              @if (hasVisited('templates')) {\n                <mj-communication-templates-resource></mj-communication-templates-resource>\n              }\n            </div>\n          }\n          @case ('runs') {\n            <div class=\"tab-content\">\n              @if (hasVisited('runs')) {\n                <mj-communication-runs-resource></mj-communication-runs-resource>\n              }\n            </div>\n          }\n        }\n      </div>\n    </div>\n  </div>\n</div>\n", styles: [".communication-dashboard-container {\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n    width: 100%;\n    background: var(--mj-bg-surface);\n    color: var(--mj-text-primary);\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    overflow: hidden;\n}\n\n/* TOOLBAR */\n.studio-toolbar {\n    display: flex;\n    align-items: center;\n    padding: 0 12px;\n    background: var(--mj-bg-surface-card);\n    border-bottom: 1px solid var(--mj-border-default);\n    min-height: 48px;\n    gap: 8px;\n    flex-shrink: 0;\n}\n\n.toolbar-brand {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 0 8px;\n}\n\n.brand-icon {\n    width: 32px;\n    height: 32px;\n    border-radius: 8px;\n    background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--mj-brand-primary);\n    font-size: 14px;\n}\n\n.brand-label {\n    font-weight: 700;\n    font-size: 14px;\n    color: var(--mj-text-primary);\n    letter-spacing: -0.01em;\n}\n\n.toolbar-divider {\n    width: 1px;\n    height: 24px;\n    background: var(--mj-border-default);\n    margin: 0 4px;\n}\n\n.toolbar-spacer {\n    flex: 1;\n}\n\n.tb-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 12px;\n    border: 1px solid var(--mj-border-default);\n    border-radius: 4px;\n    background: var(--mj-bg-surface-card);\n    color: var(--mj-text-secondary);\n    font-size: 12px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    font-family: inherit;\n}\n\n.tb-btn:hover {\n    background: var(--mj-bg-surface-sunken);\n    border-color: var(--mj-border-strong);\n    color: var(--mj-text-primary);\n}\n\n.tb-btn i {\n    font-size: 12px;\n}\n\n@keyframes spin {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n}\n\n.spinning {\n    animation: spin 1s linear infinite;\n}\n\n/* BODY LAYOUT */\n.dashboard-body {\n    display: flex;\n    flex: 1;\n    overflow: hidden;\n}\n\n/* SIDEBAR */\n.sidebar {\n    width: 220px;\n    background: var(--mj-bg-surface-card);\n    border-right: 1px solid var(--mj-border-default);\n    padding: 12px 8px;\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    flex-shrink: 0;\n}\n\n.sidebar-section-label {\n    font-size: 10px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.8px;\n    color: var(--mj-text-muted);\n    padding: 12px 12px 6px;\n}\n\n.nav-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 10px 12px;\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all 0.15s ease;\n    color: var(--mj-text-secondary);\n    font-size: 13px;\n    font-weight: 500;\n}\n\n.nav-item:hover {\n    background: var(--mj-bg-surface-sunken);\n    color: var(--mj-text-primary);\n}\n\n.nav-item.selected {\n    background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n    color: var(--mj-brand-primary);\n    font-weight: 600;\n}\n\n.nav-item i {\n    width: 18px;\n    text-align: center;\n    font-size: 13px;\n}\n\n.sidebar-footer {\n    margin-top: auto;\n    padding-top: 8px;\n    border-top: 1px solid var(--mj-border-default);\n}\n\n/* MAIN CONTENT */\n.main-content {\n    flex: 1;\n    overflow-y: auto;\n    overflow-x: hidden;\n    background: var(--mj-bg-surface);\n}\n\n.tab-container {\n    height: 100%;\n}\n\n.tab-content {\n    height: 100%;\n}\n"] }]
    }], () => [{ type: i0.ChangeDetectorRef }], null); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommunicationDashboardComponent, { className: "CommunicationDashboardComponent", filePath: "src/Communication/communication-dashboard.component.ts", lineNumber: 21 }); })();
//# sourceMappingURL=communication-dashboard.component.js.map