PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 1.28.0
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v1.28.0
2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.10.0 All 48 releases
thinkrank / static / css / seo-quick-edit.css

seo-quick-edit.css in ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO 1.28.0, at static/css/seo-quick-edit.css

324 lines 6.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * ThinkRank SEO Quick Edit modal (post list).
3 *
4 * Hand-authored, so it lives in static/ (assets/ is wiped on every build).
5 * Values mirror the design tokens in src/admin/styles/_variables.scss —
6 * the admin app's compiled CSS is not enqueued on edit.php, so the tokens
7 * are restated here as literals:
8 * primary #4451FF · text #1D1D1D / #535353 / #5A5C5E
9 * borders #D5D5DD / #E2E6F1 · bg #F8F8FB · error #921C13
10 * radius 6px / 8px
11 *
12 * @package ThinkRank
13 * @since 1.27.1
14 */
15
16 /* Trigger button in the column cell (pushed to the cell's right edge) */
17 .thinkrank-qe-trigger {
18 margin-left: auto;
19 display: inline-flex;
20 align-items: center;
21 justify-content: center;
22 width: 24px;
23 height: 24px;
24 padding: 0;
25 border: 1px solid transparent;
26 border-radius: 6px;
27 background: transparent;
28 color: #a5aaac;
29 cursor: pointer;
30 transition: all 0.15s ease;
31 }
32
33 .thinkrank-qe-trigger:hover,
34 .thinkrank-qe-trigger:focus {
35 color: #4451FF;
36 background: #f0f1ff;
37 border-color: #d5d8ff;
38 outline: none;
39 }
40
41 /* Overlay */
42 .thinkrank-qe-overlay {
43 position: fixed;
44 inset: 0;
45 z-index: 100100; /* above #wpadminbar (99999) */
46 display: flex;
47 align-items: center;
48 justify-content: center;
49 padding: 24px;
50 background: rgba(29, 29, 29, 0.55);
51 animation: thinkrank-qe-fade 0.12s ease-out;
52 }
53
54 @keyframes thinkrank-qe-fade {
55 from { opacity: 0; }
56 to { opacity: 1; }
57 }
58
59 /* Modal card */
60 .thinkrank-qe-modal {
61 width: 560px;
62 max-width: 100%;
63 max-height: min(85vh, 720px);
64 display: flex;
65 flex-direction: column;
66 background: #ffffff;
67 border-radius: 8px;
68 box-shadow: 0 20px 50px rgba(29, 29, 29, 0.25);
69 animation: thinkrank-qe-pop 0.14s ease-out;
70 font-size: 13px;
71 }
72
73 @keyframes thinkrank-qe-pop {
74 from { opacity: 0; transform: translateY(6px) scale(0.985); }
75 to { opacity: 1; transform: none; }
76 }
77
78 /* Header */
79 .thinkrank-qe-header {
80 display: flex;
81 align-items: flex-start;
82 justify-content: space-between;
83 gap: 16px;
84 padding: 18px 24px;
85 border-bottom: 1px solid #E2E6F1;
86 }
87
88 .thinkrank-qe-title {
89 margin: 0;
90 font-size: 16px;
91 font-weight: 600;
92 line-height: 1.3;
93 color: #1D1D1D;
94 }
95
96 .thinkrank-qe-post-title {
97 margin: 3px 0 0;
98 font-size: 12px;
99 color: #5A5C5E;
100 overflow: hidden;
101 text-overflow: ellipsis;
102 display: -webkit-box;
103 -webkit-line-clamp: 1;
104 -webkit-box-orient: vertical;
105 }
106
107 .thinkrank-qe-close {
108 flex-shrink: 0;
109 display: inline-flex;
110 align-items: center;
111 justify-content: center;
112 width: 28px;
113 height: 28px;
114 padding: 0;
115 margin-top: 1px;
116 border: none;
117 border-radius: 6px;
118 background: transparent;
119 color: #5A5C5E;
120 cursor: pointer;
121 transition: all 0.15s ease;
122 }
123
124 .thinkrank-qe-close:hover,
125 .thinkrank-qe-close:focus {
126 background: #F1F1F5;
127 color: #1D1D1D;
128 outline: none;
129 }
130
131 /* Body */
132 .thinkrank-qe-body {
133 padding: 20px 24px;
134 overflow-y: auto;
135 display: flex;
136 flex-direction: column;
137 gap: 18px;
138 }
139
140 .thinkrank-qe-field {
141 display: flex;
142 flex-direction: column;
143 gap: 6px;
144 }
145
146 .thinkrank-qe-field-top {
147 display: flex;
148 align-items: baseline;
149 justify-content: space-between;
150 gap: 12px;
151 }
152
153 .thinkrank-qe-label {
154 font-size: 13px;
155 font-weight: 600;
156 color: #1D1D1D;
157 }
158
159 .thinkrank-qe-counter {
160 font-size: 12px;
161 color: #5A5C5E;
162 font-variant-numeric: tabular-nums;
163 }
164
165 .thinkrank-qe-counter.is-over {
166 color: #921C13;
167 font-weight: 600;
168 }
169
170 .thinkrank-qe-input {
171 width: 100%;
172 box-sizing: border-box;
173 margin: 0;
174 padding: 8px 12px;
175 font-size: 13px;
176 line-height: 1.5;
177 color: #1D1D1D;
178 background: #ffffff;
179 border: 1px solid #D5D5DD;
180 border-radius: 6px;
181 box-shadow: none;
182 transition: border-color 0.15s ease, box-shadow 0.15s ease;
183 }
184
185 .thinkrank-qe-input::placeholder {
186 color: #8c8f94;
187 }
188
189 .thinkrank-qe-input:focus {
190 border-color: #4451FF;
191 box-shadow: 0 0 0 2px rgba(68, 81, 255, 0.18);
192 outline: none;
193 }
194
195 textarea.thinkrank-qe-input {
196 resize: vertical;
197 min-height: 68px;
198 }
199
200 .thinkrank-qe-help {
201 margin: 0;
202 font-size: 12px;
203 line-height: 1.45;
204 color: #5A5C5E;
205 }
206
207 .thinkrank-qe-error {
208 margin: 0;
209 padding: 8px 12px;
210 font-size: 12px;
211 color: #921C13;
212 background: #FEF3F2;
213 border: 1px solid rgba(146, 28, 19, 0.2);
214 border-radius: 6px;
215 }
216
217 /* Loading state */
218 .thinkrank-qe-loading {
219 height: 120px;
220 display: flex;
221 align-items: center;
222 justify-content: center;
223 }
224
225 .thinkrank-qe-loading::after {
226 content: "";
227 width: 22px;
228 height: 22px;
229 border: 2.5px solid #E2E6F1;
230 border-top-color: #4451FF;
231 border-radius: 50%;
232 animation: thinkrank-qe-spin 0.7s linear infinite;
233 }
234
235 @keyframes thinkrank-qe-spin {
236 to { transform: rotate(360deg); }
237 }
238
239 /* Footer */
240 .thinkrank-qe-footer {
241 display: flex;
242 align-items: center;
243 justify-content: space-between;
244 gap: 12px;
245 padding: 14px 24px;
246 border-top: 1px solid #E2E6F1;
247 background: #F8F8FB;
248 border-radius: 0 0 8px 8px;
249 }
250
251 .thinkrank-qe-edit-link {
252 font-size: 12px;
253 color: #5A5C5E;
254 text-decoration: none;
255 }
256
257 .thinkrank-qe-edit-link:hover,
258 .thinkrank-qe-edit-link:focus {
259 color: #4451FF;
260 text-decoration: underline;
261 }
262
263 .thinkrank-qe-actions {
264 display: flex;
265 align-items: center;
266 gap: 8px;
267 margin-left: auto;
268 }
269
270 .thinkrank-qe-btn {
271 display: inline-flex;
272 align-items: center;
273 justify-content: center;
274 padding: 8px 16px;
275 font-size: 13px;
276 font-weight: 500;
277 line-height: 1;
278 border-radius: 6px;
279 border: 1px solid transparent;
280 cursor: pointer;
281 transition: all 0.15s ease;
282 }
283
284 .thinkrank-qe-btn:focus {
285 outline: none;
286 box-shadow: 0 0 0 2px rgba(68, 81, 255, 0.25);
287 }
288
289 .thinkrank-qe-btn-ghost {
290 background: #ffffff;
291 border-color: #D5D5DD;
292 color: #1D1D1D;
293 }
294
295 .thinkrank-qe-btn-ghost:hover {
296 background: #F1F1F5;
297 }
298
299 .thinkrank-qe-btn-primary {
300 background: #4451FF;
301 color: #ffffff;
302 }
303
304 .thinkrank-qe-btn-primary:hover {
305 background: #3743e0;
306 }
307
308 .thinkrank-qe-btn-primary:disabled {
309 opacity: 0.6;
310 cursor: default;
311 }
312
313 /* Small screens: WP switches to its stacked list at 782px */
314 @media screen and (max-width: 600px) {
315 .thinkrank-qe-overlay {
316 padding: 12px;
317 align-items: flex-end;
318 }
319
320 .thinkrank-qe-modal {
321 max-height: 92vh;
322 }
323 }
324