@metropolle/design-system 1.2026.0-1.3.159 → 1.2026.0-1.4.1227

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.
@@ -178,6 +178,18 @@
178
178
  box-shadow: var(--mds-spacing-shadow-glass-lightHover);
179
179
  }
180
180
 
181
+ .mds-button--danger {
182
+ background: var(--mds-color-error, #dc2626);
183
+ color: #ffffff;
184
+ border: 1px solid transparent;
185
+ }
186
+
187
+ .mds-button--danger:hover:not(:disabled) {
188
+ background: #b91c1c;
189
+ transform: var(--mds-effects-transform-hoverUp);
190
+ box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3);
191
+ }
192
+
181
193
  /* Button Icons */
182
194
  .mds-button__icon {
183
195
  display: inline-flex;
@@ -894,6 +906,15 @@ html body div.mds-dropdown select.mds-select-themed {
894
906
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
895
907
  }
896
908
 
909
+ /* Readonly input display (non-editable) */
910
+ .mds-input-readonly {
911
+ padding: 10px 12px;
912
+ background-color: rgba(255, 255, 255, 0.05);
913
+ border-radius: 6px;
914
+ color: var(--mds-color-text-secondary, var(--text-secondary));
915
+ font-size: 0.95rem;
916
+ }
917
+
897
918
  /* Textarea specific styles */
898
919
  .mds-textarea {
899
920
  resize: vertical;
@@ -1343,6 +1364,145 @@ html[data-theme="light"] .mds-select-option--empty {
1343
1364
  gap: var(--mds-spacing-xl);
1344
1365
  }
1345
1366
 
1367
+ /* Dashboard Progress Bars */
1368
+ .mds-progress-row {
1369
+ display: flex;
1370
+ align-items: center;
1371
+ gap: 15px;
1372
+ }
1373
+
1374
+ .mds-progress-label {
1375
+ width: 120px;
1376
+ font-size: 0.9rem;
1377
+ color: var(--mds-color-text-secondary);
1378
+ overflow: hidden;
1379
+ text-overflow: ellipsis;
1380
+ white-space: nowrap;
1381
+ }
1382
+
1383
+ .mds-progress-label--wide { width: 200px; }
1384
+
1385
+ .mds-progress-track {
1386
+ flex: 1;
1387
+ height: 8px;
1388
+ background: var(--mds-color-border, rgba(128, 128, 128, 0.2));
1389
+ border-radius: 4px;
1390
+ overflow: hidden;
1391
+ }
1392
+
1393
+ .mds-progress-fill {
1394
+ height: 100%;
1395
+ border-radius: 4px;
1396
+ transition: width 0.3s ease;
1397
+ }
1398
+
1399
+ .mds-progress-fill--blue { background: linear-gradient(90deg, #007bff, #0056b3); }
1400
+ .mds-progress-fill--green { background: linear-gradient(90deg, #28a745, #20c997); }
1401
+ .mds-progress-fill--yellow { background: linear-gradient(90deg, #ffc107, #fd7e14); }
1402
+
1403
+ .mds-progress-value {
1404
+ width: 60px;
1405
+ text-align: right;
1406
+ font-size: 0.9rem;
1407
+ color: var(--mds-color-text-primary);
1408
+ font-weight: 500;
1409
+ }
1410
+
1411
+ /* Dashboard Stat Items (themed) */
1412
+ .mds-stat-box {
1413
+ padding: 15px;
1414
+ background: var(--mds-stat-box-bg, rgba(255, 255, 255, 0.05));
1415
+ border-radius: 8px;
1416
+ text-align: center;
1417
+ border: var(--mds-stat-box-border, none);
1418
+ }
1419
+
1420
+ html[data-theme="light"] .mds-stat-box {
1421
+ --mds-stat-box-bg: rgba(0, 0, 0, 0.03);
1422
+ --mds-stat-box-border: 1px solid rgba(0, 0, 0, 0.1);
1423
+ }
1424
+
1425
+ .mds-stat-box__value {
1426
+ font-size: 1.5rem;
1427
+ font-weight: 600;
1428
+ margin-bottom: 5px;
1429
+ color: var(--mds-color-text-primary);
1430
+ }
1431
+
1432
+ .mds-stat-box__label {
1433
+ font-size: 0.8rem;
1434
+ color: var(--mds-color-text-secondary);
1435
+ }
1436
+
1437
+ /* Dashboard Activity Items */
1438
+ .mds-activity-item {
1439
+ display: flex;
1440
+ align-items: center;
1441
+ gap: 15px;
1442
+ padding: 15px;
1443
+ background: var(--mds-color-border-light, rgba(128, 128, 128, 0.1));
1444
+ border-radius: 8px;
1445
+ transition: all 0.3s ease;
1446
+ }
1447
+
1448
+ .mds-activity-icon {
1449
+ font-size: 1.5rem;
1450
+ width: 40px;
1451
+ height: 40px;
1452
+ display: flex;
1453
+ align-items: center;
1454
+ justify-content: center;
1455
+ background: var(--mds-color-border, rgba(128, 128, 128, 0.2));
1456
+ border-radius: 8px;
1457
+ }
1458
+
1459
+ .mds-activity-content { flex: 1; }
1460
+
1461
+ .mds-activity-text {
1462
+ font-size: 0.9rem;
1463
+ color: var(--mds-color-text-primary);
1464
+ margin-bottom: 5px;
1465
+ }
1466
+
1467
+ .mds-activity-time {
1468
+ font-size: 0.8rem;
1469
+ color: var(--mds-color-text-tertiary, var(--mds-color-text-secondary));
1470
+ }
1471
+
1472
+ .mds-activity-status {
1473
+ padding: 4px 12px;
1474
+ border-radius: 12px;
1475
+ font-size: 0.8rem;
1476
+ font-weight: 500;
1477
+ background: rgba(40, 167, 69, 0.2);
1478
+ color: #28a745;
1479
+ }
1480
+
1481
+ /* Dashboard Card Header */
1482
+ .mds-card-header {
1483
+ margin-bottom: 25px;
1484
+ font-size: 1.5rem;
1485
+ font-weight: 600;
1486
+ color: inherit;
1487
+ }
1488
+
1489
+ .mds-card-header--sm { font-size: 1.25rem; margin-bottom: 15px; }
1490
+
1491
+ /* Card Title/Subtitle */
1492
+ .mds-card-title {
1493
+ margin: 0 0 0.5rem 0;
1494
+ font-size: 1.25rem;
1495
+ font-weight: 600;
1496
+ color: var(--mds-color-text-primary, inherit);
1497
+ }
1498
+
1499
+ .mds-card-subtitle {
1500
+ margin: 0;
1501
+ font-size: 0.9rem;
1502
+ opacity: 0.8;
1503
+ color: var(--mds-color-text-secondary, inherit);
1504
+ }
1505
+
1346
1506
  /* ========================================
1347
1507
  Layout Utility Classes - @back optimization
1348
1508
  ======================================== */
@@ -1799,3 +1959,1374 @@ html[data-theme="light"] .mds-navbar-user-badge {
1799
1959
  font-size: var(--mds-typography-fontSize-sm);
1800
1960
  word-break: break-all;
1801
1961
  }
1962
+
1963
+ /* ========================================
1964
+ Settings Page Components - PROC-007 Fase 3
1965
+ ======================================== */
1966
+
1967
+ /* Page container */
1968
+ .mds-page-container {
1969
+ max-width: 1200px;
1970
+ margin: 0 auto;
1971
+ padding: var(--mds-spacing-lg);
1972
+ display: flex;
1973
+ flex-direction: column;
1974
+ gap: var(--mds-spacing-lg);
1975
+ }
1976
+
1977
+ /* Tabs Navigation */
1978
+ .mds-tabs {
1979
+ display: flex;
1980
+ flex-wrap: wrap;
1981
+ gap: 4px;
1982
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1983
+ padding-bottom: 0;
1984
+ }
1985
+
1986
+ html[data-theme="light"] .mds-tabs {
1987
+ border-bottom-color: rgba(0, 0, 0, 0.1);
1988
+ }
1989
+
1990
+ .mds-tab {
1991
+ padding: 12px 20px;
1992
+ border: none;
1993
+ background: transparent;
1994
+ color: var(--mds-color-text-secondary);
1995
+ cursor: pointer;
1996
+ font-size: 0.95rem;
1997
+ font-weight: 400;
1998
+ font-family: var(--mds-typography-fontFamily-brand);
1999
+ border-bottom: 2px solid transparent;
2000
+ margin-bottom: -1px;
2001
+ transition: all 0.2s;
2002
+ white-space: nowrap;
2003
+ }
2004
+
2005
+ .mds-tab:hover {
2006
+ color: var(--mds-color-text-primary);
2007
+ }
2008
+
2009
+ .mds-tab--active {
2010
+ background: rgba(59, 130, 246, 0.1);
2011
+ color: var(--mds-color-info);
2012
+ font-weight: 600;
2013
+ border-bottom-color: var(--mds-color-info);
2014
+ }
2015
+
2016
+ /* Settings Card (bordered sections) */
2017
+ .mds-settings-card {
2018
+ padding: 20px;
2019
+ border: 1px solid rgba(255, 255, 255, 0.1);
2020
+ border-radius: 12px;
2021
+ background: rgba(255, 255, 255, 0.05);
2022
+ }
2023
+
2024
+ html[data-theme="light"] .mds-settings-card {
2025
+ border-color: rgba(0, 0, 0, 0.1);
2026
+ background: rgba(0, 0, 0, 0.02);
2027
+ }
2028
+
2029
+ /* Key-Value Pair Display */
2030
+ .mds-kv-row {
2031
+ display: flex;
2032
+ justify-content: space-between;
2033
+ align-items: center;
2034
+ padding: 2px 0;
2035
+ font-size: 0.9rem;
2036
+ }
2037
+
2038
+ .mds-kv-label {
2039
+ color: var(--mds-color-text-secondary);
2040
+ }
2041
+
2042
+ .mds-kv-value {
2043
+ font-weight: 600;
2044
+ color: var(--mds-color-text-primary);
2045
+ }
2046
+
2047
+ /* Status Box (colored background indicators) */
2048
+ .mds-status-box {
2049
+ display: flex;
2050
+ align-items: center;
2051
+ gap: 12px;
2052
+ padding: 16px;
2053
+ border-radius: 8px;
2054
+ border: 1px solid;
2055
+ }
2056
+
2057
+ .mds-status-box--loading {
2058
+ background-color: rgba(156, 163, 175, 0.1);
2059
+ border-color: rgba(156, 163, 175, 0.2);
2060
+ }
2061
+
2062
+ .mds-status-box--success {
2063
+ background-color: rgba(16, 185, 129, 0.1);
2064
+ border-color: rgba(16, 185, 129, 0.2);
2065
+ }
2066
+
2067
+ .mds-status-box--error {
2068
+ background-color: rgba(239, 68, 68, 0.1);
2069
+ border-color: rgba(239, 68, 68, 0.2);
2070
+ }
2071
+
2072
+ .mds-status-box--warning {
2073
+ background-color: rgba(245, 158, 11, 0.1);
2074
+ border-color: rgba(245, 158, 11, 0.2);
2075
+ }
2076
+
2077
+ .mds-status-box--info {
2078
+ background-color: rgba(59, 130, 246, 0.1);
2079
+ border-color: rgba(59, 130, 246, 0.2);
2080
+ }
2081
+
2082
+ .mds-status-box__icon {
2083
+ font-size: 1.5rem;
2084
+ }
2085
+
2086
+ .mds-status-box__content {
2087
+ flex: 1;
2088
+ }
2089
+
2090
+ .mds-status-box__title {
2091
+ font-weight: 600;
2092
+ }
2093
+
2094
+ .mds-status-box__title--loading { color: var(--mds-color-text-secondary); }
2095
+ .mds-status-box__title--success { color: var(--mds-color-success); }
2096
+ .mds-status-box__title--error { color: var(--mds-color-error); }
2097
+ .mds-status-box__title--warning { color: var(--mds-color-warning); }
2098
+ .mds-status-box__title--info { color: var(--mds-color-info); }
2099
+
2100
+ .mds-status-box__subtitle {
2101
+ font-size: 0.85rem;
2102
+ color: var(--mds-color-text-secondary);
2103
+ margin-top: 4px;
2104
+ }
2105
+
2106
+ /* Info Panel (blue informational box) */
2107
+ .mds-info-panel {
2108
+ padding: 16px;
2109
+ border-radius: 8px;
2110
+ background-color: rgba(59, 130, 246, 0.1);
2111
+ border: 1px solid rgba(59, 130, 246, 0.2);
2112
+ }
2113
+
2114
+ .mds-info-panel__header {
2115
+ display: flex;
2116
+ align-items: center;
2117
+ gap: 8px;
2118
+ margin-bottom: 8px;
2119
+ }
2120
+
2121
+ .mds-info-panel__icon {
2122
+ font-size: 1.2rem;
2123
+ }
2124
+
2125
+ .mds-info-panel__title {
2126
+ font-weight: 600;
2127
+ color: var(--mds-color-text-primary);
2128
+ }
2129
+
2130
+ .mds-info-panel__content {
2131
+ font-size: 0.85rem;
2132
+ color: var(--mds-color-text-secondary);
2133
+ line-height: 1.5;
2134
+ }
2135
+
2136
+ /* Error Panel (red error box) */
2137
+ .mds-error-panel {
2138
+ padding: 12px 16px;
2139
+ border-radius: 8px;
2140
+ background-color: rgba(239, 68, 68, 0.1);
2141
+ border: 1px solid rgba(239, 68, 68, 0.3);
2142
+ color: var(--mds-color-error);
2143
+ }
2144
+
2145
+ /* Danger Section (for delete account, etc.) */
2146
+ .mds-danger-section {
2147
+ padding: 20px;
2148
+ border: 1px solid rgba(239, 68, 68, 0.3);
2149
+ border-radius: 12px;
2150
+ background-color: rgba(239, 68, 68, 0.05);
2151
+ }
2152
+
2153
+ .mds-danger-section__title {
2154
+ color: var(--mds-color-error);
2155
+ margin-bottom: 8px;
2156
+ }
2157
+
2158
+ /* Section Header with Icon */
2159
+ .mds-section-header {
2160
+ display: flex;
2161
+ align-items: center;
2162
+ gap: 16px;
2163
+ margin-bottom: 20px;
2164
+ }
2165
+
2166
+ .mds-section-header__icon {
2167
+ font-size: 2rem;
2168
+ }
2169
+
2170
+ .mds-section-header__content {
2171
+ flex: 1;
2172
+ }
2173
+
2174
+ .mds-section-header__title {
2175
+ margin-bottom: 4px;
2176
+ }
2177
+
2178
+ .mds-section-header__subtitle {
2179
+ color: var(--mds-color-text-secondary);
2180
+ }
2181
+
2182
+ /* Grid layouts */
2183
+ .mds-grid-auto {
2184
+ display: grid;
2185
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
2186
+ gap: 20px;
2187
+ }
2188
+
2189
+ .mds-grid-auto-sm {
2190
+ display: grid;
2191
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
2192
+ gap: 16px;
2193
+ }
2194
+
2195
+ /* Notification/Alert variants */
2196
+ .mds-notification {
2197
+ padding: 16px;
2198
+ border-radius: 8px;
2199
+ display: flex;
2200
+ align-items: center;
2201
+ gap: 12px;
2202
+ }
2203
+
2204
+ .mds-notification--success {
2205
+ background-color: rgba(16, 185, 129, 0.1);
2206
+ border-left: 4px solid var(--mds-color-success);
2207
+ }
2208
+
2209
+ .mds-notification--error {
2210
+ background-color: rgba(239, 68, 68, 0.1);
2211
+ border-left: 4px solid var(--mds-color-error);
2212
+ }
2213
+
2214
+ .mds-notification__icon {
2215
+ font-size: 1.2rem;
2216
+ }
2217
+
2218
+ /* Search counter */
2219
+ .mds-search-counter {
2220
+ font-size: 0.9rem;
2221
+ color: var(--mds-color-text-secondary);
2222
+ font-weight: 500;
2223
+ white-space: nowrap;
2224
+ }
2225
+
2226
+ /* Width utilities */
2227
+ .mds-w-full { width: 100%; }
2228
+ .mds-w-auto { width: auto; }
2229
+ .mds-max-w-sm { max-width: 400px; }
2230
+ .mds-max-w-md { max-width: 600px; }
2231
+ .mds-max-w-lg { max-width: 800px; }
2232
+
2233
+ /* Margin auto utilities */
2234
+ .mds-ml-auto { margin-left: auto; }
2235
+ .mds-mr-auto { margin-right: auto; }
2236
+ .mds-mx-auto { margin-left: auto; margin-right: auto; }
2237
+
2238
+ /* Margin top utilities */
2239
+ .mds-mt-xs { margin-top: var(--mds-spacing-xs); }
2240
+ .mds-mt-sm { margin-top: var(--mds-spacing-sm); }
2241
+ .mds-mt-md { margin-top: var(--mds-spacing-md); }
2242
+ .mds-mt-lg { margin-top: var(--mds-spacing-lg); }
2243
+ .mds-mt-xl { margin-top: var(--mds-spacing-xl); }
2244
+
2245
+ /* Text utilities */
2246
+ .mds-text-secondary { color: var(--mds-color-text-secondary); }
2247
+ .mds-text-success { color: var(--mds-color-success); }
2248
+ .mds-text-error { color: var(--mds-color-error); }
2249
+ .mds-text-warning { color: var(--mds-color-warning); }
2250
+ .mds-text-info { color: var(--mds-color-info); }
2251
+
2252
+ .mds-text-sm { font-size: 0.85rem; }
2253
+ .mds-text-xs { font-size: 0.75rem; }
2254
+ .mds-text-lg { font-size: 1.1rem; }
2255
+
2256
+ .mds-font-medium { font-weight: 500; }
2257
+ .mds-font-semibold { font-weight: 600; }
2258
+ .mds-font-bold { font-weight: 700; }
2259
+
2260
+ /* Box sizing */
2261
+ .mds-box-border { box-sizing: border-box; }
2262
+
2263
+ /* Overflow */
2264
+ .mds-overflow-hidden { overflow: hidden; }
2265
+
2266
+ /* Zero padding */
2267
+ .mds-p-0 { padding: 0; }
2268
+
2269
+ /* ============================================
2270
+ PROC-007 Phase 5: Deep Cleanup Classes
2271
+ ============================================ */
2272
+
2273
+ /* ---------- Badges (Status Indicators) ---------- */
2274
+ .mds-badge {
2275
+ display: inline-flex;
2276
+ align-items: center;
2277
+ justify-content: center;
2278
+ padding: 4px 10px;
2279
+ font-size: 12px;
2280
+ font-weight: 500;
2281
+ line-height: 1;
2282
+ border-radius: 12px;
2283
+ white-space: nowrap;
2284
+ }
2285
+
2286
+ .mds-badge--sm {
2287
+ padding: 2px 8px;
2288
+ font-size: 11px;
2289
+ }
2290
+
2291
+ .mds-badge--lg {
2292
+ padding: 6px 14px;
2293
+ font-size: 13px;
2294
+ }
2295
+
2296
+ .mds-badge--success {
2297
+ background-color: rgba(16, 185, 129, 0.15);
2298
+ color: var(--mds-color-success, #10b981);
2299
+ }
2300
+
2301
+ .mds-badge--warning {
2302
+ background-color: rgba(245, 158, 11, 0.15);
2303
+ color: var(--mds-color-warning, #f59e0b);
2304
+ }
2305
+
2306
+ .mds-badge--danger {
2307
+ background-color: rgba(239, 68, 68, 0.15);
2308
+ color: var(--mds-color-error, #ef4444);
2309
+ }
2310
+
2311
+ .mds-badge--info {
2312
+ background-color: rgba(59, 130, 246, 0.15);
2313
+ color: var(--mds-color-info, #3b82f6);
2314
+ }
2315
+
2316
+ .mds-badge--neutral {
2317
+ background-color: rgba(156, 163, 175, 0.15);
2318
+ color: var(--mds-color-text-secondary, #9ca3af);
2319
+ }
2320
+
2321
+ /* ---------- Code/Monospace Elements ---------- */
2322
+ .mds-code {
2323
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2324
+ font-size: 12px;
2325
+ background-color: rgba(0, 0, 0, 0.1);
2326
+ padding: 2px 6px;
2327
+ border-radius: 4px;
2328
+ }
2329
+
2330
+ .mds-code-block {
2331
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2332
+ font-size: 12px;
2333
+ background-color: rgba(0, 0, 0, 0.2);
2334
+ padding: 12px 16px;
2335
+ border-radius: 8px;
2336
+ overflow-x: auto;
2337
+ white-space: pre;
2338
+ margin: 0;
2339
+ }
2340
+
2341
+ .mds-code-box {
2342
+ background-color: rgba(0, 0, 0, 0.15);
2343
+ border: 1px solid rgba(255, 255, 255, 0.1);
2344
+ border-radius: 8px;
2345
+ padding: 12px 16px;
2346
+ overflow: auto;
2347
+ max-height: 300px;
2348
+ }
2349
+
2350
+ .mds-code-box pre {
2351
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2352
+ font-size: 11px;
2353
+ line-height: 1.5;
2354
+ margin: 0;
2355
+ white-space: pre-wrap;
2356
+ word-break: break-all;
2357
+ color: var(--mds-color-text-primary);
2358
+ }
2359
+
2360
+ /* ---------- Diff Display (Audit Logs) ---------- */
2361
+ .mds-diff {
2362
+ display: grid;
2363
+ grid-template-columns: 1fr auto 1fr;
2364
+ gap: 12px;
2365
+ align-items: center;
2366
+ }
2367
+
2368
+ .mds-diff-label {
2369
+ font-size: 11px;
2370
+ color: var(--mds-color-text-secondary);
2371
+ margin-bottom: 4px;
2372
+ }
2373
+
2374
+ .mds-diff-value {
2375
+ padding: 8px 12px;
2376
+ border-radius: 6px;
2377
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2378
+ font-size: 12px;
2379
+ word-break: break-all;
2380
+ }
2381
+
2382
+ .mds-diff-before {
2383
+ background-color: rgba(239, 68, 68, 0.1);
2384
+ border: 1px solid rgba(239, 68, 68, 0.2);
2385
+ color: var(--mds-color-error);
2386
+ }
2387
+
2388
+ .mds-diff-after {
2389
+ background-color: rgba(16, 185, 129, 0.1);
2390
+ border: 1px solid rgba(16, 185, 129, 0.2);
2391
+ color: var(--mds-color-success);
2392
+ }
2393
+
2394
+ .mds-diff-arrow {
2395
+ color: var(--mds-color-text-secondary);
2396
+ font-size: 18px;
2397
+ }
2398
+
2399
+ /* ---------- Change Item (Field Change in Audit) ---------- */
2400
+ .mds-change-item {
2401
+ background-color: rgba(255, 255, 255, 0.03);
2402
+ border: 1px solid rgba(255, 255, 255, 0.1);
2403
+ border-radius: 8px;
2404
+ padding: 12px;
2405
+ }
2406
+
2407
+ .mds-change-item--modified {
2408
+ background-color: rgba(59, 130, 246, 0.05);
2409
+ border-color: rgba(59, 130, 246, 0.2);
2410
+ }
2411
+
2412
+ .mds-change-header {
2413
+ display: flex;
2414
+ align-items: center;
2415
+ gap: 8px;
2416
+ margin-bottom: 8px;
2417
+ }
2418
+
2419
+ .mds-change-field {
2420
+ color: var(--mds-color-text-secondary);
2421
+ font-size: 12px;
2422
+ font-weight: 600;
2423
+ text-transform: capitalize;
2424
+ }
2425
+
2426
+ .mds-change-type {
2427
+ font-size: 10px;
2428
+ padding: 2px 6px;
2429
+ border-radius: 4px;
2430
+ font-weight: 500;
2431
+ }
2432
+
2433
+ .mds-change-type--modified {
2434
+ background-color: rgba(59, 130, 246, 0.2);
2435
+ color: var(--mds-color-info);
2436
+ }
2437
+
2438
+ .mds-change-type--added {
2439
+ background-color: rgba(16, 185, 129, 0.2);
2440
+ color: var(--mds-color-success);
2441
+ }
2442
+
2443
+ .mds-change-type--removed {
2444
+ background-color: rgba(239, 68, 68, 0.2);
2445
+ color: var(--mds-color-error);
2446
+ }
2447
+
2448
+ /* ---------- Table Utilities ---------- */
2449
+ .mds-table {
2450
+ width: 100%;
2451
+ border-collapse: collapse;
2452
+ }
2453
+
2454
+ .mds-th {
2455
+ padding: 14px 16px;
2456
+ text-align: left;
2457
+ font-weight: 600;
2458
+ font-size: 0.85rem;
2459
+ color: var(--mds-color-text-primary);
2460
+ background-color: rgba(255, 255, 255, 0.05);
2461
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
2462
+ }
2463
+
2464
+ .mds-th--center { text-align: center; }
2465
+ .mds-th--right { text-align: right; }
2466
+
2467
+ .mds-td {
2468
+ padding: 12px 16px;
2469
+ color: var(--mds-color-text-primary);
2470
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2471
+ }
2472
+
2473
+ .mds-td--center { text-align: center; }
2474
+ .mds-td--right { text-align: right; }
2475
+ .mds-td--secondary { color: var(--mds-color-text-secondary); }
2476
+ .mds-td--small { font-size: 0.9rem; }
2477
+
2478
+ .mds-tr:hover {
2479
+ background-color: rgba(255, 255, 255, 0.03);
2480
+ }
2481
+
2482
+ .mds-tr--striped:nth-child(even) {
2483
+ background-color: rgba(255, 255, 255, 0.02);
2484
+ }
2485
+
2486
+ .mds-table-empty {
2487
+ padding: 40px;
2488
+ text-align: center;
2489
+ color: var(--mds-color-text-secondary);
2490
+ }
2491
+
2492
+ /* ---------- Action Button Groups ---------- */
2493
+ .mds-action-group {
2494
+ display: flex;
2495
+ gap: 2px;
2496
+ justify-content: center;
2497
+ align-items: center;
2498
+ }
2499
+
2500
+ .mds-action-btn {
2501
+ padding: 6px 10px;
2502
+ font-size: 12px;
2503
+ font-weight: 500;
2504
+ border: none;
2505
+ border-radius: 6px;
2506
+ cursor: pointer;
2507
+ transition: all 0.2s ease;
2508
+ display: flex;
2509
+ align-items: center;
2510
+ gap: 4px;
2511
+ }
2512
+
2513
+ .mds-action-btn--view {
2514
+ background-color: rgba(59, 130, 246, 0.15);
2515
+ color: var(--mds-color-info);
2516
+ }
2517
+
2518
+ .mds-action-btn--view:hover {
2519
+ background-color: rgba(59, 130, 246, 0.25);
2520
+ }
2521
+
2522
+ .mds-action-btn--edit {
2523
+ background-color: rgba(245, 158, 11, 0.15);
2524
+ color: var(--mds-color-warning);
2525
+ }
2526
+
2527
+ .mds-action-btn--edit:hover {
2528
+ background-color: rgba(245, 158, 11, 0.25);
2529
+ }
2530
+
2531
+ .mds-action-btn--delete {
2532
+ background-color: rgba(239, 68, 68, 0.15);
2533
+ color: var(--mds-color-error);
2534
+ }
2535
+
2536
+ .mds-action-btn--delete:hover {
2537
+ background-color: rgba(239, 68, 68, 0.25);
2538
+ }
2539
+
2540
+ /* ---------- Avatar/User Icon ---------- */
2541
+ .mds-avatar {
2542
+ display: flex;
2543
+ align-items: center;
2544
+ justify-content: center;
2545
+ width: 40px;
2546
+ height: 40px;
2547
+ border-radius: 50%;
2548
+ background-color: rgba(59, 130, 246, 0.15);
2549
+ color: var(--mds-color-info);
2550
+ font-weight: 600;
2551
+ font-size: 1rem;
2552
+ }
2553
+
2554
+ .mds-avatar--sm {
2555
+ width: 32px;
2556
+ height: 32px;
2557
+ font-size: 0.85rem;
2558
+ }
2559
+
2560
+ .mds-avatar--lg {
2561
+ width: 56px;
2562
+ height: 56px;
2563
+ font-size: 1.5rem;
2564
+ }
2565
+
2566
+ /* ---------- User Row (Table Cell with Avatar) ---------- */
2567
+ .mds-user-row {
2568
+ display: flex;
2569
+ align-items: center;
2570
+ gap: 12px;
2571
+ }
2572
+
2573
+ .mds-user-row__avatar {
2574
+ width: 32px;
2575
+ height: 32px;
2576
+ border-radius: 50%;
2577
+ -o-object-fit: cover;
2578
+ object-fit: cover;
2579
+ }
2580
+
2581
+ .mds-user-row__fallback {
2582
+ width: 32px;
2583
+ height: 32px;
2584
+ border-radius: 50%;
2585
+ background-color: rgba(59, 130, 246, 0.15);
2586
+ color: var(--mds-color-info);
2587
+ display: flex;
2588
+ align-items: center;
2589
+ justify-content: center;
2590
+ font-weight: 600;
2591
+ font-size: 14px;
2592
+ }
2593
+
2594
+ /* ---------- Link Styles ---------- */
2595
+ .mds-link {
2596
+ color: var(--mds-color-info, #3b82f6);
2597
+ text-decoration: none;
2598
+ transition: color 0.2s ease;
2599
+ }
2600
+
2601
+ .mds-link:hover {
2602
+ text-decoration: underline;
2603
+ }
2604
+
2605
+ .mds-link--underline {
2606
+ text-decoration: underline;
2607
+ }
2608
+
2609
+ /* ---------- Cookie Banner ---------- */
2610
+ .mds-cookie-banner {
2611
+ position: fixed;
2612
+ bottom: 0;
2613
+ left: 0;
2614
+ right: 0;
2615
+ z-index: 9999;
2616
+ padding: 1rem;
2617
+ transition: transform 0.3s ease-out, opacity 0.3s ease-out;
2618
+ }
2619
+
2620
+ .mds-cookie-banner--hidden {
2621
+ transform: translateY(100%);
2622
+ opacity: 0;
2623
+ }
2624
+
2625
+ .mds-cookie-banner--visible {
2626
+ transform: translateY(0);
2627
+ opacity: 1;
2628
+ }
2629
+
2630
+ .mds-cookie-banner__content {
2631
+ max-width: 600px;
2632
+ margin: 0 auto;
2633
+ padding: 1.25rem;
2634
+ background: var(--mds-liquid-bg-elevated);
2635
+ backdrop-filter: blur(20px) saturate(180%);
2636
+ -webkit-backdrop-filter: blur(20px) saturate(180%);
2637
+ border-radius: 12px;
2638
+ border: 1px solid var(--mds-liquid-border-subtle);
2639
+ box-shadow: var(--mds-liquid-shadow-floating);
2640
+ }
2641
+
2642
+ .mds-cookie-banner__title {
2643
+ margin: 0 0 0.5rem 0;
2644
+ font-size: 1rem;
2645
+ font-weight: 600;
2646
+ color: var(--mds-color-text-primary);
2647
+ }
2648
+
2649
+ .mds-cookie-banner__text {
2650
+ margin: 0;
2651
+ font-size: 0.875rem;
2652
+ color: var(--mds-color-text-secondary);
2653
+ line-height: 1.5;
2654
+ }
2655
+
2656
+ .mds-cookie-banner__actions {
2657
+ display: flex;
2658
+ gap: 0.75rem;
2659
+ flex-wrap: wrap;
2660
+ justify-content: flex-end;
2661
+ }
2662
+
2663
+ /* ---------- Ghost Button (for banners) ---------- */
2664
+ .mds-btn-ghost {
2665
+ padding: 0.625rem 1.25rem;
2666
+ font-size: 0.875rem;
2667
+ font-weight: 500;
2668
+ color: var(--mds-color-text-secondary);
2669
+ background: transparent;
2670
+ border: 1px solid var(--mds-liquid-border-subtle, rgba(255, 255, 255, 0.3));
2671
+ border-radius: 8px;
2672
+ cursor: pointer;
2673
+ transition: all 0.2s ease;
2674
+ }
2675
+
2676
+ .mds-btn-ghost:hover {
2677
+ background: var(--mds-liquid-bg-hover, rgba(255, 255, 255, 0.1));
2678
+ }
2679
+
2680
+ .mds-btn-solid {
2681
+ padding: 0.625rem 1.25rem;
2682
+ font-size: 0.875rem;
2683
+ font-weight: 500;
2684
+ color: white;
2685
+ background: var(--mds-color-primary, #007AFF);
2686
+ border: none;
2687
+ border-radius: 8px;
2688
+ cursor: pointer;
2689
+ transition: all 0.2s ease;
2690
+ }
2691
+
2692
+ .mds-btn-solid:hover {
2693
+ opacity: 0.9;
2694
+ }
2695
+
2696
+ /* ---------- Icon Buttons (Action Buttons in Tables) ---------- */
2697
+ .mds-icon-btn {
2698
+ background: transparent;
2699
+ border: none;
2700
+ padding: 6px;
2701
+ border-radius: 4px;
2702
+ cursor: pointer;
2703
+ display: flex;
2704
+ align-items: center;
2705
+ justify-content: center;
2706
+ transition: all 0.2s ease;
2707
+ }
2708
+
2709
+ .mds-icon-btn:disabled {
2710
+ cursor: not-allowed;
2711
+ opacity: 0.5;
2712
+ }
2713
+
2714
+ .mds-icon-btn--info {
2715
+ color: var(--mds-color-info);
2716
+ }
2717
+
2718
+ .mds-icon-btn--info:hover:not(:disabled) {
2719
+ background-color: rgba(59, 130, 246, 0.15);
2720
+ }
2721
+
2722
+ .mds-icon-btn--success {
2723
+ color: var(--mds-color-success);
2724
+ }
2725
+
2726
+ .mds-icon-btn--success:hover:not(:disabled) {
2727
+ background-color: rgba(16, 185, 129, 0.15);
2728
+ }
2729
+
2730
+ .mds-icon-btn--danger {
2731
+ color: var(--mds-color-error);
2732
+ }
2733
+
2734
+ .mds-icon-btn--danger:hover:not(:disabled) {
2735
+ background-color: rgba(239, 68, 68, 0.15);
2736
+ }
2737
+
2738
+ .mds-icon-btn--secondary {
2739
+ color: var(--mds-color-text-secondary);
2740
+ }
2741
+
2742
+ .mds-icon-btn--secondary:hover:not(:disabled) {
2743
+ background-color: rgba(255, 255, 255, 0.1);
2744
+ }
2745
+
2746
+ /* ---------- Username Code Display ---------- */
2747
+ .mds-username {
2748
+ background-color: rgba(59, 130, 246, 0.1);
2749
+ color: var(--mds-color-info);
2750
+ padding: 4px 8px;
2751
+ border-radius: 4px;
2752
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2753
+ font-weight: 600;
2754
+ font-size: 0.85rem;
2755
+ cursor: pointer;
2756
+ transition: all 0.2s ease;
2757
+ }
2758
+
2759
+ .mds-username:hover {
2760
+ background-color: rgba(59, 130, 246, 0.2);
2761
+ transform: scale(1.02);
2762
+ }
2763
+
2764
+ /* ---------- ID Row (Compact Identity Display) ---------- */
2765
+ .mds-id-row {
2766
+ background-color: rgba(255, 255, 255, 0.04);
2767
+ }
2768
+
2769
+ .mds-id-row td {
2770
+ padding: 4px 16px;
2771
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
2772
+ }
2773
+
2774
+ .mds-id-text {
2775
+ color: var(--mds-color-text-secondary);
2776
+ font-size: 0.65rem;
2777
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2778
+ letter-spacing: 0.02em;
2779
+ opacity: 0.7;
2780
+ }
2781
+
2782
+ /* ---------- Data Row (Table Row with Hover) ---------- */
2783
+ .mds-data-row {
2784
+ transition: background-color 0.2s;
2785
+ }
2786
+
2787
+ .mds-data-row:hover {
2788
+ background-color: rgba(255, 255, 255, 0.03);
2789
+ }
2790
+
2791
+ /* ---------- Search Input Container ---------- */
2792
+ .mds-search-row {
2793
+ margin-top: 16px;
2794
+ display: flex;
2795
+ align-items: center;
2796
+ gap: 12px;
2797
+ }
2798
+
2799
+ /* ---------- Overflow X Auto ---------- */
2800
+ .mds-overflow-x-auto {
2801
+ overflow-x: auto;
2802
+ }
2803
+
2804
+ /* ---------- Modal Overlay ---------- */
2805
+ .mds-modal-overlay {
2806
+ position: fixed;
2807
+ inset: 0;
2808
+ display: flex;
2809
+ align-items: center;
2810
+ justify-content: center;
2811
+ z-index: 1000;
2812
+ padding: 24px;
2813
+ }
2814
+
2815
+ .mds-modal-overlay--dark {
2816
+ background-color: rgba(0, 0, 0, 0.6);
2817
+ backdrop-filter: blur(12px) saturate(120%);
2818
+ -webkit-backdrop-filter: blur(12px) saturate(120%);
2819
+ }
2820
+
2821
+ .mds-modal-overlay--light {
2822
+ background-color: rgba(255, 255, 255, 0.2);
2823
+ backdrop-filter: blur(12px) saturate(120%);
2824
+ -webkit-backdrop-filter: blur(12px) saturate(120%);
2825
+ }
2826
+
2827
+ /* ---------- Grid Layouts ---------- */
2828
+ .mds-grid-2 {
2829
+ display: grid;
2830
+ grid-template-columns: repeat(2, 1fr);
2831
+ gap: 12px;
2832
+ }
2833
+
2834
+ .mds-grid-3 {
2835
+ display: grid;
2836
+ grid-template-columns: repeat(3, 1fr);
2837
+ gap: 12px;
2838
+ }
2839
+
2840
+ .mds-grid-4 {
2841
+ display: grid;
2842
+ grid-template-columns: repeat(4, 1fr);
2843
+ gap: 10px;
2844
+ }
2845
+
2846
+ .mds-grid-2-1-1 {
2847
+ display: grid;
2848
+ grid-template-columns: 2fr 1fr 1fr;
2849
+ gap: 12px;
2850
+ }
2851
+
2852
+ .mds-grid-2-1 {
2853
+ display: grid;
2854
+ grid-template-columns: 2fr 1fr;
2855
+ gap: 12px;
2856
+ }
2857
+
2858
+ /* Gap Variants for Grids */
2859
+ .mds-grid-gap-md { gap: 16px; }
2860
+ .mds-grid--2 { display: grid; grid-template-columns: repeat(2, 1fr); }
2861
+ .mds-grid--3 { display: grid; grid-template-columns: repeat(3, 1fr); }
2862
+ .mds-grid--auto-fit { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
2863
+
2864
+ /* Font Weight Utilities */
2865
+ .mds-fw-400 { font-weight: 400; }
2866
+ .mds-fw-500 { font-weight: 500; }
2867
+ .mds-fw-600 { font-weight: 600; }
2868
+ .mds-fw-700 { font-weight: 700; }
2869
+
2870
+ /* ---------- Info Card (Compact Info Display) ---------- */
2871
+ .mds-info-card {
2872
+ padding: 12px;
2873
+ border-radius: 10px;
2874
+ display: flex;
2875
+ flex-direction: column;
2876
+ justify-content: center;
2877
+ }
2878
+
2879
+ .mds-info-card--primary {
2880
+ background-color: rgba(59, 130, 246, 0.1);
2881
+ border-left: 3px solid var(--mds-color-info);
2882
+ }
2883
+
2884
+ .mds-info-card--subtle {
2885
+ background-color: rgba(255, 255, 255, 0.03);
2886
+ border-left: 3px solid rgba(0, 212, 255, 0.5);
2887
+ }
2888
+
2889
+ .mds-info-card__label {
2890
+ font-size: 0.7rem;
2891
+ margin-bottom: 2px;
2892
+ text-transform: uppercase;
2893
+ letter-spacing: 0.05em;
2894
+ color: var(--mds-color-text-secondary);
2895
+ }
2896
+
2897
+ .mds-info-card__value {
2898
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
2899
+ letter-spacing: 0.5px;
2900
+ font-size: 0.95rem;
2901
+ }
2902
+
2903
+ /* ---------- Meta Row (Inline Meta Display) ---------- */
2904
+ .mds-meta-row {
2905
+ padding: 10px 12px;
2906
+ background-color: rgba(255, 255, 255, 0.03);
2907
+ border-radius: 10px;
2908
+ display: flex;
2909
+ gap: 16px;
2910
+ font-size: 0.8rem;
2911
+ flex-wrap: wrap;
2912
+ }
2913
+
2914
+ /* ---------- Preview Box ---------- */
2915
+ .mds-preview-box {
2916
+ padding: 12px 16px;
2917
+ border-radius: 8px;
2918
+ margin-bottom: 16px;
2919
+ border-left: 4px solid var(--mds-color-info);
2920
+ background-color: rgba(59, 130, 246, 0.1);
2921
+ }
2922
+
2923
+ .mds-preview-box--warning {
2924
+ background-color: rgba(234, 179, 8, 0.1);
2925
+ border-left-color: var(--mds-color-warning);
2926
+ }
2927
+
2928
+ /* ---------- Read-Only Field ---------- */
2929
+ .mds-readonly-field {
2930
+ padding: 8px 10px;
2931
+ background-color: rgba(255, 255, 255, 0.05);
2932
+ border-radius: 6px;
2933
+ color: var(--mds-color-text-secondary);
2934
+ font-size: 0.85rem;
2935
+ }
2936
+
2937
+ /* ---------- Flex Utilities ---------- */
2938
+ .mds-flex-1 { flex: 1; }
2939
+ .mds-align-stretch { align-items: stretch; }
2940
+
2941
+ /* ---------- User Header Layout (Photo + Info Cards) ---------- */
2942
+ .mds-user-header {
2943
+ display: flex;
2944
+ gap: 16px;
2945
+ margin-bottom: 16px;
2946
+ align-items: stretch;
2947
+ }
2948
+
2949
+ .mds-user-header__info {
2950
+ flex: 1;
2951
+ display: flex;
2952
+ flex-direction: column;
2953
+ gap: 8px;
2954
+ }
2955
+
2956
+ .mds-user-header__cards {
2957
+ display: flex;
2958
+ gap: 8px;
2959
+ flex: 1;
2960
+ }
2961
+
2962
+ /* ---------- Info Card Value Variants ---------- */
2963
+ .mds-info-card__value--body {
2964
+ font-size: 0.9rem;
2965
+ color: var(--mds-color-text-primary);
2966
+ }
2967
+
2968
+ .mds-info-card__value--small {
2969
+ font-size: 0.75rem;
2970
+ color: var(--mds-color-text-secondary);
2971
+ }
2972
+
2973
+ /* ---------- Helper Text ---------- */
2974
+ .mds-helper-text {
2975
+ font-size: 0.75rem;
2976
+ margin-top: 2px;
2977
+ display: block;
2978
+ }
2979
+
2980
+ .mds-helper-text--checking {
2981
+ color: var(--mds-color-text-secondary);
2982
+ }
2983
+
2984
+ .mds-helper-text--success {
2985
+ color: var(--mds-color-success);
2986
+ }
2987
+
2988
+ .mds-helper-text--error {
2989
+ color: var(--mds-color-error);
2990
+ }
2991
+
2992
+ /* ---------- Info Banner (Full-width info/warning) ---------- */
2993
+ .mds-info-banner {
2994
+ padding: 10px 12px;
2995
+ border-radius: 6px;
2996
+ border-left: 3px solid var(--mds-color-info);
2997
+ background-color: rgba(59, 130, 246, 0.1);
2998
+ }
2999
+
3000
+ .mds-info-banner--warning {
3001
+ background-color: rgba(234, 179, 8, 0.1);
3002
+ border-left-color: var(--mds-color-warning);
3003
+ }
3004
+
3005
+ /* ---------- Preview Label/Value ---------- */
3006
+ .mds-preview-box__label {
3007
+ font-size: 0.8rem;
3008
+ margin-bottom: 4px;
3009
+ color: var(--mds-color-text-secondary);
3010
+ }
3011
+
3012
+ .mds-preview-box__value {
3013
+ font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
3014
+ letter-spacing: 0.5px;
3015
+ font-size: 1rem;
3016
+ }
3017
+
3018
+ /* ---------- Text Utilities ---------- */
3019
+ .mds-text-sm { font-size: 0.8rem; }
3020
+ .mds-text-xs { font-size: 0.75rem; }
3021
+ .mds-text-primary { color: var(--mds-color-text-primary); }
3022
+ .mds-text-secondary { color: var(--mds-color-text-secondary); }
3023
+ .mds-text-success { color: var(--mds-color-success); }
3024
+ .mds-text-error { color: var(--mds-color-error); }
3025
+ .mds-text-warning { color: var(--mds-color-warning); }
3026
+
3027
+ /* Link Utilities */
3028
+ .mds-link-primary { color: var(--mds-color-primary); text-decoration: none; }
3029
+ .mds-link-primary:hover { opacity: 0.8; }
3030
+ .mds-underline { text-decoration: underline; }
3031
+ .mds-no-underline { text-decoration: none; }
3032
+
3033
+ /* ---------- Width Utilities ---------- */
3034
+ .mds-full-width { width: 100%; }
3035
+
3036
+ /* ---------- Alignment Utilities ---------- */
3037
+ .mds-align-self-start { align-self: flex-start; }
3038
+ .mds-align-self-center { align-self: center; }
3039
+ .mds-align-self-end { align-self: flex-end; }
3040
+ .mds-text-center { text-align: center; }
3041
+
3042
+ /* ---------- Flex Wrap Utilities ---------- */
3043
+ .mds-flex-wrap { flex-wrap: wrap; }
3044
+
3045
+ /* ---------- Max Width Utilities ---------- */
3046
+ .mds-max-w-sm { max-width: 300px; }
3047
+ .mds-max-w-md { max-width: 400px; }
3048
+ .mds-max-w-lg { max-width: 500px; }
3049
+ .mds-max-w-xl { max-width: 600px; }
3050
+ .mds-max-w-2xl { max-width: 800px; }
3051
+ .mds-max-w-3xl { max-width: 1000px; }
3052
+
3053
+ /* ---------- Border Utilities ---------- */
3054
+ .mds-border-bottom { border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
3055
+
3056
+ /* ---------- Table Container ---------- */
3057
+ .mds-table-container { overflow-x: auto; }
3058
+
3059
+ /* ---------- Table Row Variants ---------- */
3060
+ .mds-tr--header { background-color: rgba(255, 255, 255, 0.05); }
3061
+ .mds-tr--hoverable {
3062
+ border-top: 1px solid rgba(255, 255, 255, 0.05);
3063
+ transition: background-color 0.2s;
3064
+ }
3065
+ .mds-tr--hoverable:hover { background-color: rgba(255, 255, 255, 0.03); }
3066
+
3067
+ /* ---------- Table Cell Variants ---------- */
3068
+ .mds-td--empty {
3069
+ padding: 40px;
3070
+ text-align: center;
3071
+ color: var(--mds-color-text-secondary);
3072
+ }
3073
+
3074
+ /* ---------- Code Variants ---------- */
3075
+ .mds-code--info {
3076
+ background-color: rgba(59, 130, 246, 0.1);
3077
+ color: var(--mds-color-info);
3078
+ font-weight: 600;
3079
+ }
3080
+
3081
+ /* ---------- Badge Variants ---------- */
3082
+ .mds-badge--accent {
3083
+ background-color: rgba(147, 51, 234, 0.1);
3084
+ color: var(--mds-color-accent, #9333ea);
3085
+ }
3086
+
3087
+ /* ---------- User Cell (Email + ID) ---------- */
3088
+ .mds-user-cell {
3089
+ display: flex;
3090
+ flex-direction: column;
3091
+ gap: 2px;
3092
+ }
3093
+ .mds-user-cell__email {
3094
+ font-weight: 500;
3095
+ color: var(--mds-color-text-primary);
3096
+ }
3097
+ .mds-user-cell__id {
3098
+ font-size: 0.75rem;
3099
+ color: var(--mds-color-text-secondary);
3100
+ }
3101
+
3102
+ /* ---------- Pending Item (Invitation/Request Row) ---------- */
3103
+ .mds-pending-item {
3104
+ display: flex;
3105
+ align-items: center;
3106
+ justify-content: space-between;
3107
+ padding: 12px 16px;
3108
+ background-color: rgba(255, 255, 255, 0.03);
3109
+ border-radius: 8px;
3110
+ border-left: 3px solid var(--mds-color-warning);
3111
+ }
3112
+
3113
+ /* ---------- Text Size Utilities ---------- */
3114
+ .mds-text-lg { font-size: 1.2rem; }
3115
+
3116
+ /* ---------- Font Utilities ---------- */
3117
+ .mds-font-mono { font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace; }
3118
+ .mds-font-semibold { font-weight: 600; }
3119
+ .mds-font-medium { font-weight: 500; }
3120
+
3121
+ /* ---------- Settings Section Layout ---------- */
3122
+ .mds-settings-container {
3123
+ display: flex;
3124
+ flex-direction: column;
3125
+ gap: 24px;
3126
+ width: 100%;
3127
+ }
3128
+
3129
+ .mds-settings-card {
3130
+ padding: 24px;
3131
+ width: 100%;
3132
+ box-sizing: border-box;
3133
+ }
3134
+
3135
+ .mds-settings-header {
3136
+ display: flex;
3137
+ align-items: center;
3138
+ gap: 16px;
3139
+ margin-bottom: 20px;
3140
+ }
3141
+
3142
+ .mds-settings-header__icon {
3143
+ font-size: 2rem;
3144
+ }
3145
+
3146
+ .mds-settings-grid {
3147
+ display: grid;
3148
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
3149
+ gap: 20px;
3150
+ }
3151
+
3152
+ /* ---------- Settings Panel ---------- */
3153
+ .mds-settings-panel {
3154
+ padding: 20px;
3155
+ border: 1px solid rgba(255, 255, 255, 0.1);
3156
+ border-radius: 12px;
3157
+ }
3158
+
3159
+ .mds-settings-panel__title {
3160
+ margin-bottom: 8px;
3161
+ }
3162
+
3163
+ .mds-settings-panel__description {
3164
+ margin-bottom: 16px;
3165
+ }
3166
+
3167
+ /* ---------- Key-Value Row ---------- */
3168
+ .mds-kv-list {
3169
+ display: flex;
3170
+ flex-direction: column;
3171
+ gap: 12px;
3172
+ }
3173
+
3174
+ .mds-kv-row {
3175
+ display: flex;
3176
+ align-items: center;
3177
+ justify-content: space-between;
3178
+ }
3179
+
3180
+ .mds-kv-label {
3181
+ color: var(--mds-color-text-secondary);
3182
+ }
3183
+
3184
+ .mds-kv-value {
3185
+ font-weight: 600;
3186
+ }
3187
+
3188
+ /* ---------- Info Box Header ---------- */
3189
+ .mds-info-header {
3190
+ display: flex;
3191
+ align-items: center;
3192
+ gap: 8px;
3193
+ margin-bottom: 8px;
3194
+ }
3195
+
3196
+ .mds-info-header__icon {
3197
+ font-size: 1.2rem;
3198
+ }
3199
+
3200
+ /* ---------- Margin Utilities ---------- */
3201
+ .mds-mb-xs { margin-bottom: 4px; }
3202
+ .mds-mb-sm { margin-bottom: var(--mds-spacing-sm); }
3203
+ .mds-mb-md { margin-bottom: var(--mds-spacing-md); }
3204
+ .mds-mb-lg { margin-bottom: var(--mds-spacing-lg); }
3205
+ .mds-mt-sm { margin-top: var(--mds-spacing-sm); }
3206
+ .mds-pt-sm { padding-top: var(--mds-spacing-sm); }
3207
+
3208
+ /* ---------- Border Utilities ---------- */
3209
+ .mds-border-top { border-top: 1px solid rgba(255, 255, 255, 0.1); }
3210
+
3211
+ /* ---------- Display Utilities ---------- */
3212
+ .mds-block { display: block; }
3213
+
3214
+ /* ---------- Flex Alignment Utilities ---------- */
3215
+ .mds-justify-center { justify-content: center; }
3216
+ .mds-justify-between { justify-content: space-between; }
3217
+ .mds-justify-start { justify-content: flex-start; }
3218
+ .mds-justify-end { justify-content: flex-end; }
3219
+
3220
+ /* ---------- Extra Padding Utilities ---------- */
3221
+ .mds-p-2xl { padding: 2.5rem; }
3222
+ .mds-p-3xl { padding: 3rem; }
3223
+
3224
+ /* ---------- Margin Zero Utilities ---------- */
3225
+ .mds-m-0 { margin: 0; }
3226
+ .mds-mt-0 { margin-top: 0; }
3227
+ .mds-mb-0 { margin-bottom: 0; }
3228
+
3229
+ /* ---------- Text Size Utilities ---------- */
3230
+ .mds-text-4xl { font-size: 4rem; }
3231
+ .mds-text-3xl { font-size: 3rem; }
3232
+ .mds-text-2xl { font-size: 2rem; }
3233
+
3234
+ /* ---------- Min Height Utilities ---------- */
3235
+ .mds-min-h-400 { min-height: 400px; }
3236
+ .mds-min-h-300 { min-height: 300px; }
3237
+ .mds-min-h-200 { min-height: 200px; }
3238
+
3239
+ /* ---------- Text Color Utilities ---------- */
3240
+ .mds-text-inherit { color: inherit; }
3241
+
3242
+ /* ---------- Text Transform Utilities ---------- */
3243
+ .mds-capitalize { text-transform: capitalize; }
3244
+
3245
+ /* ---------- Sidebar Utilities ---------- */
3246
+ .mds-sidebar-icon { font-size: 1.25rem; }
3247
+ .mds-sidebar-scroll { flex: 1; overflow-y: auto; padding-top: 0.5rem; position: relative; }
3248
+ .mds-sidebar-item { position: relative; }
3249
+ .mds-sidebar-footer { margin-top: auto; padding: 0.5rem 0; display: flex; justify-content: center; }
3250
+ .mds-mt-xs { margin-top: 0.25rem; }
3251
+ .mds-mt-md { margin-top: var(--mds-spacing-md); }
3252
+ .mds-mt-lg { margin-top: var(--mds-spacing-lg); }
3253
+
3254
+ /* ---------- Legal Page Layout ---------- */
3255
+ .mds-legal-page {
3256
+ min-height: 100vh;
3257
+ padding: 2rem;
3258
+ background-color: var(--mds-color-bg);
3259
+ color: var(--mds-color-text-primary);
3260
+ }
3261
+
3262
+ .mds-legal-container {
3263
+ max-width: 800px;
3264
+ margin: 0 auto;
3265
+ }
3266
+
3267
+ .mds-legal-back-link {
3268
+ display: inline-flex;
3269
+ align-items: center;
3270
+ gap: 0.5rem;
3271
+ color: var(--mds-color-info);
3272
+ text-decoration: none;
3273
+ font-size: 0.875rem;
3274
+ margin-bottom: 1.5rem;
3275
+ transition: opacity 0.2s;
3276
+ }
3277
+ .mds-legal-back-link:hover { opacity: 0.8; }
3278
+
3279
+ .mds-legal-title {
3280
+ font-size: 1.75rem;
3281
+ font-weight: 600;
3282
+ color: var(--mds-color-text-primary);
3283
+ margin-bottom: 0.5rem;
3284
+ }
3285
+
3286
+ .mds-legal-updated {
3287
+ font-size: 0.875rem;
3288
+ color: var(--mds-color-text-secondary);
3289
+ margin-bottom: 2rem;
3290
+ }
3291
+
3292
+ .mds-legal-sections {
3293
+ display: flex;
3294
+ flex-direction: column;
3295
+ gap: 1.5rem;
3296
+ }
3297
+
3298
+ .mds-legal-section-title {
3299
+ font-size: 1.125rem;
3300
+ font-weight: 600;
3301
+ color: var(--mds-color-text-primary);
3302
+ margin-bottom: 0.75rem;
3303
+ }
3304
+
3305
+ .mds-legal-section-content {
3306
+ font-size: 0.9375rem;
3307
+ line-height: 1.6;
3308
+ color: var(--mds-color-text-secondary);
3309
+ }
3310
+
3311
+ .mds-legal-list {
3312
+ margin-top: 0.5rem;
3313
+ padding-left: 1.5rem;
3314
+ }
3315
+
3316
+ .mds-legal-glass-card {
3317
+ max-width: 800px;
3318
+ margin: 0 auto;
3319
+ padding: 2rem;
3320
+ background: var(--mds-liquid-bg-elevated);
3321
+ backdrop-filter: blur(20px) saturate(180%);
3322
+ -webkit-backdrop-filter: blur(20px) saturate(180%);
3323
+ border-radius: 16px;
3324
+ border: 1px solid var(--mds-liquid-border-subtle);
3325
+ }
3326
+
3327
+ .mds-legal-gradient-bg {
3328
+ min-height: 100vh;
3329
+ padding: 2rem;
3330
+ background: var(--mds-liquid-gradient);
3331
+ color: var(--mds-color-text-primary);
3332
+ }