husseinelsaadi Claude Opus 4.8 commited on
Commit
4fb152a
·
1 Parent(s): 0a6845b

Switch UI to a clean, professional light theme

Browse files

- Light glass navbar, ink logo/links, light-surface footer
- Replace the dark cinematic hero with a near-white premium hero (restrained
brand-tint wash, ink text, soft restrained LUNA glow)
- Buttons restyled for light backgrounds (visible outline/logout buttons)
- Lighten the interview page background and the closing score card to match
- Brand gradient kept only as a sparing accent (logo, primary buttons, CTA band)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

backend/static/css/theme.css CHANGED
@@ -55,17 +55,18 @@ body {
55
 
56
  /* ---- Glass navbar (dark, keeps white nav buttons working) --------- */
57
  header {
58
- background: rgba(11, 16, 32, .72) !important;
59
- -webkit-backdrop-filter: saturate(160%) blur(14px);
60
- backdrop-filter: saturate(160%) blur(14px);
61
- border-bottom: 1px solid rgba(255, 255, 255, .08);
62
- box-shadow: 0 8px 30px rgba(0, 0, 0, .25) !important;
63
  padding: .85rem 1rem !important;
 
64
  }
65
- .logo { font-weight: 700; }
66
- .logo-part2 { color: var(--spark); font-style: normal; animation: none; text-shadow: 0 0 18px rgba(34, 211, 238, .55); }
67
- .logo-part3 { color: #c4b5fd; }
68
- .welcome-message { background: rgba(255, 255, 255, .08); border-radius: 999px; }
69
 
70
  /* ---- Buttons ------------------------------------------------------- */
71
  .btn {
@@ -81,48 +82,48 @@ header {
81
  }
82
  .btn-primary:hover { box-shadow: 0 14px 30px rgba(99, 102, 241, .45) !important; }
83
  .btn-outline {
84
- background: rgba(255, 255, 255, .04) !important;
85
- border: 1.5px solid rgba(255, 255, 255, .28) !important;
86
- color: #fff !important;
87
  }
88
- .btn-outline:hover { background: rgba(255, 255, 255, .12) !important; }
89
  .btn-logout {
90
- border: 1.5px solid rgba(34, 211, 238, .6) !important;
91
- color: var(--spark) !important;
 
92
  border-radius: 999px !important;
93
  }
94
- .btn-logout:hover { background: var(--spark) !important; color: var(--night) !important; }
95
 
96
- /* ---- Cinematic dark hero ------------------------------------------ */
97
  .hero {
98
  background:
99
- radial-gradient(900px 500px at 15% 10%, rgba(99, 102, 241, .35), transparent 60%),
100
- radial-gradient(800px 500px at 85% 20%, rgba(139, 92, 246, .30), transparent 60%),
101
- radial-gradient(700px 500px at 50% 110%, rgba(34, 211, 238, .20), transparent 60%),
102
- linear-gradient(180deg, var(--night), var(--night-2)) !important;
103
- color: #fff !important;
104
- padding: 5.5rem 1rem 6rem !important;
105
- border-bottom: 1px solid rgba(255, 255, 255, .06);
106
- }
107
- .hero::before { opacity: .5; }
108
- .hero h1 { font-size: clamp(2.1rem, 5vw, 3.4rem) !important; font-weight: 700; }
109
- .hero p { color: rgba(255, 255, 255, .82) !important; font-size: 1.15rem !important; }
110
-
111
- /* LUNA avatar glow refined to brand */
112
- .luna-avatar { border: 3px solid rgba(255, 255, 255, .85) !important;
113
- box-shadow: 0 18px 50px rgba(0, 0, 0, .45), 0 0 50px rgba(139, 92, 246, .55) !important; }
114
- .luna-glow { background: radial-gradient(circle, rgba(139, 92, 246, .85) 0%, rgba(34, 211, 238, 0) 70%) !important; }
115
-
116
- /* Pills used in hero/eyebrow */
117
  .eyebrow {
118
  display: inline-flex; align-items: center; gap: .5rem;
119
  padding: .4rem 1rem; margin-bottom: 1.25rem;
120
  border-radius: 999px; font-size: .85rem; font-weight: 600;
121
- color: #e9e9ff; background: rgba(255, 255, 255, .08);
122
- border: 1px solid rgba(255, 255, 255, .16);
123
  }
124
- .eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--spark);
125
- box-shadow: 0 0 10px var(--spark); animation: pulse 2s ease-in-out infinite alternate; }
126
 
127
  /* ---- Sections / titles -------------------------------------------- */
128
  .content-section, .features { background: var(--bg) !important; }
@@ -154,18 +155,22 @@ header {
154
  /* Job card headers adopt the brand gradient */
155
  .job-header, .card-header { background: var(--grad) !important; }
156
 
157
- /* ---- CTA band ------------------------------------------------------ */
158
  .cta {
159
- background:
160
- radial-gradient(700px 400px at 20% 0%, rgba(34, 211, 238, .25), transparent 60%),
161
- linear-gradient(135deg, var(--brand-2), var(--brand-1)) !important;
162
  }
 
163
 
164
- /* ---- Footer (night) ----------------------------------------------- */
165
- footer { background: var(--night) !important; border-top: 1px solid rgba(255, 255, 255, .06); }
166
- .footer-col h3 { color: #fff !important; }
 
167
  .footer-col h3::after { background: var(--grad) !important; }
168
- .social-links a:hover { background: var(--grad) !important; color: #fff !important; }
 
 
 
 
169
 
170
  /* ---- Floating chatbot button -------------------------------------- */
171
  #chatbot-nav { background: var(--grad) !important; box-shadow: 0 10px 26px rgba(99, 102, 241, .5) !important; }
 
55
 
56
  /* ---- Glass navbar (dark, keeps white nav buttons working) --------- */
57
  header {
58
+ background: rgba(255, 255, 255, .8) !important;
59
+ -webkit-backdrop-filter: saturate(180%) blur(14px);
60
+ backdrop-filter: saturate(180%) blur(14px);
61
+ border-bottom: 1px solid var(--line) !important;
62
+ box-shadow: 0 1px 0 rgba(13, 20, 40, .04), 0 8px 24px rgba(13, 20, 40, .04) !important;
63
  padding: .85rem 1rem !important;
64
+ color: var(--ink) !important;
65
  }
66
+ .logo, .logo-part1 { font-weight: 700; color: var(--ink) !important; }
67
+ .logo-part2 { color: var(--brand-1) !important; font-style: normal; animation: none; text-shadow: none; }
68
+ .logo-part3 { color: var(--brand-2) !important; }
69
+ .welcome-message { background: rgba(99, 102, 241, .08) !important; color: var(--ink) !important; border-radius: 999px; }
70
 
71
  /* ---- Buttons ------------------------------------------------------- */
72
  .btn {
 
82
  }
83
  .btn-primary:hover { box-shadow: 0 14px 30px rgba(99, 102, 241, .45) !important; }
84
  .btn-outline {
85
+ background: var(--surface) !important;
86
+ border: 1.5px solid var(--line) !important;
87
+ color: var(--ink) !important;
88
  }
89
+ .btn-outline:hover { background: #f0f1fb !important; border-color: rgba(99, 102, 241, .4) !important; }
90
  .btn-logout {
91
+ background: transparent !important;
92
+ border: 1.5px solid rgba(99, 102, 241, .45) !important;
93
+ color: var(--brand-1) !important;
94
  border-radius: 999px !important;
95
  }
96
+ .btn-logout:hover { background: var(--grad) !important; color: #fff !important; border-color: transparent !important; }
97
 
98
+ /* ---- Clean, professional light hero ------------------------------- */
99
  .hero {
100
  background:
101
+ radial-gradient(900px 420px at 50% -10%, rgba(99, 102, 241, .10), transparent 70%),
102
+ linear-gradient(180deg, #ffffff 0%, #f5f6ff 60%, var(--bg) 100%) !important;
103
+ color: var(--ink) !important;
104
+ padding: 5rem 1rem 5.5rem !important;
105
+ border-bottom: 1px solid var(--line);
106
+ }
107
+ .hero::before { display: none !important; }
108
+ .hero h1 { font-size: clamp(2.1rem, 5vw, 3.4rem) !important; font-weight: 700; color: var(--ink) !important; }
109
+ .hero p { color: var(--muted) !important; font-size: 1.15rem !important; }
110
+
111
+ /* LUNA avatar soft, restrained ring (no light show) */
112
+ .luna-avatar { border: 4px solid #ffffff !important;
113
+ box-shadow: 0 18px 45px rgba(13, 20, 40, .14), 0 0 0 1px var(--line) !important; }
114
+ .luna-glow { background: radial-gradient(circle, rgba(99, 102, 241, .28) 0%, rgba(99, 102, 241, 0) 70%) !important;
115
+ opacity: .5 !important; }
116
+
117
+ /* Eyebrow chip — tasteful brand accent on light */
 
118
  .eyebrow {
119
  display: inline-flex; align-items: center; gap: .5rem;
120
  padding: .4rem 1rem; margin-bottom: 1.25rem;
121
  border-radius: 999px; font-size: .85rem; font-weight: 600;
122
+ color: var(--brand-1); background: var(--grad-soft);
123
+ border: 1px solid rgba(99, 102, 241, .2);
124
  }
125
+ .eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-1);
126
+ animation: pulse 2s ease-in-out infinite alternate; }
127
 
128
  /* ---- Sections / titles -------------------------------------------- */
129
  .content-section, .features { background: var(--bg) !important; }
 
155
  /* Job card headers adopt the brand gradient */
156
  .job-header, .card-header { background: var(--grad) !important; }
157
 
158
+ /* ---- CTA band — the single, tasteful gradient moment -------------- */
159
  .cta {
160
+ background: linear-gradient(135deg, var(--brand-1), var(--brand-2)) !important;
 
 
161
  }
162
+ .cta h2, .cta p { color: #fff !important; }
163
 
164
+ /* ---- Footer (light) ----------------------------------------------- */
165
+ footer { background: var(--surface) !important; color: var(--muted) !important; border-top: 1px solid var(--line); }
166
+ .footer-col p { color: var(--muted) !important; }
167
+ .footer-col h3 { color: var(--ink) !important; }
168
  .footer-col h3::after { background: var(--grad) !important; }
169
+ .footer-col a { color: var(--muted) !important; }
170
+ .footer-col a:hover { color: var(--brand-1) !important; }
171
+ .social-links a { background: var(--bg) !important; color: var(--ink) !important; border: 1px solid var(--line); }
172
+ .social-links a:hover { background: var(--grad) !important; color: #fff !important; border-color: transparent; }
173
+ .copyright { color: var(--muted) !important; border-top: 1px solid var(--line) !important; }
174
 
175
  /* ---- Floating chatbot button -------------------------------------- */
176
  #chatbot-nav { background: var(--grad) !important; box-shadow: 0 10px 26px rgba(99, 102, 241, .5) !important; }
backend/templates/base.html CHANGED
@@ -913,13 +913,13 @@
913
  </div>
914
  <div class="footer-col">
915
  <h3>Platform</h3>
916
- <p><a href="{{ url_for('jobs') }}" style="color:#cfd3e6;text-decoration:none;">Browse Jobs</a></p>
917
- <p><a href="{{ url_for('index') }}#how" style="color:#cfd3e6;text-decoration:none;">How it works</a></p>
918
- <p><a href="{{ url_for('index') }}#features" style="color:#cfd3e6;text-decoration:none;">Features</a></p>
919
  </div>
920
  <div class="footer-col">
921
  <h3>Meet LUNA</h3>
922
- <p style="color:#cfd3e6;">An AI recruiter that screens CVs, runs voice interviews, and scores answers against a real question database — fairly and at scale.</p>
923
  </div>
924
  </div>
925
  <div class="copyright">
 
913
  </div>
914
  <div class="footer-col">
915
  <h3>Platform</h3>
916
+ <p><a href="{{ url_for('jobs') }}" style="text-decoration:none;">Browse Jobs</a></p>
917
+ <p><a href="{{ url_for('index') }}#how" style="text-decoration:none;">How it works</a></p>
918
+ <p><a href="{{ url_for('index') }}#features" style="text-decoration:none;">Features</a></p>
919
  </div>
920
  <div class="footer-col">
921
  <h3>Meet LUNA</h3>
922
+ <p>An AI recruiter that screens CVs, runs voice interviews, and scores answers against a real question database — fairly and at scale.</p>
923
  </div>
924
  </div>
925
  <div class="copyright">
backend/templates/closing.html CHANGED
@@ -34,19 +34,17 @@
34
  gap: .35rem;
35
  padding: 1.5rem 2.5rem;
36
  border-radius: var(--r, 18px);
37
- background: rgba(255, 255, 255, .07);
38
- border: 1px solid rgba(255, 255, 255, .16);
39
- -webkit-backdrop-filter: blur(10px);
40
- backdrop-filter: blur(10px);
41
- box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
42
  }
43
- .score-label { color: rgba(255, 255, 255, .7); font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
44
  .score-value {
45
  font-family: 'Space Grotesk', sans-serif; font-size: 2.4rem; font-weight: 700; line-height: 1.1;
46
- background: linear-gradient(135deg, #c4b5fd, #22d3ee);
47
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
48
  }
49
- .score-summary { color: rgba(255, 255, 255, .82); font-size: 1rem; max-width: 420px; }
50
  </style>
51
 
52
  {% endblock %}
 
34
  gap: .35rem;
35
  padding: 1.5rem 2.5rem;
36
  border-radius: var(--r, 18px);
37
+ background: var(--surface, #fff);
38
+ border: 1px solid var(--line, #e7e9f2);
39
+ box-shadow: 0 18px 45px rgba(13, 20, 40, .12);
 
 
40
  }
41
+ .score-label { color: var(--muted, #5b6478); font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
42
  .score-value {
43
  font-family: 'Space Grotesk', sans-serif; font-size: 2.4rem; font-weight: 700; line-height: 1.1;
44
+ background: linear-gradient(135deg, #6366f1, #8b5cf6);
45
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
46
  }
47
+ .score-summary { color: var(--ink, #0b1020); font-size: 1rem; max-width: 420px; }
48
  </style>
49
 
50
  {% endblock %}
backend/templates/interview.html CHANGED
@@ -434,16 +434,14 @@
434
  body {
435
  font-family: 'Inter', 'Segoe UI', sans-serif;
436
  background:
437
- radial-gradient(800px 500px at 12% 8%, rgba(99, 102, 241, .45), transparent 60%),
438
- radial-gradient(700px 500px at 88% 12%, rgba(139, 92, 246, .40), transparent 60%),
439
- radial-gradient(700px 500px at 50% 110%, rgba(34, 211, 238, .25), transparent 60%),
440
- linear-gradient(180deg, #0b1020, #141a2e) !important;
441
  }
442
 
443
  .interview-container {
444
  border-radius: 24px;
445
- border: 1px solid rgba(255, 255, 255, .6);
446
- box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
447
  }
448
 
449
  .header {
 
434
  body {
435
  font-family: 'Inter', 'Segoe UI', sans-serif;
436
  background:
437
+ radial-gradient(700px 420px at 50% -10%, rgba(99, 102, 241, .10), transparent 70%),
438
+ linear-gradient(180deg, #ffffff 0%, #f5f6ff 55%, #f5f6fb 100%) !important;
 
 
439
  }
440
 
441
  .interview-container {
442
  border-radius: 24px;
443
+ border: 1px solid #e7e9f2;
444
+ box-shadow: 0 24px 60px rgba(13, 20, 40, .12);
445
  }
446
 
447
  .header {