-
+
{{ filteredOlympiads.length }} {{ __('olympiads') }}
diff --git a/frontend/src/pages/StudentProfile.vue b/frontend/src/pages/StudentProfile.vue
index 0dcd013b..a5b980c3 100644
--- a/frontend/src/pages/StudentProfile.vue
+++ b/frontend/src/pages/StudentProfile.vue
@@ -370,7 +370,6 @@
/* ===== PAGE ===== */
.student-profile-page {
min-height: 100vh;
- background: #f8f9fa;
}
.profile-content {
max-width: 960px;
@@ -383,8 +382,8 @@
/* ===== HERO CARD ===== */
.hero-card {
- background: #fff;
- border: 1px solid #e5e7eb;
+ background: rgb(var(--color-surface-white));
+ border: 1px solid rgb(var(--color-outline-gray-2));
border-radius: 8px;
overflow: hidden;
margin-bottom: 20px;
@@ -427,24 +426,23 @@
.hero-name {
font-size: 20px;
font-weight: 700;
- color: #111827;
+ color: rgb(var(--color-ink-gray-9));
line-height: 1.3;
}
.hero-subtitle {
font-size: 13px;
- color: #6b7280;
+ color: rgb(var(--color-ink-gray-5));
margin-top: 2px;
}
.hero-bio {
margin-top: 4px;
font-size: 13px;
- color: #4b5563;
+ color: rgb(var(--color-ink-gray-7));
}
.hero-actions {
flex-shrink: 0;
}
-
/* ===== SECTION GRID ===== */
.section-grid {
display: grid;
@@ -463,8 +461,8 @@
/* ===== INFO CARDS ===== */
.info-card {
- background: #fff;
- border: 1px solid #e5e7eb;
+ background: rgb(var(--color-surface-white));
+ border: 1px solid rgb(var(--color-outline-gray-2));
border-radius: 8px;
transition: box-shadow 0.15s ease;
}
@@ -476,8 +474,8 @@
align-items: center;
gap: 10px;
padding: 14px 18px;
- border-bottom: 1px solid #f3f4f6;
- background: #fafafa;
+ border-bottom: 1px solid rgb(var(--color-outline-gray-1));
+ background: rgb(var(--color-surface-gray-1));
border-radius: 8px 8px 0 0;
}
.card-header-icon {
@@ -489,7 +487,7 @@
.card-header-title {
font-size: 14px;
font-weight: 600;
- color: #111827;
+ color: rgb(var(--color-ink-gray-9));
}
.card-body {
padding: 16px 18px;
@@ -498,7 +496,7 @@
}
.text-body {
font-size: 14px;
- color: #374151;
+ color: rgb(var(--color-ink-gray-7));
line-height: 1.65;
white-space: pre-line;
overflow-wrap: anywhere;
@@ -510,7 +508,7 @@
display: flex;
align-items: baseline;
padding: 7px 0;
- border-bottom: 1px solid #f9fafb;
+ border-bottom: 1px solid rgb(var(--color-outline-gray-1));
gap: 8px;
}
.info-row:last-child {
@@ -520,7 +518,7 @@
width: 130px;
flex-shrink: 0;
font-size: 13px;
- color: #6b7280;
+ color: rgb(var(--color-ink-gray-5));
font-weight: 500;
}
@media (max-width: 639px) {
@@ -529,35 +527,29 @@
}
.info-value {
font-size: 14px;
- color: #111827;
+ color: rgb(var(--color-ink-gray-9));
word-break: break-word;
}
-.text-body {
- font-size: 14px;
- color: #374151;
- line-height: 1.65;
- white-space: pre-line;
-}
/* ===== TELEGRAM LINK ===== */
.tg-link {
display: inline-flex;
align-items: center;
gap: 6px;
- color: #2563eb;
+ color: rgb(var(--color-ink-blue-3));
font-weight: 500;
font-size: 14px;
transition: color 0.15s;
}
-.tg-link:hover { color: #1d4ed8; }
+.tg-link:hover { color: rgb(var(--color-ink-blue-4)); }
/* ===== BADGES ===== */
.badge-yes {
display: inline-block;
padding: 2px 10px;
border-radius: 999px;
- background: #ecfdf5;
- color: #059669;
+ background: rgb(var(--color-surface-green-1));
+ color: rgb(var(--color-ink-green-3));
font-size: 12px;
font-weight: 600;
}
@@ -565,8 +557,8 @@
display: inline-block;
padding: 2px 10px;
border-radius: 999px;
- background: #f3f4f6;
- color: #6b7280;
+ background: rgb(var(--color-surface-gray-2));
+ color: rgb(var(--color-ink-gray-5));
font-size: 12px;
font-weight: 500;
}
@@ -574,8 +566,8 @@
/* ===== EMPTY CARD ===== */
.empty-card {
grid-column: 1 / -1;
- background: #fff;
- border: 1px solid #e5e7eb;
+ background: rgb(var(--color-surface-white));
+ border: 1px solid rgb(var(--color-outline-gray-2));
border-radius: 8px;
overflow: hidden;
}
@@ -599,19 +591,19 @@
.empty-title {
font-size: 20px;
font-weight: 700;
- color: #111827;
+ color: rgb(var(--color-ink-gray-9));
margin-bottom: 8px;
}
.empty-desc {
font-size: 14px;
- color: #6b7280;
+ color: rgb(var(--color-ink-gray-5));
line-height: 1.6;
margin-bottom: 20px;
}
.empty-benefits {
text-align: left;
- background: #fafafa;
- border: 1px solid #f3f4f6;
+ background: rgb(var(--color-surface-gray-1));
+ border: 1px solid rgb(var(--color-outline-gray-1));
border-radius: 6px;
padding: 14px 16px;
margin-bottom: 24px;
@@ -621,7 +613,7 @@
align-items: center;
gap: 10px;
font-size: 13px;
- color: #374151;
+ color: rgb(var(--color-ink-gray-7));
padding: 5px 0;
}
.benefit-dot {
@@ -637,27 +629,27 @@
margin-top: 0;
}
.edit-card {
- background: #fff;
- border: 1px solid #e5e7eb;
+ background: rgb(var(--color-surface-white));
+ border: 1px solid rgb(var(--color-outline-gray-2));
border-radius: 8px;
overflow: hidden;
}
.edit-section-title {
font-size: 14px;
font-weight: 600;
- color: #374151;
+ color: rgb(var(--color-ink-gray-7));
padding-bottom: 8px;
- border-bottom: 1px solid #f3f4f6;
+ border-bottom: 1px solid rgb(var(--color-outline-gray-1));
margin-bottom: 4px;
}
.edit-input {
width: 100%;
- border: 1px solid #d1d5db;
+ border: 1px solid rgb(var(--color-outline-gray-3));
border-radius: 6px;
padding: 8px 12px;
font-size: 14px;
- color: #111827;
- background: #fff;
+ color: rgb(var(--color-ink-gray-9));
+ background: rgb(var(--color-surface-white));
outline: none;
transition: border-color 0.15s, box-shadow 0.15s;
}
@@ -667,28 +659,28 @@
}
.dropdown-list {
margin-top: 4px;
- border: 1px solid #e5e7eb;
+ border: 1px solid rgb(var(--color-outline-gray-2));
border-radius: 6px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
- background: #fff;
+ background: rgb(var(--color-surface-white));
max-height: 220px;
overflow-y: auto;
}
.dropdown-item {
padding: 10px 14px;
cursor: pointer;
- border-bottom: 1px solid #f9fafb;
+ border-bottom: 1px solid rgb(var(--color-outline-gray-1));
transition: background 0.1s;
}
.dropdown-item:last-child { border-bottom: none; }
-.dropdown-item:hover { background: #fff7ed; }
+.dropdown-item:hover { background: rgb(var(--color-surface-amber-1)); }
/* ===== SCROLLBAR ===== */
.dropdown-list::-webkit-scrollbar { width: 5px; }
-.dropdown-list::-webkit-scrollbar-track { background: #f9fafb; }
-.dropdown-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
-.dropdown-list::-webkit-scrollbar-thumb:hover { background: #9ca3af; }
+.dropdown-list::-webkit-scrollbar-track { background: rgb(var(--color-surface-gray-1)); }
+.dropdown-list::-webkit-scrollbar-thumb { background: rgb(var(--color-outline-gray-3)); border-radius: 3px; }
+.dropdown-list::-webkit-scrollbar-thumb:hover { background: rgb(var(--color-outline-gray-4)); }