Files
WeFlow/src/pages/ChatAnalyticsHubPage.scss

131 lines
2.2 KiB
SCSS

.analytics-hub {
min-height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 40px 24px;
}
.analytics-hub-inner {
width: min(560px, 100%);
animation: analyticsHubFadeIn 0.35s ease-out;
}
// ---- Hero ----
.analytics-hub-hero {
margin-bottom: 40px;
}
.analytics-hub-title {
font-size: 28px;
font-weight: 700;
color: var(--text-primary);
margin: 0 0 10px;
letter-spacing: -0.5px;
}
.analytics-hub-desc {
margin: 0;
color: var(--text-secondary);
font-size: 15px;
line-height: 1.7;
}
// ---- Perspectives list ----
.analytics-hub-perspectives {
display: flex;
flex-direction: column;
gap: 4px;
}
.analytics-hub-perspectives-label {
font-size: 12px;
font-weight: 600;
color: var(--text-tertiary);
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0 4px;
margin-bottom: 8px;
}
.analytics-hub-row {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 16px;
border: none;
border-radius: 12px;
background: transparent;
color: var(--text-primary);
cursor: pointer;
text-align: left;
transition: background 0.15s ease;
width: 100%;
&:hover {
background: var(--bg-hover);
.analytics-hub-row-arrow {
transform: translateX(3px);
color: var(--text-secondary);
}
}
}
.analytics-hub-row-icon {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
background: var(--primary-light);
color: var(--primary);
&--group {
background: rgba(59, 130, 246, 0.1);
color: #3b82f6;
}
}
[data-mode="dark"] .analytics-hub-row-icon--group {
background: rgba(96, 165, 250, 0.12);
color: #60a5fa;
}
.analytics-hub-row-body {
flex: 1;
min-width: 0;
}
.analytics-hub-row-title {
font-size: 15px;
font-weight: 600;
color: var(--text-primary);
margin-bottom: 2px;
}
.analytics-hub-row-desc {
font-size: 13px;
color: var(--text-tertiary);
line-height: 1.5;
}
.analytics-hub-row-arrow {
color: var(--text-tertiary);
flex-shrink: 0;
transition: transform 0.15s ease, color 0.15s ease;
}
@keyframes analyticsHubFadeIn {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}