nextblogkit 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +951 -0
  3. package/dist/admin/index.cjs +2465 -0
  4. package/dist/admin/index.cjs.map +1 -0
  5. package/dist/admin/index.d.cts +44 -0
  6. package/dist/admin/index.d.ts +44 -0
  7. package/dist/admin/index.js +2438 -0
  8. package/dist/admin/index.js.map +1 -0
  9. package/dist/api/categories.cjs +82 -0
  10. package/dist/api/categories.cjs.map +1 -0
  11. package/dist/api/categories.d.cts +27 -0
  12. package/dist/api/categories.d.ts +27 -0
  13. package/dist/api/categories.js +77 -0
  14. package/dist/api/categories.js.map +1 -0
  15. package/dist/api/media.cjs +113 -0
  16. package/dist/api/media.cjs.map +1 -0
  17. package/dist/api/media.d.cts +22 -0
  18. package/dist/api/media.d.ts +22 -0
  19. package/dist/api/media.js +109 -0
  20. package/dist/api/media.js.map +1 -0
  21. package/dist/api/posts.cjs +103 -0
  22. package/dist/api/posts.cjs.map +1 -0
  23. package/dist/api/posts.d.cts +27 -0
  24. package/dist/api/posts.d.ts +27 -0
  25. package/dist/api/posts.js +98 -0
  26. package/dist/api/posts.js.map +1 -0
  27. package/dist/api/rss.cjs +25 -0
  28. package/dist/api/rss.cjs.map +1 -0
  29. package/dist/api/rss.d.cts +5 -0
  30. package/dist/api/rss.d.ts +5 -0
  31. package/dist/api/rss.js +23 -0
  32. package/dist/api/rss.js.map +1 -0
  33. package/dist/api/settings.cjs +40 -0
  34. package/dist/api/settings.cjs.map +1 -0
  35. package/dist/api/settings.d.cts +17 -0
  36. package/dist/api/settings.d.ts +17 -0
  37. package/dist/api/settings.js +37 -0
  38. package/dist/api/settings.js.map +1 -0
  39. package/dist/api/sitemap.cjs +25 -0
  40. package/dist/api/sitemap.cjs.map +1 -0
  41. package/dist/api/sitemap.d.cts +5 -0
  42. package/dist/api/sitemap.d.ts +5 -0
  43. package/dist/api/sitemap.js +23 -0
  44. package/dist/api/sitemap.js.map +1 -0
  45. package/dist/chunk-4NKOJYWJ.js +68 -0
  46. package/dist/chunk-4NKOJYWJ.js.map +1 -0
  47. package/dist/chunk-4PY224XM.js +103 -0
  48. package/dist/chunk-4PY224XM.js.map +1 -0
  49. package/dist/chunk-64HUVJOZ.js +446 -0
  50. package/dist/chunk-64HUVJOZ.js.map +1 -0
  51. package/dist/chunk-6HKMZOI4.cjs +48 -0
  52. package/dist/chunk-6HKMZOI4.cjs.map +1 -0
  53. package/dist/chunk-A2S32RZN.js +138 -0
  54. package/dist/chunk-A2S32RZN.js.map +1 -0
  55. package/dist/chunk-E2QLTHKN.cjs +70 -0
  56. package/dist/chunk-E2QLTHKN.cjs.map +1 -0
  57. package/dist/chunk-JLPJKNRZ.js +37 -0
  58. package/dist/chunk-JLPJKNRZ.js.map +1 -0
  59. package/dist/chunk-JM7QRXXK.js +330 -0
  60. package/dist/chunk-JM7QRXXK.js.map +1 -0
  61. package/dist/chunk-KDZER3PU.cjs +43 -0
  62. package/dist/chunk-KDZER3PU.cjs.map +1 -0
  63. package/dist/chunk-N5MKAD7J.cjs +109 -0
  64. package/dist/chunk-N5MKAD7J.cjs.map +1 -0
  65. package/dist/chunk-QE4VLQYN.cjs +337 -0
  66. package/dist/chunk-QE4VLQYN.cjs.map +1 -0
  67. package/dist/chunk-R6MO3QIP.js +46 -0
  68. package/dist/chunk-R6MO3QIP.js.map +1 -0
  69. package/dist/chunk-U2ROR6AY.cjs +476 -0
  70. package/dist/chunk-U2ROR6AY.cjs.map +1 -0
  71. package/dist/chunk-ZP5XRVVH.cjs +141 -0
  72. package/dist/chunk-ZP5XRVVH.cjs.map +1 -0
  73. package/dist/cli/index.cjs +1308 -0
  74. package/dist/components/index.cjs +541 -0
  75. package/dist/components/index.cjs.map +1 -0
  76. package/dist/components/index.d.cts +165 -0
  77. package/dist/components/index.d.ts +165 -0
  78. package/dist/components/index.js +527 -0
  79. package/dist/components/index.js.map +1 -0
  80. package/dist/editor/index.cjs +1083 -0
  81. package/dist/editor/index.cjs.map +1 -0
  82. package/dist/editor/index.d.cts +133 -0
  83. package/dist/editor/index.d.ts +133 -0
  84. package/dist/editor/index.js +1051 -0
  85. package/dist/editor/index.js.map +1 -0
  86. package/dist/index-Cgzphklp.d.ts +266 -0
  87. package/dist/index-vjlZDWNr.d.cts +266 -0
  88. package/dist/index.cjs +368 -0
  89. package/dist/index.cjs.map +1 -0
  90. package/dist/index.d.cts +27 -0
  91. package/dist/index.d.ts +27 -0
  92. package/dist/index.js +208 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/lib/index.cjs +120 -0
  95. package/dist/lib/index.cjs.map +1 -0
  96. package/dist/lib/index.d.cts +4 -0
  97. package/dist/lib/index.d.ts +4 -0
  98. package/dist/lib/index.js +7 -0
  99. package/dist/lib/index.js.map +1 -0
  100. package/dist/styles/admin.css +657 -0
  101. package/dist/styles/blog.css +851 -0
  102. package/dist/styles/editor.css +452 -0
  103. package/dist/styles/globals.css +270 -0
  104. package/dist/styles/prose.css +299 -0
  105. package/dist/types-CBEEBR4A.d.cts +732 -0
  106. package/dist/types-CBEEBR4A.d.ts +732 -0
  107. package/package.json +134 -0
@@ -0,0 +1,657 @@
1
+ /* NextBlogKit — Admin Panel Styles */
2
+ @import './globals.css';
3
+ @import './editor.css';
4
+
5
+ /* Login */
6
+ .nbk-admin-login {
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ min-height: 100vh;
11
+ background: var(--nbk-bg-secondary);
12
+ font-family: var(--nbk-font-body);
13
+ }
14
+
15
+ .nbk-login-card {
16
+ background: var(--nbk-card-bg);
17
+ padding: 2.5rem;
18
+ border-radius: 1rem;
19
+ box-shadow: var(--nbk-shadow-lg);
20
+ width: 100%;
21
+ max-width: 400px;
22
+ animation: nbk-fade-in 0.4s var(--nbk-transition);
23
+ }
24
+
25
+ .nbk-login-title {
26
+ font-size: 1.5rem;
27
+ font-weight: 700;
28
+ margin: 0 0 0.25rem;
29
+ font-family: var(--nbk-font-heading);
30
+ }
31
+
32
+ .nbk-login-subtitle {
33
+ color: var(--nbk-text-muted);
34
+ margin: 0 0 1.5rem;
35
+ font-size: 0.875rem;
36
+ }
37
+
38
+ .nbk-login-input {
39
+ width: 100%;
40
+ padding: 0.75rem;
41
+ border: 1px solid var(--nbk-border);
42
+ border-radius: var(--nbk-radius);
43
+ margin-bottom: 1rem;
44
+ font-size: 1rem;
45
+ transition: border-color 0.2s var(--nbk-transition), box-shadow 0.2s var(--nbk-transition);
46
+ }
47
+
48
+ .nbk-login-input:focus {
49
+ outline: none;
50
+ border-color: var(--nbk-primary);
51
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
52
+ }
53
+
54
+ .nbk-login-btn {
55
+ width: 100%;
56
+ padding: 0.75rem;
57
+ background: var(--nbk-primary);
58
+ color: #fff;
59
+ border: none;
60
+ border-radius: var(--nbk-radius);
61
+ font-size: 1rem;
62
+ font-weight: 600;
63
+ cursor: pointer;
64
+ transition: background 0.2s var(--nbk-transition);
65
+ }
66
+
67
+ .nbk-login-btn:hover {
68
+ background: var(--nbk-primary-hover);
69
+ }
70
+
71
+ /* Admin Layout */
72
+ .nbk-admin {
73
+ display: flex;
74
+ min-height: 100vh;
75
+ font-family: var(--nbk-font-body);
76
+ }
77
+
78
+ .nbk-admin-sidebar {
79
+ width: 240px;
80
+ background: var(--nbk-bg-secondary);
81
+ border-right: 1px solid var(--nbk-border);
82
+ display: flex;
83
+ flex-direction: column;
84
+ flex-shrink: 0;
85
+ transition: width 0.2s var(--nbk-transition);
86
+ }
87
+
88
+ .nbk-admin-sidebar.closed {
89
+ width: 60px;
90
+ }
91
+
92
+ .nbk-sidebar-header {
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: space-between;
96
+ padding: 1rem;
97
+ border-bottom: 1px solid var(--nbk-border);
98
+ }
99
+
100
+ .nbk-sidebar-title {
101
+ font-size: 1rem;
102
+ font-weight: 700;
103
+ margin: 0;
104
+ }
105
+
106
+ .nbk-sidebar-toggle {
107
+ background: none;
108
+ border: none;
109
+ cursor: pointer;
110
+ font-size: 1rem;
111
+ color: var(--nbk-text-muted);
112
+ transition: color 0.2s var(--nbk-transition);
113
+ }
114
+
115
+ .nbk-sidebar-toggle:hover {
116
+ color: var(--nbk-text);
117
+ }
118
+
119
+ .nbk-sidebar-nav {
120
+ flex: 1;
121
+ padding: 0.5rem;
122
+ }
123
+
124
+ .nbk-sidebar-link {
125
+ display: flex;
126
+ align-items: center;
127
+ gap: 0.75rem;
128
+ padding: 0.625rem 0.75rem;
129
+ border-radius: var(--nbk-radius);
130
+ color: var(--nbk-text);
131
+ text-decoration: none;
132
+ font-size: 0.875rem;
133
+ transition: all 0.2s var(--nbk-transition);
134
+ border: none;
135
+ background: none;
136
+ width: 100%;
137
+ cursor: pointer;
138
+ text-align: left;
139
+ }
140
+
141
+ .nbk-sidebar-link:hover {
142
+ background: rgba(37, 99, 235, 0.05);
143
+ color: var(--nbk-primary);
144
+ }
145
+
146
+ .nbk-sidebar-link.active {
147
+ background: var(--nbk-primary-light);
148
+ color: #2563eb;
149
+ font-weight: 500;
150
+ }
151
+
152
+ .nbk-sidebar-icon {
153
+ font-size: 1.1rem;
154
+ width: 1.5rem;
155
+ text-align: center;
156
+ }
157
+
158
+ .nbk-sidebar-footer {
159
+ padding: 0.5rem;
160
+ border-top: 1px solid var(--nbk-border);
161
+ }
162
+
163
+ /* Main Content */
164
+ .nbk-admin-main {
165
+ flex: 1;
166
+ padding: 1.5rem 2rem;
167
+ overflow-y: auto;
168
+ background: var(--nbk-bg);
169
+ }
170
+
171
+ .nbk-page-header {
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: space-between;
175
+ margin-bottom: 1.5rem;
176
+ }
177
+
178
+ .nbk-page-title {
179
+ font-size: 1.5rem;
180
+ font-weight: 700;
181
+ margin: 0;
182
+ font-family: var(--nbk-font-heading);
183
+ }
184
+
185
+ .nbk-section-title {
186
+ font-size: 1.125rem;
187
+ font-weight: 600;
188
+ margin: 0 0 1rem;
189
+ font-family: var(--nbk-font-heading);
190
+ }
191
+
192
+ /* Dashboard */
193
+ .nbk-stats-grid {
194
+ display: grid;
195
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
196
+ gap: 1rem;
197
+ margin-bottom: 2rem;
198
+ }
199
+
200
+ .nbk-stat-card {
201
+ background: var(--nbk-card-bg);
202
+ border: 1px solid var(--nbk-border);
203
+ border-radius: 0.75rem;
204
+ padding: 1.25rem;
205
+ text-align: center;
206
+ transition: all 0.2s var(--nbk-transition);
207
+ border-left: 3px solid transparent;
208
+ }
209
+
210
+ .nbk-stat-card:hover {
211
+ box-shadow: var(--nbk-shadow);
212
+ transform: translateY(-2px);
213
+ border-left-color: var(--nbk-primary);
214
+ }
215
+
216
+ .nbk-stat-number {
217
+ font-size: 2rem;
218
+ font-weight: 700;
219
+ color: var(--nbk-primary);
220
+ }
221
+
222
+ .nbk-stat-label {
223
+ font-size: 0.8125rem;
224
+ color: var(--nbk-text-muted);
225
+ margin-top: 0.25rem;
226
+ }
227
+
228
+ .nbk-dashboard-grid {
229
+ display: grid;
230
+ grid-template-columns: 1fr 1fr;
231
+ gap: 1.5rem;
232
+ margin-bottom: 2rem;
233
+ }
234
+
235
+ .nbk-dashboard-section {
236
+ background: var(--nbk-card-bg);
237
+ border: 1px solid var(--nbk-border);
238
+ border-radius: 0.75rem;
239
+ padding: 1.25rem;
240
+ }
241
+
242
+ .nbk-post-list-simple {
243
+ list-style: none;
244
+ padding: 0;
245
+ margin: 0;
246
+ }
247
+
248
+ .nbk-post-link {
249
+ display: flex;
250
+ justify-content: space-between;
251
+ padding: 0.5rem 0;
252
+ border-bottom: 1px solid var(--nbk-border);
253
+ text-decoration: none;
254
+ color: var(--nbk-text);
255
+ transition: color 0.2s var(--nbk-transition);
256
+ }
257
+
258
+ .nbk-post-link:hover {
259
+ color: var(--nbk-primary);
260
+ }
261
+
262
+ .nbk-post-link-date {
263
+ color: var(--nbk-text-muted);
264
+ font-size: 0.8125rem;
265
+ }
266
+
267
+ .nbk-quick-actions {
268
+ display: flex;
269
+ gap: 0.75rem;
270
+ }
271
+
272
+ /* Filters */
273
+ .nbk-filters {
274
+ display: flex;
275
+ gap: 0.75rem;
276
+ align-items: center;
277
+ margin-bottom: 1rem;
278
+ flex-wrap: wrap;
279
+ }
280
+
281
+ .nbk-search-input {
282
+ max-width: 300px;
283
+ }
284
+
285
+ .nbk-bulk-actions {
286
+ display: flex;
287
+ align-items: center;
288
+ gap: 0.5rem;
289
+ font-size: 0.8125rem;
290
+ }
291
+
292
+ /* Post Editor */
293
+ .nbk-post-editor {
294
+ max-width: 100%;
295
+ }
296
+
297
+ .nbk-editor-header {
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: space-between;
301
+ margin-bottom: 1.5rem;
302
+ }
303
+
304
+ .nbk-editor-actions {
305
+ display: flex;
306
+ align-items: center;
307
+ gap: 0.75rem;
308
+ }
309
+
310
+ .nbk-last-saved {
311
+ font-size: 0.75rem;
312
+ color: var(--nbk-text-muted);
313
+ }
314
+
315
+ .nbk-editor-layout {
316
+ display: grid;
317
+ grid-template-columns: 1fr 320px;
318
+ gap: 1.5rem;
319
+ transition: grid-template-columns 0.2s var(--nbk-transition);
320
+ }
321
+
322
+ .nbk-editor-layout.nbk-sidebar-collapsed {
323
+ grid-template-columns: 1fr;
324
+ }
325
+
326
+ .nbk-btn-ghost {
327
+ background: transparent;
328
+ border: 1px solid var(--nbk-border);
329
+ border-radius: var(--nbk-radius);
330
+ padding: 0.375rem 0.625rem;
331
+ cursor: pointer;
332
+ color: var(--nbk-text-muted);
333
+ font-size: 1rem;
334
+ transition: all 0.15s var(--nbk-transition);
335
+ }
336
+
337
+ .nbk-btn-ghost:hover {
338
+ background: var(--nbk-bg-secondary);
339
+ color: var(--nbk-text);
340
+ }
341
+
342
+ .nbk-editor-main {
343
+ min-width: 0;
344
+ }
345
+
346
+ .nbk-title-input {
347
+ width: 100%;
348
+ padding: 0.75rem 0;
349
+ border: none;
350
+ font-size: 2rem;
351
+ font-weight: 700;
352
+ font-family: var(--nbk-font-heading);
353
+ color: var(--nbk-text);
354
+ background: transparent;
355
+ outline: none;
356
+ margin-bottom: 1rem;
357
+ }
358
+
359
+ .nbk-title-input::placeholder {
360
+ color: var(--nbk-border);
361
+ }
362
+
363
+ .nbk-editor-sidebar {
364
+ border-left: 1px solid var(--nbk-border);
365
+ padding-left: 1.5rem;
366
+ }
367
+
368
+ .nbk-sidebar-section {
369
+ margin-bottom: 1.5rem;
370
+ padding-bottom: 1.5rem;
371
+ border-bottom: 1px solid var(--nbk-border);
372
+ }
373
+
374
+ .nbk-sidebar-heading {
375
+ font-size: 0.8125rem;
376
+ font-weight: 600;
377
+ text-transform: uppercase;
378
+ letter-spacing: 0.05em;
379
+ color: var(--nbk-text-muted);
380
+ margin: 0 0 0.5rem;
381
+ padding: 0;
382
+ border: none;
383
+ background: none;
384
+ }
385
+
386
+ .nbk-expandable {
387
+ cursor: pointer;
388
+ display: block;
389
+ width: 100%;
390
+ text-align: left;
391
+ transition: color 0.2s var(--nbk-transition);
392
+ }
393
+
394
+ .nbk-expandable:hover {
395
+ color: var(--nbk-primary);
396
+ }
397
+
398
+ /* Collapsible section animation */
399
+ .nbk-sidebar-section[data-collapsed] {
400
+ overflow: hidden;
401
+ transition: max-height 0.3s var(--nbk-transition);
402
+ }
403
+
404
+ .nbk-checkbox-list {
405
+ display: flex;
406
+ flex-direction: column;
407
+ gap: 0.375rem;
408
+ }
409
+
410
+ .nbk-cover-preview {
411
+ width: 100%;
412
+ height: 120px;
413
+ object-fit: cover;
414
+ border-radius: var(--nbk-radius);
415
+ margin-bottom: 0.5rem;
416
+ }
417
+
418
+ /* SEO Panel */
419
+ .nbk-seo-panel {
420
+ font-size: 0.875rem;
421
+ }
422
+
423
+ .nbk-serp-preview {
424
+ background: var(--nbk-bg-secondary);
425
+ padding: 1rem;
426
+ border-radius: 0.75rem;
427
+ margin-bottom: 1rem;
428
+ font-family: Arial, sans-serif;
429
+ }
430
+
431
+ .nbk-serp-title {
432
+ color: #1a0dab;
433
+ font-size: 1.125rem;
434
+ line-height: 1.3;
435
+ margin-bottom: 0.25rem;
436
+ overflow: hidden;
437
+ text-overflow: ellipsis;
438
+ white-space: nowrap;
439
+ }
440
+
441
+ .nbk-serp-url {
442
+ color: #006621;
443
+ font-size: 0.8125rem;
444
+ margin-bottom: 0.25rem;
445
+ }
446
+
447
+ .nbk-serp-desc {
448
+ color: #545454;
449
+ font-size: 0.8125rem;
450
+ line-height: 1.4;
451
+ }
452
+
453
+ .nbk-count-good { color: var(--nbk-success); }
454
+ .nbk-count-warn { color: var(--nbk-warning); }
455
+ .nbk-count-bad { color: var(--nbk-danger); }
456
+
457
+ /* Post List extras */
458
+ .nbk-post-title-link {
459
+ color: var(--nbk-text);
460
+ text-decoration: none;
461
+ font-weight: 500;
462
+ transition: color 0.2s var(--nbk-transition);
463
+ }
464
+
465
+ .nbk-post-title-link:hover {
466
+ color: var(--nbk-primary);
467
+ }
468
+
469
+ .nbk-post-slug {
470
+ font-size: 0.75rem;
471
+ color: var(--nbk-text-muted);
472
+ }
473
+
474
+ /* Pagination (admin) */
475
+ .nbk-pagination-admin {
476
+ display: flex;
477
+ align-items: center;
478
+ justify-content: center;
479
+ gap: 1rem;
480
+ padding: 1rem 0;
481
+ font-size: 0.875rem;
482
+ color: var(--nbk-text-muted);
483
+ }
484
+
485
+ /* Media Library */
486
+ .nbk-media-library {
487
+ position: relative;
488
+ }
489
+
490
+ .nbk-dropzone {
491
+ border: 2px dashed var(--nbk-border);
492
+ border-radius: 0.75rem;
493
+ padding: 2rem;
494
+ text-align: center;
495
+ color: var(--nbk-text-muted);
496
+ margin-bottom: 1.5rem;
497
+ transition: all 0.2s var(--nbk-transition);
498
+ }
499
+
500
+ .nbk-dropzone.active {
501
+ border-color: var(--nbk-primary);
502
+ background: rgba(37, 99, 235, 0.05);
503
+ color: var(--nbk-primary);
504
+ }
505
+
506
+ .nbk-media-grid {
507
+ display: grid;
508
+ grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
509
+ gap: 0.75rem;
510
+ }
511
+
512
+ .nbk-media-card {
513
+ border: 2px solid var(--nbk-border);
514
+ border-radius: 0.75rem;
515
+ overflow: hidden;
516
+ cursor: pointer;
517
+ transition: border-color 0.2s var(--nbk-transition);
518
+ }
519
+
520
+ .nbk-media-card:hover,
521
+ .nbk-media-card.selected {
522
+ border-color: var(--nbk-primary);
523
+ }
524
+
525
+ .nbk-media-thumb {
526
+ aspect-ratio: 1;
527
+ overflow: hidden;
528
+ background: var(--nbk-bg-secondary);
529
+ }
530
+
531
+ .nbk-media-thumb img {
532
+ width: 100%;
533
+ height: 100%;
534
+ object-fit: cover;
535
+ }
536
+
537
+ .nbk-media-info {
538
+ padding: 0.5rem;
539
+ }
540
+
541
+ .nbk-media-name {
542
+ font-size: 0.75rem;
543
+ overflow: hidden;
544
+ text-overflow: ellipsis;
545
+ white-space: nowrap;
546
+ }
547
+
548
+ .nbk-media-size {
549
+ font-size: 0.6875rem;
550
+ color: var(--nbk-text-muted);
551
+ }
552
+
553
+ .nbk-media-detail {
554
+ position: fixed;
555
+ right: 0;
556
+ top: 0;
557
+ bottom: 0;
558
+ width: 360px;
559
+ background: var(--nbk-card-bg);
560
+ border-left: 1px solid var(--nbk-border);
561
+ padding: 1.5rem;
562
+ overflow-y: auto;
563
+ z-index: 50;
564
+ box-shadow: var(--nbk-shadow-lg);
565
+ animation: nbk-slide-in 0.2s var(--nbk-transition);
566
+ }
567
+
568
+ .nbk-media-detail-header {
569
+ display: flex;
570
+ justify-content: space-between;
571
+ align-items: center;
572
+ margin-bottom: 1rem;
573
+ }
574
+
575
+ .nbk-close-btn {
576
+ background: none;
577
+ border: none;
578
+ font-size: 1.5rem;
579
+ cursor: pointer;
580
+ color: var(--nbk-text-muted);
581
+ transition: color 0.2s var(--nbk-transition);
582
+ }
583
+
584
+ .nbk-close-btn:hover {
585
+ color: var(--nbk-text);
586
+ }
587
+
588
+ .nbk-media-preview {
589
+ width: 100%;
590
+ border-radius: 0.75rem;
591
+ margin-bottom: 1rem;
592
+ }
593
+
594
+ .nbk-media-meta {
595
+ font-size: 0.8125rem;
596
+ margin-bottom: 1rem;
597
+ }
598
+
599
+ .nbk-media-meta div {
600
+ padding: 0.25rem 0;
601
+ border-bottom: 1px solid var(--nbk-border);
602
+ }
603
+
604
+ .nbk-media-url {
605
+ margin-bottom: 1rem;
606
+ }
607
+
608
+ /* Category Manager */
609
+ .nbk-category-form {
610
+ background: var(--nbk-card-bg);
611
+ border: 1px solid var(--nbk-border);
612
+ border-radius: 0.75rem;
613
+ padding: 1.25rem;
614
+ margin-bottom: 1.5rem;
615
+ }
616
+
617
+ .nbk-reorder {
618
+ display: flex;
619
+ flex-direction: column;
620
+ gap: 0.125rem;
621
+ }
622
+
623
+ /* Settings */
624
+ .nbk-settings-section {
625
+ background: var(--nbk-card-bg);
626
+ border: 1px solid var(--nbk-border);
627
+ border-radius: 0.75rem;
628
+ padding: 1.25rem;
629
+ margin-bottom: 1rem;
630
+ }
631
+
632
+ .nbk-code-textarea {
633
+ font-family: var(--nbk-font-code);
634
+ font-size: 0.8125rem;
635
+ }
636
+
637
+ /* Responsive */
638
+ @media (max-width: 768px) {
639
+ .nbk-editor-layout {
640
+ grid-template-columns: 1fr;
641
+ }
642
+
643
+ .nbk-editor-sidebar {
644
+ border-left: none;
645
+ border-top: 1px solid var(--nbk-border);
646
+ padding-left: 0;
647
+ padding-top: 1.5rem;
648
+ }
649
+
650
+ .nbk-dashboard-grid {
651
+ grid-template-columns: 1fr;
652
+ }
653
+
654
+ .nbk-admin-sidebar {
655
+ width: 60px;
656
+ }
657
+ }