/*
 * Eve Chat Panel Layout — Shared across all pages (TICKET-094)
 *
 * Standard right-side collapsible chat panel.
 * Exception: intake mode flips to left side with ratio swap.
 *
 * Usage:
 *   <div class="page-layout">
 *     <div class="page-content"> ... </div>
 *     <div class="eve-panel" id="evePanel">
 *       <div id="eveChatContainer"></div>
 *     </div>
 *   </div>
 *
 * Collapse/expand:
 *   toggleEvePanel() — toggles collapsed state, persists to localStorage
 */

/* Container: flex row with content + eve panel */
.page-layout {
    display: flex;
    height: calc(100vh - 56px); /* Below header */
    overflow: hidden;
}

.page-content {
    flex: 1 1 auto;
    overflow-y: auto;
    min-width: 0;
}

/* Eve Panel — right side, fixed width, collapsible */
.eve-panel {
    flex: 0 0 480px;
    width: 480px;
    border-left: 1px solid #2d3548;
    background: #0f1219;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: flex 0.3s ease, width 0.3s ease, opacity 0.2s ease;
    position: relative;
}

.eve-panel #eveChatContainer,
.eve-panel [id$="ChatContainer"] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Collapsed state */
.eve-panel.collapsed {
    flex: 0 0 0px;
    width: 0px;
    border-left: none;
    overflow: hidden;
    opacity: 0;
}

/* Re-open tab — only visible when panel is collapsed */
.eve-panel-toggle {
    display: none; /* Hidden by default; shown when panel-collapsed class is applied */
    position: fixed;
    right: 0;
    bottom: 120px;
    z-index: 200;
    padding: 10px 14px 10px 12px;
    border-radius: 8px 0 0 8px;
    background: #1e3a5f;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-right: none;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.01em;
    cursor: pointer;
    align-items: center;
    gap: 7px;
    box-shadow: -2px 0 12px rgba(0, 0, 0, 0.25);
    transition: background 0.15s, color 0.15s;
}

.eve-panel-toggle:hover {
    background: #264d80;
    color: #fff;
}

/* Show only when collapsed */
.eve-panel-toggle.panel-collapsed {
    display: flex;
}

/* Responsive */
@media (max-width: 1024px) {
    .eve-panel {
        flex: 0 0 400px;
        width: 400px;
    }
}

@media (max-width: 768px) {
    .page-layout {
        flex-direction: column;
    }
    .eve-panel {
        width: 100%;
        height: 350px;
        border-left: none;
        border-top: 1px solid #2d3548;
    }
    .eve-panel.collapsed {
        height: 0px;
        border-top: none;
    }
}

/* ================================================
 * Intake exception: chat on LEFT, content on RIGHT
 * ================================================ */
.intake-layout {
    display: flex;
    height: 100%;
    width: 100%;
}

.intake-layout .eve-panel-intake {
    flex: 6;
    display: flex;
    flex-direction: column;
    background: #1a1f2e;
    border-right: 1px solid #2d3548;
    min-width: 300px;
    transition: flex 0.3s ease;
}

.intake-layout .intake-content {
    flex: 4;
    overflow-y: auto;
}

.intake-layout.swapped .eve-panel-intake {
    flex: 3.5;
}

.intake-layout.swapped .intake-content {
    flex: 6.5;
}
