|
1 | 1 | /* ========================================= |
2 | 2 | certStyles.css |
3 | 3 | ONLY extra styles for Certificate Manager |
4 | | - (Relies on variables & layout from styles.css) |
5 | 4 | ========================================= */ |
6 | 5 |
|
| 6 | +/* ------------------------- |
| 7 | + Panel layout tweak |
| 8 | + (allow inner scrolling sections) |
| 9 | + ------------------------- */ |
| 10 | + |
| 11 | +.panel { |
| 12 | + overflow: hidden; /* prevent horizontal scroll */ |
| 13 | + display: flex; |
| 14 | + flex-direction: column; |
| 15 | +} |
| 16 | + |
7 | 17 | /* ------------------------- |
8 | 18 | Recommended box |
9 | 19 | ------------------------- */ |
10 | 20 |
|
11 | 21 | .recommended-box { |
12 | | - margin-bottom: 16px; |
| 22 | + margin-bottom: 14px; |
13 | 23 | padding: 14px 16px; |
14 | 24 | border-radius: 12px; |
15 | 25 | background: linear-gradient( |
|
19 | 29 | ); |
20 | 30 | border: 1px solid var(--border); |
21 | 31 | font-weight: 500; |
| 32 | + flex-shrink: 0; |
22 | 33 | } |
23 | 34 |
|
24 | 35 | /* ------------------------- |
25 | 36 | Cert list container |
| 37 | + (OWN SCROLL AREA) |
26 | 38 | ------------------------- */ |
27 | 39 |
|
28 | 40 | .cert-list { |
| 41 | + flex: 1; /* fill remaining panel space */ |
| 42 | + overflow-y: auto; /* vertical scroll ONLY */ |
| 43 | + overflow-x: hidden; |
| 44 | + |
29 | 45 | display: grid; |
30 | | - grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |
31 | 46 | gap: 16px; |
32 | | - margin-top: 12px; |
| 47 | + padding-right: 6px; /* room for scrollbar */ |
| 48 | +} |
| 49 | + |
| 50 | +/* Responsive grid: multiple certs across */ |
| 51 | +@media (min-width: 600px) { |
| 52 | + .cert-list { |
| 53 | + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); |
| 54 | + } |
| 55 | +} |
| 56 | + |
| 57 | +@media (max-width: 599px) { |
| 58 | + .cert-list { |
| 59 | + grid-template-columns: 1fr; |
| 60 | + } |
33 | 61 | } |
34 | 62 |
|
35 | 63 | /* ------------------------- |
|
57 | 85 | .updates-box { |
58 | 86 | position: sticky; |
59 | 87 | bottom: 16px; |
60 | | - margin-top: 20px; |
| 88 | + margin-top: 16px; |
61 | 89 |
|
62 | 90 | background: var(--panel); |
63 | 91 | border-radius: 14px; |
64 | 92 | border: 1px solid var(--border); |
65 | 93 | box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12); |
66 | 94 |
|
67 | | - overflow: visible; /* IMPORTANT: allow upward expansion */ |
68 | | - z-index: 50; |
| 95 | + overflow: visible; |
| 96 | + z-index: 60; |
| 97 | + flex-shrink: 0; |
69 | 98 | } |
70 | 99 |
|
71 | | -/* Header row */ |
72 | 100 | .updates-header { |
73 | 101 | display: flex; |
74 | 102 | align-items: center; |
75 | 103 | justify-content: space-between; |
76 | 104 | padding: 12px 14px; |
77 | | - cursor: pointer; |
78 | 105 | } |
79 | 106 |
|
80 | 107 | .updates-title { |
81 | 108 | margin: 0; |
82 | 109 | font-size: 15px; |
83 | 110 | } |
84 | 111 |
|
85 | | -/* Caret toggle */ |
86 | 112 | .updates-toggle { |
87 | 113 | border: none; |
88 | 114 | background: transparent; |
|
91 | 117 | transition: transform 0.18s ease; |
92 | 118 | } |
93 | 119 |
|
94 | | -/* ------------------------- |
95 | | - Updates content (STARTS CLOSED) |
96 | | - ------------------------- */ |
97 | | - |
| 120 | +/* START CLOSED */ |
98 | 121 | .updates-inner { |
99 | 122 | position: absolute; |
100 | | - bottom: 100%; /* EXPAND UPWARDS */ |
| 123 | + bottom: 100%; |
101 | 124 | left: 0; |
102 | 125 | width: 100%; |
103 | 126 |
|
104 | | - max-height: 0; /* START MINIMISED */ |
| 127 | + max-height: 0; |
105 | 128 | overflow: hidden; |
106 | 129 |
|
107 | 130 | background: var(--panel); |
|
112 | 135 | transition: max-height 0.28s ease; |
113 | 136 | } |
114 | 137 |
|
115 | | -/* Expanded state (set via JS) */ |
| 138 | +/* Expanded state */ |
116 | 139 | .updates-box.expanded .updates-inner { |
117 | | - max-height: 80vh; /* grow to fit content */ |
| 140 | + max-height: 80vh; |
118 | 141 | overflow-y: auto; |
119 | 142 | } |
120 | 143 |
|
121 | | -/* Rotate caret when open */ |
| 144 | +/* Rotate caret */ |
122 | 145 | .updates-box.expanded .updates-toggle { |
123 | 146 | transform: rotate(180deg); |
124 | 147 | } |
125 | 148 |
|
126 | | -/* Inner content padding */ |
127 | 149 | .updates-inner > * { |
128 | 150 | padding: 12px 14px; |
129 | 151 | } |
|
139 | 161 | display: none; |
140 | 162 | align-items: center; |
141 | 163 | justify-content: center; |
142 | | - z-index: 100; |
| 164 | + z-index: 120; |
143 | 165 | } |
144 | 166 |
|
145 | 167 | .modal[aria-hidden="false"] { |
|
0 commit comments