summaryrefslogtreecommitdiff
path: root/public/stylesheets
diff options
context:
space:
mode:
Diffstat (limited to 'public/stylesheets')
-rw-r--r--public/stylesheets/admin.css312
1 files changed, 169 insertions, 143 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index a27968e9..a1136cbd 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -1,3 +1,54 @@
1:root {
2 --text: CanvasText;
3 --surface: Canvas;
4 --surface-raised: color-mix(in srgb, CanvasText, Canvas 97%); /* #f7f7f7; #fafafa merges here, 3 units darker */
5 --surface-tint: color-mix(in srgb, CanvasText, Canvas 94%); /* #f1f1f1; #eee merges here, 3 units lighter */
6 --hairline: color-mix(in srgb, CanvasText, Canvas 91%); /* #e8e8e8; #ececec-as-border merges here */
7 --hairline-faint: color-mix(in srgb, CanvasText, Canvas 94%); /* #f1f1f1 as border */
8 --border: color-mix(in srgb, CanvasText, Canvas 87%); /* #ddd */
9 --frame-fill: color-mix(in srgb, CanvasText, Canvas 83%); /* lightgrey */
10 --field-border: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 */
11 --handle-fill: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 as fill */
12 --link-underline: color-mix(in srgb, CanvasText, Canvas 69%); /* #b0b0b0 */
13 --text-muted: color-mix(in srgb, CanvasText, Canvas 59%); /* #969696 */
14 --text-dim: color-mix(in srgb, CanvasText, Canvas 47%); /* #777 */
15
16 /* ---- Neutrals that do NOT derive ---- */
17 --on-solid: #ffffff; /* text on accent/danger/action/compute fills */
18 --shadow-widget: 3px 3px 5px #b1b1b1;
19 --shadow-modal: 0 4px 16px rgba(0, 0, 0, 0.2);
20 --badge-scrim: rgba(255, 255, 255, 0.85);
21
22 /* ---- Semantic: literals for now, light-dark() pairs in stage 2 ---- */
23 --accent: #ff9600;
24 --accent-surface: #fff8f2;
25
26 --danger: #cc0000;
27 --danger-surface: #fdecea;
28
29 --action: #0d47a1; /* state_changing buttons at rest */
30 --action-solid: #1565c0; /* ...and on hover */
31 --action-surface: #e3f2fd;
32
33 --selected: #1a4d8f; /* pressed toggle, selected thumbnail */
34
35 --compute: #00838f;
36 --compute-surface: #e0f2f1;
37
38 --headline-mark: #f5b400; /* the star on a headline asset */
39 --headline-border: #fff3cd;
40 --headline-surface: #fffdf5;
41 --headline-badge-bg: rgba(255, 243, 205, 0.95);
42 --headline-badge-fg: #6b5900;
43
44 --diff-ins-bg: #ccffd8;
45 --diff-ins-fg: #055d20;
46 --diff-del-bg: #ffd7d5;
47 --diff-del-fg: #82071e;
48
49 --radius: 6px;
50}
51
1/* ============================================================ 52/* ============================================================
2 Base elements 53 Base elements
3 ============================================================ */ 54 ============================================================ */
@@ -11,17 +62,17 @@ body {
11/* Plain link visibility: a light, desaturated squiggly underline 62/* Plain link visibility: a light, desaturated squiggly underline
12 signals "clickable" at rest without the weight of a solid line. */ 63 signals "clickable" at rest without the weight of a solid line. */
13a { 64a {
14 color: #000000; 65 color: var(--text);
15 text-decoration: underline; 66 text-decoration: underline;
16 -webkit-text-decoration-style: wavy; 67 -webkit-text-decoration-style: wavy;
17 text-decoration-style: wavy; 68 text-decoration-style: wavy;
18 text-decoration-color: #b0b0b0; 69 text-decoration-color: var(--link-underline);
19 text-decoration-thickness: 1px; 70 text-decoration-thickness: 1px;
20 text-underline-offset: 2px; 71 text-underline-offset: 2px;
21} 72}
22 73
23a:hover { 74a:hover {
24 color: #ff9600; 75 color: var(--accent);
25} 76}
26 77
27th { 78th {
@@ -42,13 +93,13 @@ input[type=password],
42textarea { 93textarea {
43 font-size: 1rem; 94 font-size: 1rem;
44 font-family: Helvetica; 95 font-family: Helvetica;
45 border: 1px solid #989898; 96 border: 1px solid var(--field-border);
46 border-radius: 2px; 97 border-radius: 2px;
47} 98}
48 99
49select { 100select {
50 font-size: 1rem; 101 font-size: 1rem;
51 border: 1px solid #989898; 102 border: 1px solid var(--field-border);
52} 103}
53 104
54summary { 105summary {
@@ -56,12 +107,12 @@ summary {
56} 107}
57 108
58summary:hover { 109summary:hover {
59 background-color: #f7f7f7; 110 background-color: var(--surface-raised);
60} 111}
61 112
62input[type=password], 113input[type=password],
63input[type=radio] { 114input[type=radio] {
64 border: 1px solid #989898; 115 border: 1px solid var(--field-border);
65} 116}
66 117
67/* ============================================================ 118/* ============================================================
@@ -103,7 +154,7 @@ input[type=radio] {
103 max-width: 22rem; 154 max-width: 22rem;
104 margin: 2rem auto; 155 margin: 2rem auto;
105 padding: 1.25rem; 156 padding: 1.25rem;
106 border: 1px solid #e8e8e8; 157 border: 1px solid var(--hairline);
107 border-radius: 6px; 158 border-radius: 6px;
108} 159}
109 160
@@ -154,7 +205,7 @@ input[type=radio] {
154 gap: 0.75rem; 205 gap: 0.75rem;
155 margin: 1rem 0 1.5rem; 206 margin: 1rem 0 1.5rem;
156 padding-bottom: 1rem; 207 padding-bottom: 1rem;
157 border-bottom: 1px solid #e8e8e8; 208 border-bottom: 1px solid var(--hairline);
158} 209}
159 210
160/* ============================================================ 211/* ============================================================
@@ -165,8 +216,8 @@ input[type=radio] {
165 height: auto; 216 height: auto;
166 line-height: 20px; 217 line-height: 20px;
167 padding: 6px 10px; 218 padding: 6px 10px;
168 border-left: 3px solid #969696; 219 border-left: 3px solid var(--text-muted);
169 background-color: #f1f1f1; 220 background-color: var(--surface-tint);
170 margin-bottom: 20px; 221 margin-bottom: 20px;
171 margin-left: 5px; 222 margin-left: 5px;
172} 223}
@@ -183,9 +234,9 @@ input[type=radio] {
183} 234}
184 235
185span#flash_error, span.warning { 236span#flash_error, span.warning {
186 color: #ffffff; 237 color: var(--on-solid);
187 letter-spacing: 1px; 238 letter-spacing: 1px;
188 background-color: #ff9600; 239 background-color: var(--accent);
189 padding-left: 5px; 240 padding-left: 5px;
190 padding-right: 5px; 241 padding-right: 5px;
191 padding-top: 1px; 242 padding-top: 1px;
@@ -198,8 +249,8 @@ span.warning a {
198} 249}
199 250
200.error_messages { 251.error_messages {
201 border-left: 3px solid #cc0000; 252 border-left: 3px solid var(--danger);
202 background-color: #fdecea; 253 background-color: var(--danger-surface);
203 padding: 6px 10px; 254 padding: 6px 10px;
204 margin-bottom: 1rem; 255 margin-bottom: 1rem;
205} 256}
@@ -235,22 +286,22 @@ div.pagination span.gap {
235} 286}
236 287
237div.pagination a:hover { 288div.pagination a:hover {
238 color: #ff9600; 289 color: var(--accent);
239} 290}
240 291
241div.pagination em.current { 292div.pagination em.current {
242 background-color: #ff9600; 293 background-color: var(--accent);
243 color: #ffffff; 294 color: var(--on-solid);
244 font-weight: bold; 295 font-weight: bold;
245} 296}
246 297
247div.pagination span.gap { 298div.pagination span.gap {
248 color: #969696; 299 color: var(--text-muted);
249} 300}
250 301
251div.pagination .previous_page.disabled, 302div.pagination .previous_page.disabled,
252div.pagination .next_page.disabled { 303div.pagination .next_page.disabled {
253 color: #969696; 304 color: var(--text-muted);
254 cursor: not-allowed; 305 cursor: not-allowed;
255} 306}
256 307
@@ -285,38 +336,38 @@ form.button_to button[type="submit"] {
285 336
286form.button_to.state_changing input[type="submit"], 337form.button_to.state_changing input[type="submit"],
287form.button_to.state_changing button[type="submit"] { 338form.button_to.state_changing button[type="submit"] {
288 color: #0d47a1; 339 color: var(--action);
289 background-color: #e3f2fd; 340 background-color: var(--action-surface);
290} 341}
291 342
292form.button_to.state_changing input[type="submit"]:hover, 343form.button_to.state_changing input[type="submit"]:hover,
293form.button_to.state_changing button[type="submit"]:hover { 344form.button_to.state_changing button[type="submit"]:hover {
294 color: #ffffff; 345 color: var(--on-solid);
295 background-color: #1565c0; 346 background-color: var(--action-solid);
296} 347}
297 348
298form.button_to.destructive input[type="submit"], 349form.button_to.destructive input[type="submit"],
299form.button_to.destructive button[type="submit"] { 350form.button_to.destructive button[type="submit"] {
300 color: #cc0000; 351 color: var(--danger);
301 background-color: #fdecea; 352 background-color: var(--danger-surface);
302} 353}
303 354
304form.button_to.destructive input[type="submit"]:hover, 355form.button_to.destructive input[type="submit"]:hover,
305form.button_to.destructive button[type="submit"]:hover { 356form.button_to.destructive button[type="submit"]:hover {
306 color: #ffffff; 357 color: var(--on-solid);
307 background-color: #cc0000; 358 background-color: var(--danger);
308} 359}
309 360
310form.button_to.computation input[type="submit"], 361form.button_to.computation input[type="submit"],
311form.button_to.computation button[type="submit"] { 362form.button_to.computation button[type="submit"] {
312 color: #00838f; 363 color: var(--compute);
313 background-color: #e0f2f1; 364 background-color: var(--compute-surface);
314} 365}
315 366
316form.button_to.computation input[type="submit"]:hover, 367form.button_to.computation input[type="submit"]:hover,
317form.button_to.computation button[type="submit"]:hover { 368form.button_to.computation button[type="submit"]:hover {
318 color: #ffffff; 369 color: var(--on-solid);
319 background-color: #00838f; 370 background-color: var(--compute);
320} 371}
321 372
322form.button_to.computation input[type="submit"]:disabled, 373form.button_to.computation input[type="submit"]:disabled,
@@ -335,7 +386,7 @@ input[type="submit"] {
335 -webkit-appearance: none; 386 -webkit-appearance: none;
336 appearance: none; 387 appearance: none;
337 background: none; 388 background: none;
338 border: 1px solid #000000; 389 border: 1px solid var(--text);
339 border-radius: 2px; 390 border-radius: 2px;
340 padding: 4px 12px; 391 padding: 4px 12px;
341 font: inherit; 392 font: inherit;
@@ -346,8 +397,8 @@ input[type="submit"] {
346} 397}
347 398
348input[type="submit"]:hover { 399input[type="submit"]:hover {
349 color: #ffffff; 400 color: var(--on-solid);
350 background-color: #000000; 401 background-color: var(--text);
351} 402}
352 403
353/* ============================================================ 404/* ============================================================
@@ -365,7 +416,7 @@ input[type="submit"]:hover {
365 display: inline-flex; 416 display: inline-flex;
366 text-decoration: none; 417 text-decoration: none;
367 align-items: center; 418 align-items: center;
368 background-color: #f7f7f7; 419 background-color: var(--surface-raised);
369 justify-content: center; 420 justify-content: center;
370 width: 2rem; 421 width: 2rem;
371 height: 2rem; 422 height: 2rem;
@@ -375,8 +426,8 @@ input[type="submit"]:hover {
375 426
376#main_navigation a:hover, 427#main_navigation a:hover,
377#main_navigation form.button_to button:hover { 428#main_navigation form.button_to button:hover {
378 background-color: #000000; 429 color: var(--on-solid);
379 color: #ffffff; 430 background-color: var(--text);
380} 431}
381 432
382#main_navigation svg, 433#main_navigation svg,
@@ -427,7 +478,7 @@ form.button_to svg {
427 478
428.dashboard_widget { 479.dashboard_widget {
429 flex: 1 1 300px; 480 flex: 1 1 300px;
430 border: 1px solid #e8e8e8; 481 border: 1px solid var(--hairline);
431 border-radius: 6px; 482 border-radius: 6px;
432 padding: 0.5rem 0.75rem; 483 padding: 0.5rem 0.75rem;
433} 484}
@@ -448,12 +499,12 @@ form.button_to svg {
448 align-items: flex-start; 499 align-items: flex-start;
449 gap: 1rem; 500 gap: 1rem;
450 padding: 0.35rem 0; 501 padding: 0.35rem 0;
451 border-bottom: 1px solid #f1f1f1; 502 border-bottom: 1px solid var(--hairline-faint);
452} 503}
453 504
454.dashboard_widget_meta { 505.dashboard_widget_meta {
455 white-space: nowrap; 506 white-space: nowrap;
456 color: #969696; 507 color: var(--text-muted);
457 font-size: 0.85rem; 508 font-size: 0.85rem;
458} 509}
459 510
@@ -479,13 +530,13 @@ table.events_table {
479} 530}
480 531
481table.node_table tr { 532table.node_table tr {
482 border-bottom: 1px solid #000000; 533 border-bottom: 1px solid var(--text);
483} 534}
484 535
485table.assets_table tr, 536table.assets_table tr,
486table.user_table tr, 537table.user_table tr,
487table.events_table tr { 538table.events_table tr {
488 border-bottom: 1px solid #e8e8e8; 539 border-bottom: 1px solid var(--hairline);
489} 540}
490 541
491table.node_table th.node_id, 542table.node_table th.node_id,
@@ -540,14 +591,14 @@ table.node_table tr.header:hover,
540table.assets_table tr.header:hover, 591table.assets_table tr.header:hover,
541table.user_table tr.header:hover, 592table.user_table tr.header:hover,
542table.events_table tr.header:hover { 593table.events_table tr.header:hover {
543 background-color: #ffffff; 594 background-color: var(--surface);
544} 595}
545 596
546table.node_table tr:hover, 597table.node_table tr:hover,
547table.assets_table tr:hover, 598table.assets_table tr:hover,
548table.user_table tr:hover, 599table.user_table tr:hover,
549table.events_table tr:hover { 600table.events_table tr:hover {
550 background-color: #f1f1f1; 601 background-color: var(--surface-tint);
551} 602}
552 603
553#admin_sitemap_table .node_id:before { 604#admin_sitemap_table .node_id:before {
@@ -572,18 +623,18 @@ table.revisions_table td {
572 623
573table.revisions_table thead tr.header, 624table.revisions_table thead tr.header,
574table.revisions_table thead tr.diff_sticky_bar { 625table.revisions_table thead tr.diff_sticky_bar {
575 background-color: #ffffff; 626 background-color: var(--surface);
576} 627}
577 628
578table.revisions_table .diff_sticky_bar td { 629table.revisions_table .diff_sticky_bar td {
579 padding-top: 0.5rem; 630 padding-top: 0.5rem;
580 padding-bottom: 0.5rem; 631 padding-bottom: 0.5rem;
581 border-bottom: 1px solid #e8e8e8; 632 border-bottom: 1px solid var(--hairline);
582} 633}
583 634
584#diff_selection_label { 635#diff_selection_label {
585 margin-left: 0.75rem; 636 margin-left: 0.75rem;
586 color: #969696; 637 color: var(--text-muted);
587} 638}
588table.revisions_table td.title { 639table.revisions_table td.title {
589 width: 450px; 640 width: 450px;
@@ -594,19 +645,19 @@ table.revisions_table td.date {
594} 645}
595 646
596table.revisions_table tr:not(.header):not(.no_hover) { 647table.revisions_table tr:not(.header):not(.no_hover) {
597 border-bottom: 1px solid #e8e8e8; 648 border-bottom: 1px solid var(--hairline);
598} 649}
599 650
600table.revisions_table tr.header:hover { 651table.revisions_table tr.header:hover {
601 background-color: #ffffff; 652 background-color: var(--surface);
602} 653}
603 654
604table.revisions_table tr.no_hover:hover { 655table.revisions_table tr.no_hover:hover {
605 background-color: #ffffff; 656 background-color: var(--surface);
606} 657}
607 658
608table.revisions_table tr:hover { 659table.revisions_table tr:hover {
609 background-color: #f1f1f1; 660 background-color: var(--surface-tint);
610} 661}
611 662
612.events_table .rrule_text { 663.events_table .rrule_text {
@@ -625,16 +676,16 @@ table.revisions_table tr:hover {
625} 676}
626 677
627#diffview del { 678#diffview del {
628 background: #ffd7d5; 679 background: var(--diff-del-bg);
629 color: #82071e; 680 color: var(--diff-del-fg);
630 text-decoration: line-through; 681 text-decoration: line-through;
631 padding: 0 2px; 682 padding: 0 2px;
632 border-radius: 2px; 683 border-radius: 2px;
633} 684}
634 685
635#diffview ins { 686#diffview ins {
636 background: #ccffd8; 687 background: var(--diff-ins-bg);
637 color: #055d20; 688 color: var(--diff-ins-fg);
638 text-decoration: none; 689 text-decoration: none;
639 padding: 0 2px; 690 padding: 0 2px;
640 border-radius: 2px; 691 border-radius: 2px;
@@ -655,7 +706,7 @@ table.revisions_table tr:hover {
655} 706}
656 707
657.diff_unchanged { 708.diff_unchanged {
658 color: #969696; 709 color: var(--text-muted);
659 font-style: italic; 710 font-style: italic;
660} 711}
661 712
@@ -724,18 +775,18 @@ div.layout_row_content {
724} 775}
725 776
726.layout_row_content.info_group { 777.layout_row_content.info_group {
727 border: 1px solid #e8e8e8; 778 border: 1px solid var(--hairline);
728 border-radius: 6px; 779 border-radius: 6px;
729 padding: 0.5rem 0.75rem; 780 padding: 0.5rem 0.75rem;
730} 781}
731 782
732.info_group .disabled_action { 783.info_group .disabled_action {
733 display: inline-block; 784 display: inline-block;
734 border: 1px solid #c0c0c0; 785 border: 1px solid var(--border);
735 border-radius: 2px; 786 border-radius: 2px;
736 padding: 4px 12px; 787 padding: 4px 12px;
737 font-weight: bold; 788 font-weight: bold;
738 color: #969696; 789 color: var(--text-muted);
739 cursor: not-allowed; 790 cursor: not-allowed;
740} 791}
741 792
@@ -752,7 +803,7 @@ div.layout_row_content {
752.info_label { 803.info_label {
753 display: block; 804 display: block;
754 font-weight: normal; 805 font-weight: normal;
755 color: #969696; 806 color: var(--text-muted);
756 font-size: 0.85rem; 807 font-size: 0.85rem;
757 text-transform: lowercase; 808 text-transform: lowercase;
758} 809}
@@ -767,8 +818,8 @@ div.layout_row_content {
767} 818}
768 819
769.layout_row_content.node_status { 820.layout_row_content.node_status {
770 border: 2px solid #000000; 821 border: 2px solid var(--text);
771 background-color: #fafafa; 822 background-color: var(--surface-raised);
772} 823}
773 824
774.node_status .info_group_items:first-child { 825.node_status .info_group_items:first-child {
@@ -812,7 +863,7 @@ form.button_to button[type="submit"] {
812 display: block; 863 display: block;
813 margin-top: 2px; 864 margin-top: 2px;
814 font-size: 0.75rem; 865 font-size: 0.75rem;
815 color: #969696; 866 color: var(--text-muted);
816 padding-bottom: 4px; 867 padding-bottom: 4px;
817} 868}
818 869
@@ -859,7 +910,7 @@ form.button_to button[type="submit"] {
859.sitemap_node { 910.sitemap_node {
860 padding-bottom: 0.5rem; 911 padding-bottom: 0.5rem;
861 margin-bottom: 0.5rem; 912 margin-bottom: 0.5rem;
862 border-bottom: 1px solid #ececec; 913 border-bottom: 1px solid var(--hairline);
863} 914}
864 915
865.sitemap_node h4 { 916.sitemap_node h4 {
@@ -883,7 +934,7 @@ form.button_to button[type="submit"] {
883@media(min-width:1016px) { 934@media(min-width:1016px) {
884 #sitemap details details { 935 #sitemap details details {
885 margin-left: 1.5rem; 936 margin-left: 1.5rem;
886 border-left: 1px solid #e8e8e8; 937 border-left: 1px solid var(--hairline);
887 padding-left: 0.75rem; 938 padding-left: 0.75rem;
888 } 939 }
889} 940}
@@ -893,7 +944,7 @@ form.button_to button[type="submit"] {
893} 944}
894 945
895#sitemap details:not([open]) > summary { 946#sitemap details:not([open]) > summary {
896 color: #ff9600; 947 color: var(--accent);
897 font-weight: bold; 948 font-weight: bold;
898} 949}
899 950
@@ -959,12 +1010,12 @@ div#admin_layout {
959 gap: 0.5rem; 1010 gap: 0.5rem;
960 -webkit-appearance: none; 1011 -webkit-appearance: none;
961 appearance: none; 1012 appearance: none;
962 border: 1px solid #000000; 1013 border: 1px solid var(--text);
963 border-radius: 2px; 1014 border-radius: 2px;
964 padding: 4px 12px; 1015 padding: 4px 12px;
965 font-weight: bold; 1016 font-weight: bold;
966 text-decoration: none; 1017 text-decoration: none;
967 color: #000000; 1018 color: var(--text);
968 margin-bottom: 1rem; 1019 margin-bottom: 1rem;
969 background: none; 1020 background: none;
970 cursor: pointer; 1021 cursor: pointer;
@@ -973,8 +1024,8 @@ div#admin_layout {
973 1024
974#admin_layout a.action_button:hover, 1025#admin_layout a.action_button:hover,
975.action_button:hover { 1026.action_button:hover {
976 color: #ffffff; 1027 color: var(--on-solid);;
977 background-color: #000000; 1028 background-color: var(--text);
978} 1029}
979 1030
980#admin_layout input[type=text], 1031#admin_layout input[type=text],
@@ -1050,7 +1101,7 @@ input#menu_item_title {
1050 ============================================================ */ 1101 ============================================================ */
1051 1102
1052div#draft_list { 1103div#draft_list {
1053 border: 1px solid #000000; 1104 border: 1px solid var(--text);
1054 padding: 5px; 1105 padding: 5px;
1055 overflow: auto; 1106 overflow: auto;
1056 height: 300px; 1107 height: 300px;
@@ -1061,11 +1112,11 @@ div#draft_list table {
1061} 1112}
1062 1113
1063div#draft_list table tr.header:hover { 1114div#draft_list table tr.header:hover {
1064 background-color: #ffffff; 1115 background-color: var(--surface);
1065} 1116}
1066 1117
1067div#draft_list table tr:hover { 1118div#draft_list table tr:hover {
1068 background-color: #f1f1f1; 1119 background-color: var(--surface-tint);
1069} 1120}
1070 1121
1071div#draft_list table td.actions { 1122div#draft_list table td.actions {
@@ -1089,7 +1140,7 @@ div#draft_list table td.actions a {
1089 1140
1090.search_results_list li { 1141.search_results_list li {
1091 padding: 0.5rem 0; 1142 padding: 0.5rem 0;
1092 border-bottom: 1px solid #f1f1f1; 1143 border-bottom: 1px solid var(--hairline-faint);
1093} 1144}
1094 1145
1095.search_tag_row { 1146.search_tag_row {
@@ -1097,14 +1148,14 @@ div#draft_list table td.actions a {
1097 flex-wrap: wrap; 1148 flex-wrap: wrap;
1098 gap: 0.4rem; 1149 gap: 0.4rem;
1099 padding: 4px 4px 8px; 1150 padding: 4px 4px 8px;
1100 border-bottom: 1px solid #e8e8e8; 1151 border-bottom: 1px solid var(--hairline);
1101} 1152}
1102 1153
1103.search_tag_pill { 1154.search_tag_pill {
1104 display: inline-block; 1155 display: inline-block;
1105 padding: 2px 10px; 1156 padding: 2px 10px;
1106 border-radius: 999px; 1157 border-radius: 999px;
1107 background-color: #f1f1f1; 1158 background-color: var(--surface-tint);
1108 font-size: 0.85rem; 1159 font-size: 0.85rem;
1109 text-decoration: none; 1160 text-decoration: none;
1110} 1161}
@@ -1119,7 +1170,7 @@ div#draft_list table td.actions a {
1119} 1170}
1120 1171
1121.tag_pill { 1172.tag_pill {
1122 background: #eee; 1173 background: var(--surface-tint);
1123 border-radius: 999px; 1174 border-radius: 999px;
1124 padding: 0.15rem 0.75rem; 1175 padding: 0.15rem 0.75rem;
1125 font-size: 0.9em; 1176 font-size: 0.9em;
@@ -1135,10 +1186,9 @@ div#draft_list table td.actions a {
1135 left: 0; 1186 left: 0;
1136 width: min(520px, 90vw); 1187 width: min(520px, 90vw);
1137 border-radius: 2px; 1188 border-radius: 2px;
1138 border: 1px solid #000000; 1189 border: 1px solid var(--text);
1139 -webkit-box-shadow: 3px 3px 5px #b1b1b1; 1190 box-shadow: var(--shadow-widget);
1140 box-shadow: 3px 3px 5px #b1b1b1; 1191 background-color: var(--surface);
1141 background-color: #ffffff;
1142 padding: 3px; 1192 padding: 3px;
1143 z-index: 100; 1193 z-index: 100;
1144} 1194}
@@ -1154,7 +1204,7 @@ div#draft_list table td.actions a {
1154.search_results p { 1204.search_results p {
1155 margin: 0; 1205 margin: 0;
1156 padding: 4px 4px 0 4px; 1206 padding: 4px 4px 0 4px;
1157 border-bottom: 1px solid #e8e8e8; 1207 border-bottom: 1px solid var(--hairline);
1158} 1208}
1159 1209
1160.search_results p a { 1210.search_results p a {
@@ -1169,7 +1219,7 @@ div#draft_list table td.actions a {
1169 margin-top: 2px; 1219 margin-top: 2px;
1170 font-size: 0.75rem; 1220 font-size: 0.75rem;
1171 font-family: monospace; 1221 font-family: monospace;
1172 color: #969696; 1222 color: var(--text-muted);
1173 padding-bottom: 4px; 1223 padding-bottom: 4px;
1174} 1224}
1175 1225
@@ -1177,7 +1227,7 @@ div#draft_list table td.actions a {
1177 margin: 0; 1227 margin: 0;
1178 padding: 6px 4px; 1228 padding: 6px 4px;
1179 font-size: 0.8rem; 1229 font-size: 0.8rem;
1180 color: #969696; 1230 color: var(--text-muted);
1181 font-style: italic; 1231 font-style: italic;
1182 border-bottom: none; 1232 border-bottom: none;
1183} 1233}
@@ -1187,7 +1237,7 @@ div#draft_list table td.actions a {
1187 padding: 0; 1237 padding: 0;
1188 border-bottom: none; 1238 border-bottom: none;
1189 font-size: 0.75rem; 1239 font-size: 0.75rem;
1190 color: #969696; 1240 color: var(--text-muted);
1191 text-transform: lowercase; 1241 text-transform: lowercase;
1192 font-weight: normal; 1242 font-weight: normal;
1193} 1243}
@@ -1199,13 +1249,13 @@ div#draft_list table td.actions a {
1199#menu_item_list { 1249#menu_item_list {
1200 border-collapse: collapse; 1250 border-collapse: collapse;
1201 padding: 5px 5px 5px 5px; 1251 padding: 5px 5px 5px 5px;
1202 border: solid 5px lightgrey; 1252 border: solid 5px var(--frame-fill);
1203 background-color: lightgrey; 1253 background-color: var(--frame-fill);
1204 border-radius: 5px; 1254 border-radius: 5px;
1205} 1255}
1206 1256
1207#menu_item_list tr:hover { 1257#menu_item_list tr:hover {
1208 background-color: #f1f1f1; 1258 background-color: var(--surface-tint);
1209} 1259}
1210 1260
1211#menu_item_list td { 1261#menu_item_list td {
@@ -1217,7 +1267,7 @@ div#draft_list table td.actions a {
1217} 1267}
1218 1268
1219#menu_item_list td.menu_sort_handle div { 1269#menu_item_list td.menu_sort_handle div {
1220 background-color: #989898; 1270 background-color: var(--handle-fill);
1221 height: 26px; 1271 height: 26px;
1222 width: 26px; 1272 width: 26px;
1223} 1273}
@@ -1256,7 +1306,7 @@ div#draft_list table td.actions a {
1256 display: flex; 1306 display: flex;
1257 align-items: center; 1307 align-items: center;
1258 gap: 0.25rem; 1308 gap: 0.25rem;
1259 border: 1px solid #e8e8e8; 1309 border: 1px solid var(--hairline);
1260 border-radius: 6px; 1310 border-radius: 6px;
1261 padding: 4px; 1311 padding: 4px;
1262} 1312}
@@ -1283,8 +1333,8 @@ div#draft_list table td.actions a {
1283 align-items: center; 1333 align-items: center;
1284 justify-content: center; 1334 justify-content: center;
1285 border-radius: 50%; 1335 border-radius: 50%;
1286 background: rgba(255, 255, 255, 0.85); 1336 background: var(--badge-scrim);
1287 color: #f5b400; 1337 color: var(--headline-mark);
1288} 1338}
1289 1339
1290.thumbnail_list li .headline_indicator svg { 1340.thumbnail_list li .headline_indicator svg {
@@ -1295,7 +1345,7 @@ div#draft_list table td.actions a {
1295 1345
1296.related_asset_handle { 1346.related_asset_handle {
1297 display: flex; 1347 display: flex;
1298 color: #969696; 1348 color: var(--text-muted);
1299 cursor: grab; 1349 cursor: grab;
1300} 1350}
1301 1351
@@ -1312,7 +1362,7 @@ div#draft_list table td.actions a {
1312 border: none; 1362 border: none;
1313 padding: 2px; 1363 padding: 2px;
1314 cursor: pointer; 1364 cursor: pointer;
1315 color: #969696; 1365 color: var(--text-muted);
1316} 1366}
1317 1367
1318.related_asset_remove svg { 1368.related_asset_remove svg {
@@ -1321,7 +1371,7 @@ div#draft_list table td.actions a {
1321} 1371}
1322 1372
1323.related_asset_remove:hover { 1373.related_asset_remove:hover {
1324 color: #cc0000; 1374 color: var(--danger);
1325} 1375}
1326 1376
1327.related_asset_result { 1377.related_asset_result {
@@ -1329,7 +1379,7 @@ div#draft_list table td.actions a {
1329 align-items: center; 1379 align-items: center;
1330 gap: 0.5rem; 1380 gap: 0.5rem;
1331 padding: 4px; 1381 padding: 4px;
1332 border-bottom: 1px solid #e8e8e8; 1382 border-bottom: 1px solid var(--hairline);
1333 text-decoration: none; 1383 text-decoration: none;
1334} 1384}
1335 1385
@@ -1348,8 +1398,8 @@ div#draft_list table td.actions a {
1348 border: none; 1398 border: none;
1349 padding: 2px; 1399 padding: 2px;
1350 cursor: pointer; 1400 cursor: pointer;
1351 color: #969696; 1401 color: var(--text-muted);
1352} 1402}
1353 1403
1354.related_asset_set_headline svg { 1404.related_asset_set_headline svg {
1355 width: 0.9rem; 1405 width: 0.9rem;
@@ -1358,7 +1408,7 @@ div#draft_list table td.actions a {
1358 1408
1359.related_asset_set_headline:hover, 1409.related_asset_set_headline:hover,
1360.related_asset_set_headline[aria-pressed="true"] { 1410.related_asset_set_headline[aria-pressed="true"] {
1361 color: #f5b400; 1411 color: var(--headline-mark);
1362} 1412}
1363 1413
1364.related_asset_set_headline[aria-pressed="true"] svg { 1414.related_asset_set_headline[aria-pressed="true"] svg {
@@ -1366,19 +1416,19 @@ div#draft_list table td.actions a {
1366} 1416}
1367 1417
1368.thumbnail_list li.is_headline { 1418.thumbnail_list li.is_headline {
1369 border-color: #fff3cd; 1419 border-color: var(--headline-border);
1370 background-color: #fffdf5; 1420 background-color: var(--headline-surface);
1371} 1421}
1372 1422
1373#asset_dropzone { 1423#asset_dropzone {
1374 border: 2px dashed #ccc; 1424 border: 2px dashed var(--border);
1375 border-radius: 6px; 1425 border-radius: 6px;
1376 padding: 1.5rem; 1426 padding: 1.5rem;
1377} 1427}
1378 1428
1379#asset_dropzone.dragging { 1429#asset_dropzone.dragging {
1380 border-color: #f96; 1430 border-color: var(--accent);
1381 background: #fff8f2; 1431 background: var(--accent-surface);
1382} 1432}
1383 1433
1384/* ============================================================ 1434/* ============================================================
@@ -1422,30 +1472,6 @@ div#draft_list table td.actions a {
1422 gap: 8px; 1472 gap: 8px;
1423} 1473}
1424 1474
1425.view_toggle {
1426 background: #f7f7f7;
1427 border: 1px solid #ddd;
1428 border-radius: 4px;
1429 padding: 4px 8px;
1430 cursor: pointer;
1431 color: #555;
1432 display: flex;
1433 align-items: center;
1434 gap: 1em;
1435}
1436
1437.view_toggle:hover {
1438 background: #ececec;
1439 border-color: #ccc;
1440 color: #222;
1441}
1442
1443.view_toggle[aria-pressed="true"] {
1444 background: #dde8f5;
1445 border-color: #a9c6e8;
1446 color: #1a4d8f;
1447}
1448
1449/* ============================================================ 1475/* ============================================================
1450 Image picker 1476 Image picker
1451 ============================================================ */ 1477 ============================================================ */
@@ -1455,15 +1481,15 @@ div#draft_list table td.actions a {
1455 top: 10%; 1481 top: 10%;
1456 left: 50%; 1482 left: 50%;
1457 transform: translateX(-50%); 1483 transform: translateX(-50%);
1458 background: #fff; 1484 background: var(--surface);
1459 border: 1px solid #ddd; 1485 border: 1px solid var(--border);
1460 border-radius: 8px; 1486 border-radius: 8px;
1461 padding: 1rem; 1487 padding: 1rem;
1462 max-width: 480px; 1488 max-width: 480px;
1463 max-height: 70vh; 1489 max-height: 70vh;
1464 overflow-y: auto; 1490 overflow-y: auto;
1465 z-index: 1000; 1491 z-index: 1000;
1466 box-shadow: 0 4px 16px rgba(0,0,0,0.2); 1492 box-shadow: var(--shadow-modal);
1467} 1493}
1468 1494
1469#inline_image_picker_grid { 1495#inline_image_picker_grid {
@@ -1492,8 +1518,8 @@ div#draft_list table td.actions a {
1492 bottom: 2px; 1518 bottom: 2px;
1493 left: 2px; 1519 left: 2px;
1494 right: 2px; 1520 right: 2px;
1495 background: rgba(255, 243, 205, 0.95); 1521 background: var(--headline-badge-bg);
1496 color: #6b5900; 1522 color: var(--headline-badge-fg);
1497 font-size: 0.65em; 1523 font-size: 0.65em;
1498 text-align: center; 1524 text-align: center;
1499 border-radius: 3px; 1525 border-radius: 3px;
@@ -1502,7 +1528,7 @@ div#draft_list table td.actions a {
1502} 1528}
1503 1529
1504#inline_image_picker_grid img.selected { 1530#inline_image_picker_grid img.selected {
1505 border-color: #1a4d8f; 1531 border-color: var(--selected);
1506} 1532}
1507 1533
1508#inline_image_picker_actions { 1534#inline_image_picker_actions {
@@ -1516,14 +1542,14 @@ div#draft_list table td.actions a {
1516 ============================================================ */ 1542 ============================================================ */
1517 1543
1518#node_action_list td.node_action_body { 1544#node_action_list td.node_action_body {
1519 border-bottom: 1px solid #f1f1f1; 1545 border-bottom: 1px solid var(--hairline-faint);
1520} 1546}
1521 1547
1522#node_action_list td.node_action_time { 1548#node_action_list td.node_action_time {
1523 white-space: nowrap; 1549 white-space: nowrap;
1524 vertical-align: top; 1550 vertical-align: top;
1525 font-size: 0.8em; 1551 font-size: 0.8em;
1526 color: #777; 1552 color: var(--text-dim);
1527 padding-right: 1em; 1553 padding-right: 1em;
1528} 1554}
1529 1555
@@ -1555,18 +1581,18 @@ div#draft_list table td.actions a {
1555 margin-top: 0.2rem; 1581 margin-top: 0.2rem;
1556 cursor: pointer; 1582 cursor: pointer;
1557 font-size: smaller; 1583 font-size: smaller;
1558 color: #777; 1584 color: var(--text-dim);
1559} 1585}
1560 1586
1561.node_action_icon { 1587.node_action_icon {
1562 color: #777; 1588 color: var(--text-dim);
1563 margin-right: 0.35em; 1589 margin-right: 0.35em;
1564 vertical-align: text-top; 1590 vertical-align: text-top;
1565} 1591}
1566 1592
1567.revision_lifecycle { 1593.revision_lifecycle {
1568 font-size: 0.85rem; 1594 font-size: 0.85rem;
1569 color: #777; 1595 color: var(--text-dim);
1570} 1596}
1571 1597
1572/* ============================================================ 1598/* ============================================================
@@ -1585,7 +1611,7 @@ div#draft_list table td.actions a {
1585 1611
1586.restore_picker input[type=text] { 1612.restore_picker input[type=text] {
1587 width: 100%; 1613 width: 100%;
1588 max-width: 22rem 1614 max-width: 22rem;
1589} 1615}
1590 1616
1591.restore_picker .search_results { 1617.restore_picker .search_results {
@@ -1594,8 +1620,8 @@ div#draft_list table td.actions a {
1594 left: 0; 1620 left: 0;
1595 right: 0; 1621 right: 0;
1596 z-index: 10; 1622 z-index: 10;
1597 background: #fff; 1623 background: var(--surface);
1598 border: 1px solid #989898; 1624 border: 1px solid var(--field-border);
1599 border-top: none; 1625 border-top: none;
1600 max-height: 20em; 1626 max-height: 20em;
1601 overflow-y: auto; 1627 overflow-y: auto;