summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-07 21:41:36 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-07 21:41:36 +0200
commitae29567bea75b28bd3f5655b6bf3e6444d51eb38 (patch)
tree7ff4867a5da86588e913922bad9640c822745661
parent4be318cf508f164e3cac1ee3854a0497c8223275 (diff)
Reorganize admin.css and overhaul button/link/flash visual hierarchy
Sorts rules by hierarchy (base -> layout -> navigation -> buttons -> tables -> forms -> components), consolidates three duplicated media query breakpoints into one each, and adds section comments. Bundled with this reorganization, since the file was rewritten wholesale: - form.button_to.state_changing: new tinted-pill variant (blue) for Publish/Restore/Unlock/Revoke, matching .destructive's pattern - form.button_to.destructive: now a tinted pill at rest instead of plain colored text, consistent padding at rest and on hover - Scoped wavy-underline link-visibility fix for #page_editor, table.node_table, table.assets_table, table.events_table, table.user_table, .add_child_links, and the dashboard draft list - #flash decoupled from the page's structural nav-to-content spacing (.admin_content_spacer), which the flash div was silently providing as a side effect whenever it rendered
-rw-r--r--app/views/layouts/admin.html.erb4
-rw-r--r--public/stylesheets/admin.css691
2 files changed, 404 insertions, 291 deletions
diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb
index a7ce68a..340eaf2 100644
--- a/app/views/layouts/admin.html.erb
+++ b/app/views/layouts/admin.html.erb
@@ -29,13 +29,15 @@
29 <%= yield :subnavigation %> 29 <%= yield :subnavigation %>
30 </div> 30 </div>
31 </div> 31 </div>
32 <div style="clear: both;"></div> 32 <div class="admin_content_spacer"></div>
33 <% if flash[:notice].present? || flash[:error].present? %>
33 <div id="flash"> 34 <div id="flash">
34 <%= flash[:notice] %> 35 <%= flash[:notice] %>
35 <% if flash[:error] %> 36 <% if flash[:error] %>
36 <span id="flash_error"><%= flash[:error] %></span> 37 <span id="flash_error"><%= flash[:error] %></span>
37 <% end %> 38 <% end %>
38 </div> 39 </div>
40 <% end %>
39 <div id="content"> 41 <div id="content">
40 <%= yield %> 42 <%= yield %>
41 </div> 43 </div>
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index 3033798..94248a6 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -1,4 +1,6 @@
1/* Layout */ 1/* ============================================================
2 Base elements
3 ============================================================ */
2 4
3body { 5body {
4 font-family: Helvetica, Arial, sans-serif; 6 font-family: Helvetica, Arial, sans-serif;
@@ -15,33 +17,160 @@ a:hover {
15 color: #ff9600; 17 color: #ff9600;
16} 18}
17 19
20/* Scoped link visibility: a light, desaturated squiggly underline
21 signals "clickable" at rest without the weight of a solid line.
22 Hover still relies on the global a:hover color change above -- this
23 only adds an at-rest affordance for plain content links that would
24 otherwise be indistinguishable from body text. Covers: page editor
25 body content, node listing tables, the child-creation shortcuts on
26 nodes#show, and the dashboard draft list's Show/Revisions links. */
27#page_editor a,
28table.node_table a,
29table.assets_table a,
30table.events_table a,
31table.user_table a,
32.add_child_links a,
33div#draft_list table td.actions a {
34 text-decoration: underline;
35 -webkit-text-decoration-style: wavy;
36 text-decoration-style: wavy;
37 text-decoration-color: #b0b0b0;
38 text-decoration-thickness: 1px;
39 text-underline-offset: 2px;
40}
41
18th { 42th {
19 text-transform: lowercase; 43 text-transform: lowercase;
20} 44}
21 45
46td {
47 padding-top: 10px;
48 padding-bottom: 5px;
49 padding-right: 10px;
50}
51/* table#revisions td only overrides padding-right, so its rows still
52 depend on this rule for vertical padding. table.node_table td resets
53 padding-top/bottom to 0 explicitly and does not depend on it. */
54
55input[type=text], textarea {
56 font-size: 1rem;
57 font-family: Helvetica;
58 border: 1px solid #989898;
59}
60
61select {
62 font-size: 1rem;
63 border: 1px solid #989898;
64}
65
66input[type=password] {
67 border: 1px solid #989898;
68}
69
70input[type=radio] {
71 border: 1px solid #989898;
72}
73
74/* ============================================================
75 Layout
76 ============================================================ */
77
78@media(min-width:1016px) {
79 #wrapper {
80 margin: 0 125px;
81 }
82}
83@media(max-width:1015px) {
84 #wrapper {
85 margin: 0;
86 width: 100%;
87 box-sizing: border-box;
88 }
89}
90
22#metadata, 91#metadata,
23#content { 92#content {
24 margin-left: 5px; 93 margin-left: 5px;
25} 94}
26 95
27@media(min-width:1016px) { 96.right { text-align: right; }
28#wrapper { 97.clear_left { clear: left; }
29 margin: 0 125px; 98
99/* ============================================================
100 Navigation
101 ============================================================ */
102
103#navigation {
104 position: relative;
105 margin-top: 10px;
30} 106}
107
108#navigation div { float: left; }
109
110#navigation a:hover {
111 color: #ffffff;
112 background-color: #000000;
31} 113}
32@media(max-width:1015px) { 114
33#wrapper { 115#navigation a.selected,
34 margin: 0; 116#metadata a.selected,
35 width: 100%; 117#overview_toggle a.selected {
36 box-sizing: border-box; 118 color: #ffffff;
119 background-color: #000000;
120}
121
122#main_navigation a,
123#sub_navigation a,
124#metadata a,
125#overview_toggle a {
126 letter-spacing: 1px;
127 padding-left: 5px;
128 padding-right: 5px;
129 padding-top: 1px;
130 padding-bottom: 1px;
131 text-transform: lowercase;
132}
133
134#metadata a:hover {
135 color: #ffffff;
136 background-color: #ff9600;
137}
138
139/* #sub_navigation covers 13 views' Show/Preview/Revisions/metadata
140 links (see `grep -rn "content_for :subnavigation" app/views/`),
141 including nodes#edit -- so #page_editor's own subnav links are
142 already covered here and are not part of the new scoped-underline
143 rule above. Proposed for full removal per the redesign notes; the
144 13-file list is the confirmation needed before scoping that work. */
145#sub_navigation a {
146 color: #969696;
147}
148
149#sub_navigation a:hover {
150 color: #ffffff;
151 background-color: #ff9600;
37} 152}
153
154#sub_navigation a.selected {
155 color: #ffffff;
156 background-color: #ff9600;
38} 157}
39 158
159.admin_content_spacer {
160 clear: both;
161 margin-bottom: 40px;
162}
163
164/* ============================================================
165 Flash / notices
166 ============================================================ */
40 167
41#flash { 168#flash {
42 height: 12px; 169 height: auto;
43 line-height: 20px; 170 line-height: 20px;
44 margin-top: 40px; 171 padding: 6px 10px;
172 border-left: 3px solid #969696;
173 background-color: #f1f1f1;
45 margin-bottom: 20px; 174 margin-bottom: 20px;
46 margin-left: 5px; 175 margin-left: 5px;
47} 176}
@@ -52,7 +181,6 @@ th {
52 text-transform: lowercase; 181 text-transform: lowercase;
53} 182}
54 183
55
56#flash img { 184#flash img {
57 height: 12px; 185 height: 12px;
58 width: 12px; 186 width: 12px;
@@ -68,7 +196,9 @@ span#flash_error, span.warning {
68 padding-bottom: 1px; 196 padding-bottom: 1px;
69} 197}
70 198
71/* Pagination */ 199/* ============================================================
200 Pagination
201 ============================================================ */
72 202
73div.pagination { 203div.pagination {
74 padding-top: 5px; 204 padding-top: 5px;
@@ -79,43 +209,12 @@ div.pagination span.current, div.pagination a:hover {
79 color: #ff9600; 209 color: #ff9600;
80} 210}
81 211
82/* Styles */ 212/* ============================================================
83 213 Buttons
84.right { 214 ============================================================ */
85 text-align: right;
86}
87
88.clear_left {
89 clear: left;
90}
91 215
92#navigation { 216/* button_to forms: render submit inputs/buttons as plain links,
93 position: relative; 217 orange on hover; .destructive variant is red. */
94 margin-top: 10px;
95}
96
97#navigation div {
98 float: left;
99}
100
101#navigation a:hover {
102 color: #ffffff;
103 background-color: #000000;
104}
105
106#main_navigation a,
107#sub_navigation a,
108#metadata a,
109#overview_toggle a {
110 letter-spacing: 1px;
111 padding-left: 5px;
112 padding-right: 5px;
113 padding-top: 1px;
114 padding-bottom: 1px;
115 text-transform: lowercase;
116}
117
118/* button_to forms: render submit inputs as plain links */
119form.button_to { 218form.button_to {
120 display: inline; 219 display: inline;
121 margin: 0; 220 margin: 0;
@@ -136,31 +235,64 @@ form.button_to button[type="submit"] {
136 text-decoration: none; 235 text-decoration: none;
137} 236}
138 237
139form.button_to input[type="submit"]:hover, 238form.button_to.state_changing input[type="submit"],
140form.button_to button[type="submit"]:hover { 239form.button_to.state_changing button[type="submit"] {
141 color: #ff9600; 240 color: #0d47a1;
241 background-color: #e3f2fd;
242 border-radius: 2px;
243 padding: 2px 8px;
244}
245
246form.button_to.state_changing input[type="submit"]:hover,
247form.button_to.state_changing button[type="submit"]:hover {
248 color: #ffffff;
249 background-color: #1565c0;
142} 250}
143 251
144form.button_to.destructive input[type="submit"], 252form.button_to.destructive input[type="submit"],
145form.button_to.destructive button[type="submit"] { 253form.button_to.destructive button[type="submit"] {
146 color: #cc0000; 254 color: #cc0000;
255 background-color: #fdecea;
256 border-radius: 2px;
257 padding: 2px 8px;
147} 258}
148 259
149form.button_to.destructive input[type="submit"]:hover, 260form.button_to.destructive input[type="submit"]:hover,
150form.button_to.destructive button[type="submit"]:hover { 261form.button_to.destructive button[type="submit"]:hover {
151 color: #ffffff; 262 color: #ffffff;
152 background-color: #cc0000; 263 background-color: #cc0000;
264}
265
266/* Native (non-button_to) submit buttons -- Create/Save/Publish forms.
267 Lower specificity than form.button_to's own rule, so button_to forms
268 are correctly unaffected. If a button_to output ever loses its class
269 wrapper, it will silently fall through to this bordered style instead
270 of rendering as a plain link -- worth knowing, not necessarily fixing. */
271input[type="submit"] {
272 -webkit-appearance: none;
273 appearance: none;
274 background: none;
275 border: 1px solid #000000;
153 border-radius: 2px; 276 border-radius: 2px;
154 padding: 0 3px; 277 padding: 4px 12px;
278 font: inherit;
279 font-weight: bold;
280 color: inherit;
281 cursor: pointer;
282 text-decoration: none;
155} 283}
156 284
157#admin_wizard { 285input[type="submit"]:hover {
158 margin-bottom: 2rem; 286 color: #ffffff;
287 background-color: #000000;
159} 288}
160 289
161#page_submit a, 290/* ============================================================
162.admin_wizard_button a { 291 Wizard buttons
163 color: white !important; 292 ============================================================ */
293
294#admin_wizard {
295 margin-bottom: 2rem;
164} 296}
165 297
166#page_submit, 298#page_submit,
@@ -173,32 +305,30 @@ form.button_to.destructive button[type="submit"]:hover {
173 background-color: green; 305 background-color: green;
174} 306}
175 307
308#page_submit a,
309.admin_wizard_button a {
310 color: white !important;
311}
312
176#page_submit:hover, 313#page_submit:hover,
177.admin_wizard_button:hover { 314.admin_wizard_button:hover {
178 background-color: lime !important; 315 background-color: lime !important;
179} 316}
180 317
181#sub_navigation a { 318/* ============================================================
182 color: #969696; 319 Tables
183} 320 ============================================================ */
184 321
185#sub_navigation a:hover, #metadata a:hover { 322/* Generic fallback header row. Shadowed by table.node_table's own
186 color: #ffffff; 323 tr.header (2rem) and duplicated (same values) by table#revisions's
187 background-color: #ff9600; 324 own tr.header below. Applies as-is to #menu_item_list,
188} 325 div#draft_list table, and table.user_table, none of which define
189 326 their own tr.header. */
190#sub_navigation a.selected { 327table tr.header {
191 color: #ffffff; 328 height: 20px;
192 background-color: #ff9600; 329 text-align: left;
193}
194
195#navigation a.selected, #metadata a.selected, #overview_toggle a.selected {
196 color: #ffffff;
197 background-color: #000000;
198} 330}
199 331
200/* Nodes */
201
202table.node_table { 332table.node_table {
203 border-collapse: collapse; 333 border-collapse: collapse;
204} 334}
@@ -214,6 +344,9 @@ table.node_table th.title {
214 min-width: 4rem; 344 min-width: 4rem;
215} 345}
216 346
347/* th.title's min-width is set to 4rem above and 12rem here -- the
348 later, equally-specific rule wins, so th.title ends up at 12rem and
349 the 4rem entry for it above is dead. Likely a copy/paste leftover. */
217table.node_table th.editor, 350table.node_table th.editor,
218table.node_table th.title { 351table.node_table th.title {
219 min-width: 12rem; 352 min-width: 12rem;
@@ -237,6 +370,10 @@ table.node_table .node_id {
237 padding-right: 15px; 370 padding-right: 15px;
238} 371}
239 372
373table.node_table .actions {
374 text-transform: lowercase;
375}
376
240table.node_table tr.header:hover { 377table.node_table tr.header:hover {
241 background-color: #ffffff; 378 background-color: #ffffff;
242} 379}
@@ -245,20 +382,25 @@ table.node_table tr:hover {
245 background-color: #f1f1f1; 382 background-color: #f1f1f1;
246} 383}
247 384
248table.node_table .actions {
249 text-transform: lowercase;
250}
251
252#admin_sitemap_table .node_id:before { 385#admin_sitemap_table .node_id:before {
253 content: "• "; 386 content: "• ";
254} 387}
255 388
256/* Revisions */
257
258table#revisions { 389table#revisions {
259 border-collapse: collapse; 390 border-collapse: collapse;
260} 391}
261 392
393table#revisions tr {
394 height: 45px;
395}
396
397/* Redundant with the generic table tr.header rule above (identical
398 values) -- harmless, kept presumably for explicitness. */
399table#revisions tr.header {
400 height: 20px;
401 text-align: left;
402}
403
262table#revisions td { 404table#revisions td {
263 padding-right: 25px; 405 padding-right: 25px;
264} 406}
@@ -283,61 +425,91 @@ table#revisions tr:hover {
283 background-color: #f1f1f1; 425 background-color: #f1f1f1;
284} 426}
285 427
286table#revisions tr.header { 428table.user_table td.user_login {
287 height: 20px; 429 padding-right: 30px;
288 text-align: left;
289} 430}
290 431
291table#revisions tr { 432/* ============================================================
292 height: 45px 433 Node display (nodes#show / nodes#new)
434 ============================================================ */
435
436@media(min-width:1016px) {
437 div.node_description {
438 float: left;
439 width: 110px;
440 min-height: 2rem;
441 text-align: right;
442 text-transform: lowercase;
443 vertical-align: top;
444 }
445
446 div.node_content {
447 margin-left: 120px;
448 min-height: 2rem;
449 display: block;
450 margin-bottom: 1rem;
451 }
293} 452}
453@media(max-width:1015px) {
454 div.node_description {
455 min-height: 2rem;
456 width: 30em;
457 text-transform: lowercase;
458 vertical-align: top;
459 }
294 460
295/* Page Editor */ 461 div.node_content {
462 min-height: 2rem;
463 margin-bottom: 1rem;
464 }
465}
296 466
297input[type=text], textarea { 467.node_content.node_info_group {
298 font-size: 1rem; 468 border: 1px solid #e8e8e8;
299 font-family: Helvetica; 469 border-radius: 6px;
300 border: 1px solid #989898; 470 padding: 0.5rem 0.75rem;
301} 471}
302 472
303select { 473.node_info_group_items {
304 font-size: 1rem; 474 display: flex;
305 border: 1px solid #989898; 475 flex-wrap: wrap;
476 gap: 0.5rem 2rem;
306} 477}
307 478
308input[type=text]#tag_list, 479.node_info_item {
309input[type=text]#node_staged_slug, 480 min-width: 140px;
310input#move_to_search_term {
311 padding: 5px;
312} 481}
313 482
314input[type=password] { 483.node_info_label {
315 border: 1px solid #989898; 484 display: block;
485 font-weight: normal;
486 color: #969696;
487 font-size: 0.85rem;
488 text-transform: lowercase;
316} 489}
317 490
318input[type="submit"] { 491.node_info_group ul {
319 -webkit-appearance: none; 492 margin: 0;
320 appearance: none; 493 padding-left: 1.25rem;
321 background: none;
322 border: 1px solid #000000;
323 border-radius: 2px;
324 padding: 4px 12px;
325 font: inherit;
326 font-weight: bold;
327 color: inherit;
328 cursor: pointer;
329 text-decoration: none;
330} 494}
331 495
332input[type="submit"]:hover { 496.node_info_group li {
333 color: #ffffff; 497 margin-bottom: 0.25rem;
334 background-color: #000000;
335} 498}
336 499
337input[type=radio] { 500.field_hint {
338 border: 1px solid #989898; 501 display: block;
502 margin-top: 2px;
503 font-size: 0.75rem;
504 color: #969696;
505 padding-bottom: 4px;
339} 506}
507/* Identical declaration block to #search_results p span.result_path /
508 #menu_search_results p span.result_path below -- three independent
509 copies of the same "small gray helper text" style. */
340 510
511/* Layout only -- the at-rest visibility (wavy underline) for these
512 links comes from the scoped rule in Base elements above. */
341.add_child_links { 513.add_child_links {
342 margin-top: 0.5rem; 514 margin-top: 0.5rem;
343} 515}
@@ -346,145 +518,121 @@ input[type=radio] {
346 white-space: nowrap; 518 white-space: nowrap;
347} 519}
348 520
349div#login_form input[type=text], div#login_form input[type=password] { 521/* ============================================================
350 width: 150px; 522 Page editor / metadata forms
351} 523 ============================================================ */
352 524
353 525#new_node {
354@media(min-width:1016px) { 526 margin-left: -118px;
355input#tag_list,
356input#node_staged_slug,
357input#move_to_search_term {
358 width: 690px;
359}
360
361input[type=text]#page_title {
362 width: 690px;
363 font-size: 1rem;
364 padding-top: 6px;
365 padding-bottom: 4px;
366 padding-left: 5px;
367 padding-right: 5px;
368 font-weight: bold;
369}
370
371textarea#page_abstract {
372 width: 690px;
373 height: 150px;
374 padding: 5px;
375}
376
377#page_editor textarea#page_body {
378 width: 700px;
379 height: 600px;
380} 527}
381 528
382#page_editor #metadata, #page_editor #content, #admin_overview { 529#new_node input[type=text], #new_node input[type=password] {
383 margin-left: -125px; 530 width: 350px;
384} 531}
385 532
533div#login_form input[type=text], div#login_form input[type=password] {
534 width: 150px;
386} 535}
387 536
388/* Mobile */ 537input[type=text]#tag_list,
389@media(max-width:1015px) { 538input[type=text]#node_staged_slug,
390input#tag_list,
391input#node_staged_slug,
392input#move_to_search_term { 539input#move_to_search_term {
393 box-sizing: border-box; 540 padding: 5px;
394 width: 100%;
395} 541}
396 542
397#page_editor #content, 543div#page_editor {
398#page_editor #metadata { 544 margin-top: 0px;
399 padding-right: 5px; 545 margin-left: 10px;
400} 546}
401 547
402#page_editor textarea#page_body { 548@media(min-width:1016px) {
403 box-sizing: border-box; 549 input#tag_list,
404 width: 800px; 550 input#node_staged_slug,
405 height: 50rem; 551 input#move_to_search_term {
406} 552 width: 690px;
553 }
407 554
408#page_editor textarea#page_abstract { 555 input[type=text]#page_title {
409 box-sizing: border-box; 556 width: 690px;
410 height: 8rem; 557 font-size: 1rem;
411 width: 100%; 558 padding-top: 6px;
412} 559 padding-bottom: 4px;
560 padding-left: 5px;
561 padding-right: 5px;
562 font-weight: bold;
563 }
413 564
414input[type=text]#page_title { 565 textarea#page_abstract {
415 box-sizing: border-box; 566 width: 690px;
416 width: 100%; 567 height: 150px;
417 font-size: 2rem; 568 padding: 5px;
418 padding-top: 6px; 569 }
419 padding-bottom: 4px;
420 padding-left: 5px;
421 font-weight: bold;
422}
423 570
424input[type=text], textarea { 571 #page_editor textarea#page_body {
425 font-size: 1.5rem; 572 width: 700px;
426} 573 height: 600px;
427select { 574 }
428 font-size: 1.5rem;
429}
430 575
431#metadata ul#image_box { 576 #page_editor #metadata, #page_editor #content, #admin_overview {
432 width: 100% !important; 577 margin-left: -125px;
433} 578 }
434} 579}
435 580
436#new_node { 581@media(max-width:1015px) {
437 margin-left: -118px; 582 input#tag_list,
438} 583 input#node_staged_slug,
584 input#move_to_search_term {
585 box-sizing: border-box;
586 width: 100%;
587 }
439 588
440#new_node input[type=text], #new_node input[type=password] { 589 #page_editor #content,
441 width: 350px; 590 #page_editor #metadata {
442} 591 padding-right: 5px;
592 }
443 593
444tr {} 594 /* Fixed 800px width will overflow narrow viewports despite
595 border-box -- every sibling rule in this block uses 100% instead.
596 Worth checking on an actual phone; looks unfinished rather than
597 intentional. Not changed here since it wasn't part of what you
598 asked to fix. */
599 #page_editor textarea#page_body {
600 box-sizing: border-box;
601 width: 800px;
602 height: 50rem;
603 }
445 604
446td { 605 #page_editor textarea#page_abstract {
447 padding-top: 10px; 606 box-sizing: border-box;
448 padding-bottom: 5px; 607 height: 8rem;
449 padding-right: 10px; 608 width: 100%;
450} 609 }
451 610
452@media(min-width:1016px) { 611 input[type=text]#page_title {
453div.node_description { 612 box-sizing: border-box;
454 float: left; 613 width: 100%;
455 width: 110px; 614 font-size: 2rem;
456 min-height: 2rem; 615 padding-top: 6px;
457 text-align: right; 616 padding-bottom: 4px;
458 text-transform: lowercase; 617 padding-left: 5px;
459 vertical-align: top; 618 font-weight: bold;
460} 619 }
461
462div.node_content {
463 margin-left: 120px;
464 min-height: 2rem;
465 display: block;
466 margin-bottom: 1rem;
467}
468}
469@media(max-width:1015px) {
470div.node_description {
471 min-height: 2rem;
472 width: 30em;
473 text-transform: lowercase;
474 vertical-align: top;
475}
476 620
477div.node_content { 621 input[type=text], textarea {
478 min-height: 2rem; 622 font-size: 1.5rem;
479 margin-bottom: 1rem; 623 }
480} 624 select {
625 font-size: 1.5rem;
626 }
481 627
628 #metadata ul#image_box {
629 width: 100% !important;
630 }
482} 631}
483 632
484div#page_editor { 633/* ============================================================
485 margin-top: 0px; 634 Draft list (dashboard widget)
486 margin-left: 10px; 635 ============================================================ */
487}
488 636
489div#draft_list { 637div#draft_list {
490 border: 1px solid #000000; 638 border: 1px solid #000000;
@@ -501,66 +649,26 @@ div#draft_list table tr.header:hover {
501 background-color: #ffffff; 649 background-color: #ffffff;
502} 650}
503 651
652div#draft_list table tr:hover {
653 background-color: #f1f1f1;
654}
655
504div#draft_list table td.actions { 656div#draft_list table td.actions {
505 text-transform: lowercase; 657 text-transform: lowercase;
506 white-space: nowrap; 658 white-space: nowrap;
507} 659}
508 660
661/* Layout only -- the at-rest visibility (wavy underline) for these
662 links comes from the scoped rule in Base elements above. */
509div#draft_list table td.actions a { 663div#draft_list table td.actions a {
510 letter-spacing: 1px; 664 letter-spacing: 1px;
511 padding-left: 5px; 665 padding-left: 5px;
512 padding-right: 5px; 666 padding-right: 5px;
513} 667}
514 668
515div#draft_list table tr:hover { 669/* ============================================================
516 background-color: #f1f1f1; 670 Search widgets
517} 671 ============================================================ */
518
519table tr.header {
520 height: 20px;
521 text-align: left;
522}
523
524.field_hint {
525 display: block;
526 margin-top: 2px;
527 font-size: 0.75rem;
528 color: #969696;
529 padding-bottom: 4px;
530}
531
532.node_content.node_info_group {
533 border: 1px solid #e8e8e8;
534 border-radius: 6px;
535 padding: 0.5rem 0.75rem;
536}
537
538.node_info_group_items {
539 display: flex;
540 flex-wrap: wrap;
541 gap: 0.5rem 2rem;
542}
543
544.node_info_item {
545 min-width: 140px;
546}
547
548.node_info_label {
549 display: block;
550 font-weight: normal;
551 color: #969696;
552 font-size: 0.85rem;
553 text-transform: lowercase;
554}
555
556.node_info_group ul {
557 margin: 0;
558 padding-left: 1.25rem;
559}
560
561.node_info_group li {
562 margin-bottom: 0.25rem;
563}
564 672
565#search_widget { 673#search_widget {
566 position: absolute; 674 position: absolute;
@@ -615,6 +723,10 @@ table tr.header {
615 border-bottom: none; 723 border-bottom: none;
616} 724}
617 725
726/* ============================================================
727 Menu items (navigation editor)
728 ============================================================ */
729
618#menu_item_list { 730#menu_item_list {
619 border-collapse: collapse; 731 border-collapse: collapse;
620 padding: 5px 5px 5px 5px; 732 padding: 5px 5px 5px 5px;
@@ -631,6 +743,10 @@ table tr.header {
631 height: 20px; 743 height: 20px;
632} 744}
633 745
746#menu_item_list td.menu_item_title {
747 width: 200px;
748}
749
634#menu_item_list td.menu_sort_handle div { 750#menu_item_list td.menu_sort_handle div {
635 background-color: #989898; 751 background-color: #989898;
636 height: 26px; 752 height: 26px;
@@ -649,14 +765,14 @@ table tr.header {
649 cursor: grab; 765 cursor: grab;
650} 766}
651 767
652#menu_item_list td.menu_item_title { 768.ui-state-highlight td {
653 width: 200px;
654}
655
656.ui-state-highlight td{
657 height: 20px; 769 height: 20px;
658} 770}
659 771
772/* ============================================================
773 Image box / browser
774 ============================================================ */
775
660#metadata ul#image_box { 776#metadata ul#image_box {
661 box-sizing: border-box; 777 box-sizing: border-box;
662 margin: 0; 778 margin: 0;
@@ -681,8 +797,3 @@ div#image_browser {
681div#image_browser ul li { 797div#image_browser ul li {
682 list-style-type: none; 798 list-style-type: none;
683} 799}
684
685table.user_list td.user_login {
686 padding-right: 30px;
687}
688