/* 主体样式 */
html {
display: unset !important;
}
body {
background-color: #f3f4f6;
/* font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
font-family: unset !important;
margin: 0;
padding: 0;
/* display: unset !important; */
min-height: 100vh !important;
}
/* 容器样式 */
.container {
min-width: 1440px;
/* margin: 2rem auto; */
background-color: white;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
/* border-radius: 0.75rem; */
/* min-height: 90vh; */
overflow: hidden;
margin-top: 0 !important;
gap: unset !important;
margin: 0 auto !important;
}
.container-h {
/* height: 97vh !important; */
background-color: rgb(249 250 251) !important;
}
.html-container {
padding: 0 !important;
}
footer {
margin-top: 0 !important;
}
/* 头部样式 */
.header {
background: linear-gradient(to right, #2563eb, #1e40af);
color: white;
padding: 1rem 2rem;
display: flex;
align-items: center;
justify-content: space-between;
}
.top-logo-box {
display: flex;
}
.logo-title {
color: #fff !important;
margin-left: 10px;
}
.header h1 {
font-size: 1.5rem;
font-weight: 600;
margin: 0;
}
/* 主要内容区域 */
.main-content {
display: flex;
flex: 1;
overflow: hidden;
}
/* 左侧边栏 */
.sidebar {
background-color: #f9fafb;
width: 350px;
padding: 1.5rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
border-right: 1px solid #e5e7eb;
}
/* 主内容区域 */
.content-area {
flex: 1;
display: flex;
flex-direction: column;
background-color: #eff6ff;
}
/* 指标仪表板 */
.metrics-dashboard {
background-color: #eff6ff;
border-bottom: 1px solid #e5e7eb;
padding: 1.5rem;
/* display: grid; */
/* grid-template-columns: repeat(4, 1fr); */
/* gap: 1rem; */
min-height: 300px;
}
.metric-card {
background-color: white;
border-radius: 0.5rem;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
padding: 1.25rem;
min-height: 250px !important;
}
.metric-card h3 {
font-weight: 600;
color: #374151;
margin: 0 0 1rem 0;
}
.metric-value {
font-size: 1.5rem;
font-weight: 700;
color: #111827;
margin: 1rem 0 0.25rem 0;
}
.metric-change {
display: flex;
align-items: center;
margin-top: 0.25rem;
}
.metric-change.positive {
color: #16a34a;
}
.metric-change.negative {
color: #dc2626;
}
/* 分析区域 */
.analysis-area {
flex: 1;
display: flex;
min-height: 0;
overflow: hidden;
}
/* Tab内容 */
.tab-content {
flex: 1;
display: flex;
flex-direction: column;
min-width: 0;
padding: 0 16px !important;
}
/* Tab导航 */
.tab-navigation {
display: flex;
border-bottom: 1px solid #e5e7eb;
}
.tab-button {
padding: 0.75rem 1.25rem;
font-weight: 500;
font-size: 1rem;
color: #6b7280;
border-bottom: 2px solid transparent;
}
.tab-button.active {
color: #111827;
border-bottom: 2px solid #2563eb;
}
/* 聊天面板 */
.chat-panel {
/* width: 340px; */
display: flex;
flex-direction: column;
border-left: 1px solid #e5e7eb;
background-color: white;
box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
gap: unset !important;
}
.chat-header {
padding: 1rem;
border-bottom: 1px solid #e5e7eb;
display: flex;
align-items: center;
gap: 0.5rem;
font-weight: 500;
}
.chat-area {
flex: 1;
min-height: 0;
overflow-y: auto;
padding: 1rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
.chat-message {
max-width: 85%;
padding: 0.75rem;
border-radius: 1rem;
}
.chat-message.bot {
background-color: #eff6ff;
border-bottom-left-radius: 0;
}
.chat-message.user {
background-color: #f3f4f6;
border-bottom-right-radius: 0;
margin-left: auto;
}
.chat-input-area {
padding: 1rem;
border-top: 1px solid #e5e7eb;
display: flex;
gap: 0.5rem;
}
/* 隐藏滚动条 */
.hide-scrollbar::-webkit-scrollbar {
display: none;
}
.hide-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
/* 渐变动画 */
.fade-in {
animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}