/*
    Conference Unified Stylesheet
    适用于：会议通知、会议主题、分会场页面
*/

/* ===========================
   全局变量定义 (主题色)
   =========================== */
:root {
    --primary-color: #2f6f4e;
    --primary-hover: #265a43;
    --secondary-color: #5a8c6d;
    --bg-white: #ffffff;
    --bg-subtle: #f9faf7;
    --border-color: #d8e3d5;
    --accent-bg: #eef4eb;
    --text-main: #333;
    --text-secondary: #555;
    --text-muted: #666;
    --container-max-width: 1200px;
    --content-padding: 40px 56px;
    --line-height-base: 1.85;
    --line-height-heading: 1.4;

    --conf-theme-header-bg:  var(--primary-color);
    --conf-theme-header-border-bottom: var(--primary-hover);
    --conf-theme-support-header-bg: var(--primary-color);
    --conf-theme-subtitle-text:#265a43;
}

/* ===========================
   基础排版重置
   =========================== */
main {
    font-family:
        "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--text-main);
    line-height: var(--line-height-base);
    font-size: 16px;
    background-color: #f5f7fa;
}

.support_box {
    font-size: 14px;
}

.infogrid .text {
    font-size: 14px;
}

.infogrid .text p{
    margin: 0 0 0 0;
}
/* ===========================
   主容器 (.conference-page)
   现在它既是页面容器，也是通知内容的载体
   =========================== */
.conference-page {
    max-width: var(--container-max-width);
    margin: 24px auto;
    padding: var(--content-padding);
    background: var(--bg-white);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}

/* ===========================
   标题通用样式
   =========================== */
.conference-page h2 {
    font-size: 26px;
    margin-top: 36px;
    margin-bottom: 20px;
    padding-left: 14px;
    border-left: 5px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: 700;
    line-height: var(--line-height-heading);
    letter-spacing: 1px;
}

.conference-page h3 {
    font-size: 18px;
    margin-top: 24px;
    margin-bottom: 12px;
    color: var(--secondary-color);
    font-weight: 600;
    line-height: 1.5;
}

/* ===========================
   段落与列表 (统一左对齐)
   =========================== */
.conference-page p {
    margin: 12px 0;
    text-align: justify;
    line-height: var(--line-height-base);
}

.conference-page ul,
.conference-page ol {
    margin: 12px 0 20px 0;
    list-style-position: inside;
    line-height: var(--line-height-base);
}

.conference-page li {
    margin-bottom: 8px;
    padding-left: 6px;
}

/* 链接样式 */
.conference-page a {
    color: var(--primary-color);
    text-decoration: none;
    border-bottom: 1px dashed var(--border-color);
    transition: all 0.25s ease;
}

.conference-page a:hover {
    color: var(--primary-hover);
    border-bottom-color: var(--primary-color);
}

/* ===========================
   会议通知页特有的内容样式
   （现在直接作用于 .conference-page 内的元素）
   =========================== */

/* 引言段落 */
.conference-page .lead {
    font-size: 17px;
    color: var(--secondary-color);
    font-weight: 500;
}

.conference-page .indent2{
    text-indent: 2em;
}

/* 分割线 */
.conference-page .divider {
    margin: 36px 0;
    border: none;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        var(--border-color),
        transparent
    );
}

/* 委员会文字 */
.conference-page .committee {
    margin: 6px 0;
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.9;
    word-break: keep-all;
}

/* 高亮提示框 */
.conference-page .highlight-box {
    background: var(--accent-bg);
    border-left: 4px solid var(--primary-color);
    padding: 14px 18px;
    border-radius: 4px;
    font-weight: 600;
    color: var(--primary-color);
    line-height: inherit;
}

.conference-page .closing{
    font-size: 18px;
    color: var(--primary-color);
}

/* 落款 */
.conference-page .signature {
    text-align: right;
    margin-top: 40px;
    font-size: 16px;
    color: var(--primary-color);
    line-height: 1.8;
}

/* ===========================
   会议主题页 (.conference-page 下的特定组件)
   =========================== */

/* Header 区域 */
.conference-page header {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 18px;
    margin-bottom: 36px;
}

.conference-page .title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

/* PDF 下载按钮 */
.conference-page .i-button.icon-file-pdf {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 4px;
    font-size: 14px;
    border: none;
    cursor: pointer;
    transition: background 0.25s ease;
}

.conference-page .i-button.icon-file-pdf::before {
    content: "📥";
    font-size: 16px;
}

.conference-page .i-button.icon-file-pdf:hover {
    background: var(--primary-hover);
}

/* 分会场列表卡片 (仅在会议主题页出现的结构) */
.conference-page .tracks {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.conference-page .tracks > li {
    border: 1px solid var(--border-color);
    border-left: 5px solid var(--primary-color);
    border-radius: 6px;
    padding: 20px 24px;
    background: var(--bg-subtle);
    transition: box-shadow 0.25s ease;
}

.conference-page .tracks > li:hover {
    box-shadow: 0 4px 12px rgba(47, 111, 78, 0.08);
}

/* 分会场标题 (覆盖通用 h3 样式，如需不同可在此调整) */
.conference-page .track-title h3 {
    margin-top: 0; /* 卡片内标题不需要顶部外边距 */
    margin-bottom: 0;
    color: var(--primary-color); /* 卡片内标题用主色 */
}

/* 召集人信息 */
.conference-page .description.editor-output {
    margin-top: 12px;
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.9;
}

/* ===========================
   日程表宽度溢出修复
   =========================== */

/* 1. 核心：限制日程表容器的最大宽度，并允许横向滚动 */
.conference-page #timetable {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    box-sizing: border-box;
}

/* 2. 修复 jQuery UI Tabs 的固定宽度 */
.conference-page .ui-tabs {
    width: 100% !important; /* 覆盖内联 style="width: 710px" */
    max-width: 100%;
    box-sizing: border-box;
}

/* 3. 修复内部网格和画布的固定宽度 */
.conference-page #timetable_grid,
.conference-page #timetable_canvas,
.conference-page .ui-tabs > div > div[style*="width"] {
    width: 100% !important; /* 强制覆盖内联宽度 */
    max-width: 100% !important;
    box-sizing: border-box;
}

/* 4. 修复时间表块的定位（防止绝对定位溢出） */
.conference-page .timetableBlock {
    max-width: calc(100% - 55px); /* 减去左侧时间轴的宽度 */
    box-sizing: border-box;
}

/* 5. 修复选项卡导航的溢出 */
.conference-page .ui-tabs-nav {
    display: flex;
    flex-wrap: wrap; /* 允许选项卡换行 */
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.conference-page .ui-tabs-tab {
    float: none !important; /* 取消浮动，使用 flex */
    flex-grow: 1;
    text-align: center;
    white-space: nowrap;
}

/* 6. 修复选项卡滚动按钮（通常不需要显示，除非选项卡过多） */
.conference-page .tab-scroll-button {
    display: none !important; /* 隐藏左右滚动箭头，改用换行 */
}

/* 7. 修复“草稿模式”警告框的宽度 */
.conference-page #draft-mode-warning {
    max-width: 100%;
    box-sizing: border-box;
}

.conference-page #draft-mode-warning .section {
    flex-wrap: wrap; /* 允许内部元素换行 */
    gap: 12px;
}

/* 8. 修复打印/全屏等按钮容器 */
.conference-page .tabExtraButtons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    justify-content: flex-start;
}

/* 9. 移动端优化 */
@media (max-width: 768px) {
    :root {
        --content-padding: 24px 18px;
    }

    body {
        font-size: 15px;
        background-color: var(--bg-white);
    }

    .conference-page {
        margin: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .conference-page h2 {
        font-size: 22px;
        line-height: 1.35;
    }

    .conference-page h3 {
        font-size: 17px;
        line-height: 1.45;
    }

    .conference-page .title {
        flex-direction: column;
        gap: 12px;
    }

    .conference-page .toolbar {
        align-self: flex-start;
    }

    .conference-page .committee {
        line-height: 1.8;
    }
    .conference-page .ui-tabs-nav {
        flex-direction: column;
        border-bottom: none;
    }

    .conference-page .ui-tabs-tab {
        margin-bottom: 4px;
        border-radius: 4px !important;
        border: 1px solid var(--border-color) !important;
    }

    .conference-page .ui-tabs-tab.ui-state-active {
        background-color: var(--primary-color) !important;
    }

    .conference-page .ui-tabs-tab.ui-state-active a {
        color: white !important;
    }

    .conference-page .tabExtraButtons {
        justify-content: center;
    }

    .conference-page .timetableBlock {
        max-width: 100%;
        left: 0 !important;
        margin-left: 8px;
        margin-right: 8px;
    }
}