mantenimento-app 2.1.2 → 2.1.4

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.
@@ -347,6 +347,55 @@
347
347
  </div>
348
348
  </div>
349
349
 
350
+ <div class="extra-box" id="firstHomeBox">
351
+ <div class="extra-box-title" id="firstHomeBoxTitle">Mutuo prima casa ceduta</div>
352
+ <div class="extra-box-note" id="firstHomeBoxNote">Dichiara se esiste un mutuo sulla prima casa dei coniugi ceduta a uno dei due: il modello considera il trasferimento implicito quando la casa e assegnata al collocatario.</div>
353
+ <div class="extra-grid">
354
+ <div class="field">
355
+ <label for="primaCasaMutuoEnabled" class="label-row"><span id="lblPrimaCasaMutuoEnabled">Mutuo su prima casa dei coniugi</span>
356
+ <span class="hint" id="hintPrimaCasaMutuoEnabled" title="Attiva per includere il mutuo della prima casa ceduta nei benefici compensativi.">i</span>
357
+ </label>
358
+ <input id="primaCasaMutuoEnabled" type="checkbox" />
359
+ </div>
360
+ <div class="field">
361
+ <label for="primaCasaMutuoImporto" class="label-row"><span id="lblPrimaCasaMutuoImporto">Rata mutuo mensile ({currency})</span>
362
+ <span class="hint" id="hintPrimaCasaMutuoImporto" title="Importo mensile complessivo della rata del mutuo prima casa.">i</span>
363
+ </label>
364
+ <input id="primaCasaMutuoImporto" type="number" min="0" step="50" value="0" />
365
+ </div>
366
+ <div class="field">
367
+ <label for="primaCasaAssegnataA" class="label-row"><span id="lblPrimaCasaAssegnataA">Casa assegnata a</span>
368
+ <span class="hint" id="hintPrimaCasaAssegnataA" title="Seleziona il coniuge a cui e ceduta la prima casa.">i</span>
369
+ </label>
370
+ <select id="primaCasaAssegnataA">
371
+ <option value="">Nessuna cessione</option>
372
+ <option value="1">Coniuge 1</option>
373
+ <option value="2">Coniuge 2</option>
374
+ </select>
375
+ </div>
376
+ <div class="field">
377
+ <label for="primaCasaMutuoPerc1" class="label-row"><span id="lblPrimaCasaMutuoPerc1">Quota mutuo a carico Coniuge 1 (%)</span>
378
+ <span class="hint" id="hintPrimaCasaMutuoPerc1" title="Percentuale della rata mutuo pagata da Coniuge 1. La quota di Coniuge 2 e complementare a 100%.">i</span>
379
+ </label>
380
+ <div class="mortgage-split-slider" id="primaCasaMutuoSliderWrap">
381
+ <div class="mortgage-split-side mortgage-split-side-left" id="primaCasaSplitLeft">
382
+ <div class="mortgage-split-name" id="primaCasaSplitLeftName">Coniuge 1</div>
383
+ <div class="mortgage-split-amount" id="primaCasaSplitLeftAmount">0 EUR</div>
384
+ </div>
385
+ <div class="mortgage-split-range-wrap">
386
+ <input id="primaCasaMutuoPerc1" type="range" min="0" max="100" step="1" value="50" />
387
+ <div class="mortgage-split-center" id="primaCasaSplitCenter">50% / 50%</div>
388
+ </div>
389
+ <div class="mortgage-split-side mortgage-split-side-right" id="primaCasaSplitRight">
390
+ <div class="mortgage-split-name" id="primaCasaSplitRightName">Coniuge 2</div>
391
+ <div class="mortgage-split-amount" id="primaCasaSplitRightAmount">0 EUR</div>
392
+ </div>
393
+ </div>
394
+ <div class="extra-monthly" id="primaCasaMutuoSplitInfo">Ripartizione mutuo: Coniuge 1 50% · Coniuge 2 50%</div>
395
+ </div>
396
+ </div>
397
+ </div>
398
+
350
399
  <div class="extra-box" id="extraBox">
351
400
  <div class="extra-box-title" id="extraBoxTitle">Spese straordinarie (base)</div>
352
401
  <div class="extra-box-note" id="extraBoxNote">Inserisci i costi straordinari annuali stimati: il sistema li converte in quota mensile da includere nel modello.</div>
@@ -452,10 +501,22 @@
452
501
  <p class="note">
453
502
  Questo strumento e solo orientativo e non sostituisce una valutazione legale/professionale del caso concreto.
454
503
  </p>
504
+ <div id="spiegPanel" class="spieg-panel"></div>
455
505
  </div>
456
506
  </section>
457
507
  </div>
458
508
 
509
+ <section class="card scenario-lab-card" id="scenarioLabCard">
510
+ <h2>Scenario Lab</h2>
511
+ <div class="content">
512
+ <div class="scenario-lab-actions">
513
+ <button class="btn-primary" id="btnSaveScenario" type="button">Salva scenario corrente</button>
514
+ <button class="btn-secondary" id="btnClearScenarios" type="button">Azzera scenari</button>
515
+ </div>
516
+ <div id="scenarioLabBody"></div>
517
+ </div>
518
+ </section>
519
+
459
520
  <div class="donate-banner" role="button" tabindex="0" aria-label="Apri scelta metodo di donazione">
460
521
  <div class="donate-text">
461
522
  <div class="donate-icon">☕</div>
@@ -515,6 +576,6 @@
515
576
  <script src="supabase.min.js"></script>
516
577
  <script src="fabric.min.js"></script>
517
578
  <script src="html2pdf.bundle.min.js"></script>
518
- <script src="app.js?v=2.1.1"></script>
579
+ <script src="app.js?v=2.1.4"></script>
519
580
  </body>
520
581
  </html>
@@ -80,6 +80,37 @@
80
80
  gap: 10px;
81
81
  }
82
82
 
83
+ .runtime-badge {
84
+ display: inline-flex;
85
+ align-items: center;
86
+ gap: 6px;
87
+ margin-right: 2px;
88
+ }
89
+
90
+ .runtime-badge-chip {
91
+ display: inline-flex;
92
+ align-items: center;
93
+ min-height: 30px;
94
+ padding: 5px 10px;
95
+ border-radius: 999px;
96
+ font-size: 0.72rem;
97
+ font-weight: 800;
98
+ letter-spacing: 0.05em;
99
+ text-transform: uppercase;
100
+ border: 1px solid rgba(255,255,255,0.28);
101
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
102
+ }
103
+
104
+ .runtime-badge-chip--frontend {
105
+ color: #fff6da;
106
+ background: linear-gradient(135deg, rgba(145, 77, 7, 0.92), rgba(201, 118, 18, 0.92));
107
+ }
108
+
109
+ .runtime-badge-chip--api {
110
+ color: #f4fffb;
111
+ background: linear-gradient(135deg, rgba(17, 101, 92, 0.95), rgba(29, 146, 128, 0.95));
112
+ }
113
+
83
114
  .top-actions {
84
115
  position: relative;
85
116
  display: inline-block;
@@ -819,6 +850,113 @@
819
850
  font-weight: 700;
820
851
  color: #184a44;
821
852
  }
853
+
854
+ .mortgage-split-slider {
855
+ margin-top: 6px;
856
+ border: 1px solid #b9d6cf;
857
+ border-radius: 14px;
858
+ background:
859
+ radial-gradient(120% 160% at 0% 0%, rgba(229, 247, 242, 0.8), transparent 58%),
860
+ radial-gradient(120% 160% at 100% 0%, rgba(255, 241, 214, 0.8), transparent 58%),
861
+ linear-gradient(180deg, #fafdfc, #eef7f5);
862
+ padding: 10px;
863
+ display: grid;
864
+ grid-template-columns: minmax(0, 1fr) minmax(180px, 2fr) minmax(0, 1fr);
865
+ gap: 8px;
866
+ align-items: center;
867
+ transition: opacity 0.2s ease;
868
+ }
869
+
870
+ .mortgage-split-slider.is-disabled {
871
+ opacity: 0.58;
872
+ }
873
+
874
+ .mortgage-split-side {
875
+ border: 1px solid #c6ded8;
876
+ border-radius: 11px;
877
+ padding: 8px;
878
+ background: rgba(255, 255, 255, 0.84);
879
+ min-height: 66px;
880
+ display: grid;
881
+ align-content: center;
882
+ gap: 2px;
883
+ }
884
+
885
+ .mortgage-split-side-left {
886
+ box-shadow: inset 3px 0 0 #1b8d7f;
887
+ }
888
+
889
+ .mortgage-split-side-right {
890
+ box-shadow: inset -3px 0 0 #d89a35;
891
+ text-align: right;
892
+ }
893
+
894
+ .mortgage-split-name {
895
+ font-size: 0.76rem;
896
+ font-weight: 800;
897
+ color: #2a4a46;
898
+ overflow-wrap: anywhere;
899
+ }
900
+
901
+ .mortgage-split-amount {
902
+ font-size: 0.95rem;
903
+ font-weight: 900;
904
+ color: #124f48;
905
+ letter-spacing: 0.2px;
906
+ }
907
+
908
+ .mortgage-split-range-wrap {
909
+ position: relative;
910
+ padding: 20px 0 10px;
911
+ }
912
+
913
+ .mortgage-split-range-wrap input[type="range"] {
914
+ -webkit-appearance: none;
915
+ appearance: none;
916
+ width: 100%;
917
+ height: 8px;
918
+ border-radius: 999px;
919
+ background: linear-gradient(90deg, #2b9d8e 0%, #6cb9a9 46%, #dfb264 54%, #cb8a2d 100%);
920
+ outline: none;
921
+ margin: 0;
922
+ }
923
+
924
+ .mortgage-split-range-wrap input[type="range"]::-webkit-slider-thumb {
925
+ -webkit-appearance: none;
926
+ appearance: none;
927
+ width: 22px;
928
+ height: 22px;
929
+ border-radius: 50%;
930
+ border: 2px solid #ffffff;
931
+ background: radial-gradient(circle at 35% 30%, #ffffff 0%, #e8f8f5 42%, #177a6f 100%);
932
+ box-shadow: 0 3px 9px rgba(13, 70, 64, 0.35);
933
+ cursor: pointer;
934
+ }
935
+
936
+ .mortgage-split-range-wrap input[type="range"]::-moz-range-thumb {
937
+ width: 22px;
938
+ height: 22px;
939
+ border-radius: 50%;
940
+ border: 2px solid #ffffff;
941
+ background: radial-gradient(circle at 35% 30%, #ffffff 0%, #e8f8f5 42%, #177a6f 100%);
942
+ box-shadow: 0 3px 9px rgba(13, 70, 64, 0.35);
943
+ cursor: pointer;
944
+ }
945
+
946
+ .mortgage-split-center {
947
+ position: absolute;
948
+ top: -2px;
949
+ left: 50%;
950
+ transform: translateX(-50%);
951
+ font-size: 0.74rem;
952
+ font-weight: 900;
953
+ color: #114c45;
954
+ background: #ffffff;
955
+ border: 1px solid #b8d5ce;
956
+ border-radius: 999px;
957
+ padding: 2px 8px;
958
+ white-space: nowrap;
959
+ }
822
960
 
823
961
  .label-row {
824
962
  display: inline-flex;
@@ -1024,9 +1162,16 @@
1024
1162
  max-width: 110px;
1025
1163
  padding-right: 9px;
1026
1164
  border-color: #0b6e66;
1027
- color: #0b6e66;
1028
- background: #e8f6f2;
1165
+ color: #ffffff;
1166
+ background: linear-gradient(135deg, #0b6e66, #149a8f);
1029
1167
  font-weight: 700;
1168
+ box-shadow: 0 0 0 1px rgba(11, 110, 102, 0.28), 0 3px 8px rgba(11, 110, 102, 0.18);
1169
+ }
1170
+
1171
+ .spese-detail-btn.has-note::before {
1172
+ content: "✓";
1173
+ font-size: 12px;
1174
+ font-weight: 900;
1030
1175
  }
1031
1176
 
1032
1177
  .spese-detail-btn.has-note .spese-detail-label {
@@ -1040,7 +1185,9 @@
1040
1185
  .spese-detail-text {
1041
1186
  width: 100%;
1042
1187
  min-height: 52px;
1043
- resize: vertical;
1188
+ max-height: 178px;
1189
+ resize: none;
1190
+ overflow-y: hidden;
1044
1191
  border-radius: 8px;
1045
1192
  border: 1px solid #c8dad4;
1046
1193
  background: #f9fcfb;
@@ -1050,6 +1197,18 @@
1050
1197
  color: #204644;
1051
1198
  }
1052
1199
 
1200
+ .spese-detail-counter {
1201
+ margin-top: 3px;
1202
+ font-size: 0.66rem;
1203
+ color: #56716d;
1204
+ text-align: right;
1205
+ font-weight: 700;
1206
+ }
1207
+
1208
+ .spese-detail-counter.is-limit {
1209
+ color: #9d3c2f;
1210
+ }
1211
+
1053
1212
  .spese-partial {
1054
1213
  font-size: 0.66rem;
1055
1214
  color: #2f4745;
@@ -1220,6 +1379,299 @@
1220
1379
  border: 1px solid #c6cdc3;
1221
1380
  }
1222
1381
 
1382
+ /* ── Scenario Lab ─────────────────────────────────────────────── */
1383
+ .scenario-lab-card {
1384
+ margin-top: 14px;
1385
+ }
1386
+
1387
+ .scenario-lab-actions {
1388
+ display: flex;
1389
+ gap: 8px;
1390
+ flex-wrap: wrap;
1391
+ margin-bottom: 12px;
1392
+ }
1393
+
1394
+ .scenario-lab-empty {
1395
+ color: #6b7e78;
1396
+ font-style: italic;
1397
+ margin: 0;
1398
+ }
1399
+
1400
+ .scenario-table-wrap {
1401
+ overflow-x: auto;
1402
+ -webkit-overflow-scrolling: touch;
1403
+ }
1404
+
1405
+ .scenario-table {
1406
+ border-collapse: collapse;
1407
+ width: 100%;
1408
+ font-size: 0.82rem;
1409
+ }
1410
+
1411
+ .scenario-table th,
1412
+ .scenario-table td {
1413
+ border: 1px solid var(--line);
1414
+ padding: 6px 10px;
1415
+ text-align: center;
1416
+ vertical-align: middle;
1417
+ }
1418
+
1419
+ .scenario-table thead th {
1420
+ background: linear-gradient(90deg, rgba(249,248,242,0.95), rgba(237,246,243,0.95));
1421
+ font-weight: 700;
1422
+ }
1423
+
1424
+ .scenario-table td.metric-label,
1425
+ .scenario-table th.metric-label {
1426
+ text-align: left;
1427
+ font-weight: 600;
1428
+ background: rgba(243,248,245,0.7);
1429
+ white-space: nowrap;
1430
+ min-width: 110px;
1431
+ }
1432
+
1433
+ .scenario-col-head { min-width: 120px; }
1434
+
1435
+ .scenario-badge {
1436
+ display: inline-block;
1437
+ background: var(--brand);
1438
+ color: #fff;
1439
+ border-radius: 4px;
1440
+ padding: 1px 7px;
1441
+ font-size: 0.74rem;
1442
+ font-weight: 700;
1443
+ }
1444
+
1445
+ .scenario-val { min-width: 90px; white-space: nowrap; }
1446
+
1447
+ .scenario-remove-btn {
1448
+ font-size: 0.72rem !important;
1449
+ padding: 2px 8px !important;
1450
+ margin-top: 4px;
1451
+ min-height: unset !important;
1452
+ }
1453
+
1454
+ .delta-col, .delta-col-head { min-width: 76px; font-weight: 600; white-space: nowrap; }
1455
+ .delta-pos { color: #18855e; }
1456
+ .delta-neg { color: #c0392b; }
1457
+ .delta-zero { color: #7a8b80; }
1458
+
1459
+ /* ── Spiegabilita ─────────────────────────────────────────────── */
1460
+ .spieg-panel { margin-top: 12px; }
1461
+
1462
+ .spieg-details {
1463
+ border: 1px solid #bfd7cf;
1464
+ border-radius: 14px;
1465
+ overflow: hidden;
1466
+ background: linear-gradient(180deg, #fbfdfc, #f4f9f7);
1467
+ box-shadow: 0 8px 24px rgba(8, 74, 67, 0.08);
1468
+ }
1469
+
1470
+ .spieg-title {
1471
+ cursor: pointer;
1472
+ padding: 10px 14px;
1473
+ background: linear-gradient(90deg, rgba(248, 247, 240, 0.95), rgba(229, 243, 238, 0.95));
1474
+ font-weight: 700;
1475
+ font-size: 0.92rem;
1476
+ line-height: 1.3;
1477
+ user-select: none;
1478
+ list-style: none;
1479
+ color: #194f48;
1480
+ border-bottom: 1px solid #d3e4de;
1481
+ }
1482
+
1483
+ .spieg-title::-webkit-details-marker { display: none; }
1484
+ .spieg-title::before { content: "\25B8\0020"; font-size: 0.76rem; color: #1e6d63; }
1485
+ details[open] .spieg-title::before { content: "\25BE\0020"; }
1486
+
1487
+ .spieg-grid {
1488
+ display: grid;
1489
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1490
+ gap: 10px;
1491
+ padding: 12px;
1492
+ }
1493
+
1494
+ @media (max-width: 720px) {
1495
+ .spieg-grid { grid-template-columns: 1fr; }
1496
+ }
1497
+
1498
+ .spieg-item {
1499
+ background: #f8fcfa;
1500
+ border: 1px solid #cfe3dc;
1501
+ border-radius: 10px;
1502
+ padding: 10px 12px;
1503
+ font-size: 0.82rem;
1504
+ min-width: 0;
1505
+ }
1506
+
1507
+ .spieg-item--result {
1508
+ grid-column: 1 / -1;
1509
+ background: linear-gradient(120deg, #ebf8f2, #e3f4ed);
1510
+ border-color: #a5d2be;
1511
+ }
1512
+
1513
+ .spieg-item-label {
1514
+ display: inline-flex;
1515
+ align-items: center;
1516
+ gap: 6px;
1517
+ font-weight: 800;
1518
+ font-size: 0.73rem;
1519
+ color: #0f6a61;
1520
+ margin-bottom: 8px;
1521
+ text-transform: uppercase;
1522
+ letter-spacing: 0.04em;
1523
+ }
1524
+
1525
+ .spieg-item-icon {
1526
+ display: inline-flex;
1527
+ align-items: center;
1528
+ justify-content: center;
1529
+ width: 18px;
1530
+ height: 18px;
1531
+ border-radius: 999px;
1532
+ background: #e0f1eb;
1533
+ color: #0f6a61;
1534
+ font-size: 0.73rem;
1535
+ line-height: 1;
1536
+ }
1537
+
1538
+ .spieg-item-body {
1539
+ display: grid;
1540
+ gap: 8px;
1541
+ line-height: 1.5;
1542
+ min-width: 0;
1543
+ }
1544
+
1545
+ .spieg-people {
1546
+ display: grid;
1547
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1548
+ gap: 8px;
1549
+ }
1550
+
1551
+ @media (max-width: 560px) {
1552
+ .spieg-people { grid-template-columns: 1fr; }
1553
+ }
1554
+
1555
+ .spieg-person {
1556
+ border: 1px solid #d8e8e2;
1557
+ border-radius: 8px;
1558
+ background: #ffffff;
1559
+ padding: 8px;
1560
+ min-width: 0;
1561
+ }
1562
+
1563
+ .spieg-person--left { border-left: 4px solid #1d7d72; }
1564
+ .spieg-person--right { border-left: 4px solid #bf7a1f; }
1565
+
1566
+ .spieg-person-name {
1567
+ font-weight: 700;
1568
+ color: #204e48;
1569
+ margin-bottom: 2px;
1570
+ overflow-wrap: anywhere;
1571
+ }
1572
+
1573
+ .spieg-person-value {
1574
+ font-size: 1rem;
1575
+ font-weight: 800;
1576
+ color: #0f6259;
1577
+ font-variant-numeric: tabular-nums;
1578
+ }
1579
+
1580
+ .spieg-person-sub {
1581
+ margin-top: 2px;
1582
+ color: #5f7772;
1583
+ font-size: 0.74rem;
1584
+ }
1585
+
1586
+ .spieg-equation {
1587
+ display: flex;
1588
+ align-items: center;
1589
+ flex-wrap: wrap;
1590
+ gap: 6px;
1591
+ }
1592
+
1593
+ .spieg-pill {
1594
+ display: inline-flex;
1595
+ align-items: center;
1596
+ padding: 2px 8px;
1597
+ border-radius: 999px;
1598
+ background: #e8f3ef;
1599
+ border: 1px solid #cbe1d9;
1600
+ color: #184a44;
1601
+ font-weight: 700;
1602
+ font-variant-numeric: tabular-nums;
1603
+ max-width: 100%;
1604
+ overflow-wrap: anywhere;
1605
+ }
1606
+
1607
+ .spieg-pill--result {
1608
+ background: #dff3ea;
1609
+ border-color: #9dceb8;
1610
+ color: #0a6157;
1611
+ }
1612
+
1613
+ .spieg-op {
1614
+ color: #6d817c;
1615
+ font-weight: 700;
1616
+ }
1617
+
1618
+ .spieg-line--kv {
1619
+ display: grid;
1620
+ grid-template-columns: minmax(92px, 128px) minmax(0, 1fr);
1621
+ gap: 8px;
1622
+ align-items: baseline;
1623
+ }
1624
+
1625
+ @media (max-width: 560px) {
1626
+ .spieg-line--kv { grid-template-columns: 1fr; gap: 2px; }
1627
+ }
1628
+
1629
+ .spieg-k {
1630
+ font-weight: 700;
1631
+ color: #295b54;
1632
+ overflow-wrap: anywhere;
1633
+ }
1634
+
1635
+ .spieg-v {
1636
+ color: #123f39;
1637
+ font-variant-numeric: tabular-nums;
1638
+ overflow-wrap: anywhere;
1639
+ }
1640
+
1641
+ .spieg-item-body--result {
1642
+ background: #ffffff;
1643
+ border: 1px dashed #9fceb9;
1644
+ border-radius: 10px;
1645
+ padding: 10px 12px;
1646
+ gap: 6px;
1647
+ }
1648
+
1649
+ .spieg-result-flow {
1650
+ font-weight: 800;
1651
+ color: #0f6a61;
1652
+ letter-spacing: 0.01em;
1653
+ }
1654
+
1655
+ .spieg-result-formula {
1656
+ color: #284e49;
1657
+ overflow-wrap: anywhere;
1658
+ font-variant-numeric: tabular-nums;
1659
+ }
1660
+
1661
+ .spieg-result-amount {
1662
+ font-size: 1.2rem;
1663
+ font-weight: 900;
1664
+ line-height: 1.2;
1665
+ color: #0e6b62;
1666
+ font-variant-numeric: tabular-nums;
1667
+ }
1668
+
1669
+ .spieg-result-empty {
1670
+ font-size: 0.95rem;
1671
+ font-weight: 800;
1672
+ color: #0f6a61;
1673
+ }
1674
+
1223
1675
  @page {
1224
1676
  size: A4 landscape;
1225
1677
  margin: 8mm;
@@ -1633,15 +2085,105 @@
1633
2085
  .result-pill {
1634
2086
  border-radius: 14px;
1635
2087
  padding: 14px;
1636
- background: linear-gradient(165deg, #f4faf8, #ebf6f3);
1637
- border: 1px solid #bfd7d1;
2088
+ background:
2089
+ radial-gradient(120% 180% at 0% -20%, rgba(215, 243, 236, 0.95), transparent 56%),
2090
+ radial-gradient(120% 180% at 100% -20%, rgba(255, 237, 201, 0.92), transparent 56%),
2091
+ linear-gradient(165deg, #f7fcfb, #ebf6f3);
2092
+ border: 1px solid #afcfc7;
2093
+ box-shadow: 0 12px 26px rgba(17, 70, 64, 0.16);
1638
2094
  margin-bottom: 10px;
2095
+ position: relative;
2096
+ overflow: hidden;
2097
+ }
2098
+
2099
+ .result-pill::after {
2100
+ content: "";
2101
+ position: absolute;
2102
+ inset: -28px auto auto -28px;
2103
+ width: 120px;
2104
+ height: 120px;
2105
+ border-radius: 50%;
2106
+ background: radial-gradient(circle, rgba(59, 170, 154, 0.2) 0%, rgba(59, 170, 154, 0) 70%);
2107
+ pointer-events: none;
1639
2108
  }
1640
2109
 
1641
2110
  .result-pill .big {
1642
- font-size: 1.58rem;
1643
- font-weight: 800;
2111
+ font-size: 1.3rem;
2112
+ font-weight: 900;
1644
2113
  margin-top: 6px;
2114
+ line-height: 1.34;
2115
+ letter-spacing: 0.2px;
2116
+ color: #123b38;
2117
+ }
2118
+
2119
+ .result-main-flow {
2120
+ display: block;
2121
+ font-size: 1.02rem;
2122
+ font-weight: 800;
2123
+ color: #124741;
2124
+ text-transform: uppercase;
2125
+ letter-spacing: 0.3px;
2126
+ margin-bottom: 3px;
2127
+ }
2128
+
2129
+ .result-main-amount {
2130
+ display: block;
2131
+ font-size: 1.68rem;
2132
+ font-weight: 900;
2133
+ color: #0b625b;
2134
+ text-shadow: 0 1px 0 rgba(255,255,255,0.7);
2135
+ }
2136
+
2137
+ .result-main-line {
2138
+ display: block;
2139
+ font-size: 1.25rem;
2140
+ font-weight: 800;
2141
+ color: #1c3f3b;
2142
+ margin-bottom: 6px;
2143
+ }
2144
+
2145
+ .result-main-sub {
2146
+ display: inline-flex;
2147
+ align-items: center;
2148
+ gap: 5px;
2149
+ font-size: 0.76rem;
2150
+ text-transform: uppercase;
2151
+ letter-spacing: 0.4px;
2152
+ font-weight: 900;
2153
+ color: #4e665f;
2154
+ background: rgba(255,255,255,0.78);
2155
+ border: 1px solid #bfd6d0;
2156
+ border-radius: 999px;
2157
+ padding: 3px 9px;
2158
+ margin-bottom: 8px;
2159
+ }
2160
+
2161
+ .result-benefits-list {
2162
+ margin: 0;
2163
+ padding: 0;
2164
+ list-style: none;
2165
+ display: grid;
2166
+ gap: 6px;
2167
+ }
2168
+
2169
+ .result-benefits-list li {
2170
+ display: flex;
2171
+ align-items: flex-start;
2172
+ justify-content: space-between;
2173
+ gap: 8px;
2174
+ padding: 7px 9px;
2175
+ border-radius: 10px;
2176
+ border: 1px solid #c5dbd5;
2177
+ background: rgba(255,255,255,0.86);
2178
+ font-size: 0.9rem;
2179
+ font-weight: 700;
2180
+ color: #284744;
2181
+ }
2182
+
2183
+ .result-benefits-list strong {
2184
+ white-space: nowrap;
2185
+ color: #0f5f57;
2186
+ font-size: 0.95rem;
1645
2187
  }
1646
2188
 
1647
2189
  .live-box {
@@ -2242,6 +2784,18 @@
2242
2784
  .extra-grid {
2243
2785
  grid-template-columns: 1fr;
2244
2786
  }
2787
+
2788
+ .mortgage-split-slider {
2789
+ grid-template-columns: 1fr;
2790
+ }
2791
+
2792
+ .mortgage-split-side-right {
2793
+ text-align: left;
2794
+ }
2795
+
2796
+ .mortgage-split-range-wrap {
2797
+ order: -1;
2798
+ }
2245
2799
  .spieg-grid {
2246
2800
  grid-template-columns: 1fr;
2247
2801
  }