clay-server 2.33.0 → 2.33.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.
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- User Settings — Modal dialog with left nav + right content
2
+ User Settings — Obsidian-style modal
3
3
  ========================================================================== */
4
4
 
5
5
  /* --- Overlay container --- */
@@ -17,25 +17,32 @@
17
17
  display: none;
18
18
  }
19
19
 
20
+ #user-settings .hidden {
21
+ display: none !important;
22
+ }
23
+
20
24
  /* --- Modal box --- */
21
25
  .us-modal {
22
26
  position: relative;
23
- background: var(--sidebar-bg);
24
- border: 1px solid var(--border);
25
- border-radius: 14px;
26
- width: 680px;
27
- max-width: 100%;
28
- height: min(560px, calc(100vh - 40px));
27
+ width: min(840px, calc(100vw - 40px));
28
+ height: min(620px, calc(100vh - 40px));
29
29
  display: flex;
30
30
  flex-direction: column;
31
- box-shadow: 0 8px 32px rgba(var(--shadow-rgb), 0.5);
32
- animation: usModalIn 0.2s ease-out;
33
31
  overflow: hidden;
32
+ border-radius: 18px;
33
+ border: 1px solid rgba(var(--overlay-rgb), 0.08);
34
+ background:
35
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 18%),
36
+ var(--sidebar-bg);
37
+ box-shadow:
38
+ 0 20px 60px rgba(var(--shadow-rgb), 0.55),
39
+ inset 0 1px 0 rgba(255, 255, 255, 0.03);
40
+ animation: usModalIn 0.18s ease-out;
34
41
  }
35
42
 
36
43
  @keyframes usModalIn {
37
- from { opacity: 0; transform: scale(0.95); }
38
- to { opacity: 1; transform: scale(1); }
44
+ from { opacity: 0; transform: translateY(8px) scale(0.985); }
45
+ to { opacity: 1; transform: translateY(0) scale(1); }
39
46
  }
40
47
 
41
48
  /* --- Header --- */
@@ -43,15 +50,18 @@
43
50
  display: flex;
44
51
  align-items: center;
45
52
  justify-content: space-between;
46
- padding: 16px 20px;
53
+ gap: 12px;
54
+ padding: 16px 18px 14px;
47
55
  border-bottom: 1px solid var(--border-subtle);
48
56
  flex-shrink: 0;
57
+ background: rgba(var(--overlay-rgb), 0.02);
49
58
  }
50
59
 
51
60
  .us-modal-title {
52
61
  font-size: 15px;
53
62
  font-weight: 700;
54
63
  color: var(--text);
64
+ letter-spacing: 0.01em;
55
65
  }
56
66
 
57
67
  .us-modal-close {
@@ -60,24 +70,29 @@
60
70
  justify-content: center;
61
71
  width: 32px;
62
72
  height: 32px;
63
- border: none;
64
- border-radius: 8px;
65
- background: none;
73
+ border: 1px solid transparent;
74
+ border-radius: 999px;
75
+ background: rgba(var(--overlay-rgb), 0.04);
66
76
  color: var(--text-muted);
67
77
  cursor: pointer;
68
- transition: background 0.15s, color 0.15s;
78
+ transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
69
79
  }
70
80
 
71
81
  .us-modal-close .lucide {
72
- width: 18px;
73
- height: 18px;
82
+ width: 17px;
83
+ height: 17px;
74
84
  }
75
85
 
76
86
  .us-modal-close:hover {
77
87
  background: rgba(var(--overlay-rgb), 0.08);
88
+ border-color: rgba(var(--overlay-rgb), 0.08);
78
89
  color: var(--text);
79
90
  }
80
91
 
92
+ .us-modal-close:active {
93
+ transform: scale(0.97);
94
+ }
95
+
81
96
  /* --- Body: nav + content side by side --- */
82
97
  .us-modal-body {
83
98
  display: flex;
@@ -88,17 +103,20 @@
88
103
 
89
104
  /* --- Left nav --- */
90
105
  .us-modal-nav {
91
- width: 172px;
106
+ width: 220px;
92
107
  flex-shrink: 0;
93
- padding: 12px 8px;
108
+ padding: 14px 10px;
94
109
  border-right: 1px solid var(--border-subtle);
110
+ background:
111
+ linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 24%),
112
+ rgba(var(--overlay-rgb), 0.015);
95
113
  overflow-y: auto;
96
114
  }
97
115
 
98
116
  .us-modal-nav-items {
99
117
  display: flex;
100
118
  flex-direction: column;
101
- gap: 2px;
119
+ gap: 4px;
102
120
  }
103
121
 
104
122
  .us-nav-item {
@@ -106,33 +124,38 @@
106
124
  align-items: center;
107
125
  gap: 8px;
108
126
  width: 100%;
109
- padding: 7px 10px;
110
- border: none;
111
- background: none;
127
+ padding: 8px 10px;
128
+ border: 1px solid transparent;
129
+ border-radius: 10px;
130
+ background: transparent;
112
131
  color: var(--text-muted);
113
132
  font-family: inherit;
114
133
  font-size: 13px;
115
134
  font-weight: 500;
116
135
  cursor: pointer;
117
- border-radius: 6px;
118
- transition: background 0.15s, color 0.15s;
136
+ transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
119
137
  text-align: left;
120
138
  }
121
139
 
122
140
  .us-nav-item:hover {
123
- background: rgba(var(--overlay-rgb), 0.04);
141
+ background: rgba(var(--overlay-rgb), 0.05);
124
142
  color: var(--text-secondary);
125
143
  }
126
144
 
127
145
  .us-nav-item.active {
128
- background: rgba(var(--overlay-rgb), 0.08);
146
+ background: rgba(var(--overlay-rgb), 0.09);
147
+ border-color: rgba(var(--overlay-rgb), 0.08);
129
148
  color: var(--text);
130
149
  }
131
150
 
151
+ .us-nav-item:active {
152
+ transform: translateX(1px);
153
+ }
154
+
132
155
  .us-nav-separator {
133
156
  height: 1px;
134
157
  background: var(--border-subtle);
135
- margin: 6px 10px;
158
+ margin: 8px 8px;
136
159
  }
137
160
 
138
161
  .us-nav-danger {
@@ -146,6 +169,7 @@
146
169
 
147
170
  .us-nav-danger.active {
148
171
  background: var(--error-12);
172
+ border-color: color-mix(in srgb, var(--error) 22%, transparent);
149
173
  color: var(--error);
150
174
  }
151
175
 
@@ -154,8 +178,10 @@
154
178
  flex: 1 1 auto;
155
179
  min-width: 0;
156
180
  overflow-y: auto;
157
- padding: 20px 24px;
158
- background: var(--bg);
181
+ padding: 24px 26px 26px;
182
+ background:
183
+ radial-gradient(circle at top right, rgba(var(--overlay-rgb), 0.03), transparent 36%),
184
+ var(--bg);
159
185
  }
160
186
 
161
187
  /* --- Sections --- */
@@ -168,175 +194,441 @@
168
194
  }
169
195
 
170
196
  .us-section h2 {
171
- font-size: 17px;
197
+ margin: 0 0 14px;
198
+ font-size: 18px;
172
199
  font-weight: 700;
173
200
  color: var(--text);
174
- margin: 0 0 16px;
201
+ letter-spacing: -0.01em;
175
202
  }
176
203
 
177
204
  .us-section h3 {
178
- font-size: 13px;
179
- font-weight: 600;
205
+ margin: 22px 0 10px;
206
+ font-size: 12px;
207
+ font-weight: 700;
180
208
  color: var(--text-secondary);
181
209
  text-transform: uppercase;
210
+ letter-spacing: 0.08em;
211
+ }
212
+
213
+ /* --- Settings cards --- */
214
+ #user-settings .settings-card {
215
+ margin-bottom: 14px;
216
+ overflow: hidden;
217
+ border-radius: 14px;
218
+ border: 1px solid var(--border);
219
+ background:
220
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 22%),
221
+ var(--bg-alt);
222
+ box-shadow:
223
+ inset 0 1px 0 rgba(255, 255, 255, 0.02),
224
+ 0 1px 0 rgba(var(--shadow-rgb), 0.08);
225
+ }
226
+
227
+ #user-settings .settings-card:has(.layout-switcher) {
228
+ padding: 14px;
229
+ }
230
+
231
+ #user-settings .us-account-hero {
232
+ display: flex;
233
+ align-items: center;
234
+ gap: 14px;
235
+ padding: 16px;
236
+ }
237
+
238
+ #user-settings .us-account-avatar {
239
+ position: relative;
240
+ flex-shrink: 0;
241
+ width: 56px;
242
+ height: 56px;
243
+ border-radius: 50%;
244
+ overflow: hidden;
245
+ border: 1px solid rgba(var(--overlay-rgb), 0.1);
246
+ background: var(--bg);
247
+ box-shadow:
248
+ 0 2px 10px rgba(var(--shadow-rgb), 0.14),
249
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
250
+ }
251
+
252
+ #user-settings .us-account-avatar-img {
253
+ width: 100%;
254
+ height: 100%;
255
+ display: block;
256
+ object-fit: cover;
257
+ position: relative;
258
+ z-index: 2;
259
+ }
260
+
261
+ #user-settings .us-account-avatar-fallback {
262
+ position: absolute;
263
+ inset: 0;
264
+ display: flex;
265
+ align-items: center;
266
+ justify-content: center;
267
+ font-size: 15px;
268
+ font-weight: 800;
182
269
  letter-spacing: 0.04em;
183
- margin: 20px 0 10px;
270
+ color: var(--text);
271
+ background:
272
+ radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 50%),
273
+ var(--bg-alt);
274
+ z-index: 1;
275
+ pointer-events: none;
276
+ }
277
+
278
+ #user-settings .us-account-hero-copy {
279
+ min-width: 0;
280
+ flex: 1;
281
+ }
282
+
283
+ #user-settings .us-account-name {
284
+ font-size: 17px;
285
+ font-weight: 700;
286
+ color: var(--text);
287
+ line-height: 1.2;
288
+ letter-spacing: -0.01em;
289
+ }
290
+
291
+ #user-settings .us-account-subline {
292
+ margin-top: 3px;
293
+ font-size: 13px;
294
+ color: var(--text-muted);
295
+ line-height: 1.4;
296
+ font-family: "Roboto Mono", monospace;
297
+ }
298
+
299
+ #user-settings .settings-card.settings-card-danger {
300
+ border-color: color-mix(in srgb, var(--error) 22%, var(--border));
301
+ background:
302
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 22%),
303
+ color-mix(in srgb, var(--error-12) 72%, var(--bg-alt));
304
+ }
305
+
306
+ #user-settings .settings-field {
307
+ padding: 12px 16px;
308
+ }
309
+
310
+ #user-settings .settings-field + .settings-field {
311
+ border-top: 1px solid var(--border-subtle);
312
+ }
313
+
314
+ #user-settings .settings-field-row {
315
+ display: flex;
316
+ align-items: center;
317
+ justify-content: space-between;
318
+ gap: 14px;
319
+ padding: 11px 16px;
320
+ }
321
+
322
+ #user-settings .settings-field-row + .settings-field-row {
323
+ border-top: 1px solid var(--border-subtle);
324
+ }
325
+
326
+ #user-settings .settings-field-row .settings-label,
327
+ #user-settings .settings-toggle-row .settings-label {
328
+ margin-bottom: 0;
329
+ }
330
+
331
+ #user-settings .settings-field-row .settings-value {
332
+ flex-shrink: 0;
333
+ text-align: right;
184
334
  }
185
335
 
186
- /* --- Text inputs --- */
187
- .us-text-input {
336
+ #user-settings .settings-label {
337
+ display: block;
338
+ margin-bottom: 4px;
339
+ font-size: 13px;
340
+ font-weight: 700;
341
+ color: var(--text-secondary);
342
+ }
343
+
344
+ #user-settings .settings-value {
345
+ font-size: 14px;
346
+ color: var(--text);
347
+ word-break: break-word;
348
+ }
349
+
350
+ #user-settings .settings-hint {
351
+ margin-top: 2px;
352
+ font-size: 12px;
353
+ line-height: 1.5;
354
+ color: var(--text-dimmer);
355
+ }
356
+
357
+ #user-settings .settings-mono {
358
+ font-family: "Roboto Mono", monospace;
359
+ font-size: 13px;
360
+ color: var(--text-muted);
361
+ }
362
+
363
+ /* --- Toggle rows --- */
364
+ #user-settings .settings-toggle-row {
365
+ display: flex;
366
+ align-items: center;
367
+ justify-content: space-between;
368
+ gap: 16px;
369
+ padding: 12px 16px;
370
+ cursor: pointer;
371
+ transition: background 0.15s;
372
+ }
373
+
374
+ #user-settings .settings-toggle-row + .settings-toggle-row {
375
+ border-top: 1px solid var(--border-subtle);
376
+ }
377
+
378
+ #user-settings .settings-toggle-row:hover {
379
+ background: rgba(var(--overlay-rgb), 0.02);
380
+ }
381
+
382
+ #user-settings .settings-toggle-row input {
383
+ display: none;
384
+ }
385
+
386
+ #user-settings .settings-toggle-row .toggle-track {
387
+ flex-shrink: 0;
388
+ }
389
+
390
+ /* --- Inputs / buttons --- */
391
+ #user-settings .us-text-input,
392
+ #user-settings .settings-select,
393
+ #user-settings #settings-pin-input {
188
394
  width: 100%;
189
- max-width: 320px;
190
- padding: 8px 12px;
395
+ padding: 9px 12px;
191
396
  border: 1px solid var(--border);
192
- border-radius: 6px;
397
+ border-radius: 10px;
193
398
  background: var(--bg);
194
399
  color: var(--text);
195
400
  font-family: inherit;
196
401
  font-size: 14px;
197
402
  outline: none;
198
- transition: border-color 0.15s;
199
- margin-top: 4px;
403
+ transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
404
+ }
405
+
406
+ #user-settings .settings-select {
407
+ padding-right: 34px;
408
+ -webkit-appearance: none;
409
+ appearance: none;
410
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ea8c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
411
+ background-repeat: no-repeat;
412
+ background-position: right 12px center;
413
+ background-size: 12px 12px;
414
+ }
415
+
416
+ #user-settings .us-lang-select {
417
+ margin-top: 10px;
200
418
  }
201
419
 
202
- .us-text-input:focus {
420
+ #user-settings .us-text-input:focus,
421
+ #user-settings .settings-select:focus,
422
+ #user-settings #settings-pin-input:focus {
203
423
  border-color: var(--accent);
424
+ box-shadow: 0 0 0 3px var(--accent-12);
204
425
  }
205
426
 
206
- .us-text-input::placeholder {
427
+ #user-settings .us-text-input::placeholder,
428
+ #user-settings #settings-pin-input::placeholder {
207
429
  color: var(--text-dimmer);
208
430
  }
209
431
 
210
- /* --- Buttons --- */
211
- .us-btn {
212
- padding: 8px 20px;
213
- border: none;
214
- border-radius: 6px;
432
+ #user-settings .us-btn,
433
+ #user-settings .settings-btn-sm,
434
+ #user-settings .us-email-add-btn,
435
+ #user-settings .us-email-remove-btn {
436
+ border-radius: 10px;
437
+ font-family: inherit;
438
+ transition: background 0.15s, border-color 0.15s, color 0.15s, opacity 0.15s, transform 0.15s;
439
+ }
440
+
441
+ #user-settings .us-btn {
442
+ padding: 8px 16px;
443
+ border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
215
444
  background: var(--accent);
216
445
  color: #fff;
217
- font-family: inherit;
218
- font-size: 14px;
446
+ font-size: 13px;
219
447
  font-weight: 600;
220
448
  cursor: pointer;
221
- transition: opacity 0.15s;
222
449
  }
223
450
 
224
- .us-btn:hover {
225
- opacity: 0.9;
451
+ #user-settings .us-btn:hover {
452
+ opacity: 0.95;
226
453
  }
227
454
 
228
- .us-btn:disabled {
229
- opacity: 0.4;
455
+ #user-settings .us-btn:disabled {
456
+ opacity: 0.45;
230
457
  cursor: not-allowed;
231
458
  }
232
459
 
233
- .us-btn-danger {
460
+ #user-settings .us-btn-danger {
461
+ border-color: color-mix(in srgb, var(--error) 30%, transparent);
234
462
  background: var(--error);
235
463
  }
236
464
 
237
- /* --- PIN row --- */
238
- .us-pin-row {
239
- display: flex;
240
- align-items: center;
241
- gap: 10px;
242
- margin-top: 4px;
465
+ #user-settings .settings-btn-sm {
466
+ padding: 6px 12px;
467
+ border: 1px solid var(--border);
468
+ background: var(--bg);
469
+ color: var(--text-secondary);
470
+ font-size: 13px;
471
+ font-weight: 500;
472
+ cursor: pointer;
243
473
  }
244
474
 
245
- .us-pin-input {
246
- max-width: 140px;
475
+ #user-settings .settings-btn-sm:hover {
476
+ background: rgba(var(--overlay-rgb), 0.06);
477
+ border-color: var(--text-dimmer);
478
+ color: var(--text);
479
+ }
480
+
481
+ #user-settings .settings-btn-danger {
482
+ border-color: color-mix(in srgb, var(--error) 36%, var(--border));
483
+ color: var(--error);
484
+ }
485
+
486
+ #user-settings .settings-btn-danger:hover {
487
+ background: var(--error-12);
488
+ }
489
+
490
+ #user-settings .settings-btn-ghost {
491
+ background: transparent;
492
+ border-color: transparent;
493
+ }
494
+
495
+ #user-settings .settings-btn-ghost:hover {
496
+ background: rgba(var(--overlay-rgb), 0.04);
497
+ }
498
+
499
+ /* --- PIN row --- */
500
+ #user-settings .us-pin-input {
247
501
  font-family: "Roboto Mono", monospace;
248
- letter-spacing: 4px;
502
+ letter-spacing: 0.22em;
249
503
  text-align: center;
250
504
  }
251
505
 
252
- .us-pin-msg {
253
- font-size: 13px;
506
+ #user-settings .settings-pin-form-title {
507
+ margin-bottom: 8px;
508
+ font-size: 12px;
509
+ font-weight: 700;
510
+ color: var(--text-secondary);
511
+ text-transform: uppercase;
512
+ letter-spacing: 0.08em;
513
+ }
514
+
515
+ #user-settings .settings-pin-current-row {
516
+ margin-bottom: 12px;
517
+ }
518
+
519
+ #user-settings .settings-pin-row {
520
+ display: grid;
521
+ grid-template-columns: 1fr 1fr;
522
+ gap: 10px;
523
+ }
524
+
525
+ #user-settings .settings-pin-field .us-text-input {
526
+ width: 100%;
527
+ max-width: none;
528
+ }
529
+
530
+ #user-settings .settings-pin-actions-row {
531
+ display: flex;
532
+ align-items: center;
533
+ gap: 8px;
534
+ margin-top: 12px;
535
+ flex-wrap: wrap;
536
+ }
537
+
538
+ #user-settings .settings-pin-error {
254
539
  margin-top: 8px;
255
540
  }
256
541
 
257
- .us-pin-msg.hidden {
542
+ #user-settings .settings-pin-error.hidden {
258
543
  display: none;
259
544
  }
260
545
 
261
- .us-pin-msg-ok {
262
- color: #3fb950;
546
+ #user-settings .settings-pin-error.us-pin-msg-err {
547
+ color: var(--error);
263
548
  }
264
549
 
265
- .us-pin-msg-err {
266
- color: var(--error);
550
+ /* --- Layout switcher cards --- */
551
+ #user-settings .layout-switcher {
552
+ display: grid;
553
+ grid-template-columns: 1fr 1fr;
554
+ gap: 12px;
267
555
  }
268
556
 
269
- /* --- Active state on gear button --- */
270
- #user-settings-btn.active {
271
- background: var(--sidebar-hover);
557
+ #user-settings .layout-option {
558
+ display: flex;
559
+ flex-direction: column;
560
+ align-items: center;
561
+ gap: 8px;
562
+ min-height: 136px;
563
+ padding: 18px 16px;
564
+ border: 1px solid var(--border);
565
+ border-radius: 14px;
566
+ background:
567
+ linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 30%),
568
+ var(--bg);
272
569
  color: var(--text);
570
+ cursor: pointer;
571
+ transition: border-color 0.15s, background 0.15s, transform 0.1s, box-shadow 0.15s;
572
+ text-align: center;
273
573
  }
274
574
 
275
- /* --- Mobile nav dropdown (hidden on desktop) --- */
276
- #user-settings .settings-nav-dropdown {
277
- display: none;
575
+ #user-settings .layout-option:hover {
576
+ border-color: var(--text-dimmer);
577
+ background: var(--bg-alt);
578
+ box-shadow: 0 2px 8px rgba(var(--shadow-rgb), 0.12);
278
579
  }
279
580
 
280
- /* ========== RESPONSIVE ========== */
281
- @media (max-width: 580px) {
282
- .us-modal {
283
- width: 100%;
284
- max-height: calc(100vh - 40px);
285
- border-radius: 12px;
286
- }
287
-
288
- .us-modal-body {
289
- flex-direction: column;
290
- }
581
+ #user-settings .layout-option:active {
582
+ transform: scale(0.98);
583
+ }
291
584
 
292
- .us-modal-nav {
293
- width: 100%;
294
- border-right: none;
295
- border-bottom: 1px solid var(--border-subtle);
296
- padding: 8px 12px;
297
- overflow-y: visible;
298
- }
585
+ #user-settings .layout-option.selected {
586
+ border-color: var(--accent);
587
+ background:
588
+ linear-gradient(180deg, var(--accent-8), rgba(255, 255, 255, 0)),
589
+ var(--bg-alt);
590
+ box-shadow:
591
+ inset 0 0 0 1px var(--accent-8),
592
+ 0 2px 8px rgba(var(--shadow-rgb), 0.12);
593
+ }
299
594
 
300
- .us-modal-nav-items {
301
- display: none;
302
- }
595
+ #user-settings .layout-option-icon {
596
+ font-size: 28px;
597
+ line-height: 1;
598
+ }
303
599
 
304
- #user-settings .settings-nav-dropdown {
305
- display: block;
306
- width: 100%;
307
- padding: 8px 12px;
308
- font-family: inherit;
309
- font-size: 14px;
310
- font-weight: 600;
311
- color: var(--text);
312
- background: var(--bg-alt);
313
- border: 1px solid var(--border);
314
- border-radius: 8px;
315
- cursor: pointer;
316
- }
600
+ #user-settings .layout-option-label {
601
+ font-size: 14px;
602
+ font-weight: 700;
603
+ color: var(--text);
604
+ }
317
605
 
318
- .us-modal-content {
319
- padding: 16px;
320
- }
606
+ #user-settings .layout-option-desc {
607
+ font-size: 11.5px;
608
+ line-height: 1.45;
609
+ color: var(--text-muted);
321
610
  }
322
611
 
323
612
  /* --- Email settings --- */
324
- .us-email-empty {
613
+ #user-settings .us-email-empty {
614
+ padding: 8px 0;
325
615
  color: var(--text-dimmer);
326
616
  font-size: 13px;
327
617
  text-align: center;
328
- padding: 8px 0;
329
618
  }
330
- .us-email-row {
619
+
620
+ #user-settings .us-email-row {
331
621
  display: flex;
332
622
  align-items: center;
333
623
  gap: 12px;
334
624
  padding: 12px 16px;
335
625
  }
336
- .us-email-row + .us-email-row {
626
+
627
+ #user-settings .us-email-row + .us-email-row {
337
628
  border-top: 1px solid var(--border-subtle);
338
629
  }
339
- .us-email-icon {
630
+
631
+ #user-settings .us-email-icon {
340
632
  flex-shrink: 0;
341
633
  display: flex;
342
634
  align-items: center;
@@ -344,63 +636,161 @@
344
636
  width: 24px;
345
637
  height: 24px;
346
638
  }
347
- .us-email-provider-icon {
639
+
640
+ #user-settings .us-email-provider-icon {
348
641
  width: 22px;
349
642
  height: 22px;
350
643
  object-fit: contain;
351
644
  }
352
- .us-email-provider-icon-fallback {
645
+
646
+ #user-settings .us-email-provider-icon-fallback {
353
647
  width: 20px;
354
648
  height: 20px;
355
649
  color: var(--text-dimmer);
356
650
  }
357
- .us-email-info {
651
+
652
+ #user-settings .us-email-info {
358
653
  flex: 1;
359
654
  min-width: 0;
360
655
  }
361
- .us-email-addr {
656
+
657
+ #user-settings .us-email-addr {
362
658
  font-size: 14px;
363
- font-weight: 500;
659
+ font-weight: 600;
364
660
  color: var(--text);
365
661
  overflow: hidden;
366
662
  text-overflow: ellipsis;
367
663
  white-space: nowrap;
368
664
  }
369
- .us-email-provider {
665
+
666
+ #user-settings .us-email-provider {
667
+ margin-top: 2px;
370
668
  font-size: 12px;
371
669
  color: var(--text-dimmer);
372
- margin-top: 1px;
373
670
  }
374
- .us-email-remove-btn {
375
- padding: 4px 10px;
376
- font-size: 12px;
377
- font-family: inherit;
671
+
672
+ #user-settings .us-email-remove-btn {
673
+ flex-shrink: 0;
674
+ padding: 6px 10px;
378
675
  border: 1px solid var(--border);
379
- border-radius: 6px;
380
676
  background: transparent;
381
677
  color: var(--text-muted);
678
+ font-size: 12px;
382
679
  cursor: pointer;
383
- transition: color 0.15s, border-color 0.15s;
384
- flex-shrink: 0;
385
680
  }
386
- .us-email-remove-btn:hover {
387
- color: var(--error);
681
+
682
+ #user-settings .us-email-remove-btn:hover {
388
683
  border-color: var(--error);
684
+ color: var(--error);
389
685
  }
390
- .us-email-add-btn {
686
+
687
+ #user-settings .us-email-add-btn {
391
688
  margin-top: 10px;
392
- padding: 6px 14px;
393
- font-size: 13px;
394
- font-family: inherit;
395
- font-weight: 500;
689
+ padding: 7px 14px;
396
690
  border: 1px dashed var(--border);
397
- border-radius: 8px;
398
691
  background: transparent;
399
692
  color: var(--text-muted);
693
+ font-size: 13px;
694
+ font-weight: 500;
400
695
  cursor: pointer;
401
- transition: color 0.15s, border-color 0.15s;
402
696
  }
403
- .us-email-add-btn:hover {
404
- color: var(--accent);
697
+
698
+ #user-settings .us-email-add-btn:hover {
405
699
  border-color: var(--accent);
700
+ color: var(--accent);
701
+ background: var(--accent-8);
702
+ }
703
+
704
+ /* --- Mobile nav dropdown (hidden on desktop) --- */
705
+ #user-settings .settings-nav-dropdown {
706
+ display: none;
707
+ }
708
+
709
+ /* --- Active state on gear button --- */
710
+ #user-settings-btn.active {
711
+ background: var(--sidebar-hover);
712
+ color: var(--text);
713
+ }
714
+
715
+ /* ========== RESPONSIVE ========== */
716
+ @media (max-width: 580px) {
717
+ #user-settings {
718
+ padding: 12px;
719
+ }
720
+
721
+ .us-modal {
722
+ width: 100%;
723
+ height: calc(100vh - 24px);
724
+ border-radius: 14px;
725
+ }
726
+
727
+ .us-modal-body {
728
+ flex-direction: column;
729
+ }
730
+
731
+ .us-modal-nav {
732
+ width: 100%;
733
+ border-right: none;
734
+ border-bottom: 1px solid var(--border-subtle);
735
+ padding: 10px 12px;
736
+ overflow-y: visible;
737
+ }
738
+
739
+ .us-modal-nav-items {
740
+ display: none;
741
+ }
742
+
743
+ #user-settings .settings-nav-dropdown {
744
+ display: block;
745
+ width: 100%;
746
+ padding: 9px 12px;
747
+ font-family: inherit;
748
+ font-size: 14px;
749
+ font-weight: 600;
750
+ color: var(--text);
751
+ background: var(--bg-alt);
752
+ border: 1px solid var(--border);
753
+ border-radius: 10px;
754
+ cursor: pointer;
755
+ }
756
+
757
+ .us-modal-content {
758
+ padding: 18px 16px 20px;
759
+ }
760
+
761
+ #user-settings .layout-switcher {
762
+ grid-template-columns: 1fr;
763
+ }
764
+
765
+ #user-settings .us-account-hero {
766
+ align-items: flex-start;
767
+ }
768
+
769
+ #user-settings .settings-field-row {
770
+ flex-direction: column;
771
+ align-items: flex-start;
772
+ }
773
+
774
+ #user-settings .settings-field-row .settings-value {
775
+ text-align: left;
776
+ }
777
+
778
+ #user-settings .us-account-badge {
779
+ padding-left: 0;
780
+ padding-right: 0;
781
+ background: transparent;
782
+ }
783
+
784
+ #user-settings .us-pin-input {
785
+ max-width: none;
786
+ }
787
+
788
+ #user-settings .settings-pin-row {
789
+ grid-template-columns: 1fr;
790
+ }
791
+
792
+ #user-settings .settings-pin-actions-row {
793
+ flex-direction: column;
794
+ align-items: stretch;
795
+ }
406
796
  }