.meeting-preview-page { --primary-blue: #3c70f5; --bg-surface: #ffffff; --bg-app: #f5f6fa; --bg-muted: #f9fafe; --border-color: #e6e6e6; --text-main: #333333; --text-secondary: #606775; height: 100vh; display: flex; flex-direction: column; overflow: hidden; color: var(--text-main); background: var(--bg-app); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif; } .meeting-preview-header { display: none; } .meeting-preview-container { flex: 1; min-height: 0; overflow-y: auto; } .meeting-preview-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 40px; } .meeting-preview-loading, .meeting-preview-empty { display: flex; flex-direction: column; gap: 16px; } .meeting-preview-card, .meeting-preview-content-card, .meeting-preview-collapsible-section, .meeting-preview-password-card { border: 1px solid var(--border-color); border-radius: 4px; background: var(--bg-surface); } .meeting-preview-hero, .meeting-preview-section { padding: 16px; } .meeting-preview-top-hero { display: flex; align-items: flex-start; gap: 16px; padding: 16px; margin-bottom: 16px; border: 1px solid var(--border-color); border-radius: 4px; background: var(--bg-surface); } .meeting-preview-hero-logo { flex: 0 0 auto; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 4px; color: var(--primary-blue); background: #eef4ff; font-size: 22px; } .meeting-preview-hero-content { min-width: 0; flex: 1; } .meeting-preview-hero-title { margin: 0 0 10px; color: var(--text-main); font-size: 24px; font-weight: 600; line-height: 32px; letter-spacing: 0; word-break: break-word; } .meeting-preview-hero-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .meeting-preview-status-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: 4px; border: 1px solid transparent; font-size: 13px; font-weight: 500; line-height: 20px; } .meeting-preview-status-tag.is-complete { color: #1f7a45; border-color: #bfe5cf; background: #edf8f2; } .meeting-preview-status-tag.is-processing { color: #2c5fd8; border-color: #bfd1ff; background: #eef4ff; } .meeting-preview-status-tag.is-warning { color: #a35a00; border-color: #f5d8a8; background: #fff7e8; } .meeting-preview-hero-id { color: var(--text-secondary); font-size: 13px; } .meeting-preview-collapsible-section { margin-bottom: 16px; overflow: hidden; } .meeting-preview-collapsible-trigger { min-height: 48px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; background: var(--bg-muted); border-bottom: 1px solid transparent; } .meeting-preview-collapsible-trigger:hover { background: #f3f6fd; } .meeting-preview-collapsible-trigger .trigger-left, .meeting-preview-collapsible-trigger .trigger-right { display: inline-flex; align-items: center; gap: 8px; color: var(--text-main); font-size: 14px; font-weight: 600; } .meeting-preview-collapsible-content { max-height: 0; overflow: hidden; transition: max-height 0.2s ease; } .meeting-preview-collapsible-content.is-expanded { max-height: 420px; border-top: 1px solid var(--border-color); } .meeting-preview-metrics-grid { padding: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .metric-item { min-width: 0; display: flex; flex-direction: column; gap: 6px; } .metric-item-full { grid-column: 1 / -1; } .metric-label { color: #9095a1; font-size: 13px; font-weight: 400; line-height: 20px; letter-spacing: 0; } .metric-value { min-width: 0; display: flex; align-items: center; color: var(--text-main); font-size: 14px; font-weight: 500; line-height: 22px; word-break: break-word; } .metric-value__icon { margin-right: 8px; color: var(--primary-blue); } .meeting-preview-muted-icon { color: var(--text-secondary); } .meeting-preview-inline-icon { margin-right: 6px; } .metric-tags { display: flex; flex-wrap: wrap; gap: 8px; } .metric-tag, .meeting-preview-record-tag { min-height: 26px; display: inline-flex; align-items: center; justify-content: center; padding: 2px 10px; border: 1px solid #d8e3ff; border-radius: 4px; color: #2f5edb; background: #f3f7ff; font-size: 13px; font-weight: 500; line-height: 20px; } .meeting-preview-share-bar { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 16px; } .meeting-preview-share-bar .ant-btn { min-width: 112px; } .share-btn-primary, .share-btn-ghost { height: 40px !important; border-radius: 4px !important; padding: 0 16px !important; font-weight: 500 !important; } .share-btn-ghost { border: 1px solid var(--border-color) !important; background: #ffffff !important; } .meeting-preview-layout-full, .meeting-preview-main { min-width: 0; } .meeting-preview-content-card { min-height: 560px; overflow: hidden; display: flex; flex-direction: column; } .meeting-preview-tabs-container { padding: 0 16px; background: #ffffff; border-bottom: 1px solid var(--border-color); } .meeting-preview-tabs-container .ant-tabs-nav { margin-bottom: 0; } .meeting-preview-tabs-container .ant-tabs-nav::before { border-bottom: none; } .meeting-preview-tabs-container .ant-tabs-tab { margin-left: 0 !important; padding: 14px 16px !important; font-size: 14px; font-weight: 500; } .meeting-preview-tabs-container .ant-tabs-tab + .ant-tabs-tab { margin-left: 4px !important; } .meeting-preview-tab-content { flex: 1; min-height: 0; padding: 16px; background: var(--bg-muted); } .meeting-preview-tab-panel { min-width: 0; } .meeting-preview-summary-box { margin-bottom: 16px; padding: 14px; border: 1px solid var(--border-color); border-radius: 4px; background: #ffffff; } .meeting-preview-summary-section-title { margin-bottom: 10px; color: #606775; font-size: 14px; font-weight: 600; line-height: 22px; letter-spacing: 0; } .meeting-preview-record-tags { display: flex; flex-wrap: wrap; gap: 8px; } .meeting-preview-keywords-empty { color: #9095a1; font-size: 14px; } .meeting-preview-markdown { color: var(--text-main); font-size: 14px; line-height: 1.8; overflow-x: auto; } .meeting-preview-markdown h1, .meeting-preview-markdown h2, .meeting-preview-markdown h3 { margin: 20px 0 10px; color: #333333; font-weight: 600; letter-spacing: 0; } .meeting-preview-markdown h1 { font-size: 22px; } .meeting-preview-markdown h2 { font-size: 18px; } .meeting-preview-markdown h3 { font-size: 16px; } .meeting-preview-markdown p { margin: 0 0 12px; } .meeting-preview-markdown ul, .meeting-preview-markdown ol { margin: 0 0 12px; padding-left: 22px; } .meeting-preview-section-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; } .meeting-preview-section-title { margin: 0; color: var(--text-main); font-size: 18px; font-weight: 600; line-height: 28px; letter-spacing: 0; } .meeting-preview-section-extra { flex: 0 0 auto; color: #606775; font-size: 13px; } .meeting-preview-alert { margin-bottom: 16px; border-radius: 4px; } .meeting-preview-catalog-list { display: flex; flex-direction: column; padding-bottom: 8px; } .meeting-preview-catalog-item-container { display: flex; gap: 12px; padding: 0 4px; } .meeting-preview-catalog-item-container.active .meeting-preview-catalog-item-card { border-color: #9cb8ff; background: #f3f7ff; } .meeting-preview-catalog-timeline-axis { position: relative; flex: 0 0 16px; display: flex; justify-content: center; } .meeting-preview-catalog-timeline-dot { position: relative; z-index: 1; width: 8px; height: 8px; margin-top: 24px; border-radius: 50%; background: var(--primary-blue); } .meeting-preview-catalog-timeline-line { position: absolute; top: 0; bottom: 0; width: 1px; background: #dbe3f2; } .meeting-preview-catalog-item-container:first-child .meeting-preview-catalog-timeline-line { top: 24px; } .meeting-preview-catalog-item-container:last-child .meeting-preview-catalog-timeline-line { bottom: calc(100% - 32px); } .meeting-preview-catalog-item-card { flex: 1; min-width: 0; margin-bottom: 12px; padding: 14px 16px; border: 1px solid var(--border-color); border-radius: 4px; background: #ffffff; cursor: pointer; } .meeting-preview-catalog-item-card:hover { border-color: #9cb8ff; background: #f9fbff; } .meeting-preview-catalog-item-time { margin-bottom: 4px; color: var(--primary-blue); font-size: 13px; font-weight: 600; line-height: 20px; } .meeting-preview-catalog-item-title-row { min-width: 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .meeting-preview-catalog-item-title { min-width: 0; color: var(--text-main); font-size: 15px; font-weight: 600; line-height: 24px; word-break: break-word; } .meeting-preview-catalog-item-link { flex: 0 0 auto; min-height: 28px; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border: 1px solid #d8e3ff; border-radius: 4px; color: var(--primary-blue); background: #ffffff; font-size: 12px; font-weight: 500; cursor: pointer; } .meeting-preview-catalog-item-link:hover { background: #eef4ff; } .meeting-preview-transcript-list { display: flex; flex-direction: column; gap: 12px; padding-bottom: 96px; } .meeting-preview-transcript-item { position: relative; display: flex; gap: 12px; padding: 12px; border: 1px solid transparent; border-radius: 4px; background: transparent; cursor: pointer; } .meeting-preview-transcript-item:hover { border-color: var(--border-color); background: #ffffff; } .meeting-preview-transcript-item.is-linked { border-color: #d8e3ff; background: #f3f7ff; } .meeting-preview-transcript-item.is-active { border-color: #9cb8ff; background: #ffffff; } .meeting-preview-transcript-avatar { position: sticky; top: 12px; flex: 0 0 auto; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 4px; color: #ffffff; font-size: 14px; font-weight: 600; } .meeting-preview-transcript-content { flex: 1; min-width: 0; } .meeting-preview-transcript-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; } .meeting-preview-transcript-speaker { min-width: 0; color: var(--text-main); font-size: 14px; font-weight: 600; line-height: 22px; } .meeting-preview-transcript-time { flex: 0 0 auto; padding: 2px 8px; border-radius: 4px; color: #606775; background: #eef1f6; font-size: 12px; line-height: 18px; } .meeting-preview-transcript-text { color: #333333; font-size: 15px; font-weight: 400; line-height: 1.8; word-break: break-word; } .meeting-preview-audio-player-inline { position: fixed; z-index: 1000; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(720px, calc(100% - 32px)); min-height: 64px; display: flex; align-items: center; padding: 10px 16px; border: 1px solid var(--border-color); border-radius: 4px; background: #ffffff; } .audio-player-content { width: 100%; min-width: 0; display: flex; align-items: center; gap: 12px; } .audio-play-btn { flex: 0 0 auto; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--primary-blue); border-radius: 4px; color: #ffffff; background: var(--primary-blue); font-size: 18px; cursor: pointer; } .audio-play-btn:hover { background: #2f5edb; } .audio-progress-container { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; } .audio-time { flex: 0 0 42px; color: #606775; font-size: 12px; font-variant-numeric: tabular-nums; line-height: 18px; } .audio-range { flex: 1; min-width: 80px; height: 6px; appearance: none; outline: none; overflow: hidden; border-radius: 4px; background: #e8edf7; cursor: pointer; } .audio-range::-webkit-slider-thumb { width: 0; appearance: none; box-shadow: -100vw 0 0 100vw var(--primary-blue); } .audio-speed-btn { flex: 0 0 auto; min-width: 44px; height: 32px; border: 1px solid #d8e3ff; border-radius: 4px; color: var(--primary-blue); background: #f3f7ff; font-size: 12px; font-weight: 600; cursor: pointer; } .audio-speed-btn:hover { background: #eef4ff; } .is-password-gate { justify-content: center; align-items: center; position: relative; } .is-password-gate .meeting-preview-shell { width: min(440px, calc(100% - 32px)); padding: 24px 0; } .meeting-preview-password-card { padding: 32px; display: flex; flex-direction: column; gap: 24px; } .password-card-header { text-align: center; } .password-icon-wrapper { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; border-radius: 4px; color: var(--primary-blue); background: #eef4ff; font-size: 22px; } .password-card-title { margin: 0 0 8px; color: var(--text-main); font-size: 22px; font-weight: 600; line-height: 30px; letter-spacing: 0; } .password-card-subtitle { max-width: 320px; margin: 0 auto; color: var(--text-secondary); font-size: 14px; line-height: 24px; } .password-card-form { display: flex; flex-direction: column; gap: 16px; } .modern-password-input { min-height: 44px; border-radius: 4px !important; background: #ffffff !important; } .modern-password-input:focus, .modern-password-input-focused { border-color: var(--primary-blue) !important; box-shadow: none !important; } .password-submit-btn { height: 44px !important; border-radius: 4px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0; } .password-error-message .ant-alert { border-radius: 4px; } .password-gate-footer { position: absolute; bottom: 24px; left: 16px; right: 16px; display: flex; justify-content: center; } .footer-disclaimer { display: flex; align-items: center; gap: 8px; color: #9095a1; font-size: 12px; } .meeting-preview-footer { margin-top: 24px; padding-bottom: 48px; display: flex; justify-content: center; } .meeting-preview-disclaimer { display: flex; align-items: flex-start; gap: 8px; max-width: 780px; padding: 8px 12px; border: 1px solid var(--border-color); border-radius: 4px; color: #606775; background: #ffffff; font-size: 12px; line-height: 20px; } .meeting-preview-speaker-card, .meeting-preview-keypoint { margin-bottom: 12px; padding: 14px; border: 1px solid var(--border-color); border-radius: 4px; background: #ffffff; } .meeting-preview-speaker-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } .meeting-preview-speaker-avatar { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 4px; color: #ffffff; background: var(--primary-blue); font-weight: 600; } .meeting-preview-speaker-name { font-size: 14px; font-weight: 600; } .meeting-preview-speaker-role { color: var(--text-secondary); font-size: 12px; } .meeting-preview-keypoint { display: flex; gap: 12px; } .meeting-preview-keypoint-index { color: #9aa5bb; font-size: 16px; font-weight: 600; } .meeting-preview-todo { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; } .meeting-preview-todo-dot { width: 6px; height: 6px; margin-top: 8px; border-radius: 50%; background: var(--primary-blue); } @media (max-width: 992px) { .meeting-preview-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 768px) { .meeting-preview-shell { width: calc(100% - 24px); padding: 16px 0 32px; } .meeting-preview-top-hero { gap: 12px; } .meeting-preview-hero-logo { width: 40px; height: 40px; font-size: 20px; } .meeting-preview-hero-title { font-size: 20px; line-height: 28px; } .meeting-preview-metrics-grid { grid-template-columns: 1fr; } .meeting-preview-share-bar { justify-content: stretch; } .meeting-preview-share-bar .ant-btn { flex: 1; min-width: 0; } .meeting-preview-tabs-container { padding: 0 8px; } .meeting-preview-tabs-container .ant-tabs-nav-list { width: 100%; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); transform: none !important; } .meeting-preview-tabs-container .ant-tabs-tab { justify-content: center; min-width: 0; margin: 0 !important; padding: 12px 6px !important; text-align: center; } .meeting-preview-tabs-container .ant-tabs-tab-btn { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .meeting-preview-tabs-container .ant-tabs-nav-operations { display: none !important; } .meeting-preview-tab-content { padding: 12px; } .meeting-preview-section-header { flex-direction: column; align-items: flex-start; } .meeting-preview-catalog-item-title-row, .meeting-preview-transcript-meta { flex-direction: column; align-items: flex-start; gap: 6px; } .meeting-preview-catalog-item-link { width: fit-content; } .meeting-preview-transcript-list { gap: 10px; } .meeting-preview-transcript-text { font-size: 14px; } .meeting-preview-audio-player-inline { bottom: 12px; width: calc(100% - 24px); padding: 10px 12px; } .audio-player-content { gap: 8px; } .audio-play-btn { width: 36px; height: 36px; } .audio-time { flex-basis: 38px; font-size: 11px; } .audio-progress-container { gap: 6px; } .audio-speed-btn { min-width: 40px; } } @media (max-width: 480px) { .meeting-preview-shell, .is-password-gate .meeting-preview-shell { width: calc(100% - 16px); } .meeting-preview-password-card { padding: 24px 16px; } .meeting-preview-top-hero { padding: 12px; } .meeting-preview-hero-logo { display: none; } .meeting-preview-share-bar { flex-direction: column; } .meeting-preview-audio-player-inline { width: calc(100% - 16px); } }