suioutkit 1.0.1 → 1.0.3

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.
@@ -1,50 +1,46 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap');
2
2
 
3
3
  :root {
4
- /* SPDX-License-Identifier: GPL-3.0
5
- Copyright (c) 2026 The3rdWebLabs (https://github.com/the3rdweblabs)
6
- Author: @CYBWithFlourish (https://github.com/CYBWithFlourish)
7
- */
8
- --sok-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
4
+ --sok-font: 'Inter', -apple-system, system-ui, sans-serif;
9
5
  --sok-bg: #ffffff;
10
- --sok-card-bg: rgba(255, 255, 255, 0.9);
11
- --sok-text: #1a1b1f;
12
- --sok-text-muted: #64748b;
13
- --sok-accent: #6366f1;
14
- --sok-accent-hover: #4f46e5;
15
- --sok-accent-grad: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
16
- --sok-border: rgba(0, 0, 0, 0.06);
17
- --sok-shadow: 0px 8px 32px rgba(0, 0, 0, 0.12), 0px 2px 8px rgba(0, 0, 0, 0.04);
6
+ --sok-card-bg: #ffffff;
7
+ --sok-text: #09090b;
8
+ --sok-text-muted: #71717a;
9
+ --sok-accent: #4f6fff;
10
+ --sok-accent-hover: #3b5de7;
11
+ --sok-accent-grad: linear-gradient(135deg, #4f6fff, #6c5ce7);
12
+ --sok-border: #e4e4e7;
13
+ --sok-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
14
+ --sok-radius: 20px;
18
15
  }
19
16
 
20
17
  @media (prefers-color-scheme: dark) {
21
18
  :root {
22
- --sok-bg: #0d0e12;
23
- --sok-card-bg: rgba(18, 20, 26, 0.95);
19
+ --sok-bg: #12141a;
20
+ --sok-card-bg: #181a22;
24
21
  --sok-text: #f3f4f6;
25
22
  --sok-text-muted: #9ca3af;
23
+ --sok-accent: #5b7fff;
24
+ --sok-accent-hover: #4f6fff;
25
+ --sok-accent-grad: linear-gradient(135deg, #5b7fff, #7c6df0);
26
26
  --sok-border: rgba(255, 255, 255, 0.08);
27
- --sok-shadow: 0px 16px 48px rgba(0, 0, 0, 0.4), 0px 2px 12px rgba(0, 0, 0, 0.2);
27
+ --sok-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
28
28
  }
29
29
  }
30
30
 
31
31
  .suioutkit-overlay {
32
32
  position: fixed;
33
- top: 0;
34
- left: 0;
35
- width: 100%;
36
- height: 100%;
37
- background: rgba(0, 0, 0, 0.4);
38
- backdrop-filter: blur(8px);
39
- -webkit-backdrop-filter: blur(8px);
33
+ inset: 0;
34
+ background: rgba(0, 0, 0, 0.5);
35
+ backdrop-filter: blur(12px);
36
+ -webkit-backdrop-filter: blur(12px);
40
37
  display: flex;
41
38
  align-items: center;
42
39
  justify-content: center;
43
- padding: 12px;
44
- overflow-y: auto;
40
+ padding: 16px;
45
41
  z-index: 99999;
46
42
  opacity: 0;
47
- transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
43
+ transition: opacity 0.25s ease;
48
44
  font-family: var(--sok-font);
49
45
  }
50
46
 
@@ -56,14 +52,16 @@
56
52
  background: var(--sok-card-bg);
57
53
  border: 1px solid var(--sok-border);
58
54
  box-shadow: var(--sok-shadow);
59
- border-radius: 24px;
60
- width: 100%;
61
- max-width: 420px;
55
+ border-radius: var(--sok-radius);
56
+ width: 400px;
57
+ min-height: 440px;
62
58
  padding: 24px;
63
59
  position: relative;
64
- transform: translateY(20px) scale(0.95);
65
- transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
60
+ transform: translateY(12px) scale(0.98);
61
+ transition: transform 0.25s ease;
66
62
  box-sizing: border-box;
63
+ display: flex;
64
+ flex-direction: column;
67
65
  }
68
66
 
69
67
  .suioutkit-overlay.active .suioutkit-card {
@@ -72,9 +70,9 @@
72
70
 
73
71
  .suioutkit-close {
74
72
  position: absolute;
75
- top: 20px;
76
- right: 20px;
77
- background: rgba(120, 120, 120, 0.1);
73
+ top: 16px;
74
+ right: 16px;
75
+ background: transparent;
78
76
  border: none;
79
77
  width: 28px;
80
78
  height: 28px;
@@ -83,27 +81,26 @@
83
81
  align-items: center;
84
82
  justify-content: center;
85
83
  cursor: pointer;
86
- color: var(--sok-text);
84
+ color: var(--sok-text-muted);
87
85
  font-size: 16px;
88
- font-weight: 500;
89
- transition: background 0.2s ease, transform 0.2s ease;
86
+ transition: background 0.2s ease, color 0.2s ease;
90
87
  }
91
88
 
92
89
  .suioutkit-close:hover {
93
- background: rgba(120, 120, 120, 0.2);
94
- transform: rotate(90deg);
90
+ background: rgba(120, 120, 120, 0.1);
91
+ color: var(--sok-text);
95
92
  }
96
93
 
97
94
  .suioutkit-header {
98
- margin-bottom: 24px;
99
95
  text-align: center;
96
+ margin-bottom: 20px;
100
97
  }
101
98
 
102
99
  .suioutkit-title {
103
- font-size: 20px;
100
+ font-size: 18px;
104
101
  font-weight: 700;
105
102
  color: var(--sok-text);
106
- margin: 0 0 6px 0;
103
+ margin: 0 0 4px;
107
104
  letter-spacing: -0.02em;
108
105
  }
109
106
 
@@ -113,10 +110,17 @@
113
110
  margin: 0;
114
111
  }
115
112
 
113
+ #sok-content-panel {
114
+ flex: 1;
115
+ display: flex;
116
+ flex-direction: column;
117
+ }
118
+
116
119
  .suioutkit-body {
120
+ flex: 1;
117
121
  display: flex;
118
122
  flex-direction: column;
119
- gap: 12px;
123
+ gap: 10px;
120
124
  }
121
125
 
122
126
  .suioutkit-content {
@@ -127,12 +131,11 @@
127
131
  display: none;
128
132
  }
129
133
 
130
- /* Option Buttons */
131
134
  .suioutkit-option {
132
135
  background: transparent;
133
- border: 1px solid transparent;
136
+ border: 1px solid var(--sok-border);
134
137
  border-radius: 12px;
135
- padding: 8px 16px;
138
+ padding: 10px 14px;
136
139
  display: block;
137
140
  width: 100%;
138
141
  cursor: pointer;
@@ -141,50 +144,37 @@
141
144
  }
142
145
 
143
146
  .suioutkit-option:hover {
144
- background: rgba(0, 0, 0, 0.04);
145
- transform: scale(0.98);
146
- }
147
-
148
- @media (prefers-color-scheme: dark) {
149
- .suioutkit-option {
150
- background: transparent;
151
- }
152
-
153
- .suioutkit-option:hover {
154
- background: rgba(255, 255, 255, 0.05);
155
- }
147
+ background: rgba(120, 120, 120, 0.05);
148
+ border-color: var(--sok-accent);
156
149
  }
157
150
 
158
151
  .suioutkit-option-content {
159
152
  display: flex;
160
153
  align-items: center;
161
- gap: 16px;
154
+ gap: 14px;
162
155
  }
163
156
 
164
157
  .suioutkit-option-img {
165
- width: 36px;
166
- height: 36px;
158
+ width: 34px;
159
+ height: 34px;
167
160
  border-radius: 8px;
168
161
  object-fit: contain;
169
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
170
162
  background: white;
171
- /* Ensure white background for logos */
172
163
  padding: 2px;
173
164
  }
174
165
 
175
166
  .suioutkit-option-name {
176
- font-size: 16px;
177
- font-weight: 700;
167
+ font-size: 15px;
168
+ font-weight: 600;
178
169
  color: var(--sok-text);
179
170
  }
180
171
 
181
- /* Charge & Details Panel */
182
172
  .suioutkit-panel {
173
+ flex: 1;
183
174
  display: flex;
184
175
  flex-direction: column;
185
176
  align-items: center;
186
177
  text-align: center;
187
- padding: 8px 0;
188
178
  width: 100%;
189
179
  }
190
180
 
@@ -196,42 +186,40 @@
196
186
  font-size: 13px;
197
187
  font-weight: 600;
198
188
  cursor: pointer;
199
- padding: 0 0 16px 0;
189
+ padding: 0 0 12px;
200
190
  display: flex;
201
191
  align-items: center;
202
192
  gap: 4px;
203
193
  }
204
194
 
205
195
  .suioutkit-back:hover {
206
- text-decoration: underline;
196
+ opacity: 0.8;
207
197
  }
208
198
 
209
199
  .suioutkit-amount-box {
210
- margin-bottom: 20px;
200
+ margin-bottom: 16px;
211
201
  }
212
202
 
213
203
  .sok-fiat-amt {
214
- font-size: 32px;
204
+ font-size: 28px;
215
205
  font-weight: 800;
216
206
  color: var(--sok-text);
217
207
  letter-spacing: -0.03em;
218
208
  }
219
209
 
220
- /* Virtual Account Info Card */
221
210
  .sok-va-card {
222
- background: rgba(120, 120, 120, 0.05);
211
+ background: rgba(120, 120, 120, 0.04);
223
212
  border: 1px solid var(--sok-border);
224
- border-radius: 20px;
213
+ border-radius: 14px;
225
214
  width: 100%;
226
- padding: 20px;
215
+ padding: 16px;
227
216
  box-sizing: border-box;
228
217
  text-align: left;
229
- margin-bottom: 16px;
230
- position: relative;
218
+ margin-bottom: 12px;
231
219
  }
232
220
 
233
221
  .sok-va-row {
234
- margin-bottom: 12px;
222
+ margin-bottom: 10px;
235
223
  }
236
224
 
237
225
  .sok-va-row:last-child {
@@ -247,10 +235,10 @@
247
235
  }
248
236
 
249
237
  .sok-va-val {
250
- font-size: 18px;
238
+ font-size: 16px;
251
239
  font-weight: 700;
252
240
  color: var(--sok-text);
253
- margin-top: 4px;
241
+ margin-top: 3px;
254
242
  display: flex;
255
243
  align-items: center;
256
244
  justify-content: space-between;
@@ -260,12 +248,12 @@
260
248
  background: var(--sok-accent);
261
249
  color: white;
262
250
  border: none;
263
- border-radius: 8px;
264
- padding: 4px 8px;
251
+ border-radius: 6px;
252
+ padding: 4px 10px;
265
253
  font-size: 11px;
266
254
  font-weight: 600;
267
255
  cursor: pointer;
268
- transition: opacity 0.2s ease;
256
+ transition: opacity 0.2s;
269
257
  }
270
258
 
271
259
  .sok-copy-btn:hover {
@@ -274,8 +262,8 @@
274
262
 
275
263
  .sok-copied-alert {
276
264
  position: absolute;
277
- top: 10px;
278
- right: 10px;
265
+ top: 8px;
266
+ right: 8px;
279
267
  background: #10b981;
280
268
  color: white;
281
269
  font-size: 11px;
@@ -283,7 +271,7 @@
283
271
  padding: 4px 8px;
284
272
  border-radius: 6px;
285
273
  opacity: 0;
286
- transform: translateY(-5px);
274
+ transform: translateY(-4px);
287
275
  transition: all 0.2s ease;
288
276
  }
289
277
 
@@ -292,32 +280,25 @@
292
280
  transform: translateY(0);
293
281
  }
294
282
 
295
- /* Spinner Loader */
296
283
  .sok-spinner {
297
- width: 32px;
298
- height: 32px;
284
+ width: 28px;
285
+ height: 28px;
299
286
  border: 3px solid rgba(120, 120, 120, 0.1);
300
287
  border-radius: 50%;
301
288
  border-top-color: var(--sok-accent);
302
289
  animation: sok-spin 0.8s linear infinite;
303
- margin: 8px auto 12px;
304
- }
305
-
306
- .sok-spinner.sok-spinner-compact {
307
- margin: 0 auto 8px;
290
+ margin: 8px auto 10px;
308
291
  }
309
292
 
310
293
  @keyframes sok-spin {
311
- to {
312
- transform: rotate(360deg);
313
- }
294
+ to { transform: rotate(360deg); }
314
295
  }
315
296
 
316
297
  .sok-status-text {
317
298
  font-size: 13px;
318
299
  font-weight: 500;
319
300
  color: var(--sok-text-muted);
320
- margin-top: 0;
301
+ margin: 0;
321
302
  }
322
303
 
323
304
  .payment-status-ui {
@@ -332,56 +313,32 @@
332
313
  text-align: center;
333
314
  }
334
315
 
335
- @media (max-width: 560px) {
336
- .suioutkit-card {
337
- max-width: none;
338
- padding: 20px 16px;
339
- border-radius: 20px;
340
- }
341
-
342
- .suioutkit-overlay {
343
- padding: 8px;
344
- }
345
-
346
- .suioutkit-title {
347
- font-size: 18px;
348
- }
349
-
350
- .suioutkit-option-content {
351
- gap: 12px;
352
- }
353
- }
354
-
355
- /* Successful Settlement View */
356
316
  .sok-success-icon {
357
- font-size: 48px;
358
- color: #10b981;
359
- margin-bottom: 12px;
317
+ margin-bottom: 10px;
360
318
  }
361
319
 
362
320
  .sok-success-title {
363
321
  font-size: 20px;
364
322
  font-weight: 700;
365
323
  color: var(--sok-text);
366
- margin-bottom: 6px;
324
+ margin-bottom: 4px;
367
325
  }
368
326
 
369
327
  .sok-success-desc {
370
328
  font-size: 13px;
371
329
  color: var(--sok-text-muted);
372
- margin-bottom: 20px;
330
+ margin-bottom: 16px;
373
331
  }
374
332
 
375
333
  .sok-success-details {
376
- background: rgba(16, 185, 129, 0.05);
377
- border: 1px solid rgba(16, 185, 129, 0.2);
378
- border-radius: 16px;
379
- padding: 16px;
334
+ background: rgba(79, 111, 255, 0.04);
335
+ border: 1px solid rgba(79, 111, 255, 0.15);
336
+ border-radius: 14px;
337
+ padding: 14px;
380
338
  width: 100%;
381
339
  box-sizing: border-box;
382
340
  text-align: left;
383
341
  font-size: 12px;
384
- color: var(--sok-text);
385
342
  }
386
343
 
387
344
  .sok-receipt-row {
@@ -401,6 +358,7 @@
401
358
 
402
359
  .sok-receipt-val {
403
360
  font-weight: 600;
361
+ color: var(--sok-text);
404
362
  max-width: 180px;
405
363
  overflow: hidden;
406
364
  text-overflow: ellipsis;
@@ -416,49 +374,22 @@
416
374
  text-decoration: underline;
417
375
  }
418
376
 
419
- /* Form Fields for OPay / Wallet */
420
- .sok-form {
421
- width: 100%;
422
- display: flex;
423
- flex-direction: column;
424
- gap: 12px;
425
- margin-bottom: 16px;
426
- }
427
-
428
- .sok-input {
429
- background: rgba(120, 120, 120, 0.05);
430
- border: 1px solid var(--sok-border);
431
- border-radius: 12px;
432
- padding: 12px 16px;
433
- font-size: 14px;
434
- font-weight: 500;
435
- color: var(--sok-text);
436
- outline: none;
437
- box-sizing: border-box;
438
- width: 100%;
439
- transition: border-color 0.2s ease;
440
- }
441
-
442
- .sok-input:focus {
443
- border-color: var(--sok-accent);
444
- }
445
-
446
377
  .sok-btn {
447
378
  background: var(--sok-accent-grad);
448
379
  color: white;
449
380
  border: none;
450
381
  border-radius: 12px;
451
- padding: 14px 16px;
382
+ padding: 12px 16px;
452
383
  font-size: 14px;
453
384
  font-weight: 600;
454
385
  cursor: pointer;
455
386
  width: 100%;
456
- box-shadow: 0px 4px 12px rgba(99, 102, 241, 0.2);
457
- transition: opacity 0.2s ease;
387
+ box-shadow: 0 4px 14px rgba(79, 111, 255, 0.25);
388
+ transition: opacity 0.2s;
458
389
  }
459
390
 
460
391
  .sok-btn:hover {
461
- opacity: 0.95;
392
+ opacity: 0.92;
462
393
  }
463
394
 
464
395
  .sok-btn:disabled {
@@ -467,60 +398,68 @@
467
398
  box-shadow: none;
468
399
  }
469
400
 
470
- /* outPay QR Code specifications */
401
+ .sok-btn-green {
402
+ background: linear-gradient(135deg, #10b981 0%, #047857 100%);
403
+ box-shadow: 0 4px 14px rgba(16, 185, 129, 0.25);
404
+ }
405
+
406
+ .sok-btn-blue {
407
+ background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
408
+ box-shadow: 0 4px 14px rgba(59, 130, 246, 0.25);
409
+ }
410
+
411
+ .sok-btn-indigo {
412
+ background: linear-gradient(135deg, #6366f1 0%, #4338ca 100%);
413
+ box-shadow: 0 4px 14px rgba(99, 102, 241, 0.25);
414
+ }
415
+
471
416
  .sok-qr-card {
472
417
  background: var(--sok-bg);
473
418
  border: 1px solid var(--sok-border);
474
- border-radius: 20px;
475
- padding: 20px;
419
+ border-radius: 14px;
420
+ padding: 16px;
476
421
  display: flex;
477
422
  flex-direction: column;
478
423
  align-items: center;
479
- margin-bottom: 16px;
480
- box-shadow: inset 0px 2px 8px rgba(0, 0, 0, 0.05);
481
- position: relative;
424
+ margin-bottom: 12px;
482
425
  box-sizing: border-box;
483
426
  width: 100%;
484
427
  }
485
428
 
486
429
  .sok-qr-frame {
487
430
  background: #ffffff;
488
- /* Pure white background ensures perfect scanning visibility */
489
- padding: 12px;
490
- border-radius: 16px;
491
- box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.06);
431
+ padding: 10px;
432
+ border-radius: 14px;
433
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
492
434
  position: relative;
493
435
  overflow: hidden;
494
- margin-bottom: 12px;
495
- width: 204px;
496
- height: 204px;
436
+ margin-bottom: 10px;
437
+ width: 180px;
438
+ height: 180px;
497
439
  box-sizing: border-box;
498
440
  }
499
441
 
500
442
  .sok-qr-img {
501
- width: 180px;
502
- height: 180px;
443
+ width: 160px;
444
+ height: 160px;
503
445
  display: block;
504
446
  }
505
447
 
506
- /* outPay overlay logo badge centered on the QR code */
507
448
  .sok-qr-logo-badge {
508
449
  position: absolute;
509
450
  top: 50%;
510
451
  left: 50%;
511
452
  transform: translate(-50%, -50%);
512
- width: 36px;
513
- height: 36px;
453
+ width: 32px;
454
+ height: 32px;
514
455
  background: var(--sok-accent-grad);
515
- border-radius: 10px;
456
+ border-radius: 8px;
516
457
  border: 3px solid #ffffff;
517
458
  display: flex;
518
459
  align-items: center;
519
460
  justify-content: center;
520
- font-size: 16px;
521
- color: white;
522
- font-weight: 800;
523
- box-shadow: 0px 4px 12px rgba(99, 102, 241, 0.3);
461
+ overflow: hidden;
462
+ box-shadow: 0 4px 12px rgba(79, 111, 255, 0.3);
524
463
  }
525
464
 
526
465
  .sok-qr-scan-pulse {
@@ -528,78 +467,89 @@
528
467
  top: 0;
529
468
  left: 0;
530
469
  width: 100%;
531
- height: 3px;
532
- background: linear-gradient(90deg, rgba(99, 102, 241, 0) 0%, rgba(99, 102, 241, 1) 50%, rgba(99, 102, 241, 0) 100%);
470
+ height: 2px;
471
+ background: linear-gradient(90deg, transparent, var(--sok-accent), transparent);
533
472
  animation: sok-qr-scan 2.5s ease-in-out infinite;
534
473
  }
535
474
 
536
475
  @keyframes sok-qr-scan {
537
- 0% {
538
- top: 0%;
539
- }
540
-
541
- 50% {
542
- top: 100%;
543
- }
544
-
545
- 100% {
546
- top: 0%;
547
- }
476
+ 0% { top: 0; }
477
+ 50% { top: 100%; }
478
+ 100% { top: 0; }
548
479
  }
549
480
 
550
- /* Wallet List Container */
551
481
  .suioutkit-wallet-list {
552
- display: grid;
553
- grid-template-columns: 1fr;
554
- gap: 12px;
482
+ display: flex;
483
+ flex-direction: column;
484
+ gap: 10px;
555
485
  width: 100%;
556
- max-height: 400px;
557
- overflow-y: auto;
558
- padding: 0;
559
486
  }
560
487
 
561
- /* Wallet Card */
562
488
  .sok-wallet-card {
563
- background: rgba(120, 120, 120, 0.05);
489
+ background: var(--sok-card-bg);
564
490
  border: 1px solid var(--sok-border);
565
- border-radius: 16px;
566
- padding: 16px;
491
+ border-radius: 14px;
492
+ padding: 14px;
567
493
  display: flex;
568
494
  align-items: center;
569
- gap: 16px;
495
+ gap: 14px;
570
496
  cursor: pointer;
571
- transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
497
+ transition: all 0.2s ease;
572
498
  text-align: left;
499
+ width: 100%;
500
+ color: var(--sok-text);
573
501
  }
574
502
 
575
- .sok-wallet-card:hover:not([style*="pointer-events: none"]) {
576
- background: rgba(120, 120, 120, 0.08);
503
+ .sok-wallet-card:hover {
504
+ background: rgba(120, 120, 120, 0.06);
577
505
  border-color: var(--sok-accent);
578
- transform: translateY(-2px);
579
- box-shadow: 0px 4px 12px rgba(99, 102, 241, 0.1);
580
506
  }
581
507
 
582
508
  .sok-wallet-icon {
583
- width: 48px;
584
- height: 48px;
585
- border-radius: 8px;
509
+ width: 44px;
510
+ height: 44px;
511
+ border-radius: 12px;
586
512
  object-fit: contain;
587
513
  flex-shrink: 0;
514
+ background: rgba(120, 120, 120, 0.08);
515
+ padding: 4px;
516
+ }
517
+
518
+ .sok-wallet-info {
519
+ display: flex;
520
+ flex-direction: column;
521
+ gap: 2px;
522
+ flex: 1;
523
+ min-width: 0;
588
524
  }
589
525
 
590
526
  .sok-wallet-name {
591
527
  font-size: 15px;
592
- font-weight: 600;
528
+ font-weight: 700;
593
529
  color: var(--sok-text);
530
+ white-space: nowrap;
531
+ overflow: hidden;
532
+ text-overflow: ellipsis;
533
+ }
534
+
535
+ .sok-wallet-desc {
536
+ font-size: 12px;
537
+ opacity: 0.74;
538
+ color: var(--sok-text-muted);
539
+ }
540
+
541
+ .sok-wallet-connect {
542
+ font-size: 12px;
543
+ font-weight: 700;
544
+ color: var(--sok-accent);
594
545
  }
595
546
 
596
- /* Horizontal Progress Stepper */
597
547
  .stepper {
598
548
  display: flex;
599
549
  align-items: center;
600
550
  justify-content: center;
601
- gap: 12px;
602
- margin: 18px 0 12px;
551
+ gap: 10px;
552
+ margin: 14px 0 10px;
603
553
  }
604
554
 
605
555
  .step {
@@ -610,8 +560,8 @@
610
560
  }
611
561
 
612
562
  .circle {
613
- width: 32px;
614
- height: 32px;
563
+ width: 28px;
564
+ height: 28px;
615
565
  border-radius: 50%;
616
566
  background: var(--sok-bg);
617
567
  border: 2px solid var(--sok-border);
@@ -619,6 +569,7 @@
619
569
  align-items: center;
620
570
  justify-content: center;
621
571
  font-weight: 600;
572
+ font-size: 12px;
622
573
  color: var(--sok-text);
623
574
  }
624
575
 
@@ -629,19 +580,18 @@
629
580
  }
630
581
 
631
582
  .label {
632
- margin-top: 6px;
633
- font-size: 13px;
583
+ margin-top: 4px;
584
+ font-size: 12px;
634
585
  color: var(--sok-text-muted);
635
586
  text-align: center;
636
- min-width: 60px;
587
+ min-width: 50px;
637
588
  }
638
589
 
639
590
  .line {
640
591
  position: absolute;
641
- top: 16px;
642
- /* align with circle center */
592
+ top: 14px;
643
593
  left: 100%;
644
- width: 40px;
594
+ width: 34px;
645
595
  height: 2px;
646
596
  background: var(--sok-border);
647
597
  }
@@ -654,98 +604,112 @@
654
604
  display: none;
655
605
  }
656
606
 
657
- @media (max-width: 560px) {
658
- .suioutkit-overlay {
659
- align-items: flex-start;
660
- }
607
+ .sok-form {
608
+ display: flex;
609
+ flex-direction: column;
610
+ gap: 12px;
611
+ align-items: center;
612
+ }
661
613
 
662
- .suioutkit-card {
663
- width: min(100%, calc(100vw - 16px));
664
- padding: 18px;
665
- border-radius: 20px;
666
- max-height: calc(100vh - 16px);
667
- }
614
+ .sok-input {
615
+ background: var(--sok-bg);
616
+ border: 1px solid var(--sok-border);
617
+ border-radius: 12px;
618
+ padding: 12px 14px;
619
+ font-size: 15px;
620
+ font-weight: 500;
621
+ color: var(--sok-text);
622
+ width: 100%;
623
+ box-sizing: border-box;
624
+ outline: none;
625
+ transition: border-color 0.2s ease;
626
+ }
668
627
 
669
- .suioutkit-summary,
670
- .suioutkit-method-grid {
671
- grid-template-columns: 1fr;
672
- }
628
+ .sok-input:focus {
629
+ border-color: var(--sok-accent);
630
+ }
673
631
 
674
- .suioutkit-option {
675
- padding: 12px;
676
- }
632
+ .sok-input::placeholder {
633
+ color: var(--sok-text-muted);
634
+ opacity: 0.6;
635
+ }
677
636
 
678
- .suioutkit-header {
679
- margin-bottom: 18px;
680
- }
637
+ .sok-icon-wrap {
638
+ display: flex;
639
+ align-items: center;
640
+ justify-content: center;
641
+ margin-bottom: 16px;
642
+ }
681
643
 
682
- .sok-fiat-amt {
683
- font-size: 28px;
684
- }
644
+ .sok-text-green {
645
+ color: #10b981;
646
+ }
685
647
 
686
- .sok-spinner {
687
- margin-top: 4px;
688
- }
648
+ .sok-text-red {
649
+ color: #ef4444;
650
+ }
689
651
 
690
- .sok-va-card,
691
- .sok-qr-card,
692
- .sok-success-details {
693
- padding: 16px;
694
- }
652
+ .sok-text-amber {
653
+ color: #f59e0b;
654
+ }
695
655
 
696
- .sok-va-val,
697
- .sok-receipt-row {
698
- flex-wrap: wrap;
699
- gap: 8px;
700
- }
656
+ .sok-text-sm {
657
+ font-size: 12px;
658
+ }
701
659
 
702
- .sok-receipt-val {
703
- max-width: 100%;
704
- white-space: normal;
705
- word-break: break-word;
706
- }
660
+ .sok-op-75 {
661
+ opacity: 0.75;
662
+ }
707
663
 
708
- .sok-qr-frame {
709
- width: min(100%, 204px);
710
- height: auto;
711
- aspect-ratio: 1 / 1;
712
- }
664
+ .sok-mt-16 {
665
+ margin-top: 16px;
666
+ }
713
667
 
714
- .sok-qr-img {
715
- width: 100%;
716
- height: 100%;
668
+ .sok-mt-12 {
669
+ margin-top: 12px;
670
+ }
671
+
672
+ .sok-mb-12 {
673
+ margin-bottom: 12px;
674
+ }
675
+
676
+ .sok-mb-20 {
677
+ margin-bottom: 20px;
678
+ }
679
+
680
+ @media (max-width: 480px) {
681
+ .suioutkit-overlay {
682
+ padding: 8px;
683
+ align-items: flex-start;
684
+ padding-top: 32px;
717
685
  }
718
686
 
719
- .stepper {
720
- flex-direction: column;
721
- align-items: stretch;
722
- gap: 10px;
723
- margin: 18px 0 8px;
687
+ .suioutkit-card {
688
+ width: calc(100vw - 16px);
689
+ min-height: auto;
690
+ padding: 20px 16px;
691
+ border-radius: 16px;
724
692
  }
725
693
 
726
- .step {
727
- flex-direction: row;
728
- align-items: center;
729
- gap: 10px;
730
- width: 100%;
694
+ .suioutkit-title {
695
+ font-size: 16px;
731
696
  }
732
697
 
733
- .circle {
734
- flex-shrink: 0;
698
+ .sok-fiat-amt {
699
+ font-size: 24px;
735
700
  }
736
701
 
737
- .label {
738
- margin-top: 0;
739
- text-align: left;
740
- min-width: 0;
741
- flex: 1;
702
+ .sok-qr-frame {
703
+ width: 160px;
704
+ height: 160px;
742
705
  }
743
706
 
744
- .line {
745
- display: none;
707
+ .sok-qr-img {
708
+ width: 140px;
709
+ height: 140px;
746
710
  }
747
711
 
748
- .payment-status-copy {
749
- font-size: 12px;
712
+ .sok-success-details {
713
+ padding: 12px;
750
714
  }
751
- }
715
+ }