diff --git a/src/App.css b/src/App.css
index 7770020..25dcdd4 100644
--- a/src/App.css
+++ b/src/App.css
@@ -34,7 +34,7 @@
--bg-secondary: #ffffff;
--panel: #ffffff;
--panel-solid: #ffffff;
- --soft: #f1f3f7;
+ --soft: #f8f9fc;
--text: #171a1f;
--text-secondary: #4d5562;
--muted: #6b7280;
@@ -51,8 +51,9 @@
--bad: #b6404a;
--border: #e5e7ef;
--border-subtle: #f0f1f5;
- --shadow: 0 10px 25px rgba(10,16,25,.08);
- --shadow-lg: 0 20px 40px rgba(10,16,25,.12);
+ --shadow: 0 2px 8px rgba(10,16,25,.04);
+ --shadow-md: 0 4px 12px rgba(10,16,25,.06);
+ --shadow-lg: 0 8px 20px rgba(10,16,25,.08);
--shadow-colored: 0 10px 30px rgba(102, 126, 234, 0.15);
--glow: 0 0 20px rgba(102, 126, 234, 0.2);
}
@@ -233,14 +234,67 @@ a{color:inherit; text-decoration:none}
background:var(--panel); color:var(--text); box-shadow:var(--shadow);
}
-.content{padding:28px 24px; display:flex; flex-direction:column; gap:20px; flex:1; overflow-y:auto; min-height:0; box-sizing:border-box}
+.content{
+ padding:32px 28px;
+ display:flex;
+ flex-direction:column;
+ gap:24px;
+ flex:1;
+ overflow-y:auto;
+ min-height:0;
+ box-sizing:border-box;
+ max-width: 1600px;
+ margin: 0 auto;
+ width: 100%;
+}
+
+/* 页面标题样式 */
+.page-header {
+ margin-bottom: 8px;
+}
+
+.page-header h1 {
+ font-size: 24px;
+ font-weight: 700;
+ color: var(--text);
+ margin: 0 0 8px 0;
+ letter-spacing: -0.02em;
+}
+
+.page-header .page-description {
+ font-size: 14px;
+ color: var(--text-secondary);
+ margin: 0;
+ line-height: 1.5;
+}
.panel{
- background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:18px; box-shadow:var(--shadow);
+ background:var(--panel);
+ border:1px solid var(--border);
+ border-radius:12px;
+ padding:20px 24px;
+ box-shadow:var(--shadow);
width:100%;
+ transition: box-shadow 0.2s ease;
+}
+
+.panel:hover {
+ box-shadow: var(--shadow-md);
+}
+
+.panel h2{
+ margin:0 0 12px 0;
+ font-size:16px;
+ font-weight:600;
+ color:var(--text);
+}
+
+.panel .desc{
+ color:var(--text-secondary);
+ font-size:13px;
+ margin-bottom:16px;
+ line-height: 1.5;
}
-.panel h2{margin:0 0 8px 0; font-size:16px}
-.panel .desc{color:var(--muted); font-size:13px; margin-bottom:10px}
.flex-2{display:grid; grid-template-columns: 1fr 1fr; gap:16px}
.flex-3{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px}
@@ -251,7 +305,7 @@ a{color:inherit; text-decoration:none}
background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%);
border:1px solid rgba(102, 126, 234, 0.1);
border-radius:16px;
- padding:18px;
+ padding:20px;
position: relative;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
@@ -280,21 +334,22 @@ a{color:inherit; text-decoration:none}
.kpi:nth-child(2)::before { background: var(--success-gradient); }
.kpi:nth-child(3)::before { background: var(--warning-gradient); }
.kpi:nth-child(4)::before { background: var(--secondary-gradient); }
-.kpi h3{margin:0; font-size:13px; color:var(--muted); font-weight: 600; letter-spacing: 0.3px;}
+.kpi h3{margin:0; font-size:12px; color:var(--muted); font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase;}
.kpi .num{
- font-size:28px;
- font-weight:900;
- margin-top:8px;
+ font-size:32px;
+ font-weight:800;
+ margin-top:12px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
+ letter-spacing: -0.02em;
}
.kpi .delta{font-size:12px; margin-left:8px; padding:2px 6px; border-radius:8px; background:var(--panel); border:1px solid var(--border)}
.table{width:100%; border-collapse:collapse; font-size:14px; min-width:800px; table-layout:fixed; box-sizing:border-box}
-.table th, .table td{padding:10px 12px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
-.table thead th{color:var(--muted); font-weight:600}
+.table th, .table td{padding:12px 16px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
+.table thead th{color:var(--muted); font-weight:600; font-size:13px; text-transform: uppercase; letter-spacing: 0.5px;}
.table-container{overflow-x:auto; width:100%; max-width:100%; -webkit-overflow-scrolling:touch; box-sizing:border-box}
.table th:nth-child(1), .table td:nth-child(1){width:8%}
.table th:nth-child(2), .table td:nth-child(2){width:15%}
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx
index 5ca7496..91dcc86 100644
--- a/src/components/Layout.tsx
+++ b/src/components/Layout.tsx
@@ -165,6 +165,9 @@ const Layout: React.FC<{ children: React.ReactNode }> = ({ children }) => {
收入统计、成本分析、财务报表
+总使用量、活跃用户、项目数量、模型统计
+用户运营、内容管理、活动推广
+系统整体运行状态、关键指标概览
+后台用户账号管理、权限分配、状态控制
+