Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

Commit 8149439

Browse files
authored
Update certStyles.css
1 parent cb1957e commit 8149439

File tree

1 file changed

+94
-39
lines changed

1 file changed

+94
-39
lines changed

web/certStyles.css

Lines changed: 94 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
--panel: #ffffff;
44
--muted: #6b7280;
55
--text: #0f1724;
6-
--primary: #2563eb; /* blue */
6+
--primary: #2563eb;
77
--revoked: #ef4444;
8-
--valid: #10b981;
8+
--signed: #0ea5a4;
99
--card-border: rgba(15,23,36,0.06);
1010
--glass: rgba(15,23,36,0.02);
1111
--shadow: 0 6px 18px rgba(15,23,36,0.06);
1212
font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
1313
}
1414

15+
/* Layout basics */
1516
html,body{
1617
height:100%;
1718
margin:0;
@@ -22,13 +23,73 @@ html,body{
2223
font-size:14px;
2324
}
2425

25-
/* keep your main styles intact, this just targets the new components */
26+
.app-root {
27+
min-height:100vh;
28+
display:flex;
29+
flex-direction:column;
30+
}
31+
32+
/* Header */
33+
.header-bar {
34+
display:flex;
35+
align-items:center;
36+
padding:12px 18px;
37+
background:transparent;
38+
}
39+
.header-left { display:flex; align-items:center; gap:12px; }
40+
.dot-container { display:flex; gap:6px; align-items:center; }
41+
.dot { width:12px; height:12px; border-radius:50%; box-shadow: rgba(2,6,23,0.06) 0 1px 2px; }
42+
.app-title { margin:0; font-weight:600; font-size:16px; color:var(--text); }
43+
44+
/* Main content area */
45+
.content-area {
46+
flex:1;
47+
display:flex;
48+
gap:12px;
49+
padding: 12px;
50+
box-sizing:border-box;
51+
align-items:stretch;
52+
}
53+
54+
/* Sidebar */
55+
.sidebar {
56+
width:220px;
57+
min-width:160px;
58+
max-width:240px;
59+
background:transparent;
60+
display:flex;
61+
flex-direction:column;
62+
gap:8px;
63+
}
64+
.sidebar-item {
65+
padding:10px 12px;
66+
border-radius:8px;
67+
cursor:pointer;
68+
color:var(--muted);
69+
font-weight:600;
70+
}
71+
.sidebar-item.active {
72+
color: var(--primary);
73+
background: linear-gradient(180deg, rgba(37,99,235,0.06), rgba(37,99,235,0.03));
74+
}
75+
76+
/* Panel: main scroll area */
2677
.panel {
78+
flex:1;
2779
background: var(--panel);
28-
padding: 22px;
80+
padding: 18px;
2981
border-radius: 12px;
3082
box-shadow: var(--shadow);
31-
margin: 18px;
83+
display:flex;
84+
flex-direction:column;
85+
gap:12px;
86+
min-height:0; /* important so children can scroll */
87+
overflow: hidden;
88+
}
89+
90+
/* Make the content inside the panel scrollable if tall */
91+
.cert-list, .updates-box, .recommended-box {
92+
/* visual grouping only; cert-list will flex-grow */
3293
}
3394

3495
/* Recommended box */
@@ -37,24 +98,21 @@ html,body{
3798
padding: 12px 14px;
3899
background: linear-gradient(180deg, #ffffff, #fbfcff);
39100
border-radius: 8px;
40-
margin-bottom: 14px;
41-
}
42-
.recommended-box h3 {
43-
margin: 0 0 6px 0;
44-
color: var(--primary);
45-
font-weight:600;
46-
}
47-
.recommended-box p {
48-
margin:0;
49-
color:var(--muted);
50101
}
102+
.recommended-box h3 { margin:0 0 6px 0; color:var(--primary); font-weight:600; }
103+
.recommended-box p { margin:0; color:var(--muted); }
51104

52-
/* Certificate list (cards) */
105+
/* Certificate list area should scroll while keeping header + recommended + updates visible */
53106
.cert-list {
54107
display: grid;
55-
grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
108+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
56109
gap: 12px;
57-
margin-top: 18px;
110+
margin-top: 6px;
111+
/* allow cert-list to take remaining space then scroll if overflowing */
112+
flex: 1 1 auto;
113+
min-height: 0; /* allow proper scroll */
114+
overflow: auto;
115+
padding-right: 6px; /* room for scrollbar */
58116
}
59117

60118
/* individual card */
@@ -84,26 +142,26 @@ html,body{
84142
color:var(--text);
85143
line-height:1.2;
86144
}
87-
.card-meta {
88-
font-size:13px;
89-
color:var(--muted);
90-
}
145+
.card-meta { font-size:13px; color:var(--muted); }
91146
.badge {
92147
padding:6px 8px;
93148
border-radius:999px;
94149
font-size:12px;
95-
font-weight:600;
150+
font-weight:700;
96151
display:inline-block;
152+
white-space:nowrap;
153+
min-width:78px;
154+
text-align:center;
97155
}
98156
.badge.revoked {
99157
background: rgba(239,68,68,0.08);
100158
color: var(--revoked);
101159
border: 1px solid rgba(239,68,68,0.12);
102160
}
103-
.badge.valid {
104-
background: rgba(16,185,129,0.08);
105-
color: var(--valid);
106-
border: 1px solid rgba(16,185,129,0.12);
161+
.badge.signed {
162+
background: rgba(14,165,164,0.08);
163+
color: var(--signed);
164+
border: 1px solid rgba(14,165,164,0.12);
107165
}
108166

109167
/* small footer row inside card */
@@ -114,30 +172,23 @@ html,body{
114172
gap:10px;
115173
margin-top:6px;
116174
}
117-
.card-footer .small {
118-
font-size:12px;
119-
color:var(--muted);
120-
}
175+
.card-footer .small { font-size:12px; color:var(--muted); }
121176

122177
/* Updates box */
123178
.updates-box {
124-
margin-top:20px;
179+
margin-top:6px;
125180
padding:12px;
126181
background:var(--glass);
127182
border-radius:10px;
128183
border:1px solid var(--card-border);
129184
}
130185
.updates-title { margin: 0 0 8px 0; font-weight:600; color:var(--text); }
131186
.updates-inner {
132-
max-height:140px; /* prevents cutting off — will scroll */
187+
max-height:160px;
133188
overflow-y:auto;
134189
padding-right:6px;
135190
}
136-
.update-item {
137-
margin-bottom:8px;
138-
font-size:13px;
139-
color:var(--muted);
140-
}
191+
.update-item { margin-bottom:8px; font-size:13px; color:var(--muted); }
141192

142193
/* Modal */
143194
.modal {
@@ -182,7 +233,11 @@ html,body{
182233
}
183234

184235
/* small responsive tweaks */
236+
@media (max-width:880px){
237+
.sidebar { display:none; }
238+
.content-area { padding: 12px; }
239+
}
185240
@media (max-width:420px){
186-
.cert-list { grid-template-columns: 1fr; }
187241
.modal-panel { padding:14px; }
242+
.cert-list { gap:10px; }
188243
}

0 commit comments

Comments
 (0)