|
1 | | -/* certStyles.css |
2 | | - Only the extra rules needed for certificate manager page + hamburger fixes. |
3 | | - Assumes variables & base layout exist in styles.css. |
4 | | -*/ |
5 | 1 |
|
6 | | -/* ---------- Sidebar active item ---------- */ |
7 | | -.sidebar-item.active{ |
8 | | - color: var(--text); |
9 | | - background: linear-gradient(90deg, rgba(78,229,255,0.04), rgba(139,92,246,0.03)); |
10 | | - border-color: rgba(78,229,255,0.08); |
11 | | - box-shadow: 0 6px 18px rgba(78,229,255,0.03); |
12 | | -} |
13 | | - |
14 | | -/* ---------- Prevent horizontal overflow ---------- */ |
15 | | -.content-area{ |
16 | | - overflow-x: hidden; |
17 | | - position: relative; |
18 | | -} |
19 | | - |
20 | | -.panel{ |
21 | | - overflow-x: hidden; |
22 | | - overflow-y: auto; |
23 | | - min-height: 0; |
24 | | - box-sizing: border-box; |
25 | | -} |
26 | | - |
27 | | -/* ---------- Recommended box ---------- */ |
28 | | -.recommended-box{ |
29 | | - width:100%; |
30 | | - margin-bottom:12px; |
31 | | - background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.005)); |
32 | | - border: 1px solid var(--card-border); |
33 | | - padding: 12px; |
34 | | - border-radius: 10px; |
35 | | - color: var(--muted); |
36 | | - box-sizing: border-box; |
37 | | -} |
38 | | - |
39 | | -/* ---------- Certificate grid ---------- */ |
40 | | -.cert-list{ |
41 | | - display:grid; |
42 | | - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); |
43 | | - gap: 14px; |
44 | | - margin-top:6px; |
45 | | - box-sizing: border-box; |
46 | | -} |
47 | | - |
48 | | -/* ---------- Certificate cards ---------- */ |
49 | | -.cert-card{ |
50 | | - background: rgba(255,255,255,0.013); |
51 | | - border: 1px solid var(--card-border); |
52 | | - padding: 12px; |
53 | | - border-radius: 12px; |
54 | | - transition: transform .16s ease, box-shadow .16s ease; |
55 | | - cursor: pointer; |
56 | | - display:flex; |
57 | | - flex-direction:column; |
58 | | - justify-content:space-between; |
59 | | - min-height:92px; |
60 | | - box-sizing: border-box; |
61 | | -} |
62 | | - |
63 | | -.cert-card:hover{ |
64 | | - transform: translateY(-6px); |
65 | | - box-shadow: 0 22px 48px rgba(2,6,23,0.5); |
66 | | -} |
67 | | - |
68 | | -.cert-card:focus{ |
69 | | - outline: 3px solid rgba(78,229,255,0.08); |
70 | | - outline-offset:3px; |
71 | | -} |
72 | | - |
73 | | -/* ---------- Badges ---------- */ |
74 | | -.badge.signed{ |
75 | | - background: linear-gradient(90deg, rgba(78,229,255,0.12), rgba(139,92,246,0.08)); |
76 | | - color:#021018; |
77 | | -} |
78 | | - |
79 | | -.badge.revoked{ |
80 | | - background: linear-gradient(90deg, rgba(255,107,107,0.12), rgba(255,107,107,0.06)); |
81 | | - color:var(--text); |
82 | | -} |
83 | | - |
84 | | -/* ---------- Updates (expand UPWARDS) ---------- */ |
85 | | -.updates-box{ |
86 | | - margin-top:12px; |
87 | | - padding:12px; |
88 | | - background: var(--glass); |
89 | | - border-radius:10px; |
90 | | - border:1px solid var(--card-border); |
91 | | - box-sizing: border-box; |
92 | | - overflow: visible; |
93 | | - position: relative; |
94 | | -} |
95 | | - |
96 | | -.updates-header{ |
97 | | - display:flex; |
98 | | - justify-content:space-between; |
99 | | - align-items:center; |
100 | | - gap:10px; |
101 | | -} |
102 | | - |
103 | | -.updates-title{ |
104 | | - margin:0; |
105 | | - font-size:0.96rem; |
106 | | - color: var(--muted); |
107 | | - font-weight:700; |
108 | | -} |
109 | | - |
110 | | -.updates-toggle{ |
111 | | - background:transparent; |
112 | | - border:1px solid rgba(255,255,255,0.04); |
113 | | - padding:6px 8px; |
114 | | - border-radius:8px; |
115 | | - cursor:pointer; |
116 | | - color: var(--muted); |
117 | | - transition: transform .18s ease, color .14s ease; |
118 | | - box-sizing: border-box; |
119 | | -} |
120 | | - |
121 | | -.updates-toggle.rotated{ |
122 | | - transform: rotate(180deg); |
123 | | - color: var(--accent); |
124 | | -} |
125 | | - |
126 | | -/* floating updates panel */ |
127 | | -.updates-inner{ |
128 | | - position:absolute; |
129 | | - left:0; |
130 | | - right:0; |
131 | | - bottom: calc(100% + 8px); |
132 | | - max-height:0; |
133 | | - overflow:auto; |
134 | | - background: linear-gradient(180deg, rgba(255,255,255,0.012), rgba(255,255,255,0.01)); |
135 | | - border:1px solid var(--card-border); |
136 | | - border-radius:10px; |
137 | | - box-shadow: 0 18px 50px rgba(2,6,23,0.6); |
138 | | - padding-left:8px; |
139 | | - padding-right:8px; |
140 | | - transition: max-height .22s ease, padding .18s ease; |
141 | | - z-index:1300; |
142 | | - box-sizing:border-box; |
143 | | -} |
144 | | - |
145 | | -.update-item{ |
146 | | - padding:8px 10px; |
147 | | - border-radius:8px; |
148 | | - background: rgba(255,255,255,0.008); |
149 | | - border:1px solid transparent; |
150 | | - color: var(--text); |
151 | | - font-size:0.95rem; |
152 | | - margin:8px; |
153 | | -} |
154 | | - |
155 | | -.updates-box.expanded .updates-inner{ |
156 | | - padding-top:8px; |
157 | | - padding-bottom:8px; |
158 | | -} |
159 | | - |
160 | | -/* ---------- Modal ---------- */ |
161 | | -.modal-panel{ |
162 | | - box-sizing: border-box; |
163 | | - max-height: 90vh; |
164 | | - overflow:auto; |
165 | | -} |
166 | | - |
167 | | -/* ---------- Small screens ---------- */ |
168 | | -@media (max-width: 520px){ |
169 | | - .updates-inner{ |
170 | | - left:6px; |
171 | | - right:6px; |
172 | | - bottom: calc(100% + 6px); |
173 | | - max-width: calc(100vw - 12px); |
174 | | - } |
175 | | - .cert-list{ gap:10px; } |
176 | | -} |
0 commit comments