@jjlmoya/utils-finance 1.30.0 → 1.32.0

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.
Files changed (215) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/en.ts +1 -1
  3. package/src/category/i18n/es.ts +4 -4
  4. package/src/category/i18n/fr.ts +159 -159
  5. package/src/category/i18n/pl.ts +1 -1
  6. package/src/category/i18n/ru.ts +158 -158
  7. package/src/category/index.ts +39 -38
  8. package/src/category/seo.astro +1 -1
  9. package/src/components/PreviewNavSidebar.astro +1 -1
  10. package/src/components/PreviewToolbar.astro +1 -1
  11. package/src/data.ts +1 -1
  12. package/src/entries.ts +4 -1
  13. package/src/env.d.ts +1 -1
  14. package/src/index.ts +1 -0
  15. package/src/layouts/PreviewLayout.astro +113 -113
  16. package/src/pages/index.astro +1 -1
  17. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  18. package/src/tests/category_seo_quality.test.ts +76 -0
  19. package/src/tests/faq_count.test.ts +1 -1
  20. package/src/tests/locale_completeness.test.ts +2 -2
  21. package/src/tests/mocks/astro_mock.js +1 -1
  22. package/src/tests/no_h1_in_components.test.ts +1 -1
  23. package/src/tests/script_density.test.ts +94 -94
  24. package/src/tests/seo_length.test.ts +23 -23
  25. package/src/tests/seo_translation_completeness.test.ts +69 -0
  26. package/src/tests/seo_wellformed_export.test.ts +65 -0
  27. package/src/tests/tool_validation.test.ts +17 -17
  28. package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
  29. package/src/tool/compoundInterest/entry.ts +32 -32
  30. package/src/tool/compoundInterest/i18n/de.ts +195 -195
  31. package/src/tool/compoundInterest/i18n/fr.ts +195 -195
  32. package/src/tool/compoundInterest/i18n/it.ts +195 -195
  33. package/src/tool/compoundInterest/i18n/pl.ts +194 -194
  34. package/src/tool/compoundInterest/i18n/ru.ts +195 -195
  35. package/src/tool/compoundInterest/i18n/tr.ts +195 -195
  36. package/src/tool/compoundInterest/i18n/zh.ts +189 -189
  37. package/src/tool/compoundInterest/seo.astro +15 -15
  38. package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
  39. package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
  40. package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
  41. package/src/tool/courtFeeCalculator/seo.astro +15 -15
  42. package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
  43. package/src/tool/debtSnowball/bibliography.ts +12 -12
  44. package/src/tool/debtSnowball/i18n/de.ts +16 -16
  45. package/src/tool/debtSnowball/i18n/id.ts +16 -16
  46. package/src/tool/debtSnowball/i18n/it.ts +168 -168
  47. package/src/tool/debtSnowball/i18n/nl.ts +16 -16
  48. package/src/tool/debtSnowball/i18n/pl.ts +168 -168
  49. package/src/tool/debtSnowball/i18n/pt.ts +1 -1
  50. package/src/tool/debtSnowball/i18n/ru.ts +1 -1
  51. package/src/tool/debtSnowball/i18n/sv.ts +22 -29
  52. package/src/tool/debtSnowball/i18n/tr.ts +168 -168
  53. package/src/tool/debtSnowball/i18n/zh.ts +168 -168
  54. package/src/tool/debtSnowball/seo.astro +15 -15
  55. package/src/tool/dividendYield/bibliography.astro +14 -0
  56. package/src/tool/dividendYield/bibliography.ts +12 -0
  57. package/src/tool/dividendYield/component.astro +83 -0
  58. package/src/tool/dividendYield/controller.ts +85 -0
  59. package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
  60. package/src/tool/dividendYield/dom-views.ts +58 -0
  61. package/src/tool/dividendYield/entry.ts +29 -0
  62. package/src/tool/dividendYield/evaluator.ts +16 -0
  63. package/src/tool/dividendYield/i18n/de.ts +53 -0
  64. package/src/tool/dividendYield/i18n/en.ts +138 -0
  65. package/src/tool/dividendYield/i18n/es.ts +49 -0
  66. package/src/tool/dividendYield/i18n/fr.ts +49 -0
  67. package/src/tool/dividendYield/i18n/id.ts +49 -0
  68. package/src/tool/dividendYield/i18n/it.ts +49 -0
  69. package/src/tool/dividendYield/i18n/ja.ts +49 -0
  70. package/src/tool/dividendYield/i18n/ko.ts +25 -0
  71. package/src/tool/dividendYield/i18n/nl.ts +25 -0
  72. package/src/tool/dividendYield/i18n/pl.ts +25 -0
  73. package/src/tool/dividendYield/i18n/pt.ts +25 -0
  74. package/src/tool/dividendYield/i18n/ru.ts +25 -0
  75. package/src/tool/dividendYield/i18n/sv.ts +25 -0
  76. package/src/tool/dividendYield/i18n/tr.ts +25 -0
  77. package/src/tool/dividendYield/i18n/zh.ts +25 -0
  78. package/src/tool/dividendYield/index.ts +11 -0
  79. package/src/tool/dividendYield/logic.test.ts +73 -0
  80. package/src/tool/dividendYield/logic.ts +55 -0
  81. package/src/tool/dividendYield/seo.astro +14 -0
  82. package/src/tool/dividendYield/storage.ts +24 -0
  83. package/src/tool/dividendYield/ui.ts +33 -0
  84. package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
  85. package/src/tool/financialFreedom/i18n/en.ts +182 -182
  86. package/src/tool/financialFreedom/i18n/fr.ts +128 -128
  87. package/src/tool/financialFreedom/i18n/id.ts +24 -7
  88. package/src/tool/financialFreedom/i18n/it.ts +24 -7
  89. package/src/tool/financialFreedom/i18n/ja.ts +1 -1
  90. package/src/tool/financialFreedom/i18n/nl.ts +24 -7
  91. package/src/tool/financialFreedom/i18n/pl.ts +24 -7
  92. package/src/tool/financialFreedom/i18n/pt.ts +24 -7
  93. package/src/tool/financialFreedom/i18n/ru.ts +128 -128
  94. package/src/tool/financialFreedom/i18n/sv.ts +1 -1
  95. package/src/tool/financialFreedom/i18n/tr.ts +2 -2
  96. package/src/tool/financialFreedom/i18n/zh.ts +128 -128
  97. package/src/tool/fireCalculator/i18n/it.ts +241 -241
  98. package/src/tool/fireCalculator/i18n/ru.ts +241 -241
  99. package/src/tool/fireCalculator/i18n/tr.ts +241 -241
  100. package/src/tool/fireCalculator/i18n/zh.ts +241 -241
  101. package/src/tool/fireCalculator/seo.astro +15 -15
  102. package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
  103. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
  104. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
  105. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
  106. package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
  107. package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
  108. package/src/tool/inflation/bibliography.ts +20 -20
  109. package/src/tool/inflation/entry.ts +32 -32
  110. package/src/tool/inflation/i18n/de.ts +284 -284
  111. package/src/tool/inflation/i18n/fr.ts +284 -284
  112. package/src/tool/inflation/i18n/it.ts +284 -284
  113. package/src/tool/inflation/i18n/nl.ts +284 -284
  114. package/src/tool/inflation/i18n/pl.ts +284 -284
  115. package/src/tool/inflation/i18n/pt.ts +284 -284
  116. package/src/tool/inflation/i18n/ru.ts +284 -284
  117. package/src/tool/inflation/i18n/sv.ts +284 -284
  118. package/src/tool/inflation/i18n/tr.ts +284 -284
  119. package/src/tool/inflation/i18n/zh.ts +284 -284
  120. package/src/tool/inflation/seo.astro +15 -15
  121. package/src/tool/lateInterest/bibliography.ts +16 -16
  122. package/src/tool/lateInterest/entry.ts +32 -32
  123. package/src/tool/lateInterest/i18n/de.ts +213 -213
  124. package/src/tool/lateInterest/i18n/es.ts +213 -213
  125. package/src/tool/lateInterest/i18n/it.ts +213 -213
  126. package/src/tool/lateInterest/i18n/nl.ts +213 -213
  127. package/src/tool/lateInterest/i18n/pl.ts +213 -213
  128. package/src/tool/lateInterest/i18n/pt.ts +213 -213
  129. package/src/tool/lateInterest/i18n/ru.ts +213 -213
  130. package/src/tool/lateInterest/i18n/sv.ts +213 -213
  131. package/src/tool/lateInterest/i18n/tr.ts +213 -213
  132. package/src/tool/lateInterest/i18n/zh.ts +213 -213
  133. package/src/tool/lateInterest/seo.astro +15 -15
  134. package/src/tool/legalInterestRate/i18n/it.ts +129 -129
  135. package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
  136. package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
  137. package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
  138. package/src/tool/legalInterestRate/seo.astro +15 -15
  139. package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
  140. package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
  141. package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
  142. package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
  143. package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
  144. package/src/tool/lotteryOptimizer/seo.astro +15 -15
  145. package/src/tool/mortgage/bibliography.ts +20 -20
  146. package/src/tool/mortgage/entry.ts +32 -32
  147. package/src/tool/mortgage/i18n/de.ts +210 -210
  148. package/src/tool/mortgage/i18n/es.ts +210 -210
  149. package/src/tool/mortgage/i18n/fr.ts +210 -210
  150. package/src/tool/mortgage/i18n/id.ts +210 -210
  151. package/src/tool/mortgage/i18n/it.ts +210 -210
  152. package/src/tool/mortgage/i18n/nl.ts +210 -210
  153. package/src/tool/mortgage/i18n/pl.ts +210 -210
  154. package/src/tool/mortgage/i18n/ru.ts +210 -210
  155. package/src/tool/mortgage/i18n/tr.ts +210 -210
  156. package/src/tool/mortgage/i18n/zh.ts +210 -210
  157. package/src/tool/mortgage/mortgage-calculator.css +595 -595
  158. package/src/tool/mortgage/seo.astro +15 -15
  159. package/src/tool/percentageCalculator/bibliography.ts +16 -16
  160. package/src/tool/percentageCalculator/entry.ts +32 -32
  161. package/src/tool/percentageCalculator/i18n/de.ts +220 -220
  162. package/src/tool/percentageCalculator/i18n/en.ts +220 -220
  163. package/src/tool/percentageCalculator/i18n/es.ts +220 -220
  164. package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
  165. package/src/tool/percentageCalculator/i18n/it.ts +220 -220
  166. package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
  167. package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
  168. package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
  169. package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
  170. package/src/tool/percentageCalculator/seo.astro +15 -15
  171. package/src/tool/profitability/i18n/de.ts +24 -7
  172. package/src/tool/profitability/i18n/fr.ts +121 -104
  173. package/src/tool/profitability/i18n/id.ts +2 -2
  174. package/src/tool/profitability/i18n/it.ts +24 -7
  175. package/src/tool/profitability/i18n/ja.ts +1 -1
  176. package/src/tool/profitability/i18n/nl.ts +24 -7
  177. package/src/tool/profitability/i18n/pl.ts +1 -1
  178. package/src/tool/profitability/i18n/pt.ts +24 -7
  179. package/src/tool/profitability/i18n/ru.ts +118 -118
  180. package/src/tool/profitability/i18n/sv.ts +1 -1
  181. package/src/tool/profitability/i18n/tr.ts +1 -1
  182. package/src/tool/profitability/i18n/zh.ts +118 -118
  183. package/src/tool/profitability/profitability-calculator.css +229 -229
  184. package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
  185. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
  186. package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
  187. package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
  188. package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
  189. package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
  190. package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
  191. package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
  192. package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
  193. package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
  194. package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
  195. package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
  196. package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
  197. package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
  198. package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
  199. package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
  200. package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
  201. package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
  202. package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
  203. package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
  204. package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
  205. package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
  206. package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
  207. package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
  208. package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
  209. package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
  210. package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
  211. package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
  212. package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
  213. package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
  214. package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
  215. package/src/tools.ts +2 -1
@@ -1,69 +1,69 @@
1
- :root {
2
- --mortgage-color-primary: #3b82f6;
3
- --mortgage-color-primary-dark: #1e40af;
4
- --mortgage-color-primary-light: #dbeafe;
5
- --mortgage-color-primary-extra-light: #f0f9ff;
6
- --mortgage-color-success: #10b981;
7
- --mortgage-color-success-dark: #047857;
8
- --mortgage-color-success-light: #d1fae5;
9
- --mortgage-color-danger: #ef4444;
10
- --mortgage-color-danger-light: #fee2e2;
11
- --mortgage-color-text-primary: #1f2937;
12
- --mortgage-color-text-secondary: #6b7280;
13
- --mortgage-color-text-light: #9ca3af;
14
- --mortgage-color-bg-primary: #fff;
15
- --mortgage-color-bg-secondary: #f9fafb;
16
- --mortgage-color-bg-tertiary: #f3f4f6;
17
- --mortgage-color-border: #e5e7eb;
18
- --mortgage-color-border-light: #f3f4f6;
19
- }
20
-
21
- .theme-dark,
22
- [data-theme='dark'] {
23
- --mortgage-color-primary: #60a5fa;
24
- --mortgage-color-primary-dark: #3b82f6;
25
- --mortgage-color-primary-light: #1e3a8a;
26
- --mortgage-color-primary-extra-light: #0c1844;
27
- --mortgage-color-success: #34d399;
28
- --mortgage-color-success-dark: #10b981;
29
- --mortgage-color-success-light: #064e3b;
30
- --mortgage-color-danger: #f87171;
31
- --mortgage-color-danger-light: #7f1d1d;
32
- --mortgage-color-text-primary: #f3f4f6;
33
- --mortgage-color-text-secondary: #d1d5db;
34
- --mortgage-color-text-light: #9ca3af;
35
- --mortgage-color-bg-primary: #1f2937;
36
- --mortgage-color-bg-secondary: #111827;
37
- --mortgage-color-bg-tertiary: #0f172a;
38
- --mortgage-color-border: #374151;
39
- --mortgage-color-border-light: #1f2937;
40
- }
41
-
42
- @media (prefers-color-scheme: dark) {
43
- :root {
44
- --mortgage-color-primary: #60a5fa;
45
- --mortgage-color-primary-dark: #3b82f6;
46
- --mortgage-color-primary-light: #1e3a8a;
47
- --mortgage-color-primary-extra-light: #0c1844;
48
- --mortgage-color-success: #34d399;
49
- --mortgage-color-success-dark: #10b981;
50
- --mortgage-color-success-light: #064e3b;
51
- --mortgage-color-danger: #f87171;
52
- --mortgage-color-danger-light: #7f1d1d;
53
- --mortgage-color-text-primary: #f3f4f6;
54
- --mortgage-color-text-secondary: #d1d5db;
55
- --mortgage-color-text-light: #9ca3af;
56
- --mortgage-color-bg-primary: #1f2937;
57
- --mortgage-color-bg-secondary: #111827;
58
- --mortgage-color-bg-tertiary: #0f172a;
59
- --mortgage-color-border: #374151;
60
- --mortgage-color-border-light: #1f2937;
61
- }
62
- }
63
-
64
- .mortgage-container {
65
- background-color: var(--mortgage-color-bg-primary);
66
- border-radius: 1.5rem;
1
+ :root {
2
+ --mortgage-color-primary: #3b82f6;
3
+ --mortgage-color-primary-dark: #1e40af;
4
+ --mortgage-color-primary-light: #dbeafe;
5
+ --mortgage-color-primary-extra-light: #f0f9ff;
6
+ --mortgage-color-success: #10b981;
7
+ --mortgage-color-success-dark: #047857;
8
+ --mortgage-color-success-light: #d1fae5;
9
+ --mortgage-color-danger: #ef4444;
10
+ --mortgage-color-danger-light: #fee2e2;
11
+ --mortgage-color-text-primary: #1f2937;
12
+ --mortgage-color-text-secondary: #6b7280;
13
+ --mortgage-color-text-light: #9ca3af;
14
+ --mortgage-color-bg-primary: #fff;
15
+ --mortgage-color-bg-secondary: #f9fafb;
16
+ --mortgage-color-bg-tertiary: #f3f4f6;
17
+ --mortgage-color-border: #e5e7eb;
18
+ --mortgage-color-border-light: #f3f4f6;
19
+ }
20
+
21
+ .theme-dark,
22
+ [data-theme='dark'] {
23
+ --mortgage-color-primary: #60a5fa;
24
+ --mortgage-color-primary-dark: #3b82f6;
25
+ --mortgage-color-primary-light: #1e3a8a;
26
+ --mortgage-color-primary-extra-light: #0c1844;
27
+ --mortgage-color-success: #34d399;
28
+ --mortgage-color-success-dark: #10b981;
29
+ --mortgage-color-success-light: #064e3b;
30
+ --mortgage-color-danger: #f87171;
31
+ --mortgage-color-danger-light: #7f1d1d;
32
+ --mortgage-color-text-primary: #f3f4f6;
33
+ --mortgage-color-text-secondary: #d1d5db;
34
+ --mortgage-color-text-light: #9ca3af;
35
+ --mortgage-color-bg-primary: #1f2937;
36
+ --mortgage-color-bg-secondary: #111827;
37
+ --mortgage-color-bg-tertiary: #0f172a;
38
+ --mortgage-color-border: #374151;
39
+ --mortgage-color-border-light: #1f2937;
40
+ }
41
+
42
+ @media (prefers-color-scheme: dark) {
43
+ :root {
44
+ --mortgage-color-primary: #60a5fa;
45
+ --mortgage-color-primary-dark: #3b82f6;
46
+ --mortgage-color-primary-light: #1e3a8a;
47
+ --mortgage-color-primary-extra-light: #0c1844;
48
+ --mortgage-color-success: #34d399;
49
+ --mortgage-color-success-dark: #10b981;
50
+ --mortgage-color-success-light: #064e3b;
51
+ --mortgage-color-danger: #f87171;
52
+ --mortgage-color-danger-light: #7f1d1d;
53
+ --mortgage-color-text-primary: #f3f4f6;
54
+ --mortgage-color-text-secondary: #d1d5db;
55
+ --mortgage-color-text-light: #9ca3af;
56
+ --mortgage-color-bg-primary: #1f2937;
57
+ --mortgage-color-bg-secondary: #111827;
58
+ --mortgage-color-bg-tertiary: #0f172a;
59
+ --mortgage-color-border: #374151;
60
+ --mortgage-color-border-light: #1f2937;
61
+ }
62
+ }
63
+
64
+ .mortgage-container {
65
+ background-color: var(--mortgage-color-bg-primary);
66
+ border-radius: 1.5rem;
67
67
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
68
68
  border: 1px solid var(--mortgage-color-border);
69
69
  overflow: hidden;
@@ -76,484 +76,484 @@
76
76
  .mortgage-container *::after {
77
77
  box-sizing: border-box;
78
78
  }
79
-
80
- .mortgage-header {
81
- padding: 1.5rem;
82
- border-bottom: 1px solid var(--mortgage-color-border);
83
- background-color: rgba(59, 130, 246, 0.05);
84
- }
85
-
86
- .mortgage-header-title-group {
79
+
80
+ .mortgage-header {
81
+ padding: 1.5rem;
82
+ border-bottom: 1px solid var(--mortgage-color-border);
83
+ background-color: rgba(59, 130, 246, 0.05);
84
+ }
85
+
86
+ .mortgage-header-title-group {
87
87
  display: flex;
88
88
  align-items: center;
89
89
  gap: 0.75rem;
90
90
  min-width: 0;
91
91
  }
92
-
93
- .mortgage-header-icon {
94
- width: 2.5rem;
95
- height: 2.5rem;
96
- padding: 0.625rem;
97
- background-color: rgba(59, 130, 246, 0.1);
98
- border-radius: 0.75rem;
99
- color: var(--mortgage-color-primary);
100
- flex-shrink: 0;
101
- }
102
-
103
- .mortgage-header-icon svg {
104
- width: 100%;
105
- height: 100%;
106
- }
107
-
108
- .mortgage-header-title {
109
- font-size: 1.25rem;
110
- font-weight: 700;
92
+
93
+ .mortgage-header-icon {
94
+ width: 2.5rem;
95
+ height: 2.5rem;
96
+ padding: 0.625rem;
97
+ background-color: rgba(59, 130, 246, 0.1);
98
+ border-radius: 0.75rem;
99
+ color: var(--mortgage-color-primary);
100
+ flex-shrink: 0;
101
+ }
102
+
103
+ .mortgage-header-icon svg {
104
+ width: 100%;
105
+ height: 100%;
106
+ }
107
+
108
+ .mortgage-header-title {
109
+ font-size: 1.25rem;
110
+ font-weight: 700;
111
111
  color: var(--mortgage-color-text-primary);
112
112
  margin: 0;
113
113
  overflow-wrap: anywhere;
114
114
  }
115
-
116
- .mortgage-grid {
117
- display: grid;
118
- grid-template-columns: 1fr;
115
+
116
+ .mortgage-grid {
117
+ display: grid;
118
+ grid-template-columns: 1fr;
119
119
  gap: 0;
120
120
  padding: 0;
121
121
  min-width: 0;
122
122
  }
123
-
124
- @media (min-width: 1024px) {
125
- .mortgage-grid {
126
- grid-template-columns: minmax(300px, 1fr) 2fr;
127
- gap: 0;
128
- padding: 0;
129
- }
130
- }
131
-
132
- .mortgage-left {
133
- padding: 1.5rem;
134
- background-color: rgba(59, 130, 246, 0.02);
135
- display: flex;
136
- flex-direction: column;
123
+
124
+ @media (min-width: 1024px) {
125
+ .mortgage-grid {
126
+ grid-template-columns: minmax(300px, 1fr) 2fr;
127
+ gap: 0;
128
+ padding: 0;
129
+ }
130
+ }
131
+
132
+ .mortgage-left {
133
+ padding: 1.5rem;
134
+ background-color: rgba(59, 130, 246, 0.02);
135
+ display: flex;
136
+ flex-direction: column;
137
137
  gap: 2rem;
138
138
  border-right: 1px solid var(--mortgage-color-border);
139
139
  min-width: 0;
140
140
  }
141
-
142
- @media (max-width: 1023px) {
143
- .mortgage-left {
144
- border-right: none;
145
- border-bottom: 1px solid var(--mortgage-color-border);
146
- }
147
- }
148
-
149
- .mortgage-right {
150
- padding: 1.5rem;
141
+
142
+ @media (max-width: 1023px) {
143
+ .mortgage-left {
144
+ border-right: none;
145
+ border-bottom: 1px solid var(--mortgage-color-border);
146
+ }
147
+ }
148
+
149
+ .mortgage-right {
150
+ padding: 1.5rem;
151
151
  display: flex;
152
152
  flex-direction: column;
153
153
  gap: 2.5rem;
154
154
  min-width: 0;
155
155
  }
156
-
157
- .mortgage-input-group {
158
- display: flex;
159
- flex-direction: column;
160
- gap: 0.5rem;
161
- }
162
-
163
- .mortgage-label {
164
- font-size: 0.75rem;
165
- font-weight: 700;
166
- color: var(--mortgage-color-text-light);
167
- text-transform: uppercase;
168
- letter-spacing: 0.05em;
169
- }
170
-
171
- .mortgage-label-extra {
172
- display: flex;
173
- align-items: center;
174
- gap: 0.5rem;
175
- color: var(--mortgage-color-success-dark);
176
- }
177
-
178
- .mortgage-label-extra svg {
179
- width: 1rem;
180
- height: 1rem;
181
- }
182
-
183
- .mortgage-input-row {
184
- display: grid;
185
- grid-template-columns: 1fr 1fr;
186
- gap: 1rem;
187
- }
188
-
189
- .mortgage-input-wrapper {
190
- position: relative;
191
- display: flex;
192
- align-items: center;
193
- }
194
-
195
- .mortgage-input-prefix {
196
- position: absolute;
197
- left: 1rem;
198
- top: 50%;
199
- transform: translateY(-50%);
200
- color: var(--mortgage-color-text-light);
201
- font-weight: 700;
202
- pointer-events: none;
203
- }
204
-
205
- .mortgage-input-suffix {
206
- position: absolute;
207
- right: 1rem;
208
- top: 50%;
209
- transform: translateY(-50%);
210
- color: var(--mortgage-color-text-light);
211
- font-weight: 700;
212
- pointer-events: none;
213
- }
214
-
215
- .mortgage-input {
216
- width: 100%;
217
- padding: 0.75rem 1rem;
218
- background-color: var(--mortgage-color-bg-primary);
219
- border: 2px solid var(--mortgage-color-border);
220
- border-radius: 0.75rem;
221
- font-weight: 700;
222
- font-size: 1.125rem;
223
- color: var(--mortgage-color-text-primary);
224
- transition: all 0.2s ease;
225
- }
226
-
227
- .mortgage-input:focus {
228
- border-color: var(--mortgage-color-primary);
229
- outline: none;
230
- }
231
-
232
- .mortgage-input-prefixed {
233
- padding-left: 3.5rem;
234
- }
235
-
236
- .mortgage-input-suffixed {
237
- padding-right: 3.5rem;
238
- }
239
-
240
- .mortgage-input-extra {
241
- background-color: rgba(16, 185, 129, 0.05);
242
- border-color: rgba(16, 185, 129, 0.2);
243
- }
244
-
245
- .mortgage-input-extra:focus {
246
- border-color: var(--mortgage-color-success);
247
- }
248
-
249
- .mortgage-input-hint {
250
- font-size: 0.625rem;
251
- color: var(--mortgage-color-text-light);
252
- margin-top: 0.5rem;
253
- line-height: 1.5;
254
- }
255
-
256
- .mortgage-divider {
257
- height: 1px;
258
- background-color: var(--mortgage-color-border);
259
- margin: 1rem 0;
260
- }
261
-
262
- .mortgage-payment-card {
263
- background: linear-gradient(135deg, var(--mortgage-color-primary) 0%, var(--mortgage-color-primary-dark) 100%);
264
- border-radius: 1rem;
265
- padding: 1.5rem;
266
- color: white;
267
- text-align: center;
268
- box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
269
- }
270
-
271
- .mortgage-payment-label {
272
- display: block;
273
- font-size: 0.75rem;
274
- font-weight: 700;
275
- text-transform: uppercase;
276
- letter-spacing: 0.05em;
277
- opacity: 0.9;
278
- margin-bottom: 0.5rem;
279
- }
280
-
281
- .mortgage-payment-value {
282
- display: block;
283
- font-size: 3rem;
284
- font-weight: 900;
156
+
157
+ .mortgage-input-group {
158
+ display: flex;
159
+ flex-direction: column;
160
+ gap: 0.5rem;
161
+ }
162
+
163
+ .mortgage-label {
164
+ font-size: 0.75rem;
165
+ font-weight: 700;
166
+ color: var(--mortgage-color-text-light);
167
+ text-transform: uppercase;
168
+ letter-spacing: 0.05em;
169
+ }
170
+
171
+ .mortgage-label-extra {
172
+ display: flex;
173
+ align-items: center;
174
+ gap: 0.5rem;
175
+ color: var(--mortgage-color-success-dark);
176
+ }
177
+
178
+ .mortgage-label-extra svg {
179
+ width: 1rem;
180
+ height: 1rem;
181
+ }
182
+
183
+ .mortgage-input-row {
184
+ display: grid;
185
+ grid-template-columns: 1fr 1fr;
186
+ gap: 1rem;
187
+ }
188
+
189
+ .mortgage-input-wrapper {
190
+ position: relative;
191
+ display: flex;
192
+ align-items: center;
193
+ }
194
+
195
+ .mortgage-input-prefix {
196
+ position: absolute;
197
+ left: 1rem;
198
+ top: 50%;
199
+ transform: translateY(-50%);
200
+ color: var(--mortgage-color-text-light);
201
+ font-weight: 700;
202
+ pointer-events: none;
203
+ }
204
+
205
+ .mortgage-input-suffix {
206
+ position: absolute;
207
+ right: 1rem;
208
+ top: 50%;
209
+ transform: translateY(-50%);
210
+ color: var(--mortgage-color-text-light);
211
+ font-weight: 700;
212
+ pointer-events: none;
213
+ }
214
+
215
+ .mortgage-input {
216
+ width: 100%;
217
+ padding: 0.75rem 1rem;
218
+ background-color: var(--mortgage-color-bg-primary);
219
+ border: 2px solid var(--mortgage-color-border);
220
+ border-radius: 0.75rem;
221
+ font-weight: 700;
222
+ font-size: 1.125rem;
223
+ color: var(--mortgage-color-text-primary);
224
+ transition: all 0.2s ease;
225
+ }
226
+
227
+ .mortgage-input:focus {
228
+ border-color: var(--mortgage-color-primary);
229
+ outline: none;
230
+ }
231
+
232
+ .mortgage-input-prefixed {
233
+ padding-left: 3.5rem;
234
+ }
235
+
236
+ .mortgage-input-suffixed {
237
+ padding-right: 3.5rem;
238
+ }
239
+
240
+ .mortgage-input-extra {
241
+ background-color: rgba(16, 185, 129, 0.05);
242
+ border-color: rgba(16, 185, 129, 0.2);
243
+ }
244
+
245
+ .mortgage-input-extra:focus {
246
+ border-color: var(--mortgage-color-success);
247
+ }
248
+
249
+ .mortgage-input-hint {
250
+ font-size: 0.625rem;
251
+ color: var(--mortgage-color-text-light);
252
+ margin-top: 0.5rem;
253
+ line-height: 1.5;
254
+ }
255
+
256
+ .mortgage-divider {
257
+ height: 1px;
258
+ background-color: var(--mortgage-color-border);
259
+ margin: 1rem 0;
260
+ }
261
+
262
+ .mortgage-payment-card {
263
+ background: linear-gradient(135deg, var(--mortgage-color-primary) 0%, var(--mortgage-color-primary-dark) 100%);
264
+ border-radius: 1rem;
265
+ padding: 1.5rem;
266
+ color: white;
267
+ text-align: center;
268
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
269
+ }
270
+
271
+ .mortgage-payment-label {
272
+ display: block;
273
+ font-size: 0.75rem;
274
+ font-weight: 700;
275
+ text-transform: uppercase;
276
+ letter-spacing: 0.05em;
277
+ opacity: 0.9;
278
+ margin-bottom: 0.5rem;
279
+ }
280
+
281
+ .mortgage-payment-value {
282
+ display: block;
283
+ font-size: 3rem;
284
+ font-weight: 900;
285
285
  letter-spacing: -0.02em;
286
286
  margin-bottom: 0.5rem;
287
287
  overflow-wrap: anywhere;
288
288
  }
289
-
290
- .mortgage-payment-duration {
291
- display: block;
292
- font-size: 0.75rem;
293
- opacity: 0.8;
294
- }
295
-
296
- .mortgage-savings-card {
297
- background-color: var(--mortgage-color-bg-secondary);
298
- border: 2px dashed var(--mortgage-color-border);
299
- border-radius: 1rem;
300
- padding: 1.5rem;
301
- transition: all 0.3s ease;
302
- }
303
-
304
- .mortgage-savings-inactive {
305
- opacity: 0.6;
306
- filter: grayscale(1);
307
- }
308
-
309
- .mortgage-savings-active {
310
- border-color: var(--mortgage-color-success);
311
- background-color: rgba(16, 185, 129, 0.05);
312
- box-shadow: 0 0 16px rgba(16, 185, 129, 0.1);
313
- }
314
-
315
- .mortgage-savings-title {
316
- display: flex;
317
- align-items: center;
318
- gap: 0.5rem;
319
- font-size: 0.875rem;
320
- font-weight: 700;
321
- text-transform: uppercase;
322
- color: var(--mortgage-color-success-dark);
323
- margin: 0 0 1rem;
324
- }
325
-
326
- .mortgage-savings-title svg {
327
- width: 1rem;
328
- height: 1rem;
329
- }
330
-
331
- .mortgage-savings-grid {
332
- display: grid;
333
- grid-template-columns: 1fr 1fr;
334
- gap: 1rem;
335
- }
336
-
337
- .mortgage-savings-item {
338
- display: flex;
339
- flex-direction: column;
340
- }
341
-
342
- .mortgage-savings-label {
343
- font-size: 0.75rem;
344
- color: var(--mortgage-color-text-light);
345
- margin-bottom: 0.25rem;
346
- }
347
-
348
- .mortgage-savings-value {
349
- font-size: 1.25rem;
289
+
290
+ .mortgage-payment-duration {
291
+ display: block;
292
+ font-size: 0.75rem;
293
+ opacity: 0.8;
294
+ }
295
+
296
+ .mortgage-savings-card {
297
+ background-color: var(--mortgage-color-bg-secondary);
298
+ border: 2px dashed var(--mortgage-color-border);
299
+ border-radius: 1rem;
300
+ padding: 1.5rem;
301
+ transition: all 0.3s ease;
302
+ }
303
+
304
+ .mortgage-savings-inactive {
305
+ opacity: 0.6;
306
+ filter: grayscale(1);
307
+ }
308
+
309
+ .mortgage-savings-active {
310
+ border-color: var(--mortgage-color-success);
311
+ background-color: rgba(16, 185, 129, 0.05);
312
+ box-shadow: 0 0 16px rgba(16, 185, 129, 0.1);
313
+ }
314
+
315
+ .mortgage-savings-title {
316
+ display: flex;
317
+ align-items: center;
318
+ gap: 0.5rem;
319
+ font-size: 0.875rem;
320
+ font-weight: 700;
321
+ text-transform: uppercase;
322
+ color: var(--mortgage-color-success-dark);
323
+ margin: 0 0 1rem;
324
+ }
325
+
326
+ .mortgage-savings-title svg {
327
+ width: 1rem;
328
+ height: 1rem;
329
+ }
330
+
331
+ .mortgage-savings-grid {
332
+ display: grid;
333
+ grid-template-columns: 1fr 1fr;
334
+ gap: 1rem;
335
+ }
336
+
337
+ .mortgage-savings-item {
338
+ display: flex;
339
+ flex-direction: column;
340
+ }
341
+
342
+ .mortgage-savings-label {
343
+ font-size: 0.75rem;
344
+ color: var(--mortgage-color-text-light);
345
+ margin-bottom: 0.25rem;
346
+ }
347
+
348
+ .mortgage-savings-value {
349
+ font-size: 1.25rem;
350
350
  font-weight: 700;
351
351
  color: var(--mortgage-color-text-primary);
352
352
  overflow-wrap: anywhere;
353
353
  }
354
-
355
- .mortgage-section {
356
- display: flex;
357
- flex-direction: column;
358
- gap: 1rem;
359
- }
360
-
361
- .mortgage-section-title {
362
- font-size: 0.875rem;
363
- font-weight: 700;
364
- color: var(--mortgage-color-text-primary);
365
- margin: 0;
366
- display: flex;
367
- align-items: center;
368
- gap: 0.5rem;
369
- }
370
-
371
- .mortgage-section-divider {
372
- height: 1px;
373
- background-color: var(--mortgage-color-border);
374
- }
375
-
376
- .mortgage-timeline {
377
- display: flex;
378
- flex-direction: column;
379
- gap: 1.5rem;
380
- }
381
-
382
- .mortgage-timeline-item {
383
- display: flex;
384
- flex-direction: column;
385
- gap: 0.5rem;
386
- }
387
-
388
- .mortgage-timeline-header {
389
- display: flex;
390
- justify-content: space-between;
391
- align-items: center;
392
- font-size: 0.75rem;
393
- font-weight: 700;
394
- text-transform: uppercase;
354
+
355
+ .mortgage-section {
356
+ display: flex;
357
+ flex-direction: column;
358
+ gap: 1rem;
359
+ }
360
+
361
+ .mortgage-section-title {
362
+ font-size: 0.875rem;
363
+ font-weight: 700;
364
+ color: var(--mortgage-color-text-primary);
365
+ margin: 0;
366
+ display: flex;
367
+ align-items: center;
368
+ gap: 0.5rem;
369
+ }
370
+
371
+ .mortgage-section-divider {
372
+ height: 1px;
373
+ background-color: var(--mortgage-color-border);
374
+ }
375
+
376
+ .mortgage-timeline {
377
+ display: flex;
378
+ flex-direction: column;
379
+ gap: 1.5rem;
380
+ }
381
+
382
+ .mortgage-timeline-item {
383
+ display: flex;
384
+ flex-direction: column;
385
+ gap: 0.5rem;
386
+ }
387
+
388
+ .mortgage-timeline-header {
389
+ display: flex;
390
+ justify-content: space-between;
391
+ align-items: center;
392
+ font-size: 0.75rem;
393
+ font-weight: 700;
394
+ text-transform: uppercase;
395
395
  letter-spacing: 0.05em;
396
396
  color: var(--mortgage-color-text-light);
397
397
  gap: 0.75rem;
398
398
  }
399
-
400
- .mortgage-timeline-label-optimized {
401
- color: var(--mortgage-color-success-dark);
402
- }
403
-
404
- .mortgage-timeline-bar {
405
- height: 1rem;
406
- width: 100%;
407
- background-color: var(--mortgage-color-bg-secondary);
408
- border-radius: 9999px;
409
- overflow: hidden;
410
- }
411
-
412
- .mortgage-timeline-fill {
413
- height: 100%;
414
- background-color: var(--mortgage-color-text-light);
415
- border-radius: 9999px;
416
- transition: width 1s ease;
417
- }
418
-
419
- .mortgage-timeline-fill-optimized {
420
- background-color: var(--mortgage-color-success);
421
- width: 100%;
422
- }
423
-
424
- .mortgage-timeline-fill.mortgage-timeline-active {
425
- background-color: var(--mortgage-color-success);
426
- box-shadow: 0 0 16px rgba(16, 185, 129, 0.5);
427
- }
428
-
429
- .mortgage-breakdown-bar {
430
- display: flex;
431
- height: 3.5rem;
432
- width: 100%;
433
- background-color: var(--mortgage-color-bg-secondary);
434
- border-radius: 0.75rem;
435
- overflow: hidden;
436
- gap: 0;
437
- margin-bottom: 1rem;
438
- font-size: 0.75rem;
439
- font-weight: 700;
440
- color: white;
441
- }
442
-
443
- .mortgage-breakdown-principal {
444
- background-color: var(--mortgage-color-text-light);
445
- display: flex;
446
- align-items: center;
447
- justify-content: center;
448
- flex-direction: column;
449
- gap: 0.25rem;
450
- transition: width 0.7s ease;
451
- }
452
-
453
- .mortgage-breakdown-interest {
454
- background-color: var(--mortgage-color-danger);
455
- display: flex;
456
- align-items: center;
457
- justify-content: center;
458
- flex-direction: column;
459
- gap: 0.25rem;
460
- transition: width 0.7s ease;
461
- }
462
-
463
- .mortgage-breakdown-label {
464
- display: block;
465
- }
466
-
467
- .mortgage-breakdown-value {
468
- display: none;
469
- }
470
-
471
- @media (min-width: 768px) {
472
- .mortgage-breakdown-value {
473
- display: block;
474
- font-weight: 300;
475
- opacity: 0.8;
476
- }
477
- }
478
-
479
- .mortgage-breakdown-summary {
480
- display: flex;
481
- justify-content: space-between;
482
- gap: 1rem;
399
+
400
+ .mortgage-timeline-label-optimized {
401
+ color: var(--mortgage-color-success-dark);
402
+ }
403
+
404
+ .mortgage-timeline-bar {
405
+ height: 1rem;
406
+ width: 100%;
407
+ background-color: var(--mortgage-color-bg-secondary);
408
+ border-radius: 9999px;
409
+ overflow: hidden;
410
+ }
411
+
412
+ .mortgage-timeline-fill {
413
+ height: 100%;
414
+ background-color: var(--mortgage-color-text-light);
415
+ border-radius: 9999px;
416
+ transition: width 1s ease;
417
+ }
418
+
419
+ .mortgage-timeline-fill-optimized {
420
+ background-color: var(--mortgage-color-success);
421
+ width: 100%;
422
+ }
423
+
424
+ .mortgage-timeline-fill.mortgage-timeline-active {
425
+ background-color: var(--mortgage-color-success);
426
+ box-shadow: 0 0 16px rgba(16, 185, 129, 0.5);
427
+ }
428
+
429
+ .mortgage-breakdown-bar {
430
+ display: flex;
431
+ height: 3.5rem;
432
+ width: 100%;
433
+ background-color: var(--mortgage-color-bg-secondary);
434
+ border-radius: 0.75rem;
435
+ overflow: hidden;
436
+ gap: 0;
437
+ margin-bottom: 1rem;
438
+ font-size: 0.75rem;
439
+ font-weight: 700;
440
+ color: white;
441
+ }
442
+
443
+ .mortgage-breakdown-principal {
444
+ background-color: var(--mortgage-color-text-light);
445
+ display: flex;
446
+ align-items: center;
447
+ justify-content: center;
448
+ flex-direction: column;
449
+ gap: 0.25rem;
450
+ transition: width 0.7s ease;
451
+ }
452
+
453
+ .mortgage-breakdown-interest {
454
+ background-color: var(--mortgage-color-danger);
455
+ display: flex;
456
+ align-items: center;
457
+ justify-content: center;
458
+ flex-direction: column;
459
+ gap: 0.25rem;
460
+ transition: width 0.7s ease;
461
+ }
462
+
463
+ .mortgage-breakdown-label {
464
+ display: block;
465
+ }
466
+
467
+ .mortgage-breakdown-value {
468
+ display: none;
469
+ }
470
+
471
+ @media (min-width: 768px) {
472
+ .mortgage-breakdown-value {
473
+ display: block;
474
+ font-weight: 300;
475
+ opacity: 0.8;
476
+ }
477
+ }
478
+
479
+ .mortgage-breakdown-summary {
480
+ display: flex;
481
+ justify-content: space-between;
482
+ gap: 1rem;
483
483
  font-size: 0.875rem;
484
484
  color: var(--mortgage-color-text-secondary);
485
485
  min-width: 0;
486
486
  }
487
-
488
- .mortgage-breakdown-item {
489
- flex: 1;
490
- }
491
-
492
- .mortgage-breakdown-emphasis {
493
- font-weight: 700;
494
- color: var(--mortgage-color-text-primary);
495
- }
496
-
497
- .mortgage-breakdown-interest-emphasis {
498
- color: var(--mortgage-color-danger);
499
- }
500
-
501
- .mortgage-table-container {
502
- background-color: var(--mortgage-color-bg-secondary);
503
- border: 1px solid var(--mortgage-color-border);
504
- border-radius: 1rem;
505
- overflow: hidden;
506
- display: flex;
507
- flex-direction: column;
508
- }
509
-
510
- .mortgage-table-header {
511
- display: flex;
512
- justify-content: space-between;
513
- align-items: center;
514
- padding: 1rem;
515
- border-bottom: 1px solid var(--mortgage-color-border);
516
- background-color: rgba(59, 130, 246, 0.05);
517
- }
518
-
519
- .mortgage-table-title {
520
- font-size: 0.75rem;
521
- font-weight: 700;
522
- text-transform: uppercase;
523
- letter-spacing: 0.05em;
524
- color: var(--mortgage-color-text-light);
525
- margin: 0;
526
- }
527
-
528
- .mortgage-toggle-btn {
529
- font-size: 0.625rem;
530
- background-color: var(--mortgage-color-bg-primary);
531
- border: 1px solid var(--mortgage-color-border);
532
- padding: 0.375rem 0.75rem;
533
- border-radius: 0.5rem;
534
- color: var(--mortgage-color-text-secondary);
535
- font-weight: 700;
536
- cursor: pointer;
537
- transition: all 0.2s ease;
538
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
539
- }
540
-
541
- .mortgage-toggle-btn:hover {
542
- background-color: var(--mortgage-color-bg-secondary);
543
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
544
- }
545
-
546
- .mortgage-toggle-btn:active {
547
- transform: scale(0.95);
548
- }
549
-
550
- .mortgage-table-scroll {
487
+
488
+ .mortgage-breakdown-item {
489
+ flex: 1;
490
+ }
491
+
492
+ .mortgage-breakdown-emphasis {
493
+ font-weight: 700;
494
+ color: var(--mortgage-color-text-primary);
495
+ }
496
+
497
+ .mortgage-breakdown-interest-emphasis {
498
+ color: var(--mortgage-color-danger);
499
+ }
500
+
501
+ .mortgage-table-container {
502
+ background-color: var(--mortgage-color-bg-secondary);
503
+ border: 1px solid var(--mortgage-color-border);
504
+ border-radius: 1rem;
505
+ overflow: hidden;
506
+ display: flex;
507
+ flex-direction: column;
508
+ }
509
+
510
+ .mortgage-table-header {
511
+ display: flex;
512
+ justify-content: space-between;
513
+ align-items: center;
514
+ padding: 1rem;
515
+ border-bottom: 1px solid var(--mortgage-color-border);
516
+ background-color: rgba(59, 130, 246, 0.05);
517
+ }
518
+
519
+ .mortgage-table-title {
520
+ font-size: 0.75rem;
521
+ font-weight: 700;
522
+ text-transform: uppercase;
523
+ letter-spacing: 0.05em;
524
+ color: var(--mortgage-color-text-light);
525
+ margin: 0;
526
+ }
527
+
528
+ .mortgage-toggle-btn {
529
+ font-size: 0.625rem;
530
+ background-color: var(--mortgage-color-bg-primary);
531
+ border: 1px solid var(--mortgage-color-border);
532
+ padding: 0.375rem 0.75rem;
533
+ border-radius: 0.5rem;
534
+ color: var(--mortgage-color-text-secondary);
535
+ font-weight: 700;
536
+ cursor: pointer;
537
+ transition: all 0.2s ease;
538
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
539
+ }
540
+
541
+ .mortgage-toggle-btn:hover {
542
+ background-color: var(--mortgage-color-bg-secondary);
543
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
544
+ }
545
+
546
+ .mortgage-toggle-btn:active {
547
+ transform: scale(0.95);
548
+ }
549
+
550
+ .mortgage-table-scroll {
551
551
  overflow-x: auto;
552
552
  max-height: 500px;
553
553
  overflow-y: auto;
554
554
  width: 100%;
555
555
  }
556
-
556
+
557
557
  .mortgage-table {
558
558
  width: 100%;
559
559
  min-width: 560px;
@@ -599,98 +599,98 @@
599
599
  border-radius: 0.75rem;
600
600
  }
601
601
  }
602
-
603
- .mortgage-table thead {
604
- position: sticky;
605
- top: 0;
606
- background-color: var(--mortgage-color-bg-secondary);
607
- z-index: 10;
608
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
609
- }
610
-
611
- .mortgage-table-cell {
612
- padding: 0.75rem 0.5rem;
613
- color: var(--mortgage-color-text-secondary);
614
- font-weight: 500;
615
- }
616
-
617
- .mortgage-table thead .mortgage-table-cell {
618
- color: var(--mortgage-color-text-light);
619
- font-weight: 700;
620
- text-transform: uppercase;
621
- letter-spacing: 0.05em;
622
- }
623
-
624
- .mortgage-table-interest {
625
- text-align: right;
626
- color: var(--mortgage-color-danger);
627
- }
628
-
629
- .mortgage-table thead .mortgage-table-interest {
630
- color: var(--mortgage-color-danger);
631
- }
632
-
633
- .mortgage-table-principal {
634
- text-align: right;
635
- color: var(--mortgage-color-success);
636
- }
637
-
638
- .mortgage-table thead .mortgage-table-principal {
639
- color: var(--mortgage-color-success);
640
- }
641
-
642
- .mortgage-table-extra {
643
- text-align: right;
644
- color: var(--mortgage-color-primary);
645
- }
646
-
647
- .mortgage-table thead .mortgage-table-extra {
648
- color: var(--mortgage-color-primary);
649
- }
650
-
651
- .mortgage-table-balance {
652
- text-align: right;
653
- color: var(--mortgage-color-text-light);
654
- padding-right: 0.5rem;
655
- }
656
-
657
- .mortgage-table tbody .mortgage-table-row {
658
- border-bottom: 1px solid var(--mortgage-color-border);
659
- transition: background-color 0.2s ease;
660
- }
661
-
662
- .mortgage-table tbody .mortgage-table-row:hover {
663
- background-color: rgba(59, 130, 246, 0.05);
664
- }
665
-
666
- .mortgage-table-dash {
667
- opacity: 0.2;
668
- }
669
-
670
- .mortgage-table-footer {
671
- padding: 1.5rem 0.5rem;
672
- text-align: center;
673
- font-size: 0.625rem;
674
- color: var(--mortgage-color-text-light);
675
- font-style: italic;
676
- background-color: rgba(59, 130, 246, 0.02);
677
- }
678
-
679
- .mortgage-table-footer-btn {
680
- margin-left: 0.25rem;
681
- text-decoration: underline;
682
- font-weight: 700;
683
- color: var(--mortgage-color-primary);
684
- cursor: pointer;
685
- background: none;
686
- border: none;
687
- padding: 0;
688
- }
689
-
690
- .mortgage-table-paid {
691
- font-style: normal;
692
- font-weight: 700;
693
- color: var(--mortgage-color-success);
694
- text-transform: uppercase;
695
- letter-spacing: 0.05em;
602
+
603
+ .mortgage-table thead {
604
+ position: sticky;
605
+ top: 0;
606
+ background-color: var(--mortgage-color-bg-secondary);
607
+ z-index: 10;
608
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
609
+ }
610
+
611
+ .mortgage-table-cell {
612
+ padding: 0.75rem 0.5rem;
613
+ color: var(--mortgage-color-text-secondary);
614
+ font-weight: 500;
615
+ }
616
+
617
+ .mortgage-table thead .mortgage-table-cell {
618
+ color: var(--mortgage-color-text-light);
619
+ font-weight: 700;
620
+ text-transform: uppercase;
621
+ letter-spacing: 0.05em;
622
+ }
623
+
624
+ .mortgage-table-interest {
625
+ text-align: right;
626
+ color: var(--mortgage-color-danger);
627
+ }
628
+
629
+ .mortgage-table thead .mortgage-table-interest {
630
+ color: var(--mortgage-color-danger);
631
+ }
632
+
633
+ .mortgage-table-principal {
634
+ text-align: right;
635
+ color: var(--mortgage-color-success);
636
+ }
637
+
638
+ .mortgage-table thead .mortgage-table-principal {
639
+ color: var(--mortgage-color-success);
640
+ }
641
+
642
+ .mortgage-table-extra {
643
+ text-align: right;
644
+ color: var(--mortgage-color-primary);
645
+ }
646
+
647
+ .mortgage-table thead .mortgage-table-extra {
648
+ color: var(--mortgage-color-primary);
649
+ }
650
+
651
+ .mortgage-table-balance {
652
+ text-align: right;
653
+ color: var(--mortgage-color-text-light);
654
+ padding-right: 0.5rem;
655
+ }
656
+
657
+ .mortgage-table tbody .mortgage-table-row {
658
+ border-bottom: 1px solid var(--mortgage-color-border);
659
+ transition: background-color 0.2s ease;
660
+ }
661
+
662
+ .mortgage-table tbody .mortgage-table-row:hover {
663
+ background-color: rgba(59, 130, 246, 0.05);
664
+ }
665
+
666
+ .mortgage-table-dash {
667
+ opacity: 0.2;
668
+ }
669
+
670
+ .mortgage-table-footer {
671
+ padding: 1.5rem 0.5rem;
672
+ text-align: center;
673
+ font-size: 0.625rem;
674
+ color: var(--mortgage-color-text-light);
675
+ font-style: italic;
676
+ background-color: rgba(59, 130, 246, 0.02);
677
+ }
678
+
679
+ .mortgage-table-footer-btn {
680
+ margin-left: 0.25rem;
681
+ text-decoration: underline;
682
+ font-weight: 700;
683
+ color: var(--mortgage-color-primary);
684
+ cursor: pointer;
685
+ background: none;
686
+ border: none;
687
+ padding: 0;
688
+ }
689
+
690
+ .mortgage-table-paid {
691
+ font-style: normal;
692
+ font-weight: 700;
693
+ color: var(--mortgage-color-success);
694
+ text-transform: uppercase;
695
+ letter-spacing: 0.05em;
696
696
  }