.social-bi-shell { --social-bi-control-height: 40px; display: grid; min-width: 1040px; min-height: 100vh; grid-template-columns: 72px minmax(0, 1fr); background: #f5f7fb; color: #172033; } .social-bi-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; align-items: center; gap: 12px; padding: 12px 10px; border-right: 1px solid #dfe8f2; background: #ffffff; } .social-bi-sidebar-brand { display: flex; height: 42px; align-items: center; justify-content: center; padding: 0; } .social-bi-sidebar-brand span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #1688d9; color: #ffffff; font-size: 13px; font-weight: 800; } .social-bi-sidebar-brand strong { display: none; } .social-bi-sidebar-nav { display: grid; width: 100%; gap: 8px; justify-items: center; } .social-bi-nav-item { position: relative; display: grid; width: 48px; height: 44px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #5f6f86; font: inherit; transition: background-color 180ms cubic-bezier(0.2, 0, 0, 1), border-color 180ms cubic-bezier(0.2, 0, 0, 1), color 180ms cubic-bezier(0.2, 0, 0, 1), transform 180ms cubic-bezier(0.16, 1, 0.3, 1); } .social-bi-nav-item svg { font-size: 20px; } .social-bi-nav-item span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } .social-bi-nav-item:hover { border-color: #e0ebf5; background: #f4f8fc; color: #34445a; } .social-bi-nav-item.is-active, .social-bi-nav-item.is-active:hover { border-color: #cfe3f5; background: #eef7ff; color: #126fb2; } .social-bi-nav-item:active { transform: translateY(1px); } .social-bi-main { display: grid; min-width: 0; align-content: start; gap: 12px; padding: 12px 14px 24px; } .social-bi-filter-section { display: flex; align-items: end; gap: 8px; padding: 8px 10px; border: 1px solid #e4ebf3; border-radius: 6px; background: #ffffff; } .social-bi-filter-grid { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: end; gap: 8px; } .social-bi-field { position: relative; flex: 0 0 220px; min-width: 0; } .social-bi-date-field { flex-basis: 260px; } .social-bi-dropdown--wide { flex-basis: 260px; } .social-bi-field-label { display: block; margin-bottom: 3px; color: #718198; font-size: 11px; font-weight: 680; } .social-bi-date-options { box-sizing: border-box; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); height: var(--social-bi-control-height); gap: 3px; padding: 3px; border: 1px solid #d8e5f0; border-radius: 6px; background: #f8fbfe; } .social-bi-date-options button { display: grid; min-width: 0; height: 100%; place-items: center; border: 0; border-radius: 5px; background: transparent; color: #5f6f86; font: inherit; transition: background-color 180ms cubic-bezier(0.2, 0, 0, 1), color 180ms cubic-bezier(0.2, 0, 0, 1), box-shadow 180ms cubic-bezier(0.2, 0, 0, 1); } .social-bi-date-options button span { font-size: 12px; font-weight: 720; } .social-bi-date-options button small { max-width: 100%; overflow: hidden; color: #8c9aab; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; } .social-bi-date-options button:hover, .social-bi-date-options button.is-active { background: #ffffff; color: #126fb2; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08); } .social-bi-dropdown summary { box-sizing: border-box; display: flex; height: var(--social-bi-control-height); min-height: var(--social-bi-control-height); align-items: center; gap: 8px; padding: 0 30px 0 10px; border: 1px solid #d8e5f0; border-radius: 6px; background: #ffffff; color: #172033; list-style: none; transition: border-color 180ms cubic-bezier(0.2, 0, 0, 1), box-shadow 180ms cubic-bezier(0.2, 0, 0, 1); } .social-bi-dropdown summary::-webkit-details-marker { display: none; } .social-bi-dropdown summary::after { position: absolute; right: 10px; top: 50%; color: #8c9aab; content: "⌄"; font-size: 16px; transform: translateY(-50%); } .social-bi-dropdown summary:hover, .social-bi-dropdown[open] summary { border-color: #1688d9; box-shadow: 0 0 0 3px rgba(22, 136, 217, 0.1); } .social-bi-dropdown summary strong { display: block; flex: 1 1 auto; min-width: 0; overflow: hidden; color: #172033; font-size: 13px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; } .social-bi-dropdown summary .social-bi-field-label { flex: 0 0 auto; margin-bottom: 0; } .social-bi-dropdown-menu { position: absolute; z-index: 12; top: calc(100% + 8px); left: 0; display: grid; width: min(320px, 90vw); max-height: 330px; gap: 4px; overflow: auto; padding: 8px; border: 1px solid #d8e5f0; border-radius: 8px; background: #ffffff; box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14); } .social-bi-dropdown--wide .social-bi-dropdown-menu { width: min(380px, 90vw); } .social-bi-dropdown-menu--search input { box-sizing: border-box; height: var(--social-bi-control-height); margin-bottom: 4px; padding: 0 10px; border: 1px solid #d8e5f0; border-radius: 8px; background: #ffffff; color: #172033; outline: none; } .social-bi-dropdown-menu--search input:focus { border-color: #1688d9; box-shadow: 0 0 0 3px rgba(22, 136, 217, 0.1); } .social-bi-option { display: flex; min-height: 34px; align-items: center; gap: 4px; padding: 0 8px 0 0; border: 0; border-radius: 6px; background: transparent; color: #34445a; font: inherit; font-size: 13px; text-align: left; transition: background-color 160ms cubic-bezier(0.2, 0, 0, 1), color 160ms cubic-bezier(0.2, 0, 0, 1); } .social-bi-option:hover, .social-bi-option.is-selected { background: #eef7ff; color: #126fb2; } .social-bi-option .MuiCheckbox-root { padding: 5px; } .social-bi-cascade-menu { align-content: start; } .social-bi-cascade-group { display: grid; gap: 2px; } .social-bi-cascade-children { display: grid; gap: 2px; padding-left: 22px; } .social-bi-dropdown-empty { padding: 10px 8px; color: #718198; font-size: 13px; } .social-bi-query-button.MuiButton-root { height: var(--social-bi-control-height); min-height: var(--social-bi-control-height); min-width: 84px; border-radius: 6px; background: #1688d9; font-weight: 760; } .social-bi-query-button.MuiButton-root:hover { background: #126fb2; } .social-bi-load-error { align-self: center; color: #c2410c; font-size: 13px; font-weight: 700; } .social-bi-summary-section { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; } .social-bi-summary-card { display: grid; min-height: 82px; align-content: space-between; gap: 6px; padding: 12px; border: 1px solid #e4ebf3; border-radius: 6px; background: #ffffff; } .social-bi-summary-card > span { color: #718198; font-size: 12px; font-weight: 680; } .social-bi-summary-card strong { color: #172033; font-size: 22px; font-weight: 800; line-height: 1.1; } .social-bi-delta { width: max-content; padding: 3px 6px; border-radius: 5px; font-size: 11px; font-weight: 760; } .social-bi-delta.is-up { background: #ecfdf3; color: #15803d; } .social-bi-delta.is-down { background: #fff1f2; color: #be123c; } .social-bi-table-section { min-width: 0; border: 1px solid #e4ebf3; border-radius: 6px; background: #ffffff; } .social-bi-table-head { display: flex; height: 42px; align-items: center; justify-content: flex-end; gap: 12px; padding: 0 12px; border-bottom: 1px solid #e4ebf3; } .social-bi-table-head span { color: #718198; font-size: 12px; font-weight: 680; } .social-bi-table-scroll { overflow-x: auto; } .social-bi-table { width: 100%; min-width: 1120px; border-collapse: collapse; } .social-bi-table th, .social-bi-table td { height: 34px; padding: 0 8px; border-bottom: 1px solid #edf2f7; color: #34445a; font-size: 12px; text-align: right; white-space: nowrap; } .social-bi-table th { background: #f8fbfe; color: #5f6f86; font-size: 12px; font-weight: 760; } .social-bi-table th.is-left, .social-bi-table td.is-left { text-align: left; } .social-bi-table th button { display: inline-flex; max-width: 100%; align-items: center; justify-content: flex-end; gap: 6px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; } .social-bi-table th.is-left button { justify-content: flex-start; } .social-bi-table th button:hover, .social-bi-table th button.is-active { color: #126fb2; } .social-bi-sort-arrow { color: #8c9aab; font-size: 11px; } .social-bi-table tr.is-total td { position: sticky; top: 0; z-index: 1; background: #f0f7ff; color: #172033; font-weight: 760; } .social-bi-pair-cell { display: inline-grid; min-width: 86px; gap: 2px; justify-items: end; line-height: 1.15; } .social-bi-pair-cell strong { color: #172033; font-size: 12px; font-weight: 760; } .social-bi-pair-cell small { color: #718198; font-size: 11px; font-weight: 680; } .social-bi-progress-cell { display: grid; min-width: 150px; gap: 4px; } .social-bi-progress-copy { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .social-bi-progress-copy strong { color: #172033; font-size: 12px; font-weight: 760; } .social-bi-progress-copy span { color: #126fb2; font-size: 12px; font-weight: 760; } .social-bi-progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: #e8eef5; } .social-bi-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1688d9, #1fbf75); transition: width 220ms cubic-bezier(0.16, 1, 0.3, 1); } .social-bi-goal-empty { color: #8c9aab; font-weight: 680; } .social-bi-empty-row td { height: 64px; color: #718198; text-align: center; } .social-bi-skeleton { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #edf2f7; } .social-bi-skeleton::after { position: absolute; inset: 0; animation: social-bi-shimmer 1.15s infinite; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent); content: ""; transform: translateX(-100%); } .social-bi-skeleton--title { width: 54%; height: 14px; } .social-bi-skeleton--value { width: 74%; height: 28px; } .social-bi-skeleton--line { width: 42%; height: 20px; } .social-bi-skeleton--cell { width: 100%; height: 14px; } @keyframes social-bi-shimmer { to { transform: translateX(100%); } } @media (max-width: 1360px) { .social-bi-summary-section { grid-template-columns: repeat(3, minmax(0, 1fr)); } } @media (max-width: 1180px) { .social-bi-shell { min-width: 0; grid-template-columns: 64px minmax(0, 1fr); } .social-bi-filter-section { align-items: stretch; flex-direction: column; } .social-bi-field, .social-bi-date-field, .social-bi-dropdown--wide { flex: 1 1 220px; } .social-bi-query-button.MuiButton-root { width: 100%; } .social-bi-summary-section { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (prefers-reduced-motion: reduce) { .social-bi-shell *, .social-bi-shell *::before, .social-bi-shell *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; } }