Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -29,136 +29,113 @@ st.markdown("""
|
|
| 29 |
<style>
|
| 30 |
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=DM+Sans:wght@300;400;500&display=swap');
|
| 31 |
|
| 32 |
-
:root {
|
| 33 |
-
--bg: #FFFFFF;
|
| 34 |
-
--surface: #F5F5F5;
|
| 35 |
-
--card: #F9F9F9;
|
| 36 |
-
--border: #E0E0E0;
|
| 37 |
-
--accent: #111111;
|
| 38 |
-
--text: #111111;
|
| 39 |
-
--muted: #888888;
|
| 40 |
-
}
|
| 41 |
-
|
| 42 |
html, body, [class*="css"] {
|
| 43 |
font-family: 'DM Sans', sans-serif;
|
| 44 |
-
background-color:
|
| 45 |
-
color:
|
| 46 |
}
|
| 47 |
|
| 48 |
-
.main { background-color:
|
| 49 |
|
| 50 |
/* Header */
|
| 51 |
.hero-title {
|
| 52 |
font-family: 'Syne', sans-serif;
|
| 53 |
font-size: 2.8rem;
|
| 54 |
font-weight: 800;
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
| 56 |
margin-bottom: 0.2rem;
|
| 57 |
-
letter-spacing: -0.02em;
|
| 58 |
}
|
| 59 |
.hero-sub {
|
| 60 |
-
color:
|
| 61 |
font-size: 1rem;
|
| 62 |
margin-bottom: 2rem;
|
| 63 |
}
|
| 64 |
|
| 65 |
/* Cards */
|
| 66 |
.stat-card {
|
| 67 |
-
background:
|
| 68 |
-
border:
|
| 69 |
border-radius: 16px;
|
| 70 |
padding: 1.2rem 1.5rem;
|
| 71 |
text-align: center;
|
| 72 |
-
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
|
| 73 |
}
|
| 74 |
.stat-num {
|
| 75 |
font-family: 'Syne', sans-serif;
|
| 76 |
font-size: 2rem;
|
| 77 |
font-weight: 800;
|
| 78 |
-
color: #
|
| 79 |
-
}
|
| 80 |
-
.stat-label {
|
| 81 |
-
color: var(--muted);
|
| 82 |
-
font-size: 0.8rem;
|
| 83 |
-
text-transform: uppercase;
|
| 84 |
-
letter-spacing: 0.12em;
|
| 85 |
}
|
|
|
|
| 86 |
|
| 87 |
/* Chat bubbles */
|
| 88 |
.user-bubble {
|
| 89 |
-
background:
|
| 90 |
-
border: 1px solid
|
| 91 |
border-radius: 18px 18px 4px 18px;
|
| 92 |
padding: 0.9rem 1.2rem;
|
| 93 |
margin: 0.5rem 0;
|
| 94 |
font-size: 0.95rem;
|
| 95 |
-
color: #FFFFFF;
|
| 96 |
}
|
| 97 |
.agent-bubble {
|
| 98 |
-
background:
|
| 99 |
-
border:
|
| 100 |
border-radius: 18px 18px 18px 4px;
|
| 101 |
padding: 0.9rem 1.2rem;
|
| 102 |
margin: 0.5rem 0;
|
| 103 |
font-size: 0.95rem;
|
| 104 |
line-height: 1.6;
|
| 105 |
-
color: var(--text);
|
| 106 |
-
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
|
| 107 |
}
|
| 108 |
|
| 109 |
/* Sidebar */
|
| 110 |
section[data-testid="stSidebar"] {
|
| 111 |
-
background: #
|
| 112 |
-
border-right:
|
| 113 |
}
|
| 114 |
|
| 115 |
/* Buttons */
|
| 116 |
.stButton > button {
|
| 117 |
-
background: #
|
| 118 |
-
color:
|
| 119 |
border: none;
|
| 120 |
border-radius: 12px;
|
| 121 |
font-family: 'Syne', sans-serif;
|
| 122 |
font-weight: 700;
|
| 123 |
padding: 0.6rem 1.5rem;
|
| 124 |
-
transition:
|
| 125 |
-
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
|
| 126 |
-
}
|
| 127 |
-
.stButton > button:hover {
|
| 128 |
-
background: #333333;
|
| 129 |
-
color: #FFFFFF;
|
| 130 |
-
transform: translateY(-1px);
|
| 131 |
}
|
|
|
|
| 132 |
|
| 133 |
.stTextInput > div > div > input {
|
| 134 |
-
background:
|
| 135 |
-
border:
|
| 136 |
border-radius: 12px;
|
| 137 |
-
color:
|
| 138 |
}
|
| 139 |
.stSelectbox > div > div {
|
| 140 |
-
background:
|
| 141 |
-
border:
|
| 142 |
border-radius: 12px;
|
| 143 |
-
color: var(--text);
|
| 144 |
}
|
| 145 |
|
| 146 |
/* Tabs */
|
| 147 |
.stTabs [data-baseweb="tab-list"] {
|
| 148 |
-
background: #
|
| 149 |
border-radius: 12px;
|
| 150 |
gap: 0.3rem;
|
| 151 |
padding: 0.3rem;
|
| 152 |
}
|
| 153 |
.stTabs [data-baseweb="tab"] {
|
| 154 |
background: transparent;
|
| 155 |
-
color:
|
| 156 |
border-radius: 10px;
|
| 157 |
font-family: 'Syne', sans-serif;
|
| 158 |
}
|
| 159 |
.stTabs [aria-selected="true"] {
|
| 160 |
-
background:
|
| 161 |
-
color: #
|
| 162 |
}
|
| 163 |
|
| 164 |
/* Dataframe */
|
|
|
|
| 29 |
<style>
|
| 30 |
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=DM+Sans:wght@300;400;500&display=swap');
|
| 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
html, body, [class*="css"] {
|
| 33 |
font-family: 'DM Sans', sans-serif;
|
| 34 |
+
background-color: #0a0a12;
|
| 35 |
+
color: #e8e8ff;
|
| 36 |
}
|
| 37 |
|
| 38 |
+
.main { background-color: #0a0a12 !important; }
|
| 39 |
|
| 40 |
/* Header */
|
| 41 |
.hero-title {
|
| 42 |
font-family: 'Syne', sans-serif;
|
| 43 |
font-size: 2.8rem;
|
| 44 |
font-weight: 800;
|
| 45 |
+
background: linear-gradient(135deg, #e8e8ff 0%, #6C63FF 50%, #43E97B 100%);
|
| 46 |
+
-webkit-background-clip: text;
|
| 47 |
+
-webkit-text-fill-color: transparent;
|
| 48 |
+
background-clip: text;
|
| 49 |
margin-bottom: 0.2rem;
|
|
|
|
| 50 |
}
|
| 51 |
.hero-sub {
|
| 52 |
+
color: #6a6a9a;
|
| 53 |
font-size: 1rem;
|
| 54 |
margin-bottom: 2rem;
|
| 55 |
}
|
| 56 |
|
| 57 |
/* Cards */
|
| 58 |
.stat-card {
|
| 59 |
+
background: #1a1a2e;
|
| 60 |
+
border: 1px solid #2a2a45;
|
| 61 |
border-radius: 16px;
|
| 62 |
padding: 1.2rem 1.5rem;
|
| 63 |
text-align: center;
|
|
|
|
| 64 |
}
|
| 65 |
.stat-num {
|
| 66 |
font-family: 'Syne', sans-serif;
|
| 67 |
font-size: 2rem;
|
| 68 |
font-weight: 800;
|
| 69 |
+
color: #6C63FF;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
}
|
| 71 |
+
.stat-label { color: #6a6a9a; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; }
|
| 72 |
|
| 73 |
/* Chat bubbles */
|
| 74 |
.user-bubble {
|
| 75 |
+
background: rgba(108,99,255,0.15);
|
| 76 |
+
border: 1px solid rgba(108,99,255,0.3);
|
| 77 |
border-radius: 18px 18px 4px 18px;
|
| 78 |
padding: 0.9rem 1.2rem;
|
| 79 |
margin: 0.5rem 0;
|
| 80 |
font-size: 0.95rem;
|
|
|
|
| 81 |
}
|
| 82 |
.agent-bubble {
|
| 83 |
+
background: #1a1a2e;
|
| 84 |
+
border: 1px solid #2a2a45;
|
| 85 |
border-radius: 18px 18px 18px 4px;
|
| 86 |
padding: 0.9rem 1.2rem;
|
| 87 |
margin: 0.5rem 0;
|
| 88 |
font-size: 0.95rem;
|
| 89 |
line-height: 1.6;
|
|
|
|
|
|
|
| 90 |
}
|
| 91 |
|
| 92 |
/* Sidebar */
|
| 93 |
section[data-testid="stSidebar"] {
|
| 94 |
+
background: #10101e !important;
|
| 95 |
+
border-right: 1px solid #2a2a45;
|
| 96 |
}
|
| 97 |
|
| 98 |
/* Buttons */
|
| 99 |
.stButton > button {
|
| 100 |
+
background: linear-gradient(135deg, #6C63FF, #43E97B);
|
| 101 |
+
color: white;
|
| 102 |
border: none;
|
| 103 |
border-radius: 12px;
|
| 104 |
font-family: 'Syne', sans-serif;
|
| 105 |
font-weight: 700;
|
| 106 |
padding: 0.6rem 1.5rem;
|
| 107 |
+
transition: opacity 0.2s, transform 0.2s;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
}
|
| 109 |
+
.stButton > button:hover { opacity: 0.85; color: white; transform: translateY(-1px); }
|
| 110 |
|
| 111 |
.stTextInput > div > div > input {
|
| 112 |
+
background: #1a1a2e;
|
| 113 |
+
border: 1px solid #2a2a45;
|
| 114 |
border-radius: 12px;
|
| 115 |
+
color: #e8e8ff;
|
| 116 |
}
|
| 117 |
.stSelectbox > div > div {
|
| 118 |
+
background: #1a1a2e;
|
| 119 |
+
border: 1px solid #2a2a45;
|
| 120 |
border-radius: 12px;
|
|
|
|
| 121 |
}
|
| 122 |
|
| 123 |
/* Tabs */
|
| 124 |
.stTabs [data-baseweb="tab-list"] {
|
| 125 |
+
background: #10101e;
|
| 126 |
border-radius: 12px;
|
| 127 |
gap: 0.3rem;
|
| 128 |
padding: 0.3rem;
|
| 129 |
}
|
| 130 |
.stTabs [data-baseweb="tab"] {
|
| 131 |
background: transparent;
|
| 132 |
+
color: #6a6a9a;
|
| 133 |
border-radius: 10px;
|
| 134 |
font-family: 'Syne', sans-serif;
|
| 135 |
}
|
| 136 |
.stTabs [aria-selected="true"] {
|
| 137 |
+
background: rgba(108,99,255,0.2) !important;
|
| 138 |
+
color: #6C63FF !important;
|
| 139 |
}
|
| 140 |
|
| 141 |
/* Dataframe */
|