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 */
1516html , 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 : 22 px ;
80+ padding : 18 px ;
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 (360 px , 1fr ));
108+ grid-template-columns : repeat (auto-fit , minmax (260 px , 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 : 20 px ;
179+ margin-top : 6 px ;
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 : 140 px ; /* prevents cutting off — will scroll */
187+ max-height : 160 px ;
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