:root { --bg-app: #f5f7fb; --bg-soft: #eef2f8; --bg-panel: #ffffff; --bg-panel-2: #fbfcff; --line: #d9e0ea; --line-strong: #cad4e2; --text: #10213d; --text-soft: #617089; --text-faint: #8c99ad; --primary: #3366e8; --primary-soft: #edf2ff; --primary-line: #d4def9; --success: #0f9f6f; --success-soft: #e8f9f1; --warning: #f59e0b; --warning-soft: #fff5dd; --danger: #ef4444; --danger-soft: #fff0f0; --shadow: 0 18px 40px rgba(16, 33, 61, 0.06); --radius-xl: 22px; --radius-lg: 16px; --radius-md: 12px; } * { box-sizing: border-box; } [hidden] { display: none !important; } html, body { margin: 0; min-height: 100vh; } body { background: radial-gradient(circle at top right, rgba(51, 102, 232, 0.06), transparent 28%), linear-gradient(180deg, #f8faff 0%, var(--bg-app) 32%, #f2f5fa 100%); color: var(--text); font-family: "IBM Plex Sans", "Segoe UI", sans-serif; } h1, h2, .eyebrow, .btn, .brand-title, .nav-link, .summary-value, .status-pill { font-family: "Manrope", "IBM Plex Sans", sans-serif; } a { color: inherit; text-decoration: none; } .bg-orb { display: none; } .app-shell { min-height: 100vh; display: block; } .sidebar { width: 300px; background: rgba(255, 255, 255, 0.9); border-right: 1px solid var(--line); padding: 24px 20px; display: flex; flex-direction: column; gap: 24px; position: fixed; top: 0; left: 0; bottom: 0; min-height: 100vh; overflow-y: auto; z-index: 20; } .brand { display: flex; align-items: center; gap: 14px; padding: 4px 8px; } .brand-mark { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, #2d63ea, #4b79f5); color: #fff; font-size: 22px; font-weight: 800; } .brand-title { font-size: 28px; font-weight: 800; letter-spacing: -0.03em; } .brand-sub { margin-top: 4px; color: var(--text-soft); font-size: 13px; } .nav-menu { display: grid; gap: 8px; } .nav-group { display: grid; gap: 6px; } .nav-label { padding: 0 12px; font-size: 11px; font-weight: 700; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.08em; } .nav-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; color: var(--text-soft); font-size: 15px; font-weight: 700; transition: 0.18s ease; } .nav-link:hover { background: #f4f7fd; color: var(--text); } .nav-link.active { background: var(--primary-soft); color: var(--primary); border: 1px solid var(--primary-line); } .nav-bullet { width: 10px; height: 10px; border-radius: 50%; background: currentColor; opacity: 0.25; } .nav-link.active .nav-bullet { opacity: 1; } .sidebar-footer { margin-top: auto; padding: 16px 14px; border-radius: 16px; background: linear-gradient(180deg, #f7f9fe, #eef3fb); border: 1px solid var(--line); } .sidebar-footer strong { display: block; margin-bottom: 6px; } .sidebar-footer p { margin: 0; font-size: 13px; color: var(--text-soft); line-height: 1.45; } .sidebar-footer .btn { width: 100%; margin-top: 12px; } .login-shell { min-height: 100vh; display: grid; place-items: center; padding: 32px; } .login-layout { width: min(1120px, 100%); } .login-card { padding: 26px; } .login-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; margin-top: 18px; } .login-layout .login-grid > .row:nth-child(2) { display: none; } .recording-detail { display: grid; gap: 12px; margin-top: 16px; } .recording-detail audio { width: 100%; } .login-grid .actions { flex-direction: column; } .login-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; } .login-brand-copy strong { display: block; font-size: 26px; font-weight: 800; letter-spacing: -0.03em; } .login-brand-copy span { color: var(--text-soft); font-size: 14px; } .workspace { min-width: 0; margin-left: 300px; } .workspace-topbar { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 32px; background: rgba(255, 255, 255, 0.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 10; } .search-box { flex: 1; max-width: 720px; position: relative; } .search-box::before { content: "⌕"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--text-faint); font-size: 18px; pointer-events: none; } .app-search { width: 100%; height: 48px; padding: 0 16px 0 48px; border-radius: 14px; border: 1px solid var(--line); background: #f8faff; color: var(--text); font-size: 16px; } .topbar-actions { display: flex; align-items: center; gap: 14px; } .phone-entrypoint { position: relative; } .phone-chip { min-height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--text); display: inline-flex; align-items: center; gap: 10px; cursor: pointer; } .phone-chip-dot { width: 10px; height: 10px; border-radius: 50%; background: #a9b5c7; flex: 0 0 auto; } .phone-chip-copy { display: grid; gap: 1px; text-align: left; } .phone-chip-title { font-size: 11px; font-weight: 800; color: var(--text-faint); letter-spacing: 0.08em; text-transform: uppercase; } .phone-chip-status { font-size: 13px; font-weight: 800; } .phone-chip[data-state="registered"] .phone-chip-dot, .phone-chip[data-state="active"] .phone-chip-dot { background: var(--success); } .phone-chip[data-state="incoming"] .phone-chip-dot { background: var(--warning); } .phone-chip[data-state="connecting"] .phone-chip-dot, .phone-chip[data-state="ending"] .phone-chip-dot { background: var(--primary); } .phone-chip[data-state="disabled"] .phone-chip-dot, .phone-chip[data-state="unavailable"] .phone-chip-dot, .phone-chip[data-state="offline"] .phone-chip-dot { background: var(--text-faint); } .phone-settings { position: absolute; top: calc(100% + 10px); right: 0; width: min(420px, 92vw); padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.98); box-shadow: 0 20px 40px rgba(16, 33, 61, 0.14); z-index: 30; } .icon-button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--text-soft); display: grid; place-items: center; font-size: 18px; cursor: pointer; } .status-pill { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid #cfe8d6; background: #f2fbf5; color: #157347; font-size: 14px; font-weight: 800; } .status-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; } .profile-chip { display: flex; align-items: center; gap: 12px; padding-left: 10px; border-left: 1px solid var(--line); } .avatar-badge { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(180deg, #eef3ff, #e2ebff); color: var(--primary); font-weight: 800; } .profile-meta { min-width: 0; } .profile-name { font-weight: 700; } .profile-role { color: var(--text-soft); font-size: 12px; } .layout { padding: 28px 32px 40px; } .operator-view { display: grid; gap: 18px; } .page-hero { margin-bottom: 18px; } .customers-page-hero { margin-bottom: 4px; } .customers-page-hero .eyebrow { display: none; } .customers-page-hero h1 { margin: 0 0 8px; font-size: clamp(32px, 3.5vw, 44px); line-height: 1.05; } .customers-page-hero .hint { font-size: 16px; color: #6c7890; } .eyebrow { margin: 0; color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; } h1 { margin: 8px 0 6px; font-size: clamp(34px, 4vw, 52px); line-height: 1.04; letter-spacing: -0.04em; } .page-hero .hint { font-size: 18px; color: var(--text-soft); } .panel { background: var(--bg-panel); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow); padding: 20px; } .panel h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.15; letter-spacing: -0.02em; } .auth { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; } .auth h2, .auth .hint { grid-column: 1 / -1; } .row { display: grid; gap: 6px; } label { font-size: 13px; font-weight: 700; color: var(--text-soft); } input, select, textarea { width: 100%; min-height: 46px; border-radius: 14px; border: 1px solid var(--line); background: var(--bg-panel-2); color: var(--text); font: inherit; padding: 0 14px; outline: none; transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; } input:focus, select:focus, textarea:focus { border-color: #b8c8ef; background: #fff; box-shadow: 0 0 0 4px rgba(51, 102, 232, 0.08); } input::placeholder, textarea::placeholder { color: var(--text-faint); } .actions { display: flex; gap: 10px; flex-wrap: wrap; } .btn, .row-actions button { min-height: 44px; padding: 0 16px; border: 1px solid transparent; border-radius: 14px; background: linear-gradient(180deg, #3f71ef, #2f61e0); color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; box-shadow: 0 10px 18px rgba(51, 102, 232, 0.18); } .btn:hover, .row-actions button:hover { transform: translateY(-1px); } .btn.ghost, .row-actions button { background: #fff; color: var(--primary); border-color: var(--primary-line); box-shadow: none; } .btn.danger { background: linear-gradient(180deg, #fa5d5d, #e33d3d); color: #fff; border-color: transparent; } .hint { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; } .hint strong { color: var(--text); } .demo-guide { margin-bottom: 18px; background: linear-gradient(180deg, #ffffff, #f9fbff); } .guide-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .guide-badge { padding: 9px 12px; border-radius: 999px; border: 1px solid var(--primary-line); background: var(--primary-soft); color: var(--primary); font-size: 12px; font-weight: 800; } .guide-list { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 8px; color: var(--text-soft); font-size: 14px; } .grid { display: grid; grid-template-columns: repeat(2, minmax(320px, 1fr)); gap: 18px; } .panel-span-full { grid-column: 1 / -1; } .inline-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; } .inline-form.compact { grid-template-columns: 1fr auto; } .inline-form.split-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .checkbox-label { display: inline-flex; align-items: center; gap: 8px; font-size: 0.92rem; color: var(--text-muted); } .checkbox-label input { width: auto; min-height: auto; margin: 0; } .json-textarea { min-height: 220px; font-family: "IBM Plex Mono", "IBM Plex Sans", monospace; font-size: 0.9rem; } .list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-height: 280px; overflow: auto; } .list li { padding: 14px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: linear-gradient(180deg, #fff, #fbfcff); box-shadow: 0 8px 20px rgba(16, 33, 61, 0.04); font-size: 14px; line-height: 1.45; } .customers-panel { display: grid; gap: 18px; padding: 0; overflow: hidden; } .customers-toolbar, .customers-toolbar-left, .customers-toolbar-right, .customers-footer, .customers-pager { display: flex; align-items: center; gap: 12px; } .customers-toolbar, .customers-footer { justify-content: space-between; flex-wrap: wrap; padding: 18px 18px 0; } .customers-footer { padding: 16px 18px 18px; } .customers-toolbar-left, .customers-toolbar-right { flex-wrap: wrap; } .customers-search { position: relative; min-width: min(100%, 420px); max-width: 460px; flex: 1; } .customers-search input { width: 100%; height: 46px; padding: 0 16px 0 44px; border-radius: 14px; border: 1px solid var(--line); background: #f9fbfd; color: var(--text); font-size: 15px; } .customers-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--text-faint); pointer-events: none; } .customers-filter-btn { border-radius: 14px; } .customer-lead-form { margin: 0 18px; padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #f8fbff, #f3f7fd); } .lead-table-shell { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; max-height: 580px; overflow-y: auto; overflow-x: hidden; } .lead-table { display: grid; } .lead-table-head, .lead-table-row { display: grid; grid-template-columns: 52px minmax(260px, 2fr) minmax(140px, 1fr) minmax(150px, 1fr) minmax(170px, 1fr) 110px; align-items: center; gap: 12px; } .lead-table-head { min-height: 50px; padding: 0 18px; border-bottom: 1px solid var(--line); background: #fff; color: #66748d; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; position: sticky; top: 0; z-index: 2; } .lead-table-row { width: 100%; min-height: 86px; padding: 0 18px; border: 0; border-bottom: 1px solid var(--line); background: #fff; text-align: left; cursor: pointer; } .lead-table-row:last-child { border-bottom: 0; } .lead-table-row:hover { background: #f8fbff; } .lead-table-row.selected { background: #f4f8ff; } .lead-cell { min-width: 0; color: #5f6d86; font-size: 14px; } .checkbox-cell { display: inline-flex; justify-content: center; } .checkbox-cell input { width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; border-radius: 4px; accent-color: var(--primary); box-shadow: none; } .contact-cell { display: flex; align-items: center; gap: 14px; } .lead-avatar { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #dfe8ff, #d4dcfa); color: #3658c9; font-weight: 800; font-size: 13px; letter-spacing: 0.02em; flex: 0 0 auto; } .lead-contact-copy { min-width: 0; } .lead-contact-name { color: var(--text); font-size: 16px; font-weight: 800; } .lead-contact-company { margin-top: 2px; color: #6f7c93; font-size: 13px; } .lead-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 600; } .source-instagram { color: #9b27d7; background: #f4e9ff; } .source-whatsapp { color: #13984a; background: #e5f8ea; } .source-facebook { color: #1657d8; background: #e7efff; } .source-site { color: #3465f3; background: #e8f0ff; } .source-referral { color: #53627a; background: #eff2f6; } .status-negotiation { color: #8a2be2; background: #f2e8ff; } .status-qualification { color: #2f63f6; background: #e8f0ff; } .status-proposal { color: #b56d00; background: #fff0c7; } .status-initial { color: #55657a; background: #eff2f6; } .status-success { color: #0f8b4c; background: #dff7e7; } .status-new { color: #4d57e8; background: #e8ebff; } .status-lost { color: #d33c32; background: #fde8e7; } .score-cell { text-align: center; } .lead-score { font-size: 16px; font-weight: 800; letter-spacing: 0; } .score-strong { color: #0d8b57; } .score-medium { color: #e08a00; } .score-weak { color: #db4a44; } .lead-empty-state { padding: 28px; color: var(--text-soft); display: grid; gap: 6px; } .customer-spotlight-shell { padding: 18px; border-top: 1px solid var(--line); background: radial-gradient(circle at top right, rgba(51, 102, 232, 0.08), transparent 32%), linear-gradient(180deg, #fcfdff, #f6f9ff); } .customer-spotlight-empty { padding: 24px; border-radius: 22px; border: 1px dashed var(--line-strong); background: rgba(255, 255, 255, 0.78); color: var(--text-soft); display: grid; gap: 6px; } .customer-spotlight-empty strong { color: var(--text); font-size: 18px; } .customer-spotlight-empty p { margin: 0; line-height: 1.55; } .customer-spotlight-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); gap: 18px; align-items: start; } .customer-spotlight-grid.page { grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr); } .page-hero-actions { margin-bottom: 12px; } .customer-profile-page-panel { padding: 0; overflow: hidden; } .customer-spotlight-page { border-top: 0; padding: 22px; } .customer-profile-card, .customer-history-card { padding: 20px; border-radius: 24px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.9); box-shadow: 0 18px 36px rgba(16, 33, 61, 0.06); display: grid; gap: 18px; } .customer-profile-hero, .customer-history-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; } .customer-profile-avatar { width: 64px; height: 64px; border-radius: 20px; flex: 0 0 auto; display: grid; place-items: center; background: linear-gradient(135deg, #3569ec, #7aa2ff); color: #fff; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 0.04em; box-shadow: 0 16px 28px rgba(51, 102, 232, 0.2); } .customer-profile-copy { flex: 1; min-width: 0; } .customer-profile-name-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-top: 8px; } .customer-profile-name-stack { min-width: 0; flex: 1; } .customer-profile-name-trigger { flex: 0 0 auto; } .customer-profile-name-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; } .customer-profile-name-note, .customer-profile-name-flash { min-height: 24px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; } .customer-profile-name-note { background: #f6f8fc; border: 1px solid #dce4ef; color: #52627d; } .customer-profile-name-flash { background: rgba(16, 185, 129, 0.14); border: 1px solid rgba(16, 185, 129, 0.3); color: #117c5f; } .customer-profile-kicker { color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .customer-profile-copy h3, .customer-history-header h3 { margin: 8px 0 0; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 30px; font-weight: 800; letter-spacing: -0.04em; } .customer-profile-copy p, .customer-history-caption { margin: 6px 0 0; color: var(--text-soft); line-height: 1.5; } .customer-profile-name-editor { display: grid; gap: 10px; margin-top: 14px; padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(163, 183, 222, 0.55); background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 255, 0.96)); } .customer-profile-name-editor-label { color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .customer-profile-name-editor-form { display: flex; flex-wrap: wrap; gap: 10px; } .customer-profile-name-editor-form input { min-width: 220px; flex: 1 1 260px; } .customer-profile-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 280px; } .customer-score-pill { min-height: 26px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; background: #f6f8fc; border: 1px solid var(--line); font-size: 13px; font-weight: 800; } .customer-profile-summary-grid, .customer-profile-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .customer-meta-card { padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f8fbff); display: grid; gap: 8px; } .customer-meta-label { color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .customer-meta-value { color: var(--text); font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -0.03em; } .customer-meta-note { color: var(--text-soft); font-size: 13px; line-height: 1.45; } .customer-chip-row { display: flex; flex-wrap: wrap; gap: 8px; } .customer-chip, .customer-channel-pill { min-height: 30px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; } .customer-chip { background: #edf2ff; color: #325ed8; } .customer-channel-pill { background: #eef4f1; color: #11704e; } .customer-profile-actions { display: flex; flex-wrap: wrap; gap: 10px; } .customer-history-header { padding-bottom: 2px; border-bottom: 1px solid rgba(217, 224, 234, 0.72); } .customer-history-caption { max-width: 260px; text-align: right; } .customer-history-list { display: grid; gap: 12px; max-height: 720px; overflow: auto; padding-right: 4px; } .customer-history-event { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; align-items: start; } .customer-history-mark { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid var(--line); background: #f5f8fd; color: var(--text-soft); } .customer-history-body { padding: 14px 16px; border-radius: 18px; border: 1px solid var(--line); background: #fff; box-shadow: 0 10px 24px rgba(16, 33, 61, 0.04); display: grid; gap: 6px; } .customer-history-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .customer-history-title { color: var(--text); font-size: 15px; font-weight: 800; } .customer-history-time { color: var(--text-faint); font-size: 12px; white-space: nowrap; } .customer-history-copy { color: var(--text-soft); font-size: 14px; line-height: 1.55; } .customer-history-note { color: var(--text-faint); font-size: 12px; } .customer-history-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .customer-history-link { min-height: 36px; padding: 0 12px; border-radius: 12px; font-size: 12px; } .customer-history-event.voice .customer-history-mark { background: #e8f0ff; border-color: #cfdcff; color: #2e63e9; } .customer-history-event.telegram .customer-history-mark { background: #eaf8ff; border-color: #c8ebff; color: #1187c9; } .customer-history-event.email .customer-history-mark { background: #fff4e5; border-color: #ffe0b3; color: #b56d00; } .customer-history-event.webchat .customer-history-mark { background: #ecfff6; border-color: #c9f0dd; color: #0f8b57; } .customer-history-event.profile .customer-history-mark { background: #f2efff; border-color: #ddd4ff; color: #6f4de3; } .customer-history-event.case .customer-history-mark { background: #f4f7fb; border-color: #dbe4f1; color: #4e617f; } .telegram-page-hero { display: none; } .messenger-panel { padding: 0; overflow: hidden; background: #eef3f8; height: calc(100dvh - 152px); min-height: 640px; display: flex; } .messenger-layout { width: 100%; height: 100%; display: grid; grid-template-columns: 360px minmax(0, 1fr) 320px; min-height: 0; } .messenger-list-pane, .messenger-context-pane { background: rgba(255, 255, 255, 0.96); min-width: 0; min-height: 0; } .messenger-list-pane { border-right: 1px solid #dde5ef; display: flex; flex-direction: column; } .messenger-context-pane { border-left: 1px solid #dde5ef; padding: 16px; overflow: auto; } .messenger-pane-head { padding: 18px 18px 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .messenger-pane-head h2 { margin: 3px 0 4px; font-size: 24px; } .messenger-filters { padding: 0 14px 12px; display: flex; gap: 8px; overflow-x: auto; } .messenger-filter { border: 1px solid #dbe5f2; border-radius: 999px; background: #f7f9fc; color: #536179; cursor: pointer; font-weight: 800; min-height: 34px; padding: 0 12px; white-space: nowrap; } .messenger-filter.active { background: #10213d; border-color: #10213d; color: #fff; } .messenger-conversation-list { flex: 1; overflow: auto; padding-bottom: 10px; } .messenger-empty-state { min-height: 180px; display: grid; gap: 8px; place-items: center; text-align: center; color: #667085; padding: 24px; } .messenger-conversation-card { width: 100%; border: 0; border-bottom: 1px solid #edf1f6; background: transparent; color: #10213d; cursor: pointer; display: flex; gap: 12px; padding: 14px 16px; text-align: left; } .messenger-conversation-card:hover { background: #f6f9fd; } .messenger-conversation-card.selected { background: linear-gradient(135deg, #eaf2ff 0%, #f8fbff 100%); } .messenger-conversation-body { min-width: 0; flex: 1; } .messenger-conversation-head, .messenger-conversation-preview-row, .messenger-conversation-badges { display: flex; align-items: center; gap: 8px; } .messenger-conversation-head, .messenger-conversation-preview-row { justify-content: space-between; } .messenger-conversation-name, .messenger-conversation-preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .messenger-conversation-name { font-weight: 900; } .messenger-conversation-time { color: #8a95a6; font-size: 12px; flex: 0 0 auto; } .messenger-conversation-preview { color: #667085; font-size: 13px; } .messenger-conversation-badges { flex-wrap: wrap; margin-top: 8px; } .messenger-channel-badge, .messenger-status-badge { border-radius: 999px; display: inline-flex; align-items: center; min-height: 24px; padding: 0 10px; font-size: 11px; font-weight: 900; } .messenger-channel-badge { background: #e6f4fb; color: #0088cc; } .messenger-channel-badge.compact { min-height: 21px; padding: 0 8px; } .messenger-status-badge { background: #edf2ff; color: #445274; } .messenger-status-badge.owner { background: #ecfdf3; color: #047857; } .messenger-chat-pane { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: radial-gradient(circle at 12% 12%, rgba(51, 102, 232, 0.08), transparent 24%), #e7edf5; } .messenger-chat-header { min-height: 78px; padding: 14px 18px; border-bottom: 1px solid rgba(202, 212, 226, 0.8); background: rgba(255, 255, 255, 0.94); display: flex; align-items: center; justify-content: space-between; gap: 14px; } .messenger-chat-identity, .messenger-chat-actions { display: flex; align-items: center; gap: 12px; min-width: 0; } .messenger-chat-copy { min-width: 0; } .messenger-chat-title { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-weight: 900; font-size: 17px; } .messenger-chat-meta { margin-top: 3px; color: #6b7280; font-size: 13px; } .messenger-ai-summary { margin: 12px 16px 0; } .messenger-error { margin: 12px 16px 0; padding: 12px 14px; border: 1px solid #fecaca; border-radius: 14px; background: #fff1f2; color: #991b1b; display: flex; align-items: center; justify-content: space-between; gap: 12px; } .messenger-chat-surface { flex: 1; min-height: 0; padding: 16px; overflow: hidden; } .messenger-message-timeline { height: 100%; border-radius: 18px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.18)), repeating-linear-gradient(45deg, rgba(51, 102, 232, 0.04) 0 10px, transparent 10px 20px); align-content: start; } .messenger-composer-wrap { padding: 0 16px 16px; background: rgba(231, 237, 245, 0.84); } .messenger-composer-shell { grid-template-columns: minmax(0, 1fr) 48px; max-width: none; align-items: center; background: #fff; border: 1px solid #dce5f0; box-shadow: 0 12px 30px rgba(16, 33, 61, 0.08); } .messenger-composer-shell textarea { min-height: 42px; max-height: 112px; height: 42px; padding: 10px 8px; border: 0; background: transparent; resize: none; outline: none; font-size: 15px; line-height: 1.45; overflow-y: auto; } .messenger-composer-shell textarea:disabled { background: #f6f8fb; color: #94a3b8; } .messenger-context-card { border: 1px solid #dbe5f2; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(16, 33, 61, 0.05); padding: 16px; margin-bottom: 14px; } .messenger-context-card h3 { margin: 4px 0 14px; font-size: 18px; } .messenger-context-card.compact { box-shadow: none; } .messenger-context-list { display: grid; gap: 10px; margin: 0 0 16px; } .messenger-context-list div { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 10px; } .messenger-context-list dt { color: #8390a3; font-size: 12px; font-weight: 900; text-transform: uppercase; } .messenger-context-list dd { margin: 0; min-width: 0; overflow-wrap: anywhere; color: #10213d; font-weight: 800; } .messenger-context-preview { margin: 4px 0 0; color: #536179; line-height: 1.45; } .telegram-panel { padding: 0; overflow: hidden; background: #e7ebf0; height: calc(100dvh - 152px); min-height: 620px; display: flex; } .telegram-layout { width: 100%; height: 100%; display: grid; grid-template-columns: 400px minmax(0, 1fr); min-height: 0; } .telegram-threads-pane { background: #fff; border-right: 1px solid #e5e7eb; display: flex; flex-direction: column; min-width: 0; min-height: 0; } .telegram-pane-head { padding: 12px; display: flex; align-items: center; gap: 12px; } .telegram-pane-icon-btn, .telegram-chat-icon-btn, .telegram-composer-icon-btn, .telegram-send-btn { border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: #707579; } .telegram-pane-icon-btn, .telegram-chat-icon-btn, .telegram-composer-icon-btn { width: 40px; height: 40px; border-radius: 999px; } .telegram-pane-icon-btn:hover, .telegram-chat-icon-btn:hover, .telegram-composer-icon-btn:hover { background: #f3f4f6; color: #0088cc; } .telegram-chat-icon-btn.active { background: #e6f4fb; color: #0088cc; } .telegram-pane-icon-btn:disabled { cursor: default; opacity: 1; } .telegram-pane-icon-btn svg, .telegram-chat-icon-btn svg, .telegram-thread-search-icon svg, .telegram-composer-icon-btn svg, .telegram-send-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; } .telegram-thread-search { position: relative; flex: 1; } .telegram-thread-search input { width: 100%; height: 44px; padding: 0 16px 0 42px; border: 0; border-radius: 999px; background: #f4f4f5; color: #000; font-size: 14px; outline: none; } .telegram-thread-search input:focus { box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.25); } .telegram-thread-search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #9ca3af; pointer-events: none; display: inline-flex; } .telegram-thread-list { flex: 1; overflow: auto; padding-bottom: 10px; } .telegram-empty-state { min-height: 120px; display: grid; place-items: center; text-align: center; color: #707579; } .telegram-thread-card { width: 100%; padding: 12px 16px; border: 0; background: transparent; color: #000; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 12px; transition: background 0.16s ease, color 0.16s ease; } .telegram-thread-card:hover { background: #f9fafb; } .telegram-thread-card.selected { background: #0088cc; color: #fff; } .telegram-thread-avatar { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--telegram-avatar-start, #4daeff), var(--telegram-avatar-end, #228fff)); color: #fff; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 17px; font-weight: 800; flex: 0 0 auto; } .telegram-thread-card.selected .telegram-thread-avatar { background: rgba(255, 255, 255, 0.2); } .telegram-thread-copy, .telegram-thread-body { min-width: 0; flex: 1; } .telegram-thread-card-head, .telegram-thread-preview-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .telegram-thread-status-row, .telegram-thread-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; } .telegram-thread-name { font-size: 15px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .telegram-thread-time { color: #9ca3af; font-size: 12px; white-space: nowrap; } .telegram-thread-preview { min-width: 0; color: #707579; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .telegram-thread-summary { min-width: 0; color: #8a94a6; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .telegram-thread-card.selected .telegram-thread-time { color: rgba(255, 255, 255, 0.72); } .telegram-thread-card.selected .telegram-thread-preview { color: rgba(255, 255, 255, 0.82); } .telegram-thread-card.selected .telegram-thread-summary { color: rgba(255, 255, 255, 0.72); } .telegram-thread-card.selected .telegram-thread-ai-chip { background: rgba(255, 255, 255, 0.18); color: #fff; } .telegram-thread-unread { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #0088cc; color: #fff; font-size: 11px; font-weight: 800; flex: 0 0 auto; } .telegram-chat-pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; background: #e7ebf0; } .telegram-chat-header { height: 56px; padding: 0 16px; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 16px; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06); position: sticky; top: 0; z-index: 2; flex: 0 0 auto; } .telegram-thread-identity { display: flex; align-items: center; gap: 12px; min-width: 0; } .telegram-thread-title { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 16px; font-weight: 800; line-height: 1.15; } .telegram-thread-meta { margin-top: 2px; color: #0088cc; font-size: 13px; line-height: 1.2; } .telegram-thread-ai-chip { min-height: 24px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; letter-spacing: 0.02em; background: #edf2f7; color: #64748b; } .telegram-thread-ai-chip.active, .telegram-thread-ai-chip.queued, .telegram-thread-ai-chip.thinking { background: #e8f1ff; color: #1f6feb; } .telegram-thread-ai-chip.handoff { background: #fff3d6; color: #a15c00; } .telegram-thread-ai-chip.human { background: #e7f7ef; color: #0f9f6f; } .telegram-thread-ai-chip.closed { background: #eef2f7; color: #667085; } .telegram-thread-ai-chip.error { background: #ffe8e8; color: #c62828; } .telegram-chat-actions { display: flex; align-items: center; gap: 2px; flex: 0 0 auto; } .telegram-message-search { padding: 10px 16px; background: rgba(255, 255, 255, 0.92); border-bottom: 1px solid rgba(209, 213, 219, 0.7); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; flex: 0 0 auto; } .telegram-message-search-field { position: relative; flex: 1; } .telegram-message-search-field input { width: 100%; height: 40px; padding: 0 14px 0 42px; border: 0; border-radius: 14px; background: #f4f4f5; color: #000; font-size: 14px; outline: none; } .telegram-message-search-field input:focus { box-shadow: 0 0 0 2px rgba(0, 136, 204, 0.25); } .telegram-message-search-meta { color: #707579; font-size: 12px; font-weight: 700; white-space: nowrap; } .telegram-message-search-clear { min-height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: #eef6fb; color: #0088cc; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; } .telegram-message-search-clear:hover { background: #dff0fa; } .telegram-operator-tray { padding: 12px 16px; background: rgba(255, 255, 255, 0.88); border-bottom: 1px solid rgba(209, 213, 219, 0.7); display: grid; gap: 10px; flex: 0 0 auto; } .telegram-operator-meta, .telegram-operator-controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .telegram-operator-chip { min-height: 28px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; } .telegram-operator-chip.claimed { background: #e7f7ef; color: #0f9f6f; } .telegram-operator-chip.free { background: #eef2f7; color: #667085; } .telegram-operator-chip.active, .telegram-operator-chip.queued, .telegram-operator-chip.thinking { background: #e8f1ff; color: #1f6feb; } .telegram-operator-chip.handoff { background: #fff3d6; color: #a15c00; } .telegram-operator-chip.human { background: #e7f7ef; color: #0f9f6f; } .telegram-operator-chip.closed { background: #eef2f7; color: #667085; } .telegram-operator-chip.error { background: #ffe8e8; color: #c62828; } .telegram-operator-chip.subtle { background: #f4f4f5; color: #707579; } .telegram-operator-action { min-height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: #0088cc; color: #fff; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; } .telegram-operator-action.subtle { background: #f4f4f5; color: #374151; } .telegram-operator-action:disabled { opacity: 0.45; cursor: not-allowed; } .telegram-operator-input { min-width: 120px; height: 34px; padding: 0 12px; border: 1px solid #d1d5db; border-radius: 999px; background: #fff; } .telegram-ai-summary { padding: 14px 16px 10px; background: rgba(255, 255, 255, 0.94); border-bottom: 1px solid rgba(209, 213, 219, 0.72); display: grid; gap: 12px; flex: 0 0 auto; } .telegram-ai-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .telegram-ai-summary-title { color: #10213d; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .telegram-ai-summary-caption, .telegram-ai-summary-meta { color: #707579; font-size: 12px; line-height: 1.45; } .telegram-ai-summary-meta { white-space: nowrap; text-align: right; } .telegram-ai-summary-side { display: grid; justify-items: end; gap: 8px; } .telegram-ai-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .telegram-summary-field { padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(219, 228, 241, 0.92); background: #fff; box-shadow: 0 8px 20px rgba(16, 33, 61, 0.04); display: grid; gap: 6px; } .telegram-summary-label { color: #6b7280; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .telegram-summary-value { color: #10213d; font-size: 14px; line-height: 1.55; white-space: pre-wrap; } .telegram-summary-status { min-height: 28px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .telegram-summary-status.answered { background: #e7f7ef; color: #0f9f6f; } .telegram-summary-status.handoff { background: #fff3d6; color: #a15c00; } .telegram-chat-surface { position: relative; flex: 1; min-height: 0; overflow: hidden; background: #e2e5ea; } .telegram-message-timeline { position: relative; z-index: 1; height: 100%; overflow: auto; padding: 16px; display: grid; gap: 8px; align-content: start; } .telegram-message { display: flex; width: 100%; align-items: flex-start; } .telegram-message.me { justify-content: flex-end; } .telegram-message.other { justify-content: flex-start; } .telegram-message.system { justify-content: center; } .telegram-message-bubble { position: relative; width: fit-content; min-width: 92px; max-width: min(85%, 720px); padding: 10px 12px 20px; border-radius: 18px; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06); } .telegram-message-bubble.me { background: #effdde; color: #000; border-top-right-radius: 6px; } .telegram-message-bubble.ai { box-shadow: 0 3px 10px rgba(0, 136, 204, 0.12); } .telegram-message-bubble.other { background: #fff; color: #000; border-top-left-radius: 6px; } .telegram-message-system-pill { padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.8); color: #707579; font-size: 12px; font-weight: 700; } .telegram-message-body { padding-right: 52px; white-space: pre-wrap; line-height: 1.5; font-size: 15px; color: inherit; overflow-wrap: anywhere; } .telegram-message-badge { display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border-radius: 999px; margin-bottom: 8px; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .telegram-message-badge.ai { background: rgba(0, 136, 204, 0.14); color: #0088cc; } .telegram-message-meta { position: absolute; right: 10px; bottom: 6px; display: inline-flex; align-items: center; gap: 4px; } .telegram-message-time { font-size: 10px; color: #9ca3af; } .telegram-message-bubble.me .telegram-message-time { color: rgba(21, 128, 61, 0.72); } .telegram-message-checks { font-size: 13px; line-height: 1; color: #22c55e; } .telegram-message-highlight { padding: 0 2px; border-radius: 5px; background: #fff1a8; color: inherit; } .telegram-composer-wrap { padding: 10px 16px 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; position: sticky; bottom: 0; z-index: 2; background: #e7ebf0; flex: 0 0 auto; } .telegram-composer-shell { width: 100%; max-width: 860px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px 48px; align-items: end; gap: 4px; padding: 6px; background: #fff; border-radius: 18px; box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08); } .telegram-composer-icon-btn { color: #9ca3af; } .telegram-composer-icon-btn:disabled { cursor: default; opacity: 1; } .telegram-composer-shell textarea { min-height: 48px; max-height: 128px; height: 48px; padding: 10px 4px; border: 0; background: transparent; resize: none; outline: none; font-size: 16px; line-height: 1.45; } .telegram-send-btn { width: 44px; height: 44px; border-radius: 999px; color: #0088cc; transform: scale(0.92); transition: transform 0.16s ease, background 0.16s ease, color 0.16s ease; } .telegram-send-btn:not(:disabled) { background: #0088cc; color: #fff; transform: scale(1); } .telegram-send-btn:disabled { cursor: not-allowed; } .telegram-composer-hint { color: #707579; font-size: 12px; text-align: center; } .whatsapp-panel { padding: 0; overflow: hidden; background: #0b141a; height: calc(100dvh - 152px); min-height: 620px; display: flex; } .whatsapp-panel, .whatsapp-panel button, .whatsapp-panel input, .whatsapp-panel textarea { font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif; } .whatsapp-shell { width: 100%; height: 100%; display: grid; grid-template-columns: 72px 420px minmax(0, 1fr); min-height: 0; background: #0b141a; color: #e9edef; } .whatsapp-panel svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; } .whatsapp-nav-rail { padding: 14px 0; background: #202c33; border-right: 1px solid rgba(233, 237, 239, 0.08); display: flex; flex-direction: column; justify-content: space-between; align-items: center; gap: 16px; } .whatsapp-rail-group, .whatsapp-rail-footer { display: flex; flex-direction: column; align-items: center; gap: 10px; } .whatsapp-rail-btn, .whatsapp-icon-btn, .whatsapp-composer-btn, .whatsapp-send-btn { border: 0; background: transparent; color: #aebac1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease; } .whatsapp-rail-btn, .whatsapp-icon-btn, .whatsapp-composer-btn, .whatsapp-send-btn { width: 42px; height: 42px; border-radius: 14px; } .whatsapp-rail-btn:hover, .whatsapp-icon-btn:hover, .whatsapp-composer-btn:hover { background: rgba(255, 255, 255, 0.08); color: #f7f9fa; } .whatsapp-rail-btn.active { background: rgba(37, 211, 102, 0.18); color: #25d366; } .whatsapp-rail-avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #25d366, #128c7e); color: #08171d; font-size: 13px; font-weight: 800; } .whatsapp-list-pane { background: #111b21; border-right: 1px solid rgba(233, 237, 239, 0.08); display: flex; flex-direction: column; min-width: 0; min-height: 0; } .whatsapp-list-head { padding: 18px 16px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; } .whatsapp-pane-title-wrap { min-width: 0; } .whatsapp-pane-title { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; color: #e9edef; } .whatsapp-pane-caption { margin-top: 4px; color: #8696a0; font-size: 12px; } .whatsapp-list-actions, .whatsapp-chat-actions { display: flex; align-items: center; gap: 4px; } .whatsapp-icon-btn { color: #8696a0; } .whatsapp-search-wrap { padding: 0 16px 12px; display: grid; gap: 10px; } .whatsapp-search-field { position: relative; } .whatsapp-search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #8696a0; display: inline-flex; pointer-events: none; } .whatsapp-search-field input { width: 100%; height: 42px; padding: 0 16px 0 42px; border: 1px solid transparent; border-radius: 12px; background: #202c33; color: #e9edef; font-size: 14px; outline: none; } .whatsapp-search-field input::placeholder, .whatsapp-composer-shell textarea::placeholder { color: #8696a0; } .whatsapp-search-field input:focus { border-color: rgba(37, 211, 102, 0.45); } .whatsapp-filter-bar { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; } .whatsapp-filter-bar::-webkit-scrollbar { display: none; } .whatsapp-filter-chip { min-height: 32px; padding: 0 12px; border: 1px solid rgba(233, 237, 239, 0.08); border-radius: 999px; background: #202c33; color: #aebac1; font-size: 13px; font-weight: 600; cursor: pointer; flex: 0 0 auto; } .whatsapp-filter-chip.active { background: rgba(37, 211, 102, 0.18); border-color: rgba(37, 211, 102, 0.18); color: #d9fdd3; } .whatsapp-chat-list { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding-bottom: 12px; } .whatsapp-chat-list-empty, .whatsapp-chat-empty { min-height: 180px; display: grid; place-items: center; text-align: center; color: #aebac1; padding: 24px; } .whatsapp-chat-list-empty strong, .whatsapp-chat-empty strong { display: block; color: #e9edef; margin-bottom: 8px; } .whatsapp-chat-card { width: 100%; padding: 14px 16px; border: 0; background: transparent; color: inherit; text-align: left; display: flex; align-items: flex-start; gap: 12px; cursor: pointer; transition: background 0.16s ease; border-bottom: 1px solid rgba(255, 255, 255, 0.04); } .whatsapp-chat-card:hover { background: rgba(255, 255, 255, 0.04); } .whatsapp-chat-card.selected { background: #202c33; } .whatsapp-chat-card-avatar, .whatsapp-chat-avatar { border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--whatsapp-avatar-start, #25d366), var(--whatsapp-avatar-end, #128c7e)); color: #fff; font-size: 15px; font-weight: 700; flex: 0 0 auto; } .whatsapp-chat-card-avatar { width: 49px; height: 49px; } .whatsapp-chat-card-copy { min-width: 0; flex: 1; display: grid; gap: 4px; } .whatsapp-chat-card-head, .whatsapp-chat-card-preview-row, .whatsapp-chat-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .whatsapp-chat-card-title { min-width: 0; font-size: 15px; font-weight: 600; color: #e9edef; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .whatsapp-chat-card-time { color: #8696a0; font-size: 12px; white-space: nowrap; } .whatsapp-chat-card-preview { min-width: 0; color: #aebac1; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .whatsapp-chat-card-meta { justify-content: flex-start; flex-wrap: wrap; color: #8696a0; font-size: 11px; } .whatsapp-chat-tag { min-height: 20px; padding: 0 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); color: #cfd8dc; display: inline-flex; align-items: center; } .whatsapp-chat-tag.ai.active, .whatsapp-chat-tag.ai.queued, .whatsapp-chat-tag.ai.thinking { background: rgba(83, 189, 235, 0.18); color: #d2f4ff; } .whatsapp-chat-tag.ai.handoff { background: rgba(255, 205, 96, 0.18); color: #ffe5a6; } .whatsapp-chat-tag.ai.human { background: rgba(37, 211, 102, 0.18); color: #d9fdd3; } .whatsapp-chat-tag.ai.closed { background: rgba(255, 255, 255, 0.08); color: #d5dde0; } .whatsapp-chat-tag.ai.error { background: rgba(255, 118, 117, 0.18); color: #ffd3d1; } .whatsapp-chat-tag.owner { background: rgba(255, 255, 255, 0.08); color: #f7f9fa; } .whatsapp-chat-unread { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #25d366; color: #08171d; font-size: 11px; font-weight: 800; } .whatsapp-chat-pane { min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: #efeae2; } .whatsapp-chat-head { min-height: 72px; padding: 12px 18px; background: #f0f2f5; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(17, 27, 33, 0.08); flex: 0 0 auto; } .whatsapp-context-panel { padding: 10px 16px 0; background: #f0f2f5; border-bottom: 1px solid rgba(17, 27, 33, 0.08); display: grid; gap: 10px; } .whatsapp-context-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; } .whatsapp-context-pills, .whatsapp-context-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .whatsapp-state-chip, .whatsapp-summary-status { min-height: 28px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; } .whatsapp-state-chip.active, .whatsapp-state-chip.queued, .whatsapp-state-chip.thinking { background: #dff2fc; color: #126c89; } .whatsapp-state-chip.handoff, .whatsapp-summary-status.handoff { background: #fff0cf; color: #8d5c00; } .whatsapp-state-chip.human, .whatsapp-summary-status.answered { background: #d9fdd3; color: #0f7a45; } .whatsapp-state-chip.closed { background: #e5eaed; color: #54656f; } .whatsapp-state-chip.error { background: #ffe3e1; color: #c03b37; } .whatsapp-state-chip.subtle { background: rgba(17, 27, 33, 0.06); color: #54656f; } .whatsapp-context-btn { min-height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: #25d366; color: #08171d; font-size: 13px; font-weight: 700; cursor: pointer; } .whatsapp-context-btn.secondary { background: rgba(17, 27, 33, 0.08); color: #111b21; } .whatsapp-context-btn:disabled { background: #dfe5e7; color: #94a3a8; cursor: not-allowed; } .whatsapp-ai-summary { padding: 14px; border-radius: 18px; border: 1px solid rgba(17, 27, 33, 0.08); background: rgba(255, 255, 255, 0.84); box-shadow: 0 10px 30px rgba(17, 27, 33, 0.06); } .whatsapp-ai-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .whatsapp-ai-summary-kicker { color: #667781; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .whatsapp-ai-summary-head h3 { margin: 6px 0 0; color: #111b21; font-size: 18px; font-weight: 700; } .whatsapp-ai-summary-side { display: grid; justify-items: end; gap: 8px; } .whatsapp-ai-summary-meta { color: #667781; font-size: 12px; white-space: nowrap; } .whatsapp-ai-summary-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .whatsapp-summary-field { padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(17, 27, 33, 0.08); background: rgba(240, 242, 245, 0.78); } .whatsapp-summary-label { color: #667781; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .whatsapp-summary-value { margin-top: 8px; color: #111b21; font-size: 14px; line-height: 1.55; } .whatsapp-chat-identity { display: flex; align-items: center; gap: 12px; min-width: 0; } .whatsapp-chat-avatar { width: 40px; height: 40px; font-size: 14px; } .whatsapp-chat-copy { min-width: 0; } .whatsapp-chat-title { font-size: 16px; font-weight: 600; color: #111b21; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .whatsapp-chat-meta { margin-top: 4px; color: #667781; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .whatsapp-chat-surface { position: relative; flex: 1; min-height: 0; overflow: hidden; background: radial-gradient(circle at top left, rgba(18, 140, 126, 0.06), transparent 22%), radial-gradient(circle at bottom right, rgba(37, 211, 102, 0.08), transparent 18%), #efeae2; } .whatsapp-chat-surface::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 12%, transparent 12%) 0 0 / 28px 28px, linear-gradient(45deg, rgba(255, 255, 255, 0.12) 12%, transparent 12%) 0 0 / 28px 28px; opacity: 0.28; pointer-events: none; } .whatsapp-message-timeline { position: relative; z-index: 1; height: 100%; overflow: auto; padding: 20px min(5vw, 32px) 16px; display: flex; flex-direction: column; gap: 8px; } .whatsapp-encryption-pill, .whatsapp-day-pill { align-self: center; display: inline-flex; align-items: center; justify-content: center; width: fit-content; max-width: min(92%, 640px); padding: 7px 12px; border-radius: 10px; background: rgba(255, 255, 255, 0.72); color: #54656f; font-size: 12px; line-height: 1.45; text-align: center; box-shadow: 0 1px 2px rgba(17, 27, 33, 0.08); } .whatsapp-day-pill { background: rgba(223, 242, 252, 0.92); color: #54656f; font-weight: 600; } .whatsapp-message-row { display: flex; width: 100%; min-width: 0; } .whatsapp-message-row.me { justify-content: flex-end; } .whatsapp-message-row.other { justify-content: flex-start; } .whatsapp-message-bubble { position: relative; width: fit-content; max-width: min(72%, 720px); min-width: 120px; padding: 8px 12px 22px; border-radius: 12px; box-shadow: 0 1px 2px rgba(17, 27, 33, 0.12); } .whatsapp-message-bubble.me { background: #d9fdd3; color: #111b21; border-top-right-radius: 4px; } .whatsapp-message-bubble.other { background: #fff; color: #111b21; border-top-left-radius: 4px; } .whatsapp-message-author { margin-bottom: 4px; color: #0b7285; font-size: 12px; font-weight: 700; } .whatsapp-message-badge { margin-bottom: 6px; display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; } .whatsapp-message-badge.ai { background: rgba(18, 108, 137, 0.12); color: #126c89; } .whatsapp-message-body { padding-right: 56px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.45; } .whatsapp-message-meta { position: absolute; right: 10px; bottom: 6px; display: inline-flex; align-items: center; gap: 4px; } .whatsapp-message-time { font-size: 11px; color: #667781; } .whatsapp-message-checks { font-size: 12px; line-height: 1; color: #667781; } .whatsapp-message-checks.read { color: #53bdeb; } .whatsapp-message-checks.delivered { color: #667781; } .whatsapp-composer-wrap { padding: 10px 16px 16px; background: #f0f2f5; flex: 0 0 auto; } .whatsapp-composer-shell { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px 44px; align-items: end; gap: 8px; padding: 8px 10px; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(17, 27, 33, 0.08); } .whatsapp-composer-btn { color: #54656f; } .whatsapp-composer-shell textarea { min-height: 24px; max-height: 120px; height: 24px; padding: 8px 2px; border: 0; background: transparent; resize: none; outline: none; color: #111b21; font-size: 15px; line-height: 1.45; } .whatsapp-send-btn { border-radius: 50%; background: #25d366; color: #08171d; } .whatsapp-send-btn:disabled { background: #dfe5e7; color: #94a3a8; cursor: not-allowed; } .customers-summary { color: var(--text-soft); font-size: 14px; } .table { display: grid; gap: 12px; max-height: 420px; overflow: auto; } .pipeline-board { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 14px; align-items: start; } .unified-inbox-panel { display: grid; gap: 16px; } .unified-inbox-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .unified-inbox-scroll { overflow-x: auto; padding-bottom: 4px; } .unified-inbox-board { grid-template-columns: repeat(5, minmax(240px, 1fr)); min-width: 1320px; } .unified-inbox-card { min-height: 248px; } .live-calls-board { grid-template-columns: repeat(2, minmax(280px, 1fr)); } .pipeline-column { min-width: 0; padding: 12px; border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(180deg, #f8faff, #f2f6fc); } .pipeline-column-recent { background: linear-gradient(180deg, #fbfcfe, #f5f7fb); } .pipeline-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; } .pipeline-title { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; } .pipeline-count { min-width: 30px; height: 30px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #e1e8f4; color: var(--text-soft); font-size: 13px; font-weight: 800; } .pipeline-stack { display: grid; gap: 10px; } .pipeline-card { padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: #fff; box-shadow: 0 10px 24px rgba(16, 33, 61, 0.05); } .pipeline-card.escalated { border-left: 4px solid var(--danger); } .pipeline-card.closed { border-left: 4px solid #d9e0ea; } .live-call-card.selected { border-color: #b9c9ef; box-shadow: 0 14px 26px rgba(51, 102, 232, 0.12); } .live-call-card-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; } .live-call-card-actions .btn { min-height: 38px; padding: 0 14px; font-size: 13px; } .live-call-name-editor { margin: 14px 0; padding: 14px; border-radius: 18px; border: 1px solid var(--primary-line); background: linear-gradient(180deg, #ffffff, #f8fbff); display: grid; gap: 10px; } .live-call-name-editor-head { display: grid; gap: 4px; } .live-call-name-editor-title { font-size: 15px; font-weight: 800; color: var(--text); } .live-call-name-editor-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; } .live-call-name-editor-form input { min-width: 0; } .hint.error, .call-window-meta.error { color: var(--danger); } .card-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; } .micro-badge { min-height: 24px; padding: 0 8px; border-radius: 8px; display: inline-flex; align-items: center; border: 1px solid transparent; font-size: 10px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; } .micro-badge.channel { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary); } .micro-badge.facebook { background: #e7efff; border-color: #bfd2ff; color: #1657d8; } .micro-badge.queue { background: #f4f6fa; border-color: #dde4ef; color: var(--text-soft); } .micro-badge.assignee { background: var(--success-soft); border-color: #bee8d3; color: var(--success); } .micro-badge.owner { background: #fff4df; border-color: #f1d8a3; color: #9a6a00; } .micro-badge.terminal { background: #edf2fb; border-color: #d9e1f1; color: #51627e; } .micro-badge.ai-active { background: rgba(67, 200, 152, 0.14); border-color: rgba(67, 200, 152, 0.34); color: #118a63; } .micro-badge.ai-thinking { background: rgba(64, 132, 255, 0.12); border-color: rgba(64, 132, 255, 0.28); color: #3466d6; } .micro-badge.ai-handoff { background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.34); color: #b66b00; } .micro-badge.ai-human { background: rgba(148, 163, 184, 0.16); border-color: rgba(148, 163, 184, 0.32); color: #55657a; } .micro-badge.ai-error { background: rgba(239, 68, 68, 0.14); border-color: rgba(239, 68, 68, 0.32); color: #cc4343; } .micro-badge.ai-muted { background: rgba(226, 232, 240, 0.4); border-color: rgba(203, 213, 225, 0.62); color: #6b7280; } .micro-badge.name-confirmed { background: rgba(16, 185, 129, 0.14); border-color: rgba(16, 185, 129, 0.28); color: #117c5f; } .micro-badge.name-followup { background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.28); color: #b66900; } .micro-badge.name-missing { background: rgba(148, 163, 184, 0.16); border-color: rgba(148, 163, 184, 0.3); color: #55657a; } .card-title { margin: 0; font-size: 18px; line-height: 1.25; letter-spacing: -0.02em; } .card-subtitle { margin: 4px 0 10px; color: var(--text-soft); font-size: 13px; } .card-meta-line { margin: 0 0 10px; color: var(--text-faint); font-size: 12px; } .card-divider { height: 1px; margin: 10px 0 12px; background: #edf1f7; } .row-item { padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #fff, #fbfcff); box-shadow: 0 10px 22px rgba(16, 33, 61, 0.04); } .row-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; } .row-item-meta { margin-bottom: 10px; color: var(--text-soft); font-size: 13px; line-height: 1.5; } .row-actions { display: flex; flex-wrap: wrap; gap: 8px; } .row-actions button { min-height: 38px; padding: 0 12px; border-radius: 12px; } .status-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; border: 1px solid transparent; } .status-new { background: var(--warning-soft); border-color: #f7ddb0; color: #9a6a00; } .status-in-progress { background: var(--success-soft); border-color: #bee8d3; color: var(--success); } .status-escalated { background: var(--primary-soft); border-color: var(--primary-line); color: var(--primary); } .status-closed { background: #eef2f8; border-color: #dde4ef; color: var(--text-soft); } .summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; } .summary-card { padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f8fbff); } .summary-label { font-size: 11px; font-weight: 800; color: var(--text-faint); letter-spacing: 0.08em; text-transform: uppercase; } .summary-value { margin-top: 8px; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; } .summary-note { margin-top: 5px; color: var(--text-soft); font-size: 12px; } .analytics-dashboard-panel { display: grid; gap: 18px; margin-bottom: 18px; } .analytics-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .analytics-head h2 { margin-bottom: 8px; } .analytics-topbar-intro { display: grid; gap: 4px; } .analytics-topbar-intro strong { font-size: 15px; font-weight: 800; color: var(--text); } .analytics-topbar-intro p { margin: 0; color: var(--text-soft); font-size: 13px; } .analytics-filter-bar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: end; } .analytics-toolkit { display: grid; grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr); gap: 12px; } .analytics-toolkit-group { display: grid; gap: 12px; padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f8fbff); } .analytics-toolkit-group-wide { grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1fr) auto; align-items: end; } .analytics-toolkit-group-wide { display: grid; gap: 12px; } .analytics-toolkit-actions { justify-content: flex-end; } .analytics-inline-meta { min-height: 20px; } .analytics-filter-note { margin: -6px 0 0; } .analytics-empty-state { padding: 14px 16px; border-radius: 16px; border: 1px dashed var(--primary-line); background: linear-gradient(180deg, #f7f9ff, #eef3fb); color: var(--text-soft); } .analytics-narrative { display: grid; gap: 14px; padding: 18px 20px; border-radius: 20px; border: 1px solid var(--primary-line); background: radial-gradient(circle at top right, rgba(35, 92, 212, 0.08), transparent 34%), linear-gradient(180deg, #f8fbff, #eef4ff); } .analytics-narrative-main { display: grid; gap: 6px; } .analytics-narrative-main strong { font-size: 30px; line-height: 1; letter-spacing: -0.04em; } .analytics-narrative-main p { margin: 0; max-width: 72ch; color: var(--text-soft); line-height: 1.5; } .analytics-narrative-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; } .analytics-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; } .analytics-filter-chip { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.72); border: 1px solid var(--line); color: var(--text-soft); font-size: 12px; font-weight: 700; } .analytics-filter-chip-quiet { background: rgba(255, 255, 255, 0.48); border-color: rgba(16, 33, 61, 0.08); } .analytics-compare-panel { display: grid; gap: 14px; padding: 18px; border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f6f9ff); } .analytics-compare-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; } .analytics-compare-head h3 { margin: 0 0 6px; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 22px; line-height: 1.08; } .analytics-compare-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .analytics-compare-card { display: grid; gap: 12px; padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #fbfcff, #f4f7fd); } .analytics-compare-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; } .analytics-compare-label { color: var(--text); font-size: 13px; font-weight: 800; } .analytics-compare-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .analytics-compare-value { display: grid; gap: 6px; } .analytics-compare-value small { color: var(--text-faint); font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; } .analytics-compare-value strong { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 20px; line-height: 1.05; letter-spacing: -0.03em; } .analytics-compare-note { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; } .analytics-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0; } .analytics-card { min-height: 148px; } .analytics-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; } .analytics-card-top-meta { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; } .analytics-coverage-badge { display: inline-flex; align-items: center; justify-content: center; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; white-space: nowrap; border: 1px solid transparent; } .analytics-coverage-badge-exact { color: #0d6b42; background: rgba(24, 160, 99, 0.12); border-color: rgba(24, 160, 99, 0.18); } .analytics-coverage-badge-partial { color: #8b5b00; background: rgba(240, 176, 67, 0.16); border-color: rgba(240, 176, 67, 0.2); } .analytics-coverage-badge-unavailable { color: var(--text-soft); background: rgba(16, 33, 61, 0.08); border-color: rgba(16, 33, 61, 0.1); } .analytics-delta { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; white-space: nowrap; } .analytics-delta-positive { background: var(--success-soft); color: var(--success); } .analytics-delta-negative { background: var(--danger-soft); color: var(--danger); } .analytics-delta-neutral { background: #f1f4f9; color: var(--text-soft); } .analytics-sections { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 14px; } .analytics-subpanel { min-width: 0; padding: 18px; border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(180deg, #fbfcff, #f5f8fd); } .analytics-subpanel h3 { margin: 0 0 8px; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 20px; line-height: 1.1; } .analytics-subpanel .hint { margin: 0 0 12px; font-size: 13px; color: var(--text-soft); } .analytics-subhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; } .analytics-trend-selector { min-width: 160px; } .analytics-chart-shell { display: grid; gap: 10px; } .analytics-chart-plot { position: relative; } .analytics-chart-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text-soft); font-size: 13px; } .analytics-chart-meta-values { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; } .analytics-chart-summary.is-hovered { color: var(--text); font-weight: 600; } .analytics-chart-tooltip { position: absolute; top: 8px; left: 0; transform: translateX(-50%); display: grid; gap: 2px; min-width: 104px; padding: 8px 10px; border-radius: 12px; border: 1px solid rgba(53, 99, 233, 0.18); background: rgba(255, 255, 255, 0.96); box-shadow: 0 16px 34px rgba(14, 26, 49, 0.12); pointer-events: none; z-index: 2; } .analytics-chart-tooltip strong { color: var(--text); font-size: 12px; line-height: 1.2; } .analytics-chart-tooltip span { color: var(--primary); font-size: 13px; font-weight: 700; line-height: 1.2; } .analytics-chart-svg { width: 100%; height: auto; display: block; } .analytics-grid-line { stroke: #e2e8f3; stroke-width: 1; } .analytics-line { fill: none; stroke: var(--primary); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; } .analytics-point { fill: #ffffff; stroke: var(--primary); stroke-width: 2; transition: fill 120ms ease, stroke-width 120ms ease, transform 120ms ease; transform-origin: center; } .analytics-point.is-active { fill: #dbe8ff; stroke-width: 3; } .analytics-point-hit { fill: transparent; stroke: transparent; cursor: pointer; } .analytics-axis-label { fill: var(--text-faint); font-size: 11px; font-family: "IBM Plex Sans", "Segoe UI", sans-serif; } .analytics-table-shell { display: grid; gap: 0; border-radius: 16px; border: 1px solid var(--line); background: #ffffff; overflow: hidden; } .analytics-table-head, .analytics-table-row { display: grid; gap: 12px; align-items: center; padding: 12px 14px; } .analytics-channel-grid { grid-template-columns: minmax(120px, 1.4fr) repeat(4, minmax(72px, 1fr)); } .analytics-queue-grid { grid-template-columns: minmax(180px, 2fr) repeat(4, minmax(72px, 1fr)); } .agent-analytics-grid { grid-template-columns: minmax(170px, 1.6fr) minmax(110px, 0.9fr) minmax(130px, 1.1fr) repeat(4, minmax(78px, 0.75fr)); } .analytics-table-head { background: var(--bg-soft); color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .analytics-table-row { border-top: 1px solid var(--line); background: #ffffff; text-align: left; } .analytics-table-row small { display: block; margin-top: 4px; color: var(--text-faint); } .analytics-table-button { width: 100%; border: 0; font: inherit; cursor: pointer; } .analytics-table-button:hover { background: #f8fbff; } .analytics-table-button.selected { background: var(--primary-soft); } .analytics-card-button { width: 100%; border: 1px solid var(--primary-line); text-align: left; cursor: pointer; background: linear-gradient(180deg, #ffffff, #f6f9ff); transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; } .analytics-card-button:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(31, 83, 181, 0.08); border-color: rgba(31, 83, 181, 0.22); } .analytics-card-readonly { border: 1px dashed var(--line-strong); background: linear-gradient(180deg, #fbfcff, #f5f7fb); } .analytics-card-coverage-exact { border-color: rgba(24, 160, 99, 0.18); } .analytics-card-coverage-partial { border-color: rgba(240, 176, 67, 0.22); background: linear-gradient(180deg, #fffdf7, #fbf6ea); } .analytics-card-coverage-unavailable { border-color: rgba(16, 33, 61, 0.12); } .analytics-card-hint { margin-top: 12px; color: var(--primary); font-size: 12px; line-height: 1.45; font-weight: 700; } .analytics-card-readonly .analytics-card-hint { color: var(--text-faint); font-weight: 600; } .analytics-ai-panel { display: grid; gap: 14px; padding: 20px; border-radius: 24px; border: 1px solid rgba(31, 83, 181, 0.12); background: radial-gradient(circle at top right, rgba(31, 83, 181, 0.08), transparent 34%), linear-gradient(180deg, #f9fbff, #f1f6ff); } .analytics-voice-panel { display: grid; gap: 14px; padding: 20px; border-radius: 24px; border: 1px solid rgba(40, 116, 78, 0.12); background: radial-gradient(circle at top right, rgba(40, 116, 78, 0.08), transparent 34%), linear-gradient(180deg, #fbfefb, #f3faf5); } .voice-name-analytics-overview { margin-bottom: 0; } .voice-name-card { border-style: solid; border-color: rgba(40, 116, 78, 0.12); background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 246, 0.95)); } .voice-name-funnel-grid { grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(72px, 0.8fr)); } .voice-name-language-grid { grid-template-columns: minmax(110px, 1fr) repeat(5, minmax(82px, 0.8fr)); } .voice-name-queue-grid { grid-template-columns: minmax(170px, 1.4fr) repeat(5, minmax(82px, 0.8fr)); } .voice-name-handoff-grid { grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(82px, 0.8fr)); } .analytics-agent-panel { display: grid; gap: 14px; padding: 20px; border-radius: 24px; border: 1px solid rgba(16, 33, 61, 0.08); background: radial-gradient(circle at top right, rgba(16, 33, 61, 0.05), transparent 34%), linear-gradient(180deg, #fbfcff, #f4f7fd); } .agent-analytics-overview { margin-bottom: 0; } .agent-analytics-card { border-style: solid; } .agent-analytics-state-strip { display: flex; flex-wrap: wrap; gap: 10px; } .agent-team-grid { grid-template-columns: minmax(160px, 1.5fr) repeat(5, minmax(72px, 0.9fr)); } .agent-shift-grid { grid-template-columns: minmax(120px, 1.1fr) repeat(5, minmax(72px, 0.9fr)); } .agent-state-chip { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; border: 1px solid rgba(16, 33, 61, 0.08); background: rgba(255, 255, 255, 0.94); color: var(--text-soft); } .agent-state-chip-ready { background: rgba(24, 166, 109, 0.14); color: #16694a; } .agent-state-chip-busy { background: rgba(255, 177, 46, 0.18); color: #9c5b00; } .agent-state-chip-break { background: rgba(123, 66, 200, 0.14); color: #6a34ad; } .agent-state-chip-offline { background: rgba(16, 33, 61, 0.08); color: var(--text-soft); } .ai-analytics-overview { margin-bottom: 0; } .ai-analytics-card { border-style: solid; border-color: rgba(31, 83, 181, 0.12); background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 246, 255, 0.95)); } .ai-analytics-card-hint { color: var(--text-soft); } .ai-analytics-channel-grid { grid-template-columns: minmax(120px, 1.3fr) repeat(5, minmax(72px, 1fr)); } .ai-analytics-outcome-grid { grid-template-columns: minmax(160px, 1.4fr) repeat(2, minmax(72px, 0.8fr)); } .ai-analytics-reason-grid { grid-template-columns: minmax(220px, 1.6fr) repeat(2, minmax(72px, 0.8fr)); } .ai-analytics-coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ai-analytics-row-button { width: 100%; font: inherit; text-align: left; cursor: pointer; } .ai-analytics-row-button:hover { border-color: rgba(31, 83, 181, 0.2); background: linear-gradient(180deg, #ffffff, #f1f6ff); } .ai-analytics-row-button:focus-visible { outline: 2px solid rgba(31, 83, 181, 0.28); outline-offset: 2px; } .analytics-drilldown-note { margin-top: -4px; } body.analytics-drilldown-open { overflow: hidden; } .analytics-drawer-backdrop { display: none; position: fixed; inset: 0; z-index: 79; background: rgba(7, 13, 24, 0.18); } .analytics-drawer { display: none; position: fixed; inset: 0; z-index: 80; width: 100%; height: 100dvh; padding: 28px 32px; border: 0; background: radial-gradient(circle at top right, rgba(35, 92, 212, 0.08), transparent 34%), linear-gradient(180deg, #fbfdff, #f1f5fc); box-shadow: none; grid-template-rows: auto auto auto minmax(0, 1fr); gap: 18px; overflow: hidden; } .analytics-drawer-backdrop.is-open { display: block; } .analytics-drawer.is-open { display: grid; } .analytics-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0 2px; } .analytics-drawer-close { white-space: nowrap; } .analytics-drawer-head h2 { margin: 6px 0 0; font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 34px; line-height: 1.05; letter-spacing: -0.03em; } .analytics-drawer-filters { gap: 8px; padding: 0 2px; } .analytics-drawer-toolbar { display: grid; grid-template-columns: minmax(260px, 1.25fr) repeat(2, minmax(180px, 0.85fr)) auto; gap: 14px; padding: 18px 20px; border-radius: 24px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.94); box-shadow: 0 18px 36px rgba(31, 83, 181, 0.08); } .analytics-drawer-toolbar .row { min-width: 0; } .analytics-drawer-toolbar-search input[type="search"] { width: 100%; } .analytics-drawer-toolbar-actions { align-self: end; justify-content: flex-end; } .analytics-drawer-body { min-height: 0; display: grid; grid-template-columns: minmax(360px, 0.86fr) minmax(0, 1.5fr); gap: 18px; overflow: hidden; } .analytics-drawer-list-shell, .analytics-drawer-detail-shell { min-height: 0; display: grid; gap: 12px; padding: 20px; border-radius: 24px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.96); box-shadow: 0 18px 36px rgba(16, 33, 61, 0.06); } .analytics-drawer-list-shell { grid-template-rows: auto minmax(0, 1fr) auto; } .analytics-drawer-detail-shell { grid-template-rows: auto minmax(0, 1fr); } .analytics-drawer-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 2; margin: -20px -20px 0; padding: 20px 20px 12px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.92)); backdrop-filter: blur(10px); } .analytics-drawer-list-head strong { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 20px; line-height: 1.1; } .analytics-drawer-list { min-height: 0; overflow: auto; display: grid; gap: 10px; scrollbar-gutter: stable; } .analytics-drilldown-row { width: 100%; padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #fbfcff, #f7f9fc); text-align: left; cursor: pointer; font: inherit; display: grid; gap: 8px; transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease; } .analytics-drilldown-row:hover { transform: translateY(-1px); border-color: rgba(31, 83, 181, 0.2); background: linear-gradient(180deg, #ffffff, #f1f6ff); } .analytics-drilldown-row.selected { border-color: var(--primary); background: linear-gradient(180deg, #eef4ff, #e5efff); } .analytics-drilldown-row-top, .analytics-drilldown-row-meta, .analytics-timeline-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .analytics-drilldown-row-top strong, .analytics-drilldown-detail-head strong { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 16px; line-height: 1.2; } .analytics-drilldown-row-meta { color: var(--text-soft); font-size: 12px; flex-wrap: wrap; } .analytics-drilldown-facts { display: flex; flex-wrap: wrap; gap: 8px; } .analytics-fact-badge { display: inline-flex; align-items: center; justify-content: center; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; border: 1px solid rgba(16, 33, 61, 0.08); background: rgba(255, 255, 255, 0.94); color: var(--text-soft); } .analytics-fact-badge-wait, .analytics-fact-badge-handle { background: rgba(31, 83, 181, 0.08); color: var(--primary-strong); } .analytics-fact-badge-sla, .analytics-fact-badge-fcr { background: rgba(24, 160, 99, 0.12); color: #0d6b42; } .analytics-fact-badge-sla-miss, .analytics-fact-badge-abandoned { background: rgba(214, 73, 80, 0.1); color: #9d313c; } .analytics-drilldown-status, .analytics-drilldown-pill { display: inline-flex; align-items: center; justify-content: center; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: 0.02em; border: 1px solid rgba(16, 33, 61, 0.08); } .analytics-drilldown-pill { background: rgba(244, 247, 252, 0.9); color: var(--text-soft); } .analytics-drilldown-status { background: rgba(245, 248, 253, 0.92); color: var(--text-soft); } .analytics-drilldown-status-new { background: rgba(39, 124, 255, 0.12); color: #1b5fc8; } .analytics-drilldown-status-in-progress { background: rgba(255, 177, 46, 0.18); color: #9c5b00; } .analytics-drilldown-status-escalated { background: rgba(223, 80, 68, 0.14); color: #9b2e25; } .analytics-drilldown-status-closed { background: rgba(24, 166, 109, 0.16); color: #16694a; } .analytics-drilldown-status-abandoned { background: rgba(123, 66, 200, 0.14); color: #6a34ad; } .analytics-drilldown-status-ready { background: rgba(24, 166, 109, 0.16); color: #16694a; } .analytics-drilldown-status-busy { background: rgba(255, 177, 46, 0.18); color: #9c5b00; } .analytics-drilldown-status-break { background: rgba(123, 66, 200, 0.14); color: #6a34ad; } .analytics-drilldown-status-offline { background: rgba(16, 33, 61, 0.08); color: var(--text-soft); } .analytics-drilldown-status-active { background: rgba(39, 124, 255, 0.12); color: #1b5fc8; } .analytics-drilldown-status-handoff-required { background: rgba(223, 80, 68, 0.14); color: #9b2e25; } .analytics-drilldown-status-human-owned { background: rgba(255, 177, 46, 0.18); color: #9c5b00; } .analytics-drilldown-status-error { background: rgba(123, 66, 200, 0.14); color: #6a34ad; } .analytics-drawer-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; position: sticky; bottom: 0; margin: 0 -20px -20px; padding: 12px 20px 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.96) 34%); } .analytics-drawer-detail { min-height: 0; overflow: auto; display: grid; gap: 12px; scrollbar-gutter: stable; } .analytics-drilldown-detail-card { padding: 18px; border-radius: 20px; border: 1px solid var(--line); background: linear-gradient(180deg, #fbfcff, #f7f9fd); display: grid; gap: 14px; position: sticky; top: 0; z-index: 1; } .analytics-drilldown-metric-note { display: grid; gap: 8px; padding: 12px 14px; border-radius: 16px; border: 1px solid rgba(31, 83, 181, 0.12); background: rgba(241, 246, 255, 0.7); } .analytics-drilldown-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; } .analytics-drilldown-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .analytics-drilldown-detail-grid div { padding: 12px; border-radius: 16px; background: rgba(255, 255, 255, 0.8); border: 1px solid rgba(21, 38, 70, 0.08); display: grid; gap: 6px; } .analytics-drilldown-detail-grid small { color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .analytics-drilldown-detail-grid strong { font-size: 14px; line-height: 1.45; word-break: break-word; } .analytics-drilldown-timeline { display: grid; gap: 10px; padding-bottom: 8px; } .analytics-timeline-item { padding: 14px; border-radius: 18px; border: 1px solid var(--line); background: #ffffff; display: grid; gap: 8px; } .analytics-timeline-meta span { color: var(--text-soft); font-size: 12px; } .analytics-timeline-item pre { margin: 0; padding: 12px; border-radius: 14px; background: #f4f7fb; color: var(--text-soft); font-size: 12px; line-height: 1.5; overflow: auto; } .analytics-coverage { display: grid; gap: 14px; } .analytics-coverage-list { display: grid; gap: 12px; } .analytics-coverage-block h4 { margin: 0 0 8px; color: var(--text-faint); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .analytics-coverage-chips { display: flex; flex-wrap: wrap; gap: 8px; } .analytics-coverage-chip { display: inline-flex; align-items: center; padding: 8px 10px; border-radius: 999px; background: var(--primary-soft); border: 1px solid var(--primary-line); color: var(--primary); font-size: 12px; font-weight: 700; } .analytics-coverage-chip.soft { background: #f5f7fb; border-color: var(--line); color: var(--text-soft); } .analytics-placeholder-grid { display: grid; gap: 10px; } .analytics-placeholder-card { padding: 14px; border-radius: 16px; border: 1px dashed var(--line-strong); background: linear-gradient(180deg, #fbfcff, #f7f9fd); } .analytics-placeholder-card p { margin: 6px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; } .agent-analytics-table-foot { padding: 12px 14px; border-top: 1px solid var(--line); color: var(--text-faint); font-size: 12px; } .softphone-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; } .softphone-summary.compact { margin-bottom: 14px; } .softphone-status-block { padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(180deg, #ffffff, #f8fbff); } .softphone-status-label { font-size: 11px; font-weight: 800; color: var(--text-faint); letter-spacing: 0.08em; text-transform: uppercase; } .softphone-status-value { margin-top: 8px; font-size: 16px; font-weight: 700; color: var(--text); word-break: break-word; } .row.stacked { display: grid; gap: 6px; } .softphone-banner { margin-bottom: 12px; padding: 16px; border-radius: 18px; border: 1px solid var(--primary-line); background: linear-gradient(180deg, #f7f9ff, #edf2ff); display: flex; align-items: center; justify-content: space-between; gap: 16px; } .softphone-banner p { margin: 6px 0 0; color: var(--text-soft); } .softphone-banner-actions { display: flex; gap: 8px; flex-wrap: wrap; } .live-call-inspector { grid-template-columns: 1fr; } .call-window-overlay { position: fixed; inset: 0; z-index: 40; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(12, 21, 35, 0.45); } .call-window { width: min(620px, 100%); padding: 22px; border-radius: 28px; border: 1px solid rgba(255, 255, 255, 0.14); background: linear-gradient(180deg, rgba(17, 25, 41, 0.97), rgba(8, 13, 22, 0.97)); color: #f5f7fb; box-shadow: 0 28px 60px rgba(8, 13, 22, 0.4); } .call-window-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .call-window-status { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #95b7ff; } .call-window-title { margin: 8px 0 4px; font-size: 34px; line-height: 1.05; letter-spacing: -0.04em; } .call-window-meta { margin: 0; color: rgba(245, 247, 251, 0.9); font-size: 15px; } .call-window-meta.subtle { margin-top: 6px; color: rgba(200, 210, 224, 0.78); font-size: 13px; } .call-window-body { display: grid; justify-items: center; gap: 16px; padding: 28px 0 22px; } .call-window-avatar { width: 112px; height: 112px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at top, rgba(95, 133, 255, 0.75), rgba(40, 63, 112, 0.95)); border: 1px solid rgba(255, 255, 255, 0.12); font-size: 42px; } .call-window-timer { font-family: "Manrope", "IBM Plex Sans", sans-serif; font-size: 24px; font-weight: 800; letter-spacing: -0.03em; } .call-window-warning { margin: 0; width: min(420px, 100%); padding: 10px 12px; border-radius: 14px; background: rgba(239, 68, 68, 0.16); border: 1px solid rgba(239, 68, 68, 0.32); color: #ffd0d0; text-align: center; font-size: 13px; line-height: 1.45; } .call-window-ai-summary { margin-bottom: 14px; } .call-window-name-editor { margin-bottom: 14px; padding: 14px 16px; border-radius: 18px; background: rgba(9, 16, 28, 0.42); border: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 10px; } .call-window-name-head { display: grid; gap: 4px; } .call-window-name-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; } .call-window-name-form input { min-width: 0; background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.15); color: #fff; } .call-window-name-form input::placeholder { color: rgba(255, 255, 255, 0.45); } .voice-ai-summary { padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.06); display: grid; gap: 12px; } .voice-ai-summary-loading { opacity: 0.92; } .voice-ai-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .voice-ai-summary-title { color: rgba(229, 236, 248, 0.92); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .voice-ai-summary-caption, .voice-ai-summary-meta { color: rgba(209, 220, 236, 0.72); font-size: 12px; line-height: 1.45; } .voice-ai-summary-side { display: grid; justify-items: end; gap: 8px; } .voice-ai-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .voice-summary-field { padding: 12px 14px; border-radius: 16px; background: rgba(9, 16, 28, 0.46); border: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 6px; } .voice-summary-label { color: rgba(175, 189, 210, 0.76); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .voice-summary-value { color: #f5f7fb; font-size: 14px; line-height: 1.5; white-space: pre-wrap; } .voice-summary-status { min-height: 28px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .voice-summary-status.answered { background: rgba(16, 185, 129, 0.16); color: #70e0bb; } .voice-summary-status.handoff { background: rgba(245, 158, 11, 0.18); color: #f3bf6a; } .voice-summary-transcript { display: grid; gap: 10px; } .voice-summary-transcript-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .voice-summary-transcript-meta { color: rgba(175, 189, 210, 0.72); font-size: 11px; } .voice-summary-transcript-list { display: grid; gap: 8px; max-height: 240px; overflow-y: auto; padding-right: 4px; } .voice-transcript-line { padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 6px; } .voice-transcript-line.caller { background: rgba(9, 16, 28, 0.42); } .voice-transcript-line.assistant { background: rgba(56, 96, 201, 0.18); } .voice-transcript-speaker-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .voice-transcript-speaker { color: #d7e2f3; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; } .voice-transcript-time { color: rgba(175, 189, 210, 0.68); font-size: 11px; } .voice-transcript-text { color: #f5f7fb; font-size: 14px; line-height: 1.5; white-space: pre-wrap; } .call-window-transfer { display: grid; grid-template-columns: 160px 1fr; gap: 10px; margin-bottom: 14px; } .call-window-transfer select, .call-window-transfer input { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.15); color: #fff; } .call-window-transfer input::placeholder { color: rgba(255, 255, 255, 0.45); } .call-window-actions { display: flex; flex-wrap: wrap; gap: 10px; } .call-window .icon-button { border-color: rgba(255, 255, 255, 0.15); background: rgba(255, 255, 255, 0.06); color: #fff; } .hidden { display: none !important; } #browserPhoneRemoteAudio { width: 100%; margin-top: 10px; } .output { margin: 0; padding: 14px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: #f8fbff; color: var(--text-soft); white-space: pre-wrap; max-height: 220px; overflow: auto; font-size: 12px; line-height: 1.55; } .output.tall { max-height: 340px; } .compact-actions { margin-bottom: 12px; } .technical-panel { background: linear-gradient(180deg, #ffffff, #fbfcff); } .technical-details { margin-top: 8px; padding: 14px 16px 10px; border-radius: 18px; border: 1px solid var(--line); background: #f9fbff; } .technical-details > summary { cursor: pointer; color: var(--text); font-size: 15px; font-weight: 800; list-style: none; } .technical-details > summary::-webkit-details-marker { display: none; } .technical-details[open] { background: #fff; } .details-block { margin-bottom: 12px; } .details-block summary { cursor: pointer; color: var(--text-soft); font-size: 13px; font-weight: 700; margin-bottom: 8px; } .empty-state { color: var(--text-faint); font-style: italic; } .reveal { animation: rise 0.45s ease both; } .reveal:nth-child(2) { animation-delay: 0.04s; } .reveal:nth-child(3) { animation-delay: 0.08s; } .reveal:nth-child(4) { animation-delay: 0.12s; } @keyframes rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 1200px) { .app-shell { display: block; } .sidebar { width: auto; position: static; min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); overflow-y: visible; } .workspace { margin-left: 0; } } @media (max-width: 980px) { .workspace-topbar, .layout { padding-left: 18px; padding-right: 18px; } .workspace-topbar { height: auto; align-items: stretch; flex-direction: column; } .login-grid { grid-template-columns: 1fr; } .search-box { max-width: none; } .topbar-actions, .guide-head { flex-direction: column; align-items: stretch; } .auth, .grid, .inline-form, .inline-form.compact, .inline-form.split-two, .summary-grid, .softphone-summary, .analytics-filter-bar, .analytics-toolkit, .analytics-toolkit-group-wide, .analytics-compare-grid, .analytics-overview-grid, .analytics-sections { grid-template-columns: 1fr; } .ai-analytics-coverage-grid, .ai-analytics-channel-grid, .ai-analytics-outcome-grid, .ai-analytics-reason-grid { grid-template-columns: 1fr; } .analytics-head, .analytics-compare-head, .analytics-subhead, .analytics-chart-meta, .analytics-narrative-meta, .unified-inbox-head { flex-direction: column; align-items: stretch; } .analytics-table-shell { overflow: auto; } .analytics-table-head, .analytics-table-row { min-width: 620px; } .pipeline-board { grid-template-columns: 1fr; } .unified-inbox-board { min-width: 0; } .customer-spotlight-grid, .customer-spotlight-grid.page, .customer-profile-summary-grid, .customer-profile-meta-grid { grid-template-columns: 1fr; } .customer-profile-hero, .customer-history-header { flex-direction: column; } .customer-profile-name-row { flex-direction: column; align-items: stretch; } .customer-profile-badges { justify-content: flex-start; max-width: none; } .customer-history-caption { max-width: none; text-align: left; } .customers-toolbar, .customers-footer { align-items: stretch; } .customers-toolbar-left, .customers-toolbar-right, .customers-search { width: 100%; max-width: none; } .lead-table-head, .lead-table-row { grid-template-columns: 44px minmax(200px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1fr) 90px; } .call-window { padding: 18px; } .call-window-transfer { grid-template-columns: 1fr; } .call-window-name-form, .live-call-name-editor-form, .customer-profile-name-editor-form { grid-template-columns: 1fr; } .call-window-actions { flex-direction: column; } .voice-ai-summary-head { flex-direction: column; } .voice-ai-summary-side { justify-items: start; } .voice-ai-summary-grid { grid-template-columns: 1fr; } .profile-chip { border-left: 0; padding-left: 0; } .messenger-layout, .telegram-layout { grid-template-columns: 1fr; } .messenger-list-pane, .messenger-context-pane { border-left: 0; border-right: 0; border-bottom: 1px solid var(--line); } .messenger-list-pane { min-height: 320px; } .messenger-context-pane { order: 3; } .messenger-chat-header, .messenger-chat-actions { flex-wrap: wrap; } .messenger-chat-surface { min-height: 420px; } .telegram-threads-pane { border-right: 0; border-bottom: 1px solid var(--line); min-height: 320px; } .telegram-chat-header, .telegram-operator-controls { flex-wrap: wrap; } .telegram-ai-summary-head { flex-direction: column; } .telegram-ai-summary-meta { white-space: normal; text-align: left; } .telegram-ai-summary-side { justify-items: start; } .telegram-ai-summary-grid { grid-template-columns: 1fr; } .telegram-chat-surface { min-height: 420px; } .telegram-composer-shell { grid-template-columns: 40px minmax(0, 1fr) 40px 44px; } .whatsapp-shell { grid-template-columns: 1fr; grid-template-rows: auto auto minmax(520px, 1fr); } .whatsapp-nav-rail { padding: 10px 14px; border-right: 0; border-bottom: 1px solid rgba(233, 237, 239, 0.08); flex-direction: row; } .whatsapp-rail-group, .whatsapp-rail-footer { flex-direction: row; } .whatsapp-list-pane { border-right: 0; border-bottom: 1px solid rgba(233, 237, 239, 0.08); min-height: 320px; } .whatsapp-chat-head { flex-wrap: wrap; } .whatsapp-context-panel { padding-left: 12px; padding-right: 12px; } .whatsapp-ai-summary-head { flex-direction: column; } .whatsapp-ai-summary-side { justify-items: start; } .whatsapp-ai-summary-grid { grid-template-columns: 1fr; } .whatsapp-chat-surface { min-height: 420px; } } @media (max-width: 880px) { .lead-table-head { display: none; } .lead-table-row { grid-template-columns: 1fr; gap: 10px; padding: 16px; } .customer-spotlight-shell { padding: 14px; } .customer-spotlight-page { padding: 16px; } .customer-profile-card, .customer-history-card { padding: 16px; border-radius: 20px; } .customer-profile-copy h3, .customer-history-header h3 { font-size: 24px; } .customer-history-event { grid-template-columns: 1fr; } .customer-history-mark { width: 40px; height: 40px; border-radius: 14px; } .telegram-thread-card { padding: 10px; } .telegram-thread-avatar { width: 38px; height: 38px; font-size: 11px; } .telegram-thread-title { font-size: 18px; } .telegram-message-bubble { max-width: 92%; } .telegram-composer-wrap { padding-left: 10px; padding-right: 10px; } .telegram-composer-shell { grid-template-columns: 38px minmax(0, 1fr) 38px 42px; } .whatsapp-list-head, .whatsapp-chat-head, .whatsapp-context-panel, .whatsapp-search-wrap, .whatsapp-composer-wrap { padding-left: 12px; padding-right: 12px; } .whatsapp-chat-card { padding: 12px; } .whatsapp-chat-card-avatar { width: 42px; height: 42px; font-size: 13px; } .whatsapp-chat-card-title { font-size: 14px; } .whatsapp-message-timeline { padding-left: 10px; padding-right: 10px; } .whatsapp-message-bubble { max-width: 94%; } .whatsapp-composer-shell { grid-template-columns: 38px minmax(0, 1fr) 38px 42px; gap: 6px; } .checkbox-cell { display: none; } .score-cell { text-align: left; } } @media (max-width: 960px) { .analytics-drawer { padding: 22px; } .analytics-drawer-body { grid-template-columns: 1fr; grid-template-rows: minmax(240px, 36dvh) minmax(0, 1fr); } .analytics-drawer-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .analytics-drawer-toolbar-actions { grid-column: 1 / -1; justify-content: stretch; } .analytics-drawer-list-shell, .analytics-drawer-detail-shell { min-height: 0; } } @media (max-width: 720px) { .analytics-drawer { inset: 0; height: 100dvh; border-radius: 0; padding: 14px; gap: 14px; } .analytics-drawer-head { flex-direction: column; align-items: stretch; } .analytics-drawer-head h2 { font-size: 28px; } .analytics-drawer-toolbar { grid-template-columns: 1fr; padding: 14px; gap: 12px; } .analytics-drawer-toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; } .analytics-drawer-body { grid-template-rows: minmax(220px, 34dvh) minmax(0, 1fr); gap: 12px; } .analytics-drilldown-detail-grid { grid-template-columns: 1fr; } .analytics-drawer-list-head { margin: -16px -16px 0; padding: 16px 16px 10px; } .analytics-drawer-pager { margin: 0 -16px -16px; padding: 10px 16px 0; } }