/** * Meeting Intelligence Dashboard Styles */ .meeting-intelligence-dashboard { position: fixed; right: 0; top: 0; width: 400px; height: 100%; background: rgba(28, 32, 37, 0.98); border-left: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; z-index: 350; box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3); } .meeting-intelligence-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); .meeting-intelligence-header-left { display: flex; align-items: center; gap: 8px; } h2 { margin: 0; font-size: 18px; font-weight: 600; color: #fff; } .meeting-intelligence-back-btn, .meeting-intelligence-close-btn { background: transparent; border: none; color: rgba(255, 255, 255, 0.7); cursor: pointer; padding: 4px; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: all 0.15s ease; &:hover { background: rgba(255, 255, 255, 0.1); color: #fff; } } } .meeting-intelligence-tabs { display: flex; border-bottom: 1px solid rgba(255, 255, 255, 0.1); .tab-btn { flex: 1; padding: 12px 16px; background: transparent; border: none; color: rgba(255, 255, 255, 0.6); font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; position: relative; &:hover { color: #fff; background: rgba(255, 255, 255, 0.05); } &.active { color: #246FE5; &::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: #246FE5; } } } } .meeting-intelligence-content { flex: 1; overflow-y: auto; padding: 16px; } // Recordings List .recordings-list { display: flex; flex-direction: column; gap: 8px; } .recording-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: rgba(255, 255, 255, 0.05); border-radius: 8px; cursor: pointer; transition: all 0.15s ease; &:hover { background: rgba(255, 255, 255, 0.1); } .recording-item-icon { color: rgba(255, 255, 255, 0.5); } .recording-item-info { flex: 1; min-width: 0; } .recording-item-title { font-size: 14px; font-weight: 500; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .recording-item-meta { display: flex; gap: 12px; margin-top: 4px; font-size: 12px; color: rgba(255, 255, 255, 0.5); } .status-badge { font-size: 11px; font-weight: 500; padding: 4px 8px; border-radius: 4px; color: #fff; white-space: nowrap; } } // Loading & Empty States .recordings-loading, .recordings-empty, .transcript-loading, .transcript-empty, .summary-loading, .summary-empty, .search-hint, .search-no-results { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 20px; text-align: center; color: rgba(255, 255, 255, 0.6); svg { margin-bottom: 16px; opacity: 0.4; } h3 { margin: 0 0 8px; font-size: 16px; font-weight: 500; color: rgba(255, 255, 255, 0.8); } p { margin: 0; font-size: 14px; line-height: 1.5; } } .recordings-error, .transcript-error, .summary-error, .search-error { padding: 16px; background: rgba(244, 67, 54, 0.1); border-radius: 8px; color: #f44336; font-size: 14px; } // Spinner .spinner { width: 32px; height: 32px; border: 3px solid rgba(255, 255, 255, 0.1); border-top-color: #246FE5; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 12px; } .spinner-small { width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, 0.2); border-top-color: #fff; border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } // Transcript Viewer .transcript-viewer { .transcript-speakers { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .speaker-tag { font-size: 12px; font-weight: 500; padding: 4px 10px; border-radius: 12px; color: #fff; } .transcript-segments { display: flex; flex-direction: column; gap: 16px; } .transcript-group { .transcript-speaker { font-size: 13px; font-weight: 600; margin-bottom: 4px; display: flex; align-items: center; gap: 8px; } .transcript-time { font-size: 11px; font-weight: 400; color: rgba(255, 255, 255, 0.4); } .transcript-text { font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, 0.9); } } } // Summary Panel .summary-panel { .summary-section { margin-bottom: 24px; h3 { margin: 0 0 12px; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, 0.6); text-transform: uppercase; letter-spacing: 0.5px; } } .summary-text { font-size: 14px; line-height: 1.6; color: #fff; margin: 0; } .key-points-list, .decisions-list { margin: 0; padding-left: 20px; li { font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, 0.9); margin-bottom: 8px; &::marker { color: #246FE5; } } } .action-items-list { list-style: none; margin: 0; padding: 0; li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, 0.9); margin-bottom: 8px; } .action-checkbox { color: rgba(255, 255, 255, 0.5); } .action-task { flex: 1; } .action-assignee { font-size: 12px; color: rgba(255, 255, 255, 0.5); } } .topics-tags { display: flex; flex-wrap: wrap; gap: 8px; } .topic-tag { font-size: 12px; padding: 4px 12px; background: rgba(255, 255, 255, 0.1); border-radius: 12px; color: rgba(255, 255, 255, 0.8); } .summary-export { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.1); .export-buttons { display: flex; gap: 8px; } } } // Buttons .btn-primary { padding: 10px 20px; background: #246FE5; border: none; border-radius: 6px; color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; margin-top: 16px; &:hover { background: #1a5bc4; } &:disabled { opacity: 0.5; cursor: not-allowed; } } .btn-secondary { padding: 8px 16px; background: rgba(255, 255, 255, 0.1); border: none; border-radius: 6px; color: rgba(255, 255, 255, 0.9); font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; &:hover { background: rgba(255, 255, 255, 0.15); } &:disabled { opacity: 0.5; cursor: not-allowed; } } // Search Panel .search-panel { .search-form { display: flex; gap: 8px; margin-bottom: 16px; } .search-input { flex: 1; padding: 10px 14px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; color: #fff; font-size: 14px; outline: none; transition: all 0.15s ease; &::placeholder { color: rgba(255, 255, 255, 0.4); } &:focus { border-color: #246FE5; background: rgba(255, 255, 255, 0.1); } } .search-button { padding: 10px 14px; background: #246FE5; border: none; border-radius: 6px; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s ease; &:hover { background: #1a5bc4; } &:disabled { opacity: 0.5; cursor: not-allowed; } } } .search-results { .search-results-header { font-size: 12px; color: rgba(255, 255, 255, 0.5); margin-bottom: 12px; } } .search-result-item { padding: 12px; background: rgba(255, 255, 255, 0.05); border-radius: 8px; margin-bottom: 8px; cursor: pointer; transition: all 0.15s ease; &:hover { background: rgba(255, 255, 255, 0.1); } .search-result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } .search-result-title { font-size: 14px; font-weight: 500; color: #fff; } .search-result-date { font-size: 11px; color: rgba(255, 255, 255, 0.4); } .search-result-snippet { font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, 0.8); margin-bottom: 8px; } .search-result-speaker { font-weight: 500; color: #4FC3F7; margin-right: 4px; } .search-result-meta { display: flex; justify-content: space-between; font-size: 11px; color: rgba(255, 255, 255, 0.4); } } // Responsive @media (max-width: 768px) { .meeting-intelligence-dashboard { width: 100%; } }