PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.14
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.14
2.0.14 2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
← All changes | assets/css/admin-dashboard.css +124 -610 2.0.7 → 2.0.14 View file →
@@ -1,614 +1,128 @@
1 -/* ═══════════════════════════════════════════════════════════════
2 - * Blockenberg – Block Manager Dashboard
3 - * WordPress.com-inspired modern admin UI
4 - * ═══════════════════════════════════════════════════════════════ */
5 -
6 -/* ── Reset & base ───────────────────────────────── */
7 -#bkbg-dashboard *,
8 -#bkbg-dashboard *::before,
9 -#bkbg-dashboard *::after {
10 - box-sizing: border-box;
1 +/* Block Manager — shared Blockenberg website palette, scoped to its admin screen. */
2 +body.toplevel_page_blockenberg,
3 +body.toplevel_page_blockenberg #wpcontent,
4 +body.toplevel_page_blockenberg #wpbody {background:#f8f8f5}
5 +#bkbg-dashboard {
6 + --bkbg-ink:#232420;--bkbg-muted:#70716a;--bkbg-line:#ddded6;--bkbg-paper:#f8f8f5;--bkbg-soft:#edeee5;--bkbg-accent:#e7f395;
7 + max-width:1840px;margin:26px 32px 48px 16px;color:var(--bkbg-ink);
8 + font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;
11 9 }
12 -
13 -.bkbg-dashboard {
14 - --bkbg-primary: #3858e9;
15 - --bkbg-primary-hover: #1d35b4;
16 - --bkbg-primary-light: #eef1fd;
17 - --bkbg-success: #00a32a;
18 - --bkbg-success-light: #edfaef;
19 - --bkbg-danger: #d63638;
20 - --bkbg-danger-light: #fcecec;
21 - --bkbg-text: #1e1e1e;
22 - --bkbg-text-secondary: #646970;
23 - --bkbg-border: #e0e0e0;
24 - --bkbg-bg: #f0f0f1;
25 - --bkbg-card-bg: #fff;
26 - --bkbg-radius: 12px;
27 - --bkbg-radius-sm: 8px;
28 - --bkbg-shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);
29 - --bkbg-shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);
30 - --bkbg-transition: .2s cubic-bezier(.4, 0, .2, 1);
31 -
32 - margin: 0 0 0 -20px;
33 - padding: 0;
34 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
35 - background: var(--bkbg-bg);
36 - color: var(--bkbg-text);
37 - min-height: 100vh;
10 +#bkbg-dashboard *,#bkbg-dashboard *::before,#bkbg-dashboard *::after {box-sizing:border-box}
11 +#bkbg-dashboard :is(button,input,a):focus-visible {outline:2px solid #626a40;outline-offset:3px;box-shadow:none}
12 +#bkbg-dashboard button,#bkbg-dashboard input {font-family:inherit}
13 +#bkbg-dashboard a {color:inherit;text-decoration:none}
14 +#bkbg-dashboard .bkbg-header {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:14px;background:#242424;color:#fff}
15 +#bkbg-dashboard .bkbg-header__left {min-width:0}
16 +#bkbg-dashboard .bkbg-header__brand {display:flex;align-items:center;gap:9px;margin-bottom:22px;font-size:17px;font-weight:550;letter-spacing:-.5px;color:#e9e9e4}
17 +#bkbg-dashboard .bkbg-header__brand svg {flex:none}
18 +#bkbg-dashboard .bkbg-header h1 {margin:0;padding:0;color:#fff;font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-1px}
19 +#bkbg-dashboard .bkbg-header__subtitle {margin:9px 0 0;color:#b8b8b2;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
20 +#bkbg-dashboard .bkbg-header__right {display:flex;flex-direction:column;align-items:flex-end;gap:31px;min-width:0}
21 +#bkbg-dashboard .bkbg-header__links {display:flex;align-items:center;gap:23px;flex-wrap:wrap;font-size:11px;line-height:1.6;color:#c6c6c0}
22 +#bkbg-dashboard .bkbg-header__links a:hover {color:#fff}
23 +#bkbg-dashboard .bkbg-header__controls {display:flex;align-items:center;gap:10px;max-width:100%}
24 +#bkbg-dashboard .bkbg-header :is(button,a,input):focus-visible {outline-color:#e7f395}
25 +#bkbg-dashboard .bkbg-search-wrap {display:flex;align-items:center;position:relative;min-width:0}
26 +#bkbg-dashboard .bkbg-search-wrap svg {position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#aeaea8;pointer-events:none}
27 +#bkbg-dashboard .bkbg-search {width:270px;max-width:100%;min-width:0;height:42px;margin:0;padding:9px 12px 9px 39px;border:1px solid #53534d;border-radius:8px;background:#30302d;color:#fff;font-size:12px;line-height:1.5;box-shadow:none;transition:border-color .15s}
28 +#bkbg-dashboard .bkbg-search::placeholder {color:#b8b8b2}
29 +#bkbg-dashboard .bkbg-search:focus {border-color:#b5bd91;box-shadow:none}
30 +#bkbg-dashboard .bkbg-btn {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid var(--bkbg-line);border-radius:8px;background:transparent;color:var(--bkbg-ink);font-size:11px;font-weight:500;line-height:1.5;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
31 +#bkbg-dashboard .bkbg-btn .dashicons {font-size:16px;width:16px;height:16px}
32 +#bkbg-dashboard .bkbg-btn:hover {background:#edeee5;border-color:#c6c9b9}
33 +#bkbg-dashboard .bkbg-btn--primary {min-height:42px;padding-inline:17px;border-color:var(--bkbg-accent);background:var(--bkbg-accent);color:#232420}
34 +#bkbg-dashboard .bkbg-btn--primary:hover {border-color:#d9e687;background:#d9e687}
35 +#bkbg-dashboard .bkbg-btn--saving {opacity:.65;pointer-events:none}
36 +#bkbg-dashboard .bkbg-btn--unsaved::after {content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-left:3px}
37 +#bkbg-dashboard .bkbg-btn--danger {color:#8f443b}
38 +#bkbg-dashboard .bkbg-btn--danger:hover {border-color:#d9b9b0;background:#f6ede8}
39 +#bkbg-dashboard .bkbg-workspace {display:grid;grid-template-columns:218px minmax(0,1fr);align-items:start;gap:30px;margin-top:30px}
40 +#bkbg-dashboard .bkbg-toolbar {position:sticky;top:52px;padding:0 20px 18px 0;border-right:1px solid var(--bkbg-line)}
41 +#bkbg-dashboard .bkbg-toolbar__label {margin:0 0 14px 9px;color:var(--bkbg-muted);font-size:10px;line-height:1.6;font-weight:550;letter-spacing:.7px;text-transform:uppercase}
42 +#bkbg-dashboard .bkbg-toolbar__tabs {display:flex;flex-direction:column;gap:3px}
43 +#bkbg-dashboard .bkbg-tab {display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#66685e;font-size:11px;font-weight:450;line-height:1.5;text-align:left;cursor:pointer;transition:background .15s,color .15s}
44 +#bkbg-dashboard .bkbg-tab .dashicons {flex:none;width:14px;height:14px;font-size:14px;opacity:.7}
45 +#bkbg-dashboard .bkbg-tab:hover {background:#eeefe7;color:var(--bkbg-ink)}
46 +#bkbg-dashboard .bkbg-tab--active,#bkbg-dashboard .bkbg-tab--active:hover {border-color:#d9dcd0;background:#edeee5;color:#232420;font-weight:550}
47 +#bkbg-dashboard .bkbg-tab__count {margin-left:auto;flex:none;color:#85877a;font-size:10px;font-weight:450;font-variant-numeric:tabular-nums}
48 +#bkbg-dashboard .bkbg-tab--active .bkbg-tab__count {color:#60664e}
49 +#bkbg-dashboard .bkbg-toolbar__actions {display:flex;gap:7px;margin-top:22px;padding-top:18px;border-top:1px solid var(--bkbg-line)}
50 +#bkbg-dashboard .bkbg-toolbar__actions .bkbg-btn {flex:1;min-width:0;padding-inline:8px;font-size:10px}
51 +#bkbg-dashboard .bkbg-workspace__content {min-width:0}
52 +#bkbg-dashboard .bkbg-category-section {margin-bottom:34px}
53 +#bkbg-dashboard .bkbg-category-header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:0 0 15px;border-bottom:1px solid var(--bkbg-line)}
54 +#bkbg-dashboard .bkbg-category-title {display:flex;align-items:center;gap:8px;margin:0;color:#33362b;font-size:15px;font-weight:550;letter-spacing:-.2px;line-height:1.5}
55 +#bkbg-dashboard .bkbg-category-title .dashicons {width:17px;height:17px;font-size:17px;color:#777e64}
56 +#bkbg-dashboard .bkbg-category-count {margin-left:3px;color:#85877a;font-size:11px;font-weight:450;font-variant-numeric:tabular-nums}
57 +#bkbg-dashboard .bkbg-category-actions {display:flex;align-items:center;flex:none;gap:2px}
58 +#bkbg-dashboard .bkbg-cat-toggle {padding:5px 7px;border:0;border-radius:6px;background:transparent;color:#777b6c;font-size:10px;font-weight:450;line-height:1.5;cursor:pointer}
59 +#bkbg-dashboard .bkbg-cat-toggle:hover {background:#edeee5;color:#33362b}
60 +#bkbg-dashboard .bkbg-cat-toggle[data-action=disable]:hover {background:#f6ede8;color:#8f443b}
61 +#bkbg-dashboard .bkbg-cat-sep {color:#c9ccbf;font-size:10px}
62 +#bkbg-dashboard .bkbg-cards {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
63 +#bkbg-dashboard .bkbg-card {display:flex;align-items:center;gap:11px;min-width:0;min-height:76px;padding:16px 14px;border:1px solid var(--bkbg-line);border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
64 +#bkbg-dashboard .bkbg-card:hover {border-color:#bfc5af;background:#fdfefa}
65 +#bkbg-dashboard .bkbg-card--disabled {background:#f1f2eb;border-color:#e1e3d8}
66 +#bkbg-dashboard .bkbg-card--disabled .bkbg-card__icon {background:#e7e9df;color:#919585}
67 +#bkbg-dashboard .bkbg-card--disabled .bkbg-card__title {color:#777b6c}
68 +#bkbg-dashboard .bkbg-card--hidden {display:none!important}
69 +#bkbg-dashboard .bkbg-card__icon {display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #e6e8de;border-radius:8px;background:#f2f4ea;color:#697353}
70 +#bkbg-dashboard .bkbg-card__icon .dashicons {width:17px;height:17px;font-size:17px}
71 +#bkbg-dashboard .bkbg-card__info {flex:1;min-width:0}
72 +#bkbg-dashboard .bkbg-card__title {display:block;color:#34362f;font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
73 +#bkbg-dashboard .bkbg-toggle {position:relative;display:inline-block;flex:none;width:34px;height:20px;cursor:pointer}
74 +#bkbg-dashboard .bkbg-toggle__input {position:absolute;opacity:0;width:1px;height:1px;min-width:0;margin:0;padding:0;border:0}
75 +#bkbg-dashboard .bkbg-toggle__slider {position:absolute;inset:0;background:#cbd0c0;border-radius:20px;transition:background .15s}
76 +#bkbg-dashboard .bkbg-toggle__slider::before {content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:transform .15s}
77 +#bkbg-dashboard .bkbg-toggle__input:checked + .bkbg-toggle__slider {background:#687653}
78 +#bkbg-dashboard .bkbg-toggle__input:checked + .bkbg-toggle__slider::before {transform:translateX(14px)}
79 +#bkbg-dashboard .bkbg-toggle__input:focus-visible + .bkbg-toggle__slider {outline:2px solid #626a40;outline-offset:3px}
80 +#bkbg-dashboard .bkbg-toast {position:fixed;bottom:24px;right:24px;z-index:9999;max-width:calc(100vw - 32px);padding:13px 19px;border:1px solid #ffffff22;border-radius:9px;background:#232420;color:#fff;font-size:12px;line-height:1.5;font-weight:500;box-shadow:0 12px 32px #23242020;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .15s,transform .15s}
81 +#bkbg-dashboard .bkbg-toast--visible {opacity:1;transform:none;pointer-events:auto}
82 +#bkbg-dashboard .bkbg-toast--success {background:#4b5a3d}
83 +#bkbg-dashboard .bkbg-toast--error {background:#8f443b}
84 +#bkbg-dashboard .bkbg-empty {padding:60px 24px;border:1px solid var(--bkbg-line);border-radius:14px;background:#fff;text-align:center;color:var(--bkbg-muted)}
85 +#bkbg-dashboard .bkbg-empty .dashicons {width:30px;height:30px;font-size:30px;color:#9ca28b}
86 +#bkbg-dashboard .bkbg-empty p {margin:14px 0 0;font-size:13px;line-height:1.7}
87 +body.toplevel_page_blockenberg #adminmenu li.wp-has-current-submenu>a.wp-has-current-submenu {background:#383838}
88 +@media(max-width:1100px) {
89 + #bkbg-dashboard .bkbg-header {align-items:flex-start;flex-direction:column;gap:22px}
90 + #bkbg-dashboard .bkbg-header__right {width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}
91 + #bkbg-dashboard .bkbg-search {width:230px}
92 + #bkbg-dashboard .bkbg-workspace {grid-template-columns:204px minmax(0,1fr);gap:22px}
93 + #bkbg-dashboard .bkbg-toolbar {padding-right:14px}
94 + #bkbg-dashboard .bkbg-cards {grid-template-columns:repeat(auto-fill,minmax(195px,1fr))}
38 95 }
39 -
40 -/* ── Header ─────────────────────────────────────── */
41 -.bkbg-header {
42 - display: flex;
43 - align-items: center;
44 - justify-content: space-between;
45 - gap: 24px;
46 - padding: 20px 32px;
47 - background: var(--bkbg-card-bg);
48 - border-bottom: 1px solid var(--bkbg-border);
49 - position: sticky;
50 - top: 32px; /* below WP admin bar */
51 - z-index: 100;
52 - flex-wrap: wrap;
96 +@media(max-width:800px) {
97 + #bkbg-dashboard {margin:22px 20px 40px 8px}
98 + #bkbg-dashboard .bkbg-workspace {display:block;margin-top:24px}
99 + #bkbg-dashboard .bkbg-toolbar {position:static;padding:0 0 20px;margin-bottom:24px;border-right:0;border-bottom:1px solid var(--bkbg-line)}
100 + #bkbg-dashboard .bkbg-toolbar__tabs {display:flex;flex-direction:row;overflow-x:auto;padding:3px 3px 8px;gap:5px;scrollbar-width:thin}
101 + #bkbg-dashboard .bkbg-tab {flex:none;width:auto;white-space:nowrap;min-height:42px}
102 + #bkbg-dashboard .bkbg-tab__count {margin-left:5px}
103 + #bkbg-dashboard .bkbg-toolbar__actions {justify-content:flex-end;margin-top:10px;padding-top:0;border:0}
104 + #bkbg-dashboard .bkbg-toolbar__actions .bkbg-btn {flex:none;min-height:40px;padding-inline:14px}
105 + #bkbg-dashboard .bkbg-header__right {flex-direction:column;align-items:flex-start;gap:18px}
106 + #bkbg-dashboard .bkbg-header__controls {width:100%}
107 + #bkbg-dashboard .bkbg-search-wrap {flex:1}
108 + #bkbg-dashboard .bkbg-search {width:100%}
109 + #bkbg-dashboard .bkbg-category-header {align-items:flex-start;flex-wrap:wrap}
53 110 }
54 -
55 -.bkbg-header__left {
56 - display: flex;
57 - align-items: center;
58 - gap: 16px;
111 +@media(max-width:520px) {
112 + #bkbg-dashboard {margin:18px 14px 36px 2px}
113 + #bkbg-dashboard .bkbg-header {padding:22px 18px;gap:20px}
114 + #bkbg-dashboard .bkbg-header h1 {font-size:29px}
115 + #bkbg-dashboard .bkbg-header__brand {font-size:15px;margin-bottom:18px}
116 + #bkbg-dashboard .bkbg-header__links {gap:20px;font-size:11px}
117 + #bkbg-dashboard .bkbg-header__controls {flex-wrap:wrap;gap:12px}
118 + #bkbg-dashboard .bkbg-search-wrap {flex:1 1 100%}
119 + #bkbg-dashboard .bkbg-search {height:44px;font-size:13px}
120 + #bkbg-dashboard .bkbg-header__controls .bkbg-btn {min-height:44px;padding-inline:16px}
121 + #bkbg-dashboard .bkbg-cards {grid-template-columns:1fr}
122 + #bkbg-dashboard .bkbg-card {min-height:76px;padding:16px}
123 + #bkbg-dashboard .bkbg-card__title {font-size:13px}
124 + #bkbg-dashboard .bkbg-category-title {font-size:15px}
125 + #bkbg-dashboard .bkbg-cat-toggle {min-height:40px;padding-inline:10px;font-size:11px}
126 + #bkbg-dashboard .bkbg-toast {bottom:16px;right:16px}
59 127 }
60 -
61 -.bkbg-header__logo {
62 - width: 48px;
63 - height: 48px;
64 - border-radius: var(--bkbg-radius-sm);
65 - background: var(--bkbg-primary);
66 - display: flex;
67 - align-items: center;
68 - justify-content: center;
69 - color: #fff;
70 - flex-shrink: 0;
71 -}
72 -
73 -.bkbg-header__logo .dashicons {
74 - font-size: 24px;
75 - width: 24px;
76 - height: 24px;
77 -}
78 -
79 -.bkbg-header__text h1 {
80 - margin: 0;
81 - padding: 0;
82 - font-size: 22px;
83 - font-weight: 700;
84 - letter-spacing: -.3px;
85 - color: var(--bkbg-text);
86 - line-height: 1.3;
87 -}
88 -
89 -.bkbg-header__subtitle {
90 - margin: 2px 0 0;
91 - font-size: 13px;
92 - color: var(--bkbg-text-secondary);
93 - line-height: 1.4;
94 -}
95 -
96 -.bkbg-header__right {
97 - display: flex;
98 - align-items: center;
99 - gap: 12px;
100 - flex-wrap: wrap;
101 -}
102 -
103 -/* ── Search ─────────────────────────────────────── */
104 -.bkbg-search-wrap {
105 - position: relative;
106 - display: flex;
107 - align-items: center;
108 -}
109 -
110 -.bkbg-search-wrap .dashicons {
111 - position: absolute;
112 - left: 12px;
113 - top: 50%;
114 - transform: translateY(-50%);
115 - color: var(--bkbg-text-secondary);
116 - font-size: 20px;
117 - width: 20px;
118 - height: 20px;
119 - line-height: 20px;
120 - pointer-events: none;
121 -}
122 -
123 -.bkbg-search {
124 - min-width: 260px;
125 - height: 40px;
126 - padding: 0 16px 0 40px;
127 - border: 1px solid var(--bkbg-border);
128 - border-radius: 20px;
129 - font-size: 13px;
130 - background: var(--bkbg-bg);
131 - color: var(--bkbg-text);
132 - transition: border var(--bkbg-transition), box-shadow var(--bkbg-transition);
133 - outline: none;
134 -}
135 -
136 -.bkbg-search:focus {
137 - border-color: var(--bkbg-primary);
138 - box-shadow: 0 0 0 2px rgba(56, 88, 233, .15);
139 - background: #fff;
140 -}
141 -
142 -/* ── Buttons ────────────────────────────────────── */
143 -.bkbg-btn {
144 - display: inline-flex;
145 - align-items: center;
146 - gap: 6px;
147 - height: 40px;
148 - padding: 0 20px;
149 - font-size: 13px;
150 - font-weight: 600;
151 - border-radius: 8px;
152 - border: none;
153 - cursor: pointer;
154 - transition: all var(--bkbg-transition);
155 - white-space: nowrap;
156 - line-height: 1;
157 -}
158 -
159 -.bkbg-btn .dashicons {
160 - font-size: 16px;
161 - width: 16px;
162 - height: 16px;
163 -}
164 -
165 -.bkbg-btn--primary {
166 - background: var(--bkbg-primary);
167 - color: #fff;
168 -}
169 -
170 -.bkbg-btn--primary:hover {
171 - background: var(--bkbg-primary-hover);
172 - transform: translateY(-1px);
173 - box-shadow: 0 4px 12px rgba(56, 88, 233, .25);
174 -}
175 -
176 -.bkbg-btn--primary:active {
177 - transform: translateY(0);
178 -}
179 -
180 -.bkbg-btn--primary.bkbg-btn--saving {
181 - opacity: .7;
182 - pointer-events: none;
183 -}
184 -
185 -.bkbg-btn--ghost {
186 - background: transparent;
187 - color: var(--bkbg-primary);
188 - border: 1px solid var(--bkbg-border);
189 - height: 32px;
190 - padding: 0 14px;
191 - font-size: 12px;
192 - font-weight: 500;
193 - border-radius: 6px;
194 -}
195 -
196 -.bkbg-btn--ghost:hover {
197 - border-color: var(--bkbg-primary);
198 - background: var(--bkbg-primary-light);
199 -}
200 -
201 -.bkbg-btn--danger {
202 - color: var(--bkbg-danger);
203 -}
204 -
205 -.bkbg-btn--danger:hover {
206 - border-color: var(--bkbg-danger);
207 - background: var(--bkbg-danger-light);
208 -}
209 -
210 -/* ── Toolbar / Tabs ─────────────────────────────── */
211 -.bkbg-toolbar {
212 - display: flex;
213 - align-items: center;
214 - justify-content: space-between;
215 - gap: 16px;
216 - padding: 12px 32px;
217 - background: var(--bkbg-card-bg);
218 - border-bottom: 1px solid var(--bkbg-border);
219 - overflow-x: auto;
220 - flex-wrap: wrap;
221 -}
222 -
223 -.bkbg-toolbar__tabs {
224 - display: flex;
225 - gap: 4px;
226 - flex-wrap: wrap;
227 -}
228 -
229 -.bkbg-toolbar__actions {
230 - display: flex;
231 - gap: 8px;
232 - flex-shrink: 0;
233 -}
234 -
235 -.bkbg-tab {
236 - display: inline-flex;
237 - align-items: center;
238 - gap: 6px;
239 - padding: 6px 14px;
240 - border: none;
241 - background: transparent;
242 - color: var(--bkbg-text-secondary);
243 - font-size: 13px;
244 - font-weight: 500;
245 - border-radius: 20px;
246 - cursor: pointer;
247 - transition: all var(--bkbg-transition);
248 - white-space: nowrap;
249 - line-height: 1.4;
250 -}
251 -
252 -.bkbg-tab .dashicons {
253 - font-size: 14px;
254 - width: 14px;
255 - height: 14px;
256 -}
257 -
258 -.bkbg-tab:hover {
259 - background: var(--bkbg-primary-light);
260 - color: var(--bkbg-primary);
261 -}
262 -
263 -.bkbg-tab--active {
264 - background: var(--bkbg-primary);
265 - color: #fff;
266 -}
267 -
268 -.bkbg-tab--active:hover {
269 - background: var(--bkbg-primary-hover);
270 - color: #fff;
271 -}
272 -
273 -.bkbg-tab__count {
274 - display: inline-flex;
275 - align-items: center;
276 - justify-content: center;
277 - min-width: 22px;
278 - height: 18px;
279 - padding: 0 6px;
280 - border-radius: 9px;
281 - font-size: 11px;
282 - font-weight: 700;
283 - line-height: 1;
284 - background: rgba(0, 0, 0, .08);
285 -}
286 -
287 -.bkbg-tab--active .bkbg-tab__count {
288 - background: rgba(255, 255, 255, .25);
289 - color: #fff;
290 -}
291 -
292 -/* ── Grid & Categories ──────────────────────────── */
293 -.bkbg-grid {
294 - padding: 24px 32px 48px;
295 -}
296 -
297 -.bkbg-category-section {
298 - margin-bottom: 32px;
299 -}
300 -
301 -.bkbg-category-section[style*="display: none"] {
302 - margin: 0;
303 -}
304 -
305 -.bkbg-category-header {
306 - display: flex;
307 - align-items: center;
308 - justify-content: space-between;
309 - margin-bottom: 16px;
310 - padding-bottom: 12px;
311 - border-bottom: 1px solid var(--bkbg-border);
312 -}
313 -
314 -.bkbg-category-title {
315 - display: flex;
316 - align-items: center;
317 - gap: 10px;
318 - margin: 0;
319 - font-size: 15px;
320 - font-weight: 700;
321 - color: var(--bkbg-text);
322 - line-height: 1.3;
323 -}
324 -
325 -.bkbg-category-title .dashicons {
326 - font-size: 18px;
327 - width: 18px;
328 - height: 18px;
329 - color: var(--bkbg-primary);
330 -}
331 -
332 -.bkbg-category-count {
333 - display: inline-flex;
334 - align-items: center;
335 - justify-content: center;
336 - min-width: 24px;
337 - height: 20px;
338 - padding: 0 8px;
339 - border-radius: 10px;
340 - font-size: 11px;
341 - font-weight: 700;
342 - background: var(--bkbg-primary-light);
343 - color: var(--bkbg-primary);
344 -}
345 -
346 -.bkbg-category-actions {
347 - display: flex;
348 - align-items: center;
349 - gap: 4px;
350 -}
351 -
352 -.bkbg-cat-toggle {
353 - background: none;
354 - border: none;
355 - color: var(--bkbg-primary);
356 - font-size: 12px;
357 - font-weight: 500;
358 - cursor: pointer;
359 - padding: 4px 8px;
360 - border-radius: 4px;
361 - transition: background var(--bkbg-transition);
362 -}
363 -
364 -.bkbg-cat-toggle:hover {
365 - background: var(--bkbg-primary-light);
366 -}
367 -
368 -.bkbg-cat-toggle[data-action="disable"]:hover {
369 - color: var(--bkbg-danger);
370 - background: var(--bkbg-danger-light);
371 -}
372 -
373 -.bkbg-cat-sep {
374 - color: var(--bkbg-border);
375 - font-size: 12px;
376 - user-select: none;
377 -}
378 -
379 -/* ── Block cards ────────────────────────────────── */
380 -.bkbg-cards {
381 - display: grid;
382 - grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
383 - gap: 12px;
384 -}
385 -
386 -.bkbg-card {
387 - display: flex;
388 - align-items: center;
389 - gap: 12px;
390 - padding: 14px 16px;
391 - background: var(--bkbg-card-bg);
392 - border: 1px solid var(--bkbg-border);
393 - border-radius: var(--bkbg-radius-sm);
394 - transition: all var(--bkbg-transition);
395 - cursor: default;
396 -}
397 -
398 -.bkbg-card:hover {
399 - box-shadow: var(--bkbg-shadow-hover);
400 - border-color: #c8c8c8;
401 -}
402 -
403 -.bkbg-card--disabled {
404 - opacity: .5;
405 -}
406 -
407 -.bkbg-card--disabled:hover {
408 - opacity: .7;
409 -}
410 -
411 -.bkbg-card--hidden {
412 - display: none !important;
413 -}
414 -
415 -.bkbg-card__icon {
416 - width: 36px;
417 - height: 36px;
418 - border-radius: 8px;
419 - background: var(--bkbg-primary-light);
420 - display: flex;
421 - align-items: center;
422 - justify-content: center;
423 - flex-shrink: 0;
424 - transition: background var(--bkbg-transition);
425 -}
426 -
427 -.bkbg-card__icon .dashicons {
428 - font-size: 18px;
429 - width: 18px;
430 - height: 18px;
431 - color: var(--bkbg-primary);
432 - transition: color var(--bkbg-transition);
433 -}
434 -
435 -.bkbg-card--disabled .bkbg-card__icon {
436 - background: var(--bkbg-bg);
437 -}
438 -
439 -.bkbg-card--disabled .bkbg-card__icon .dashicons {
440 - color: var(--bkbg-text-secondary);
441 -}
442 -
443 -.bkbg-card__info {
444 - flex: 1;
445 - min-width: 0;
446 -}
447 -
448 -.bkbg-card__title {
449 - display: block;
450 - font-size: 13px;
451 - font-weight: 600;
452 - color: var(--bkbg-text);
453 - white-space: nowrap;
454 - overflow: hidden;
455 - text-overflow: ellipsis;
456 - line-height: 1.4;
457 -}
458 -
459 -/* ── Toggle switch ──────────────────────────────── */
460 -.bkbg-toggle {
461 - position: relative;
462 - display: inline-block;
463 - width: 40px;
464 - height: 22px;
465 - flex-shrink: 0;
466 - cursor: pointer;
467 -}
468 -
469 -.bkbg-toggle__input {
470 - opacity: 0;
471 - width: 0;
472 - height: 0;
473 - position: absolute;
474 -}
475 -
476 -.bkbg-toggle__slider {
477 - position: absolute;
478 - inset: 0;
479 - background: #c3c4c7;
480 - border-radius: 22px;
481 - transition: all var(--bkbg-transition);
482 -}
483 -
484 -.bkbg-toggle__slider::before {
485 - content: '';
486 - position: absolute;
487 - width: 16px;
488 - height: 16px;
489 - left: 3px;
490 - top: 3px;
491 - background: #fff;
492 - border-radius: 50%;
493 - transition: all var(--bkbg-transition);
494 - box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
495 -}
496 -
497 -.bkbg-toggle__input:checked + .bkbg-toggle__slider {
498 - background: var(--bkbg-primary);
499 -}
500 -
501 -.bkbg-toggle__input:checked + .bkbg-toggle__slider::before {
502 - transform: translateX(18px);
503 -}
504 -
505 -.bkbg-toggle__input:focus-visible + .bkbg-toggle__slider {
506 - box-shadow: 0 0 0 3px rgba(56, 88, 233, .2);
507 -}
508 -
509 -/* ── Toast ──────────────────────────────────────── */
510 -.bkbg-toast {
511 - position: fixed;
512 - bottom: 32px;
513 - right: 32px;
514 - z-index: 9999;
515 - padding: 12px 20px;
516 - border-radius: var(--bkbg-radius-sm);
517 - font-size: 13px;
518 - font-weight: 600;
519 - color: #fff;
520 - background: var(--bkbg-text);
521 - box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
522 - transform: translateY(20px);
523 - opacity: 0;
524 - pointer-events: none;
525 - transition: all .3s cubic-bezier(.4, 0, .2, 1);
526 -}
527 -
528 -.bkbg-toast--visible {
529 - transform: translateY(0);
530 - opacity: 1;
531 - pointer-events: auto;
532 -}
533 -
534 -.bkbg-toast--success {
535 - background: var(--bkbg-success);
536 -}
537 -
538 -.bkbg-toast--error {
539 - background: var(--bkbg-danger);
540 -}
541 -
542 -/* ── Empty state ────────────────────────────────── */
543 -.bkbg-empty {
544 - text-align: center;
545 - padding: 64px 32px;
546 - color: var(--bkbg-text-secondary);
547 -}
548 -
549 -.bkbg-empty .dashicons {
550 - font-size: 48px;
551 - width: 48px;
552 - height: 48px;
553 - opacity: .3;
554 - margin-bottom: 12px;
555 -}
556 -
557 -.bkbg-empty p {
558 - font-size: 14px;
559 - margin: 0;
560 -}
561 -
562 -/* ── Unsaved indicator ──────────────────────────── */
563 -.bkbg-btn--primary.bkbg-btn--unsaved {
564 - animation: bkbg-pulse 1.5s ease-in-out infinite;
565 -}
566 -
567 -@keyframes bkbg-pulse {
568 - 0%, 100% { box-shadow: 0 0 0 0 rgba(56, 88, 233, .3); }
569 - 50% { box-shadow: 0 0 0 8px rgba(56, 88, 233, 0); }
570 -}
571 -
572 -/* ── Responsive ─────────────────────────────────── */
573 -@media (max-width: 960px) {
574 - .bkbg-header {
575 - padding: 16px 20px;
576 - }
577 -
578 - .bkbg-toolbar {
579 - padding: 12px 20px;
580 - }
581 -
582 - .bkbg-grid {
583 - padding: 20px 20px 40px;
584 - }
585 -
586 - .bkbg-cards {
587 - grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
588 - }
589 -
590 - .bkbg-search {
591 - min-width: 200px;
592 - }
593 -}
594 -
595 -@media (max-width: 600px) {
596 - .bkbg-header {
597 - flex-direction: column;
598 - align-items: flex-start;
599 - gap: 12px;
600 - }
601 -
602 - .bkbg-header__right {
603 - width: 100%;
604 - }
605 -
606 - .bkbg-search {
607 - flex: 1;
608 - min-width: 0;
609 - }
610 -
611 - .bkbg-cards {
612 - grid-template-columns: 1fr;
613 - }
614 -}
128 +@media(prefers-reduced-motion:reduce) {#bkbg-dashboard *,#bkbg-dashboard *::before,#bkbg-dashboard *::after {transition:none!important}}