@khipu/design-system 0.1.0-alpha.37 → 0.1.0-alpha.39

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.
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
13
13
  * Source: design-system/src/tokens/tokens.json
14
- * Generated: 2026-04-08T16:35:01.405Z
14
+ * Generated: 2026-04-15T16:04:48.243Z
15
15
  *
16
16
  * To regenerate:
17
17
  * cd design-system && npm run tokens:generate
@@ -27,14 +27,14 @@
27
27
 
28
28
 
29
29
  /* Primary palette - Khipu brand */
30
- --kds-color-primary-main: #7548a8;
31
- --kds-color-primary-light: #6fb2e2;
32
- --kds-color-primary-dark: #6A3A8C;
30
+ --kds-color-primary-main: #8347AD;
31
+ --kds-color-primary-light: #9B6BBD;
32
+ --kds-color-primary-dark: #5B3179;
33
33
  --kds-color-primary-contrast: #FFFFFF;
34
- --kds-color-primary-hover: rgba(117, 72, 168, 0.04);
35
- --kds-color-primary-selected: rgba(117, 72, 168, 0.08);
36
- --kds-color-primary-focus: rgba(117, 72, 168, 0.12);
37
- --kds-color-primary-focus-visible: rgba(117, 72, 168, 0.30);
34
+ --kds-color-primary-hover: rgba(131, 71, 173, 0.04);
35
+ --kds-color-primary-selected: rgba(131, 71, 173, 0.08);
36
+ --kds-color-primary-focus: rgba(131, 71, 173, 0.12);
37
+ --kds-color-primary-focus-visible: rgba(131, 71, 173, 0.30);
38
38
 
39
39
  /* Secondary palette */
40
40
  --kds-color-secondary-main: #4CAF50;
@@ -63,7 +63,7 @@
63
63
  --kds-color-text-hint: rgba(0, 0, 0, 0.38);
64
64
 
65
65
  /* Background colors */
66
- --kds-color-background-default: #F5F5F5;
66
+ --kds-color-background-default: #FFFFFF;
67
67
  --kds-color-background-paper: #FFFFFF;
68
68
  --kds-color-background-elevated: #FAFAFA;
69
69
 
@@ -105,6 +105,14 @@
105
105
  --kds-alert-warning-bg: #FFFBEB;
106
106
  --kds-alert-success-bg: #ECFDF5;
107
107
  --kds-alert-error-bg: #FEF2F2;
108
+ --kds-alert-success-text: #1E4620;
109
+ --kds-alert-warning-text: #663C00;
110
+ --kds-alert-error-text: #5F2120;
111
+ --kds-alert-info-text: #014361;
112
+ --kds-alert-success-border: #2CA24D;
113
+ --kds-alert-warning-border: #FF9800;
114
+ --kds-alert-error-border: #E53E3E;
115
+ --kds-alert-info-border: #006699;
108
116
 
109
117
  /* ==========================================================================
110
118
  TYPOGRAPHY TOKENS
@@ -249,7 +257,7 @@
249
257
 
250
258
 
251
259
  /* Border colors */
252
- --kds-border-light: #DDDDDD;
260
+ --kds-border-light: #DDDEE0;
253
261
  --kds-border-medium: #999999;
254
262
  --kds-border-dark: #666666;
255
263
 
@@ -605,6 +613,13 @@ body.dark {
605
613
  --kds-scroll-sm-height: 280px;
606
614
  --kds-scroll-md-height: 420px;
607
615
  --kds-scroll-lg-height: 600px;
616
+
617
+ /* Stage Layout */
618
+ --kds-stage-narrow-max-width: 420px;
619
+ --kds-navbar-height: 64px;
620
+
621
+ /* Snackbar */
622
+ --kds-snackbar-max-width: 560px;
608
623
  }
609
624
 
610
625
  /* ========================================
@@ -909,6 +924,12 @@ a.kds-btn.kds-btn-md {
909
924
 
910
925
  /* Default .kds-btn uses --kds-spacing-button-min-height (50px) from base styles */
911
926
 
927
+ /* Full-width button */
928
+ button.kds-btn.kds-btn-block,
929
+ a.kds-btn.kds-btn-block {
930
+ width: 100%;
931
+ }
932
+
912
933
  /* ========================================
913
934
  Card Components (Material Design 3)
914
935
  ======================================== */
@@ -1379,13 +1400,17 @@ a.kds-btn.kds-btn-md {
1379
1400
  .kds-m-8 { margin: var(--kds-spacing-8); }
1380
1401
 
1381
1402
  .kds-mt-0 { margin-top: 0; }
1403
+ .kds-mt-1 { margin-top: var(--kds-spacing-1); }
1382
1404
  .kds-mt-2 { margin-top: var(--kds-spacing-2); }
1405
+ .kds-mt-3 { margin-top: var(--kds-spacing-3); }
1383
1406
  .kds-mt-4 { margin-top: var(--kds-spacing-4); }
1384
1407
  .kds-mt-6 { margin-top: var(--kds-spacing-6); }
1385
1408
  .kds-mt-8 { margin-top: var(--kds-spacing-8); }
1386
1409
 
1387
1410
  .kds-mb-0 { margin-bottom: 0; }
1411
+ .kds-mb-1 { margin-bottom: var(--kds-spacing-1); }
1388
1412
  .kds-mb-2 { margin-bottom: var(--kds-spacing-2); }
1413
+ .kds-mb-3 { margin-bottom: var(--kds-spacing-3); }
1389
1414
  .kds-mb-4 { margin-bottom: var(--kds-spacing-4); }
1390
1415
  .kds-mb-6 { margin-bottom: var(--kds-spacing-6); }
1391
1416
  .kds-mb-8 { margin-bottom: var(--kds-spacing-8); }
@@ -1407,7 +1432,7 @@ a.kds-btn.kds-btn-md {
1407
1432
  .kds-mx-auto { margin-left: auto; margin-right: auto; }
1408
1433
 
1409
1434
  /* Spacing utilities - Padding */
1410
- .kds-p-0 { padding: 0; }
1435
+ .kds-p-0 { padding: 0 !important; }
1411
1436
  .kds-p-2 { padding: var(--kds-spacing-2); }
1412
1437
  .kds-p-4 { padding: var(--kds-spacing-4); }
1413
1438
  .kds-p-6 { padding: var(--kds-spacing-6); }
@@ -1597,13 +1622,48 @@ a.kds-btn.kds-btn-md {
1597
1622
 
1598
1623
  .snackbar {
1599
1624
  position: fixed;
1600
- bottom: 24px;
1625
+ bottom: var(--kds-spacing-3);
1601
1626
  left: 50%;
1602
1627
  transform: translateX(-50%);
1603
- z-index: 9999;
1628
+ z-index: var(--kds-z-index-snackbar);
1604
1629
  min-width: 344px;
1605
- max-width: 672px;
1606
- box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
1630
+ max-width: var(--kds-snackbar-max-width);
1631
+ box-shadow: var(--kds-shadow-8);
1632
+ }
1633
+
1634
+ /* Snackbar active state - ensure visibility when toggled via JS */
1635
+ .snackbar.active {
1636
+ visibility: visible !important;
1637
+ opacity: 1 !important;
1638
+ transform: translateX(-50%) !important;
1639
+ }
1640
+
1641
+ /* Snackbar semantic variants - background + text/icon color */
1642
+ .snackbar.error {
1643
+ background-color: var(--kds-color-error-main) !important;
1644
+ color: var(--on-error, var(--kds-color-primary-contrast)) !important;
1645
+ }
1646
+
1647
+ .snackbar.error i {
1648
+ color: var(--on-error, var(--kds-color-primary-contrast)) !important;
1649
+ }
1650
+
1651
+ .snackbar.info {
1652
+ background-color: var(--kds-color-info-main) !important;
1653
+ color: var(--on-info, var(--kds-color-primary-contrast)) !important;
1654
+ }
1655
+
1656
+ .snackbar.info i {
1657
+ color: var(--on-info, var(--kds-color-primary-contrast)) !important;
1658
+ }
1659
+
1660
+ .snackbar.success {
1661
+ background-color: var(--kds-color-success-main) !important;
1662
+ color: var(--on-success, var(--kds-color-primary-contrast)) !important;
1663
+ }
1664
+
1665
+ .snackbar.success i {
1666
+ color: var(--on-success, var(--kds-color-primary-contrast)) !important;
1607
1667
  }
1608
1668
 
1609
1669
  /* ========================================
@@ -1617,9 +1677,223 @@ nav.primary {
1617
1677
  z-index: 1000;
1618
1678
  }
1619
1679
 
1620
- nav.primary a,
1621
- nav.primary button {
1622
- color: white;
1680
+ nav.primary > a,
1681
+ nav.primary > button,
1682
+ nav.primary > div > a,
1683
+ nav.primary > div > button {
1684
+ color: var(--on-primary);
1685
+ }
1686
+
1687
+ /* ========================================
1688
+ Locale Switcher (Navbar dropdown)
1689
+ ======================================== */
1690
+
1691
+ .kds-locale-switcher {
1692
+ position: relative;
1693
+ display: inline-flex;
1694
+ align-items: center;
1695
+ }
1696
+
1697
+ button.kds-locale-switcher-toggle,
1698
+ .kds-locale-switcher .kds-locale-switcher-toggle {
1699
+ display: inline-flex;
1700
+ align-items: center;
1701
+ gap: var(--kds-spacing-0-75);
1702
+ background: transparent;
1703
+ border: 1px solid var(--kds-color-gray-400);
1704
+ border-radius: var(--kds-radius-button);
1705
+ color: var(--on-primary);
1706
+ padding: var(--kds-spacing-0-5) var(--kds-spacing-1-5);
1707
+ cursor: pointer;
1708
+ font-size: var(--kds-font-size-sm);
1709
+ font-family: var(--kds-font-family-secondary);
1710
+ transition: background var(--kds-transition-shorter) var(--kds-easing-standard),
1711
+ border-color var(--kds-transition-shorter) var(--kds-easing-standard);
1712
+ line-height: var(--kds-line-height-snug);
1713
+ }
1714
+
1715
+ button.kds-locale-switcher-toggle:hover,
1716
+ .kds-locale-switcher .kds-locale-switcher-toggle:hover {
1717
+ background: var(--kds-color-primary-focus);
1718
+ border-color: var(--kds-color-gray-200);
1719
+ }
1720
+
1721
+ .kds-locale-switcher-toggle .kds-locale-flag {
1722
+ font-size: var(--kds-font-size-lg);
1723
+ line-height: 1;
1724
+ }
1725
+
1726
+ .kds-locale-switcher-toggle .kds-locale-arrow {
1727
+ font-size: var(--kds-spacing-button-icon-size);
1728
+ transition: transform var(--kds-transition-shorter) var(--kds-easing-standard);
1729
+ }
1730
+
1731
+ .kds-locale-switcher.active .kds-locale-arrow {
1732
+ transform: rotate(180deg);
1733
+ }
1734
+
1735
+ .kds-locale-switcher-menu {
1736
+ display: none;
1737
+ position: absolute;
1738
+ top: calc(100% + var(--kds-spacing-0-5));
1739
+ right: 0;
1740
+ min-width: 180px;
1741
+ background: var(--kds-color-background-paper);
1742
+ border-radius: var(--kds-radius-md);
1743
+ box-shadow: var(--kds-shadow-dropdown);
1744
+ z-index: var(--kds-z-index-appbar);
1745
+ overflow: hidden;
1746
+ padding: var(--kds-spacing-0-5) 0;
1747
+ }
1748
+
1749
+ .kds-locale-switcher.active .kds-locale-switcher-menu {
1750
+ display: block;
1751
+ }
1752
+
1753
+ .kds-locale-switcher-menu a,
1754
+ .kds-locale-switcher-menu button {
1755
+ display: flex !important;
1756
+ align-items: center;
1757
+ justify-content: flex-start;
1758
+ padding: 0 var(--kds-spacing-3);
1759
+ gap: var(--kds-spacing-2);
1760
+ width: 100%;
1761
+ box-sizing: border-box !important;
1762
+ background: transparent !important;
1763
+ border: none !important;
1764
+ color: var(--kds-color-text-primary) !important;
1765
+ font-size: var(--kds-font-size-sm);
1766
+ font-family: var(--kds-font-family-secondary);
1767
+ cursor: pointer;
1768
+ text-decoration: none;
1769
+ transition: background var(--kds-transition-shortest) var(--kds-easing-standard);
1770
+ text-align: left;
1771
+ border-radius: 0 !important;
1772
+ min-height: auto !important;
1773
+ margin: 0 !important;
1774
+ box-shadow: none !important;
1775
+ position: relative;
1776
+ }
1777
+
1778
+ /* Kill BeerCSS pseudo-elements on active buttons */
1779
+ .kds-locale-switcher-menu button::before,
1780
+ .kds-locale-switcher-menu button::after,
1781
+ .kds-locale-switcher-menu a::before,
1782
+ .kds-locale-switcher-menu a::after {
1783
+ display: none !important;
1784
+ }
1785
+
1786
+ .kds-locale-switcher-menu a:hover,
1787
+ .kds-locale-switcher-menu button:hover {
1788
+ background: var(--kds-color-background-elevated) !important;
1789
+ }
1790
+
1791
+ .kds-locale-switcher-menu .kds-locale-flag {
1792
+ font-size: var(--kds-font-size-base);
1793
+ line-height: 1;
1794
+ flex-shrink: 0;
1795
+ }
1796
+
1797
+ .kds-locale-switcher-menu button.active,
1798
+ .kds-locale-switcher-menu a.active {
1799
+ background: var(--kds-color-primary-selected) !important;
1800
+ font-weight: var(--kds-font-weight-medium);
1801
+ }
1802
+
1803
+ /* ========================================
1804
+ Google Sign-In Button
1805
+ Per Google Identity branding guidelines:
1806
+ https://developers.google.com/identity/branding-guidelines
1807
+ ======================================== */
1808
+
1809
+ button.kds-btn-google,
1810
+ a.kds-btn-google {
1811
+ display: inline-flex;
1812
+ align-items: center;
1813
+ justify-content: center;
1814
+ gap: var(--kds-spacing-1-5);
1815
+ width: 100%;
1816
+ background: var(--kds-color-background-paper);
1817
+ color: #1F1F1F;
1818
+ border: 1px solid #747775;
1819
+ border-radius: var(--kds-radius-button);
1820
+ padding: var(--kds-spacing-1) var(--kds-spacing-1-5);
1821
+ min-height: var(--kds-spacing-button-min-height);
1822
+ font-family: "Roboto", var(--kds-font-family-secondary);
1823
+ font-weight: var(--kds-font-weight-medium);
1824
+ font-size: var(--kds-font-size-sm);
1825
+ line-height: var(--kds-line-height-normal);
1826
+ letter-spacing: var(--kds-letter-spacing-normal);
1827
+ text-transform: none;
1828
+ cursor: pointer;
1829
+ transition: background var(--kds-transition-shorter) var(--kds-easing-standard),
1830
+ box-shadow var(--kds-transition-shorter) var(--kds-easing-standard);
1831
+ box-sizing: border-box;
1832
+ box-shadow: none;
1833
+ }
1834
+
1835
+ button.kds-btn-google:hover,
1836
+ a.kds-btn-google:hover {
1837
+ background: #F2F2F2;
1838
+ box-shadow: var(--kds-shadow-1);
1839
+ }
1840
+
1841
+ button.kds-btn-google:active,
1842
+ a.kds-btn-google:active {
1843
+ background: #E8E8E8;
1844
+ }
1845
+
1846
+ button.kds-btn-google:disabled,
1847
+ a.kds-btn-google:disabled {
1848
+ background: var(--kds-color-action-disabled-bg);
1849
+ color: var(--kds-color-action-disabled);
1850
+ border-color: var(--kds-color-action-disabled-bg);
1851
+ cursor: not-allowed;
1852
+ box-shadow: none;
1853
+ }
1854
+
1855
+ /* Google G icon container - white background per guidelines */
1856
+ .kds-btn-google .kds-google-icon {
1857
+ display: flex;
1858
+ align-items: center;
1859
+ justify-content: center;
1860
+ flex-shrink: 0;
1861
+ }
1862
+
1863
+ .kds-btn-google .kds-google-icon svg {
1864
+ width: var(--kds-spacing-button-icon-size);
1865
+ height: var(--kds-spacing-button-icon-size);
1866
+ }
1867
+
1868
+ /* ========================================
1869
+ Link Styles
1870
+ ======================================== */
1871
+
1872
+ /* Explicit link class */
1873
+ .kds-link {
1874
+ color: var(--kds-color-primary-main);
1875
+ text-decoration: none;
1876
+ cursor: pointer;
1877
+ transition: color var(--kds-transition-shorter) var(--kds-easing-standard);
1878
+ }
1879
+
1880
+ .kds-link:hover {
1881
+ color: var(--kds-color-primary-dark);
1882
+ text-decoration: underline;
1883
+ }
1884
+
1885
+ /* Contextual links inside cards and stage forms */
1886
+ .kds-card-body a:not(.kds-btn):not([class*="kds-btn"]),
1887
+ .kds-stage-content a:not(.kds-btn):not([class*="kds-btn"]) {
1888
+ color: var(--kds-color-primary-main);
1889
+ text-decoration: none;
1890
+ transition: color var(--kds-transition-shorter) var(--kds-easing-standard);
1891
+ }
1892
+
1893
+ .kds-card-body a:not(.kds-btn):not([class*="kds-btn"]):hover,
1894
+ .kds-stage-content a:not(.kds-btn):not([class*="kds-btn"]):hover {
1895
+ color: var(--kds-color-primary-dark);
1896
+ text-decoration: underline;
1623
1897
  }
1624
1898
 
1625
1899
  /* ========================================
@@ -1646,28 +1920,28 @@ body.kds-layout {
1646
1920
  ======================================== */
1647
1921
 
1648
1922
  footer.primary {
1649
- background: var(--surface-container-high, #F5F5F5);
1923
+ background: var(--primary);
1650
1924
  padding: var(--kds-spacing-4) var(--kds-spacing-3);
1651
- margin-top: var(--kds-spacing-6);
1925
+ color: var(--on-primary);
1652
1926
  }
1653
1927
 
1654
1928
  footer.primary h6 {
1655
- color: var(--khipu-primary);
1656
- font-weight: 600;
1657
- margin-bottom: 16px;
1929
+ color: var(--on-primary);
1930
+ font-weight: var(--kds-font-weight-semibold);
1931
+ margin-bottom: var(--kds-spacing-2);
1658
1932
  }
1659
1933
 
1660
1934
  footer.primary a {
1661
- color: var(--on-surface);
1935
+ color: var(--on-primary);
1662
1936
  text-decoration: none;
1663
1937
  display: block;
1664
- padding: 4px 0;
1665
- transition: color 0.2s ease;
1938
+ padding: var(--kds-spacing-0-5) 0;
1939
+ transition: opacity var(--kds-transition-shorter) var(--kds-easing-standard);
1666
1940
  text-align: center;
1667
1941
  }
1668
1942
 
1669
1943
  footer.primary a:hover {
1670
- color: var(--khipu-primary);
1944
+ opacity: 0.8;
1671
1945
  }
1672
1946
 
1673
1947
  /* ========================================
@@ -1860,6 +2134,67 @@ body.dark {
1860
2134
  color: var(--primary);
1861
2135
  }
1862
2136
 
2137
+ /* ==========================================
2138
+ PASSWORD STRENGTH METER
2139
+ Barra de fortaleza de contraseña (3 niveles)
2140
+ Usando tokens de diseño
2141
+ ========================================== */
2142
+
2143
+ .kds-password-strength {
2144
+ display: flex;
2145
+ align-items: center;
2146
+ gap: var(--kds-spacing-1);
2147
+ margin-top: var(--kds-spacing-0-5);
2148
+ margin-bottom: var(--kds-spacing-1);
2149
+ }
2150
+
2151
+ .kds-password-strength-bars {
2152
+ display: flex;
2153
+ gap: var(--kds-spacing-0-5);
2154
+ flex: 1;
2155
+ }
2156
+
2157
+ .kds-password-strength-bars span {
2158
+ flex: 1;
2159
+ height: var(--kds-spacing-0-5);
2160
+ border-radius: var(--kds-radius-sm);
2161
+ background: var(--outline-variant);
2162
+ transition: background 0.2s ease;
2163
+ }
2164
+
2165
+ .kds-password-strength-bars span.weak {
2166
+ background: var(--kds-color-error-main);
2167
+ }
2168
+
2169
+ .kds-password-strength-bars span.medium {
2170
+ background: var(--kds-color-warning-main);
2171
+ }
2172
+
2173
+ .kds-password-strength-bars span.strong {
2174
+ background: var(--kds-color-success-main);
2175
+ }
2176
+
2177
+ .kds-password-strength-label {
2178
+ font-family: var(--kds-font-family-primary);
2179
+ font-size: var(--kds-font-size-xs);
2180
+ font-weight: var(--kds-font-weight-medium);
2181
+ min-width: var(--kds-spacing-6);
2182
+ text-align: right;
2183
+ color: var(--kds-color-text-secondary);
2184
+ }
2185
+
2186
+ .kds-password-strength-label.weak {
2187
+ color: var(--kds-color-error-main);
2188
+ }
2189
+
2190
+ .kds-password-strength-label.medium {
2191
+ color: var(--kds-color-warning-main);
2192
+ }
2193
+
2194
+ .kds-password-strength-label.strong {
2195
+ color: var(--kds-color-success-main);
2196
+ }
2197
+
1863
2198
  /* ========================================
1864
2199
  TOOLTIPS - Personaliza Beer CSS .tooltip
1865
2200
  ======================================== */
@@ -2039,6 +2374,22 @@ label.radio:has(input:disabled) {
2039
2374
  flex-direction: column;
2040
2375
  }
2041
2376
 
2377
+ /* Stage Content Narrow - For login/register pages with centered card */
2378
+ .kds-stage-content.narrow {
2379
+ max-width: var(--kds-stage-narrow-max-width);
2380
+ margin-left: auto;
2381
+ margin-right: auto;
2382
+ width: 100%;
2383
+ }
2384
+
2385
+ /* Stage Centered - Vertically center content in viewport (pre-login pages) */
2386
+ .kds-stage-centered {
2387
+ display: flex;
2388
+ align-items: center;
2389
+ justify-content: center;
2390
+ flex: 1;
2391
+ }
2392
+
2042
2393
  /* Stage Actions - Bottom button area (if not using sticky footer) */
2043
2394
  .kds-stage-actions {
2044
2395
  display: flex;
@@ -2304,6 +2655,7 @@ dialog.modal .field.border:focus-within {
2304
2655
  max-width: 1400px;
2305
2656
  margin-left: auto;
2306
2657
  margin-right: auto;
2658
+ min-height: unset;
2307
2659
  }
2308
2660
 
2309
2661
  /* Nav should have no padding - only background color */
@@ -2316,6 +2668,7 @@ nav {
2316
2668
  nav > .kds-container-center {
2317
2669
  display: flex;
2318
2670
  align-items: center;
2671
+ justify-content: space-between;
2319
2672
  gap: var(--kds-spacing-4);
2320
2673
  margin-left: auto !important;
2321
2674
  margin-right: auto !important;
@@ -2325,6 +2678,14 @@ nav > .kds-container-center {
2325
2678
  padding-bottom: var(--kds-spacing-2);
2326
2679
  }
2327
2680
 
2681
+ /* Navbar brand/logo */
2682
+ .kds-navbar-brand {
2683
+ font-weight: var(--kds-font-weight-bold);
2684
+ font-size: var(--kds-font-size-lg);
2685
+ text-decoration: none;
2686
+ color: inherit;
2687
+ }
2688
+
2328
2689
  footer,
2329
2690
  footer.primary {
2330
2691
  padding-left: 0 !important;
@@ -2376,11 +2737,6 @@ footer > .kds-container-center {
2376
2737
  max-width: 1200px;
2377
2738
  }
2378
2739
 
2379
- /* Margin top utilities */
2380
- .kds-mt-3 {
2381
- margin-top: var(--kds-spacing-3);
2382
- }
2383
-
2384
2740
  /* ========================================
2385
2741
  AUTOMATIC SPACING SYSTEM
2386
2742
  Components handle their own spacing
@@ -2791,8 +3147,8 @@ footer > .kds-container-center {
2791
3147
  display: flex;
2792
3148
  flex-direction: column;
2793
3149
  overflow: visible;
2794
- padding-top: var(--kds-spacing-4);
2795
- padding-bottom: var(--kds-spacing-4);
3150
+ padding-top: var(--kds-spacing-6);
3151
+ padding-bottom: var(--kds-spacing-6);
2796
3152
  }
2797
3153
 
2798
3154
  /* ============================================
@@ -3584,18 +3940,13 @@ dialog#surveyModal button.circle {
3584
3940
  text-decoration: none;
3585
3941
  }
3586
3942
 
3587
- /* Spacing utilities */
3588
- .kds-mt-2 { margin-top: var(--kds-spacing-2); }
3589
- .kds-mt-3 { margin-top: var(--kds-spacing-3); }
3590
- .kds-mt-4 { margin-top: var(--kds-spacing-4); }
3591
- .kds-mt-6 { margin-top: var(--kds-spacing-6); }
3592
- .kds-mt-8 { margin-top: var(--kds-spacing-8); }
3943
+ .kds-text-muted {
3944
+ color: var(--on-surface-variant);
3945
+ }
3593
3946
 
3594
- .kds-mb-2 { margin-bottom: var(--kds-spacing-2); }
3595
- .kds-mb-3 { margin-bottom: var(--kds-spacing-3); }
3596
- .kds-mb-4 { margin-bottom: var(--kds-spacing-4); }
3597
- .kds-mb-6 { margin-bottom: var(--kds-spacing-6); }
3598
- .kds-mb-8 { margin-bottom: var(--kds-spacing-8); }
3947
+ .kds-text-sm {
3948
+ font-size: var(--kds-font-size-sm);
3949
+ }
3599
3950
 
3600
3951
  /* Display utilities */
3601
3952
  .kds-hidden {
@@ -3757,10 +4108,13 @@ dialog#surveyModal button.circle {
3757
4108
 
3758
4109
  .kds-divider-text {
3759
4110
  text-align: center;
3760
- margin: var(--kds-spacing-6) 0;
4111
+ margin: var(--kds-spacing-2) 0;
3761
4112
  color: var(--kds-color-text-secondary);
3762
4113
  position: relative;
3763
4114
  font-size: var(--kds-font-size-sm);
4115
+ /* Reset BeerCSS [class*=divider] overrides */
4116
+ background-color: transparent !important;
4117
+ block-size: auto !important;
3764
4118
  }
3765
4119
 
3766
4120
  .kds-divider-text span {
@@ -3770,6 +4124,12 @@ dialog#surveyModal button.circle {
3770
4124
  z-index: 1;
3771
4125
  }
3772
4126
 
4127
+ /* Inside cards/elevated surfaces, use paper background */
4128
+ .kds-card-elevated .kds-divider-text span,
4129
+ .kds-card-body .kds-divider-text span {
4130
+ background: var(--kds-color-background-paper);
4131
+ }
4132
+
3773
4133
  .kds-divider-text::before {
3774
4134
  content: '';
3775
4135
  position: absolute;
@@ -3876,3 +4236,8 @@ dialog#surveyModal button.circle {
3876
4236
  .z-1000 {
3877
4237
  z-index: 1000;
3878
4238
  }
4239
+
4240
+ /* height and min-heighy (for layout purposes) */
4241
+ .min-h-unset{
4242
+ min-height: unset !important;
4243
+ }