@mhmttosun/dnd 0.0.0-stage → 1.1.1

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.
package/css/editor.css ADDED
@@ -0,0 +1,1797 @@
1
+ /* ==========================================================================
2
+ EDITOR CSS - DND Minimalist Arayüz & Bağlamsal Mini Araç Çubuğu
3
+ Sağ ve sol yan paneller kaldırılmış, tam ekran tuval düzeni.
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --primary: #2563eb;
8
+ --primary-hover: #1d4ed8;
9
+ --primary-light: #eff6ff;
10
+ --primary-border: #bfdbfe;
11
+
12
+ --success: #10b981;
13
+ --success-light: #ecfdf5;
14
+ --danger: #ef4444;
15
+ --danger-light: #fef2f2;
16
+ --warning: #f59e0b;
17
+ --warning-light: #fffbeb;
18
+
19
+ --bg-app: #f8fafc;
20
+ --bg-surface: #ffffff;
21
+ --bg-workspace: #f1f5f9;
22
+
23
+ --border-color: #e2e8f0;
24
+ --border-subtle: #f1f5f9;
25
+
26
+ --text-main: #0f172a;
27
+ --text-muted: #64748b;
28
+ --text-light: #94a3b8;
29
+
30
+ --radius-sm: 6px;
31
+ --radius-md: 10px;
32
+ --radius-lg: 14px;
33
+ --radius-full: 9999px;
34
+
35
+ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
36
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
37
+ --shadow-lg: 0 10px 25px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);
38
+ --shadow-popup: 0 12px 32px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.04);
39
+ }
40
+
41
+ *, *::before, *::after {
42
+ box-sizing: border-box;
43
+ margin: 0;
44
+ padding: 0;
45
+ }
46
+
47
+ body {
48
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
49
+ background-color: var(--bg-workspace);
50
+ color: var(--text-main);
51
+ height: 100vh;
52
+ width: 100vw;
53
+ overflow: hidden;
54
+ display: flex;
55
+ flex-direction: column;
56
+ }
57
+
58
+ /* ==========================================
59
+ 1. ÜST BAŞLIK SATIRI (TOP HEADER)
60
+ ========================================== */
61
+ .app-top-header {
62
+ height: 58px;
63
+ background-color: var(--bg-surface);
64
+ border-bottom: 1px solid var(--border-color);
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: space-between;
68
+ padding: 0 24px;
69
+ z-index: 50;
70
+ transition: opacity 0.2s ease, transform 0.2s ease;
71
+ }
72
+
73
+ /* Gömülü Mod (Embedded Mode): Başka uygulamalara entegre edildiğinde header gizlenir */
74
+ body.is-embedded .app-top-header {
75
+ display: none !important;
76
+ }
77
+
78
+ body.is-embedded {
79
+ min-height: 0;
80
+ }
81
+
82
+ body.is-embedded .editor-workspace {
83
+ flex: 1 1 0;
84
+ height: auto;
85
+ min-height: 0;
86
+ }
87
+
88
+ .top-header-left {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 14px;
92
+ }
93
+
94
+ .app-brand-icon {
95
+ width: 36px;
96
+ height: 36px;
97
+ border-radius: var(--radius-md);
98
+ background: #eff6ff;
99
+ border: 1px solid var(--primary-border);
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ }
104
+
105
+ .header-titles-box {
106
+ display: flex;
107
+ flex-direction: column;
108
+ gap: 1px;
109
+ }
110
+
111
+ .app-subtitle {
112
+ font-size: 0.65rem;
113
+ font-weight: 700;
114
+ color: var(--text-muted);
115
+ text-transform: uppercase;
116
+ letter-spacing: 0.06em;
117
+ }
118
+
119
+ .project-title-row {
120
+ display: flex;
121
+ align-items: center;
122
+ }
123
+
124
+ .project-title-input {
125
+ border: none;
126
+ background: transparent;
127
+ font-size: 1.02rem;
128
+ font-weight: 700;
129
+ color: var(--text-main);
130
+ outline: none;
131
+ width: 260px;
132
+ padding: 0;
133
+ font-family: inherit;
134
+ }
135
+
136
+ .project-title-input:hover,
137
+ .project-title-input:focus {
138
+ color: var(--primary);
139
+ }
140
+
141
+ .project-save-status {
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 5px;
145
+ font-size: 0.72rem;
146
+ font-weight: 600;
147
+ color: var(--text-muted);
148
+ }
149
+
150
+ .status-dot {
151
+ width: 7px;
152
+ height: 7px;
153
+ border-radius: 50%;
154
+ background-color: var(--warning);
155
+ }
156
+
157
+ .project-save-status.is-saved .status-dot {
158
+ background-color: var(--success);
159
+ }
160
+
161
+ .top-header-right {
162
+ display: flex;
163
+ align-items: center;
164
+ gap: 8px;
165
+ }
166
+
167
+ .top-icon-btn {
168
+ width: 38px;
169
+ height: 38px;
170
+ border-radius: var(--radius-md);
171
+ border: 1px solid var(--border-color);
172
+ background: var(--bg-surface);
173
+ color: var(--text-main);
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ cursor: pointer;
178
+ transition: all 0.15s ease;
179
+ }
180
+
181
+ .top-icon-btn:hover {
182
+ background: var(--bg-app);
183
+ border-color: #cbd5e1;
184
+ color: var(--primary);
185
+ }
186
+
187
+ .top-primary-save-btn {
188
+ height: 38px;
189
+ padding: 0 18px;
190
+ border-radius: var(--radius-md);
191
+ border: none;
192
+ background: var(--primary);
193
+ color: #ffffff;
194
+ font-size: 0.88rem;
195
+ font-weight: 700;
196
+ display: flex;
197
+ align-items: center;
198
+ gap: 8px;
199
+ cursor: pointer;
200
+ transition: all 0.15s ease;
201
+ box-shadow: 0 2px 4px rgba(37, 99, 235, 0.2);
202
+ }
203
+
204
+ .top-primary-save-btn:hover {
205
+ background: var(--primary-hover);
206
+ transform: translateY(-1px);
207
+ }
208
+
209
+ /* ==========================================
210
+ 2. İKİNCİL ARAÇ ÇUBUĞU (SECONDARY TOOLBAR)
211
+ ========================================== */
212
+ .app-sub-toolbar {
213
+ height: 48px;
214
+ background-color: var(--bg-surface);
215
+ border-bottom: 1px solid var(--border-color);
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: space-between;
219
+ padding: 0 24px;
220
+ z-index: 40;
221
+ }
222
+
223
+ .sub-toolbar-cluster {
224
+ display: flex;
225
+ align-items: center;
226
+ gap: 6px;
227
+ }
228
+
229
+ .mode-pill-group {
230
+ display: flex;
231
+ align-items: center;
232
+ background: #f1f5f9;
233
+ padding: 3px;
234
+ border-radius: var(--radius-full);
235
+ gap: 2px;
236
+ }
237
+
238
+ .mode-toggle-btn {
239
+ width: 32px;
240
+ height: 32px;
241
+ border-radius: var(--radius-full);
242
+ border: none;
243
+ background: transparent;
244
+ color: var(--text-muted);
245
+ display: flex;
246
+ align-items: center;
247
+ justify-content: center;
248
+ cursor: pointer;
249
+ transition: all 0.15s ease;
250
+ }
251
+
252
+ .mode-toggle-btn:hover {
253
+ color: var(--text-main);
254
+ }
255
+
256
+ .mode-toggle-btn.active {
257
+ background: #ffffff;
258
+ color: var(--primary);
259
+ box-shadow: var(--shadow-sm);
260
+ }
261
+
262
+ .sub-tool-btn {
263
+ width: 34px;
264
+ height: 34px;
265
+ border-radius: var(--radius-md);
266
+ border: 1px solid transparent;
267
+ background: transparent;
268
+ color: #475569;
269
+ display: flex;
270
+ align-items: center;
271
+ justify-content: center;
272
+ cursor: pointer;
273
+ transition: all 0.15s ease;
274
+ }
275
+
276
+ .sub-tool-btn:hover:not(:disabled) {
277
+ background: #f1f5f9;
278
+ color: var(--text-main);
279
+ }
280
+
281
+ .sub-tool-btn.active {
282
+ background: #eff6ff;
283
+ border-color: var(--primary-border);
284
+ color: var(--primary);
285
+ }
286
+
287
+ .sub-tool-btn:disabled {
288
+ opacity: 0.35;
289
+ cursor: not-allowed;
290
+ }
291
+
292
+ .sub-divider {
293
+ width: 1px;
294
+ height: 20px;
295
+ background-color: var(--border-color);
296
+ margin: 0 4px;
297
+ }
298
+
299
+ /* Şablon Açılır Menüsü */
300
+ .template-dropdown-wrapper {
301
+ position: relative;
302
+ }
303
+
304
+ .templates-menu {
305
+ position: absolute;
306
+ top: 42px;
307
+ left: 0;
308
+ background: #ffffff;
309
+ border: 1px solid var(--border-color);
310
+ border-radius: var(--radius-lg);
311
+ box-shadow: var(--shadow-popup);
312
+ padding: 8px;
313
+ display: flex;
314
+ flex-direction: column;
315
+ gap: 4px;
316
+ width: 280px;
317
+ z-index: 1000;
318
+ }
319
+
320
+ .menu-title {
321
+ font-size: 0.72rem;
322
+ font-weight: 700;
323
+ color: var(--text-muted);
324
+ text-transform: uppercase;
325
+ letter-spacing: 0.05em;
326
+ padding: 6px 10px;
327
+ }
328
+
329
+ .template-menu-item {
330
+ width: 100%;
331
+ text-align: left;
332
+ background: transparent;
333
+ border: none;
334
+ padding: 8px 12px;
335
+ border-radius: var(--radius-sm);
336
+ font-size: 0.82rem;
337
+ font-weight: 600;
338
+ color: var(--text-main);
339
+ cursor: pointer;
340
+ transition: background 0.15s ease;
341
+ }
342
+
343
+ .template-menu-item:hover {
344
+ background: #eff6ff;
345
+ color: var(--primary);
346
+ }
347
+
348
+ /* Sağ Küme ve Geçmiş / Yakınlaştırma */
349
+ .cluster-history-zoom {
350
+ display: flex;
351
+ align-items: center;
352
+ gap: 6px;
353
+ }
354
+
355
+ /* Daha Fazla Seçenek Açılır Menüsü (Proje Aç, Çevrimdışı HTML İndir, Kaydet) */
356
+ .more-menu-wrapper {
357
+ position: relative;
358
+ display: flex;
359
+ align-items: center;
360
+ }
361
+
362
+ .more-dropdown-menu {
363
+ position: absolute;
364
+ top: 42px;
365
+ right: 0;
366
+ background: #ffffff;
367
+ border: 1px solid var(--border-color);
368
+ border-radius: var(--radius-lg);
369
+ box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.12), 0 8px 10px -6px rgba(15, 23, 42, 0.08);
370
+ padding: 6px;
371
+ display: flex;
372
+ flex-direction: column;
373
+ gap: 2px;
374
+ width: 215px;
375
+ z-index: 1000;
376
+ }
377
+
378
+ .more-menu-item {
379
+ width: 100%;
380
+ display: flex;
381
+ align-items: center;
382
+ gap: 10px;
383
+ background: transparent;
384
+ border: none;
385
+ padding: 8px 12px;
386
+ border-radius: var(--radius-md);
387
+ font-size: 0.84rem;
388
+ font-weight: 500;
389
+ color: var(--text-main);
390
+ cursor: pointer;
391
+ transition: all 0.15s ease;
392
+ text-align: left;
393
+ user-select: none;
394
+ }
395
+
396
+ .more-menu-item svg {
397
+ color: var(--text-muted);
398
+ flex-shrink: 0;
399
+ transition: color 0.15s ease;
400
+ }
401
+
402
+ .more-menu-item:hover {
403
+ background: #f1f5f9;
404
+ color: var(--primary);
405
+ }
406
+
407
+ .more-menu-item:hover svg {
408
+ color: var(--primary);
409
+ }
410
+
411
+ .more-menu-item#btn-save-project {
412
+ font-weight: 600;
413
+ }
414
+
415
+ .more-menu-item#btn-save-project:hover {
416
+ background: #eff6ff;
417
+ color: var(--primary);
418
+ }
419
+
420
+ /* ==========================================
421
+ 3. ÇALIŞMA ALANI (FULL CANVAS WORKSPACE)
422
+ ========================================== */
423
+ .editor-workspace {
424
+ flex: 1 1 0%;
425
+ min-height: 0;
426
+ width: 100%;
427
+ background-color: var(--bg-workspace);
428
+ position: relative;
429
+ overflow: hidden;
430
+ display: flex;
431
+ }
432
+
433
+ .stage-viewport {
434
+ width: 100%;
435
+ height: 100%;
436
+ flex: 1 1 0%;
437
+ position: relative;
438
+ overflow: auto;
439
+ overscroll-behavior: contain;
440
+ touch-action: pan-x pan-y;
441
+ scrollbar-width: thin;
442
+ scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
443
+ }
444
+
445
+ /* Modern İnce Scrollbar (Webkit) */
446
+ .stage-viewport::-webkit-scrollbar {
447
+ width: 10px;
448
+ height: 10px;
449
+ }
450
+
451
+ .stage-viewport::-webkit-scrollbar-track {
452
+ background: transparent;
453
+ }
454
+
455
+ .stage-viewport::-webkit-scrollbar-thumb {
456
+ background-color: rgba(148, 163, 184, 0.35);
457
+ border-radius: 9999px;
458
+ border: 2px solid transparent;
459
+ background-clip: padding-box;
460
+ transition: background-color 0.2s ease;
461
+ }
462
+
463
+ .stage-viewport::-webkit-scrollbar-thumb:hover {
464
+ background-color: rgba(100, 116, 139, 0.65);
465
+ }
466
+
467
+ .stage-viewport::-webkit-scrollbar-corner {
468
+ background: transparent;
469
+ }
470
+
471
+ /* Sahne Kapsayıcı ve Ölçekleyici (Scroll & Center Mimari) */
472
+ .stage-container {
473
+ min-width: 100%;
474
+ min-height: 100%;
475
+ width: max-content;
476
+ height: max-content;
477
+ display: flex;
478
+ align-items: center;
479
+ justify-content: center;
480
+ padding: 40px;
481
+ box-sizing: border-box;
482
+ position: relative;
483
+ }
484
+
485
+ .stage-scaler {
486
+ position: relative;
487
+ flex-shrink: 0;
488
+ margin: auto;
489
+ border-radius: 16px;
490
+ box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04);
491
+ }
492
+
493
+ /* ==========================================
494
+ 4. BAĞLAMSAL MİNİ ARAÇ ÇUBUĞU (MINI TOOLBAR)
495
+ ========================================== */
496
+ .mini-toolbar-container {
497
+ position: fixed;
498
+ z-index: 9999;
499
+ display: flex;
500
+ flex-direction: column;
501
+ align-items: center;
502
+ pointer-events: auto;
503
+ user-select: none;
504
+ }
505
+
506
+ .mini-toolbar-pill {
507
+ display: flex;
508
+ align-items: center;
509
+ gap: 3px;
510
+ background: #ffffff;
511
+ border: 1px solid var(--border-color);
512
+ border-radius: var(--radius-lg);
513
+ padding: 5px 8px;
514
+ box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.04);
515
+ width: 252px;
516
+ min-width: 252px;
517
+ box-sizing: border-box;
518
+ justify-content: space-between;
519
+ }
520
+
521
+ .mini-toolbar-pill.line-mini-toolbar-pill {
522
+ width: 252px;
523
+ min-width: 252px;
524
+ box-sizing: border-box;
525
+ justify-content: center;
526
+ gap: 14px;
527
+ }
528
+
529
+ .mini-toolbar-pill.is-multi {
530
+ width: max-content;
531
+ min-width: 252px;
532
+ justify-content: flex-start;
533
+ gap: 3px;
534
+ }
535
+
536
+ .mt-btn {
537
+ width: 32px;
538
+ height: 32px;
539
+ border-radius: var(--radius-md);
540
+ border: 1px solid transparent;
541
+ background: transparent;
542
+ color: #475569;
543
+ display: flex;
544
+ align-items: center;
545
+ justify-content: center;
546
+ cursor: pointer;
547
+ transition: all 0.15s ease;
548
+ }
549
+
550
+ .mt-btn:hover {
551
+ background: #f1f5f9;
552
+ color: #0f172a;
553
+ }
554
+
555
+ .mt-btn.active {
556
+ background: #f1f5f9;
557
+ border-color: #cbd5e1;
558
+ color: #0f172a;
559
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
560
+ }
561
+
562
+ .mt-btn-danger:hover {
563
+ background: #fef2f2;
564
+ color: var(--danger);
565
+ }
566
+
567
+ .mt-text-icon {
568
+ font-size: 0.95rem;
569
+ font-weight: 800;
570
+ letter-spacing: -0.05em;
571
+ }
572
+
573
+ .mt-divider {
574
+ width: 1px;
575
+ height: 18px;
576
+ background: var(--border-color);
577
+ margin: 0 4px;
578
+ }
579
+
580
+ /* ==========================================
581
+ 5. POPUP KARTLARI (ROLES, STYLE, TEXT, ETC)
582
+ ========================================== */
583
+ .mini-toolbar-container.placement-above {
584
+ flex-direction: column-reverse;
585
+ }
586
+
587
+ .mini-toolbar-container.placement-above .mt-popup-card {
588
+ margin-top: 0;
589
+ margin-bottom: 8px;
590
+ }
591
+
592
+ .mini-toolbar-container.placement-above .mt-popup-card.is-opening {
593
+ animation: popupSlideUp 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
594
+ }
595
+
596
+ @keyframes popupSlideUp {
597
+ from { opacity: 0; transform: translateY(6px); }
598
+ to { opacity: 1; transform: translateY(0); }
599
+ }
600
+
601
+ .mt-popup-card {
602
+ margin-top: 8px;
603
+ background: #ffffff;
604
+ border: 1px solid var(--border-color);
605
+ border-radius: var(--radius-lg);
606
+ padding: 14px 16px;
607
+ box-shadow: var(--shadow-popup);
608
+ display: flex;
609
+ flex-direction: column;
610
+ gap: 10px;
611
+ min-width: 250px;
612
+ width: 252px;
613
+ max-width: 100%;
614
+ box-sizing: border-box;
615
+ max-height: calc(100vh - 180px);
616
+ overflow-y: auto;
617
+ scrollbar-width: thin;
618
+ }
619
+
620
+ .mt-popup-card.is-opening {
621
+ animation: popupSlideDown 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
622
+ }
623
+
624
+ @keyframes popupSlideDown {
625
+ from { opacity: 0; transform: translateY(-6px); }
626
+ to { opacity: 1; transform: translateY(0); }
627
+ }
628
+
629
+ /* Minimalist ve kaydırma çubuğuz ortak popup kart tabanı */
630
+ .mt-popup-card {
631
+ padding: 10px 12px;
632
+ gap: 8px;
633
+ box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.08), 0 2px 6px -1px rgba(15, 23, 42, 0.04);
634
+ scrollbar-width: none !important;
635
+ -ms-overflow-style: none !important;
636
+ overflow: hidden;
637
+ }
638
+
639
+ .mt-popup-card::-webkit-scrollbar {
640
+ display: none !important;
641
+ width: 0 !important;
642
+ height: 0 !important;
643
+ }
644
+
645
+ .mt-popup-title,
646
+ .mt-line-popup-title,
647
+ .mt-palette-header {
648
+ font-size: 0.72rem;
649
+ font-weight: 600;
650
+ color: #64748b;
651
+ text-transform: uppercase;
652
+ letter-spacing: 0.05em;
653
+ margin: 0;
654
+ user-select: none;
655
+ }
656
+
657
+ /* Çizgi, Nesne Görünümü ve Metin: ortak kompakt sekmeli kartlar */
658
+ .mt-line-popup,
659
+ .mt-style-popup,
660
+ .mt-text-popup {
661
+ width: 252px;
662
+ min-width: 252px;
663
+ max-width: 100%;
664
+ box-sizing: border-box;
665
+ padding: 12px;
666
+ gap: 8px;
667
+ border-radius: var(--radius-lg);
668
+ background: #ffffff;
669
+ box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.1);
670
+ border: 1px solid var(--border-color);
671
+ display: flex;
672
+ flex-direction: column;
673
+ }
674
+
675
+ .mt-line-title,
676
+ .mt-style-title,
677
+ .mt-text-title {
678
+ font-size: 0.95rem;
679
+ font-weight: 500;
680
+ color: #1e293b;
681
+ margin: 0 0 4px 0;
682
+ line-height: 1.2;
683
+ }
684
+
685
+ /* Üst Menü / Sekme Çubuğu */
686
+ .mt-line-tabs-bar,
687
+ .mt-style-tabs-bar,
688
+ .mt-text-tabs-bar {
689
+ display: flex;
690
+ align-items: center;
691
+ justify-content: space-between;
692
+ gap: 4px;
693
+ width: 100%;
694
+ }
695
+
696
+ .mt-line-tab-btn,
697
+ .mt-style-tab-btn,
698
+ .mt-text-tab-btn {
699
+ flex: 1;
700
+ min-width: 0;
701
+ height: 40px;
702
+ border-radius: 8px;
703
+ background: transparent;
704
+ border: 1px solid transparent;
705
+ color: #334155;
706
+ display: flex;
707
+ align-items: center;
708
+ justify-content: center;
709
+ gap: 3px;
710
+ cursor: pointer;
711
+ padding: 0 2px;
712
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
713
+ }
714
+
715
+ .mt-line-tab-btn:hover,
716
+ .mt-style-tab-btn:hover,
717
+ .mt-text-tab-btn:hover {
718
+ background: #f1f5f9;
719
+ border-color: #cbd5e1;
720
+ color: #0f172a;
721
+ }
722
+
723
+ .mt-line-tab-btn.active,
724
+ .mt-style-tab-btn.active,
725
+ .mt-text-tab-btn.active {
726
+ background: #eff6ff;
727
+ border-color: #bfdbfe;
728
+ color: #1d4ed8;
729
+ }
730
+
731
+ .mt-line-tab-swatch,
732
+ .mt-style-tab-swatch,
733
+ .mt-text-tab-swatch {
734
+ width: 18px;
735
+ height: 18px;
736
+ border-radius: 50%;
737
+ display: inline-block;
738
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
739
+ transition: transform 0.15s ease;
740
+ }
741
+
742
+ .mt-line-tab-width-icon {
743
+ display: flex;
744
+ align-items: center;
745
+ color: inherit;
746
+ }
747
+
748
+ .mt-line-tab-width-text,
749
+ .mt-style-tab-width-text {
750
+ font-size: 0.76rem;
751
+ font-weight: 500;
752
+ color: inherit;
753
+ }
754
+
755
+ /* Alt Ayar Kartı Paneli */
756
+ .mt-line-panel,
757
+ .mt-style-panel,
758
+ .mt-text-panel {
759
+ display: flex;
760
+ flex-direction: column;
761
+ gap: 10px;
762
+ padding: 12px 0 0;
763
+ border-top: 1px solid #edf0f4;
764
+ box-sizing: border-box;
765
+ }
766
+
767
+ .mt-line-panel-title,
768
+ .mt-style-panel-title,
769
+ .mt-text-panel-title {
770
+ font-size: 0.78rem;
771
+ font-weight: 500;
772
+ color: #1e293b;
773
+ margin: 0;
774
+ line-height: 1.2;
775
+ }
776
+
777
+ .mt-line-panel-desc {
778
+ font-size: 0.74rem;
779
+ font-weight: 400;
780
+ color: #64748b;
781
+ margin-top: 2px;
782
+ user-select: none;
783
+ }
784
+
785
+ /* Çizgi Tipi Butonları */
786
+ .mt-line-type-row,
787
+ .mt-style-type-row {
788
+ display: flex;
789
+ align-items: center;
790
+ gap: 6px;
791
+ width: 100%;
792
+ }
793
+
794
+ .mt-line-type-btn,
795
+ .mt-style-type-btn {
796
+ flex: 1;
797
+ min-height: 40px;
798
+ border-radius: 8px;
799
+ border: 1px solid #e2e8f0;
800
+ background: #ffffff;
801
+ color: #334155;
802
+ display: flex;
803
+ align-items: center;
804
+ justify-content: center;
805
+ cursor: pointer;
806
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
807
+ }
808
+
809
+ .mt-line-type-btn:hover,
810
+ .mt-style-type-btn:hover {
811
+ background: #f8fafc;
812
+ color: #0f172a;
813
+ }
814
+
815
+ .mt-line-type-btn.active,
816
+ .mt-style-type-btn.active {
817
+ background: #eff6ff;
818
+ border-color: #93c5fd;
819
+ color: #1d4ed8;
820
+ font-weight: 500;
821
+ }
822
+
823
+ /* Kalınlık Paneli Elemanları */
824
+ .mt-line-chips-row {
825
+ display: flex;
826
+ align-items: center;
827
+ justify-content: space-between;
828
+ gap: 6px;
829
+ width: 100%;
830
+ }
831
+
832
+ .mt-line-chip-btn {
833
+ flex: 1;
834
+ min-width: 0;
835
+ min-height: 46px;
836
+ padding: 6px 2px;
837
+ flex-direction: column;
838
+ gap: 5px;
839
+ border-radius: 8px;
840
+ border: 1px solid #e2e8f0;
841
+ background: #ffffff;
842
+ color: #334155;
843
+ font-size: 0.82rem;
844
+ font-weight: 500;
845
+ display: flex;
846
+ align-items: center;
847
+ justify-content: center;
848
+ cursor: pointer;
849
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
850
+ }
851
+
852
+ .mt-line-chip-btn:hover {
853
+ background: #f8fafc;
854
+ color: #0f172a;
855
+ }
856
+
857
+ .mt-line-chip-btn.active {
858
+ background: #eff6ff;
859
+ border-color: #93c5fd;
860
+ color: #1d4ed8;
861
+ font-weight: 500;
862
+ }
863
+
864
+ /* Renk Paneli Elemanları */
865
+ .mt-line-color-grid,
866
+ .mt-style-color-grid {
867
+ display: grid;
868
+ grid-template-columns: repeat(6, 1fr);
869
+ gap: 6px;
870
+ align-items: center;
871
+ }
872
+
873
+ .mt-line-color-swatch,
874
+ .mt-style-color-swatch {
875
+ width: 100%;
876
+ height: 34px;
877
+ border: 0;
878
+ border-radius: 6px;
879
+ background: transparent;
880
+ cursor: pointer;
881
+ display: flex;
882
+ align-items: center;
883
+ justify-content: center;
884
+ padding: 4px;
885
+ }
886
+
887
+ .mt-line-color-swatch:hover,
888
+ .mt-style-color-swatch:hover {
889
+ background: #f1f5f9;
890
+ }
891
+
892
+ .mt-line-color-dot,
893
+ .mt-style-color-dot {
894
+ width: 24px;
895
+ height: 24px;
896
+ flex-shrink: 0;
897
+ border-radius: 50%;
898
+ background: var(--line-color);
899
+ color: var(--line-check-color);
900
+ display: flex;
901
+ align-items: center;
902
+ justify-content: center;
903
+ box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
904
+ }
905
+
906
+ .mt-line-color-check,
907
+ .mt-style-color-check {
908
+ opacity: 0;
909
+ font-size: 0.8rem;
910
+ font-weight: 600;
911
+ }
912
+
913
+ .mt-line-color-swatch.is-active .mt-line-color-dot,
914
+ .mt-style-color-swatch.is-active .mt-style-color-dot {
915
+ outline: 2px solid #3b82f6;
916
+ outline-offset: 2px;
917
+ }
918
+
919
+ .mt-line-color-swatch.is-active .mt-line-color-check,
920
+ .mt-style-color-swatch.is-active .mt-style-color-check {
921
+ opacity: 1;
922
+ }
923
+
924
+ /* Ok Uçları Butonları */
925
+ .mt-line-arrow-grid {
926
+ display: grid;
927
+ grid-template-columns: repeat(2, 1fr);
928
+ gap: 6px;
929
+ }
930
+
931
+ .mt-line-arrow-btn {
932
+ min-height: 40px;
933
+ border-radius: 8px;
934
+ border: 1px solid #e2e8f0;
935
+ background: #ffffff;
936
+ color: #475569;
937
+ font-size: 0.74rem;
938
+ font-weight: 500;
939
+ display: flex;
940
+ align-items: center;
941
+ justify-content: center;
942
+ gap: 6px;
943
+ cursor: pointer;
944
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
945
+ }
946
+
947
+ .mt-line-arrow-btn:hover {
948
+ background: #f8fafc;
949
+ color: #0f172a;
950
+ }
951
+
952
+ .mt-line-arrow-btn.active {
953
+ background: #eff6ff;
954
+ border-color: #93c5fd;
955
+ color: #1d4ed8;
956
+ font-weight: 500;
957
+ }
958
+
959
+ /* Hizalama Butonları */
960
+ .mt-line-align-grid {
961
+ display: flex;
962
+ gap: 6px;
963
+ }
964
+
965
+ .mt-line-align-btn {
966
+ flex: 1;
967
+ min-height: 40px;
968
+ border-radius: 8px;
969
+ border: 1px solid #e2e8f0;
970
+ background: #ffffff;
971
+ color: #475569;
972
+ font-size: 0.76rem;
973
+ font-weight: 500;
974
+ display: flex;
975
+ align-items: center;
976
+ justify-content: center;
977
+ gap: 6px;
978
+ cursor: pointer;
979
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
980
+ }
981
+
982
+ .mt-line-align-btn:hover {
983
+ background: #f8fafc;
984
+ color: #0f172a;
985
+ }
986
+
987
+ .mt-line-align-btn.active {
988
+ background: #eff6ff;
989
+ border-color: #93c5fd;
990
+ color: #1d4ed8;
991
+ font-weight: 500;
992
+ }
993
+
994
+ .mt-line-unit {
995
+ margin-left: 4px;
996
+ color: #64748b;
997
+ font-size: 0.72rem;
998
+ font-weight: 400;
999
+ }
1000
+
1001
+ .mt-line-width-sample {
1002
+ width: 18px;
1003
+ height: 8px;
1004
+ display: flex;
1005
+ align-items: center;
1006
+ }
1007
+
1008
+ .mt-line-width-sample::before {
1009
+ content: '';
1010
+ width: 100%;
1011
+ height: var(--line-width);
1012
+ border-radius: 4px;
1013
+ background: currentColor;
1014
+ }
1015
+
1016
+ .mt-line-popup button:focus-visible,
1017
+ .mt-style-popup button:focus-visible,
1018
+ .mt-text-popup button:focus-visible {
1019
+ outline: 2px solid #2563eb;
1020
+ outline-offset: 2px;
1021
+ }
1022
+
1023
+ @media (pointer: coarse) {
1024
+ .mini-toolbar-pill.line-mini-toolbar-pill,
1025
+ .mt-line-popup {
1026
+ width: 280px;
1027
+ min-width: 280px;
1028
+ }
1029
+
1030
+ .mt-line-tabs-bar {
1031
+ gap: 4px;
1032
+ }
1033
+
1034
+ .mt-line-popup button {
1035
+ min-height: 44px;
1036
+ }
1037
+
1038
+ .mt-line-chips-row {
1039
+ display: grid;
1040
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1041
+ }
1042
+
1043
+ .mt-line-color-grid {
1044
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1045
+ }
1046
+ }
1047
+
1048
+ @media (prefers-reduced-motion: reduce) {
1049
+ .mt-line-popup,
1050
+ .mt-line-popup *,
1051
+ .mt-line-popup.is-opening,
1052
+ .mt-style-popup,
1053
+ .mt-style-popup *,
1054
+ .mt-style-popup.is-opening,
1055
+ .mt-text-popup,
1056
+ .mt-text-popup *,
1057
+ .mt-text-popup.is-opening {
1058
+ animation: none;
1059
+ transition: none;
1060
+ }
1061
+ }
1062
+
1063
+ .mt-line-group-divider {
1064
+ width: 1px;
1065
+ height: 16px;
1066
+ background-color: #cbd5e1;
1067
+ margin: 0 2px;
1068
+ }
1069
+
1070
+ .mt-popup-header-row {
1071
+ display: flex;
1072
+ align-items: center;
1073
+ justify-content: space-between;
1074
+ }
1075
+
1076
+ .mt-row {
1077
+ display: flex;
1078
+ align-items: center;
1079
+ gap: 8px;
1080
+ }
1081
+
1082
+ .mt-pill-group {
1083
+ display: flex;
1084
+ align-items: center;
1085
+ background: #f1f5f9;
1086
+ border-radius: 8px;
1087
+ padding: 2.5px;
1088
+ gap: 2px;
1089
+ box-sizing: border-box;
1090
+ }
1091
+
1092
+ .mt-role-btn {
1093
+ min-width: 0;
1094
+ min-height: 56px;
1095
+ padding: 7px 4px;
1096
+ border-radius: 8px;
1097
+ border: 1px solid #e2e8f0;
1098
+ background: #ffffff;
1099
+ color: #475569;
1100
+ font-size: 0.76rem;
1101
+ font-weight: 500;
1102
+ cursor: pointer;
1103
+ display: flex;
1104
+ flex-direction: column;
1105
+ align-items: center;
1106
+ justify-content: center;
1107
+ gap: 4px;
1108
+ user-select: none;
1109
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
1110
+ }
1111
+
1112
+ .mt-role-btn:hover {
1113
+ color: #0f172a;
1114
+ background: #f8fafc;
1115
+ border-color: #cbd5e1;
1116
+ }
1117
+
1118
+ .mt-role-btn.active {
1119
+ background: #eff6ff;
1120
+ border-color: #bfdbfe;
1121
+ color: #1d4ed8;
1122
+ }
1123
+
1124
+ .mt-role-popup {
1125
+ width: 252px;
1126
+ min-width: 252px;
1127
+ max-width: 100%;
1128
+ box-sizing: border-box;
1129
+ padding: 10px 12px;
1130
+ gap: 6px;
1131
+ }
1132
+
1133
+ .mt-role-section {
1134
+ display: flex;
1135
+ flex-direction: column;
1136
+ gap: 6px;
1137
+ width: 100%;
1138
+ }
1139
+
1140
+ .mt-role-section-label {
1141
+ font-size: 0.74rem;
1142
+ font-weight: 500;
1143
+ color: #64748b;
1144
+ }
1145
+
1146
+ .mt-role-grid {
1147
+ display: grid;
1148
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1149
+ gap: 6px;
1150
+ }
1151
+
1152
+ @media (pointer: coarse) {
1153
+ .mt-role-popup {
1154
+ width: 280px;
1155
+ min-width: 280px;
1156
+ }
1157
+
1158
+ .mt-role-btn {
1159
+ min-height: 64px;
1160
+ }
1161
+ }
1162
+
1163
+ /* Kenarlık ve Görünüm Kontrolleri */
1164
+ .mt-border-style-row {
1165
+ justify-content: space-between;
1166
+ }
1167
+
1168
+ .mt-icon-btn {
1169
+ width: 28px;
1170
+ height: 28px;
1171
+ border-radius: 6px;
1172
+ border: none;
1173
+ background: transparent;
1174
+ color: #64748b;
1175
+ font-size: 0.85rem;
1176
+ display: flex;
1177
+ align-items: center;
1178
+ justify-content: center;
1179
+ cursor: pointer;
1180
+ transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
1181
+ user-select: none;
1182
+ }
1183
+
1184
+ .mt-icon-btn:hover {
1185
+ color: #0f172a;
1186
+ background: rgba(255, 255, 255, 0.5);
1187
+ }
1188
+
1189
+ .mt-icon-btn.active {
1190
+ background: #ffffff;
1191
+ color: #0f172a;
1192
+ font-weight: 600;
1193
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
1194
+ }
1195
+
1196
+ .mt-icon-btn:disabled,
1197
+ .mt-icon-btn[disabled] {
1198
+ opacity: 0.35;
1199
+ cursor: not-allowed;
1200
+ pointer-events: none;
1201
+ }
1202
+
1203
+ .mt-stepper-row {
1204
+ display: flex;
1205
+ align-items: center;
1206
+ gap: 8px;
1207
+ }
1208
+
1209
+ .mt-stepper-group {
1210
+ display: flex;
1211
+ align-items: center;
1212
+ background: #f1f5f9;
1213
+ border-radius: 8px;
1214
+ padding: 2.5px 5px;
1215
+ gap: 2px;
1216
+ box-sizing: border-box;
1217
+ }
1218
+
1219
+ .mt-stepper-label-icon {
1220
+ font-size: 0.82rem;
1221
+ font-weight: 600;
1222
+ color: #94a3b8;
1223
+ padding: 0 3px;
1224
+ user-select: none;
1225
+ }
1226
+
1227
+ .mt-step-btn {
1228
+ width: 22px;
1229
+ height: 22px;
1230
+ border-radius: 5px;
1231
+ border: none;
1232
+ background: transparent;
1233
+ font-size: 0.85rem;
1234
+ font-weight: 600;
1235
+ color: #64748b;
1236
+ cursor: pointer;
1237
+ display: flex;
1238
+ align-items: center;
1239
+ justify-content: center;
1240
+ line-height: 1;
1241
+ transition: all 0.15s ease;
1242
+ user-select: none;
1243
+ }
1244
+
1245
+ .mt-step-btn:hover {
1246
+ background: #ffffff;
1247
+ color: #0f172a;
1248
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
1249
+ }
1250
+
1251
+ .mt-step-btn:active {
1252
+ transform: scale(0.95);
1253
+ }
1254
+
1255
+ .mt-step-val {
1256
+ font-size: 0.8rem;
1257
+ font-weight: 600;
1258
+ color: #0f172a;
1259
+ min-width: 18px;
1260
+ text-align: center;
1261
+ user-select: none;
1262
+ }
1263
+
1264
+ .mt-step-unit {
1265
+ font-size: 0.68rem;
1266
+ font-weight: 500;
1267
+ color: #94a3b8;
1268
+ margin-right: 2px;
1269
+ user-select: none;
1270
+ }
1271
+
1272
+ .mt-style-color-grid {
1273
+ grid-template-columns: repeat(7, minmax(0, 1fr));
1274
+ gap: 4px;
1275
+ }
1276
+
1277
+ .mt-style-color-swatch {
1278
+ padding: 2px;
1279
+ }
1280
+
1281
+ .mt-style-border-preview {
1282
+ width: 18px;
1283
+ height: 18px;
1284
+ border: 3px solid;
1285
+ border-radius: 5px;
1286
+ }
1287
+
1288
+ .mt-style-popup .is-transparent {
1289
+ background-image: linear-gradient(135deg, transparent 45%, #94a3b8 46%, #94a3b8 54%, transparent 55%);
1290
+ background-color: #ffffff;
1291
+ box-shadow: inset 0 0 0 1px #cbd5e1;
1292
+ }
1293
+
1294
+ .mt-style-popup .mt-stepper-group,
1295
+ .mt-text-popup .mt-stepper-group {
1296
+ background: #ffffff;
1297
+ border: 1px solid #e2e8f0;
1298
+ padding: 3px;
1299
+ gap: 8px;
1300
+ }
1301
+
1302
+ .mt-style-popup .mt-step-btn,
1303
+ .mt-text-popup .mt-step-btn {
1304
+ width: 36px;
1305
+ height: 34px;
1306
+ flex-shrink: 0;
1307
+ font-size: 1rem;
1308
+ font-weight: 500;
1309
+ }
1310
+
1311
+ .mt-style-popup .mt-step-btn:hover,
1312
+ .mt-text-popup .mt-step-btn:hover {
1313
+ background: #f1f5f9;
1314
+ box-shadow: none;
1315
+ }
1316
+
1317
+ .mt-style-step-value {
1318
+ display: flex;
1319
+ flex: 1;
1320
+ align-items: center;
1321
+ justify-content: center;
1322
+ gap: 4px;
1323
+ }
1324
+
1325
+ .mt-style-popup .mt-step-val,
1326
+ .mt-text-popup .mt-step-val {
1327
+ font-weight: 500;
1328
+ font-variant-numeric: tabular-nums;
1329
+ }
1330
+
1331
+ @media (pointer: coarse) {
1332
+ .mt-style-popup {
1333
+ width: 280px;
1334
+ min-width: 280px;
1335
+ }
1336
+
1337
+ .mt-style-popup button {
1338
+ min-height: 44px;
1339
+ }
1340
+
1341
+ .mt-style-popup .mt-step-btn,
1342
+ .mt-text-popup .mt-step-btn {
1343
+ width: 44px;
1344
+ }
1345
+
1346
+ .mt-style-color-grid {
1347
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1348
+ }
1349
+ }
1350
+
1351
+ /* Renk Paleti Swatch Izgarası */
1352
+ .mt-color-palette {
1353
+ display: grid;
1354
+ grid-template-columns: repeat(7, 1fr);
1355
+ gap: 7px;
1356
+ margin-top: 2px;
1357
+ }
1358
+
1359
+ .mt-color-swatch {
1360
+ width: 24px;
1361
+ height: 24px;
1362
+ border-radius: 50%;
1363
+ border: 1.5px solid rgba(0, 0, 0, 0.12);
1364
+ cursor: pointer;
1365
+ display: flex;
1366
+ align-items: center;
1367
+ justify-content: center;
1368
+ transition: transform 0.15s ease, box-shadow 0.15s ease;
1369
+ }
1370
+
1371
+ .mt-color-swatch:hover {
1372
+ transform: scale(1.15);
1373
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
1374
+ }
1375
+
1376
+ .mt-color-swatch.is-transparent {
1377
+ position: relative;
1378
+ border-color: #cbd5e1;
1379
+ }
1380
+
1381
+ .slash-line {
1382
+ font-size: 0.85rem;
1383
+ color: #ef4444;
1384
+ font-weight: 800;
1385
+ }
1386
+
1387
+ /* Metin Popup Stilleri */
1388
+ .mt-text-popup {
1389
+ width: 252px;
1390
+ min-width: 252px;
1391
+ max-width: 100%;
1392
+ box-sizing: border-box;
1393
+ padding: 10px 12px;
1394
+ gap: 8px;
1395
+ }
1396
+
1397
+ .mt-format-btn {
1398
+ width: 28px;
1399
+ height: 28px;
1400
+ border-radius: 6px;
1401
+ border: none;
1402
+ background: transparent;
1403
+ font-size: 0.85rem;
1404
+ cursor: pointer;
1405
+ display: flex;
1406
+ align-items: center;
1407
+ justify-content: center;
1408
+ color: #64748b;
1409
+ transition: all 0.15s ease;
1410
+ }
1411
+
1412
+ .mt-format-btn:hover {
1413
+ color: #0f172a;
1414
+ background: rgba(255, 255, 255, 0.5);
1415
+ }
1416
+
1417
+ .mt-format-btn.active {
1418
+ background: #ffffff;
1419
+ color: #0f172a;
1420
+ font-weight: 700;
1421
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
1422
+ }
1423
+
1424
+ .mt-size-stepper {
1425
+ display: flex;
1426
+ align-items: center;
1427
+ gap: 3px;
1428
+ background: #f1f5f9;
1429
+ padding: 2px 6px;
1430
+ border-radius: 8px;
1431
+ height: 28px;
1432
+ box-sizing: border-box;
1433
+ }
1434
+
1435
+ .mt-size-val {
1436
+ font-size: 0.82rem;
1437
+ font-weight: 600;
1438
+ color: #0f172a;
1439
+ min-width: 20px;
1440
+ text-align: center;
1441
+ }
1442
+
1443
+ .mt-stepper-arrows {
1444
+ display: flex;
1445
+ flex-direction: column;
1446
+ gap: 1px;
1447
+ }
1448
+
1449
+ .mt-stepper-arrows button {
1450
+ border: none;
1451
+ background: transparent;
1452
+ font-size: 0.55rem;
1453
+ cursor: pointer;
1454
+ padding: 0 1px;
1455
+ line-height: 1;
1456
+ color: #64748b;
1457
+ }
1458
+
1459
+ .mt-stepper-arrows button:hover {
1460
+ color: #0f172a;
1461
+ }
1462
+
1463
+ .mt-size-unit {
1464
+ font-size: 0.72rem;
1465
+ color: var(--text-muted);
1466
+ font-weight: 600;
1467
+ }
1468
+
1469
+ .mt-color-preview-btn {
1470
+ width: 28px;
1471
+ height: 28px;
1472
+ border-radius: 6px;
1473
+ border: 1.5px solid #e2e8f0;
1474
+ background: #f1f5f9;
1475
+ display: flex;
1476
+ align-items: center;
1477
+ justify-content: center;
1478
+ cursor: pointer;
1479
+ transition: all 0.15s ease;
1480
+ padding: 0;
1481
+ }
1482
+
1483
+ .mt-color-preview-btn:hover {
1484
+ border-color: #cbd5e1;
1485
+ background: #ffffff;
1486
+ }
1487
+
1488
+ .mt-color-preview-btn.active {
1489
+ border-color: #0f172a;
1490
+ background: #ffffff;
1491
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
1492
+ }
1493
+
1494
+ .mt-color-circle {
1495
+ width: 18px;
1496
+ height: 18px;
1497
+ border-radius: 50%;
1498
+ border: 1.5px solid rgba(0, 0, 0, 0.18);
1499
+ display: block;
1500
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
1501
+ }
1502
+
1503
+ .mt-text-palette-section {
1504
+ display: flex;
1505
+ flex-direction: column;
1506
+ gap: 6px;
1507
+ padding-top: 8px;
1508
+ border-top: 1px solid #f1f5f9;
1509
+ }
1510
+
1511
+ .mt-text-palette-section.is-opening {
1512
+ animation: popupSlideDown 0.16s ease;
1513
+ }
1514
+
1515
+ .mt-palette-header {
1516
+ font-size: 0.72rem;
1517
+ font-weight: 600;
1518
+ color: #64748b;
1519
+ text-transform: uppercase;
1520
+ letter-spacing: 0.05em;
1521
+ }
1522
+
1523
+ .mt-color-swatch.is-active-swatch {
1524
+ transform: scale(1.15);
1525
+ box-shadow: 0 0 0 2px #0f172a, 0 2px 5px rgba(0, 0, 0, 0.2);
1526
+ border-color: transparent;
1527
+ }
1528
+
1529
+ .swatch-check {
1530
+ font-size: 0.72rem;
1531
+ font-weight: 900;
1532
+ color: #ffffff;
1533
+ line-height: 1;
1534
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
1535
+ }
1536
+
1537
+ .mt-text-format-grid,
1538
+ .mt-text-align-grid {
1539
+ display: grid;
1540
+ gap: 8px;
1541
+ width: 100%;
1542
+ }
1543
+
1544
+ .mt-text-format-grid {
1545
+ grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
1546
+ }
1547
+
1548
+ .mt-text-align-grid {
1549
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1550
+ }
1551
+
1552
+ .mt-text-format-column,
1553
+ .mt-text-align-column {
1554
+ display: flex;
1555
+ flex-direction: column;
1556
+ gap: 6px;
1557
+ min-width: 0;
1558
+ }
1559
+
1560
+ .mt-text-section-label {
1561
+ font-size: 0.74rem;
1562
+ color: #64748b;
1563
+ font-weight: 500;
1564
+ }
1565
+
1566
+ .mt-text-format-column .mt-pill-group,
1567
+ .mt-text-align-column .mt-pill-group {
1568
+ width: 100%;
1569
+ }
1570
+
1571
+ .mt-text-format-column .mt-format-btn,
1572
+ .mt-text-align-column .mt-icon-btn {
1573
+ flex: 1;
1574
+ width: auto;
1575
+ min-width: 0;
1576
+ min-height: 36px;
1577
+ }
1578
+
1579
+ .mt-text-format-column .mt-stepper-group {
1580
+ width: 100%;
1581
+ }
1582
+
1583
+ /* Metin sekme ikonu */
1584
+ .mt-text-tab-font-icon {
1585
+ font-family: inherit;
1586
+ letter-spacing: -0.02em;
1587
+ }
1588
+
1589
+ @media (pointer: coarse) {
1590
+ .mt-text-popup {
1591
+ width: 280px;
1592
+ min-width: 280px;
1593
+ }
1594
+
1595
+ .mt-text-popup button {
1596
+ min-height: 44px;
1597
+ min-width: 44px;
1598
+ }
1599
+
1600
+ .mt-text-popup .mt-color-palette {
1601
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1602
+ gap: 6px;
1603
+ }
1604
+
1605
+ .mt-text-popup .mt-color-swatch {
1606
+ width: 44px;
1607
+ height: 44px;
1608
+ }
1609
+ }
1610
+
1611
+ .mt-custom-color-swatch {
1612
+ position: relative;
1613
+ background: #f8fafc !important;
1614
+ border: 1.5px dashed #94a3b8 !important;
1615
+ cursor: pointer;
1616
+ }
1617
+
1618
+ .mt-custom-color-swatch:hover {
1619
+ border-color: #0f172a !important;
1620
+ background: #f1f5f9 !important;
1621
+ }
1622
+
1623
+ .custom-color-icon {
1624
+ font-size: 1rem;
1625
+ font-weight: 800;
1626
+ color: var(--text-muted);
1627
+ line-height: 1;
1628
+ }
1629
+
1630
+ /* Katman sırası ve kilit popup */
1631
+ .mt-layer-popup {
1632
+ width: 252px;
1633
+ min-width: 252px;
1634
+ max-width: 100%;
1635
+ box-sizing: border-box;
1636
+ padding: 10px 12px;
1637
+ gap: 10px;
1638
+ border-radius: var(--radius-lg);
1639
+ background: #ffffff;
1640
+ box-shadow: var(--shadow-popup);
1641
+ border: 1px solid var(--border-color);
1642
+ }
1643
+
1644
+ .mt-layer-section {
1645
+ display: flex;
1646
+ flex-direction: column;
1647
+ gap: 6px;
1648
+ width: 100%;
1649
+ }
1650
+
1651
+ .mt-layer-section-label {
1652
+ font-size: 0.74rem;
1653
+ font-weight: 500;
1654
+ color: #64748b;
1655
+ }
1656
+
1657
+ .mt-layer-order-grid {
1658
+ display: grid;
1659
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1660
+ gap: 6px;
1661
+ }
1662
+
1663
+ .mt-layer-btn {
1664
+ min-width: 0;
1665
+ min-height: 40px;
1666
+ padding: 0 10px;
1667
+ display: flex;
1668
+ align-items: center;
1669
+ justify-content: center;
1670
+ gap: 6px;
1671
+ border: 1px solid #e2e8f0;
1672
+ border-radius: 8px;
1673
+ background: #ffffff;
1674
+ color: #475569;
1675
+ font-size: 0.76rem;
1676
+ font-weight: 500;
1677
+ cursor: pointer;
1678
+ user-select: none;
1679
+ transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
1680
+ box-sizing: border-box;
1681
+ }
1682
+
1683
+ .mt-layer-btn:hover {
1684
+ background: #f8fafc;
1685
+ border-color: #cbd5e1;
1686
+ color: #0f172a;
1687
+ }
1688
+
1689
+ .mt-layer-btn:active {
1690
+ transform: scale(0.98);
1691
+ }
1692
+
1693
+ .mt-layer-btn svg {
1694
+ flex-shrink: 0;
1695
+ }
1696
+
1697
+ .mt-layer-lock-section {
1698
+ padding-top: 10px;
1699
+ border-top: 1px solid #edf0f4;
1700
+ }
1701
+
1702
+ .mt-layer-lock-item {
1703
+ width: 100%;
1704
+ }
1705
+
1706
+ .mt-layer-lock-item.is-locked,
1707
+ .mt-layer-lock-item.active-lock {
1708
+ background: #eff6ff;
1709
+ border-color: #bfdbfe;
1710
+ color: #1d4ed8;
1711
+ }
1712
+
1713
+ @media (pointer: coarse) {
1714
+ .mt-layer-popup {
1715
+ width: 280px;
1716
+ min-width: 280px;
1717
+ }
1718
+
1719
+ .mt-layer-btn {
1720
+ min-height: 44px;
1721
+ }
1722
+ }
1723
+
1724
+ /* Çoklu Seçim Gruplama Butonu */
1725
+ .mt-group-action-btn {
1726
+ display: flex;
1727
+ align-items: center;
1728
+ gap: 5px;
1729
+ padding: 4px 8px;
1730
+ background: #f1f5f9;
1731
+ border: 1px solid #e2e8f0;
1732
+ border-radius: 6px;
1733
+ font-size: 0.76rem;
1734
+ font-weight: 500;
1735
+ color: #475569;
1736
+ cursor: pointer;
1737
+ transition: all 0.15s ease;
1738
+ }
1739
+
1740
+ .mt-group-action-btn:hover {
1741
+ background: #ffffff;
1742
+ border-color: #cbd5e1;
1743
+ color: #0f172a;
1744
+ }
1745
+
1746
+ .mt-group-action-btn.active-group {
1747
+ background: #ffffff;
1748
+ border-color: #0f172a;
1749
+ color: #0f172a;
1750
+ font-weight: 600;
1751
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
1752
+ }
1753
+
1754
+ .mt-align-popup {
1755
+ width: 252px;
1756
+ min-width: 252px;
1757
+ max-width: 100%;
1758
+ box-sizing: border-box;
1759
+ padding: 10px 12px;
1760
+ gap: 8px;
1761
+ }
1762
+
1763
+ .mt-align-popup .mt-group-action-btn {
1764
+ padding: 4px 8px;
1765
+ font-size: 0.76rem;
1766
+ gap: 4px;
1767
+ }
1768
+
1769
+ /* ==========================================
1770
+ TOAST BİLDİRİMLERİ
1771
+ ========================================== */
1772
+ .app-toast {
1773
+ position: fixed;
1774
+ bottom: 24px;
1775
+ right: 24px;
1776
+ padding: 12px 20px;
1777
+ border-radius: var(--radius-md);
1778
+ font-size: 0.88rem;
1779
+ font-weight: 600;
1780
+ color: #ffffff;
1781
+ background: #1e293b;
1782
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
1783
+ z-index: 99999;
1784
+ opacity: 0;
1785
+ transform: translateY(20px);
1786
+ transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
1787
+ pointer-events: none;
1788
+ }
1789
+
1790
+ .app-toast.is-visible {
1791
+ opacity: 1;
1792
+ transform: translateY(0);
1793
+ }
1794
+
1795
+ .app-toast.toast-success { background: #059669; }
1796
+ .app-toast.toast-error { background: #dc2626; }
1797
+ .app-toast.toast-info { background: #2563eb; }