*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(90deg,#788fff,#8854d1);min-height:100vh;padding:20px;color:#333}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}h1{text-align:center;padding:30px 20px;background:linear-gradient(90deg,#788fff,#8854d1);color:#fff;font-size:2.5em;margin:0}.calculator-form{padding:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;color:#555;font-size:14px}.form-group input,.form-group select{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff}.form-group select{padding-right:50px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23788FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 15px center;background-size:16px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#788fff;box-shadow:0 0 0 3px #788fff26}.calculate-btn{grid-column:1 / -1;padding:15px 30px;background:linear-gradient(90deg,#788fff,#8854d1);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.calculate-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #8854d166}.calculate-btn:active{transform:translateY(0)}.action-buttons{grid-column:1 / -1;display:flex;gap:15px;margin-top:10px}.export-btn,.import-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;display:inline-block}.export-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.export-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #4caf504d}.import-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.import-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #2196f34d}.results{padding:40px;background:#f8f9fa}.results h2{color:#333;margin-bottom:20px;font-size:1.8em;border-bottom:3px solid #788FFF;padding-bottom:10px}.summary{background:#fff;padding:25px;border-radius:12px;margin-bottom:30px;box-shadow:0 2px 10px #0000000d}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #e0e0e0;font-size:16px}.summary-item:last-child{border-bottom:none}.progress-bar-container{margin:20px 0}.progress-bar{width:100%;height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ltv-value{font-weight:700;font-size:18px;padding:4px 12px;border-radius:12px}.ltv-value.low{background-color:#4caf50;color:#fff}.ltv-value.medium{background-color:#ff9800;color:#fff}.ltv-value.high{background-color:#f44336;color:#fff}.summary-item span:first-child{color:#666;font-weight:500}.ltv-label{display:flex;flex-direction:column}.ltv-hint{font-size:12px;color:#999;font-weight:400;margin-top:2px}.amount{color:#788fff;font-weight:700;font-size:18px}.chart-section{background:#fff;padding:25px;border-radius:12px;margin-bottom:30px;box-shadow:0 2px 10px #0000000d}.chart-container{position:relative;height:350px;width:100%}.payment-details{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #0000000d}.table-container{overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}thead{background:linear-gradient(90deg,#788fff,#8854d1);color:#fff}th{padding:12px 8px;text-align:left;font-weight:600}th:nth-child(1){width:60px;text-align:center}th:nth-child(2){width:240px}th:nth-child(3){width:150px;text-align:right}th:nth-child(4){width:120px;text-align:right;padding-right:20px}th:nth-child(5){width:120px;text-align:right;padding-right:20px}th:nth-child(6){width:130px;text-align:right}th:nth-child(7){width:100px;text-align:center}tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}tbody tr:hover{background-color:#f5f5f5}td{padding:12px 8px;color:#555}td:nth-child(1){text-align:center}td:nth-child(2){font-size:13px}td:nth-child(3),td:nth-child(4),td:nth-child(5),td:nth-child(6){text-align:right;font-family:Courier New,monospace}td:nth-child(7){text-align:center}.rate-change-section,.early-payment-section{background:#fff;padding:25px;border-radius:12px;margin-bottom:30px;box-shadow:0 2px 10px #0000000d}.rate-change-form,.early-payment-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;align-items:end}.rate-change-btn,.early-payment-btn{padding:12px 25px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.rate-change-btn:hover,.early-payment-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #f5576c4d}.early-payment-row{background-color:#e3f2fd!important}.early-payment-row:hover{background-color:#bbdefb!important}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.early-payment{background-color:#2196f3;color:#fff}.status-badge.unpaid{background-color:#9e9e9e;color:#fff}.early-payment-info{font-size:11px;color:#2196f3;font-weight:600;margin-top:4px}.recalc-mark{color:#ff9800;font-size:11px;font-weight:600;margin-left:5px}.rate-change-mark{color:#f5576c;font-size:11px;font-weight:600;margin-left:5px}.history-section{margin-top:25px;padding-top:25px;border-top:2px solid #e0e0e0}.history-section h3{font-size:1.2em;color:#333;margin-bottom:15px}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;transition:all .3s ease}.history-item:hover{background:#f0f0f0;border-color:#788fff}.history-content{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:1}.history-label{color:#666;font-weight:500;font-size:14px}.history-value{color:#788fff;font-weight:600;font-size:14px}.history-saved{color:#4caf50;font-weight:600;font-size:14px}.history-empty{padding:20px;text-align:center;color:#999;font-size:14px}.history-delete-btn{padding:6px 15px;background:linear-gradient(90deg,#788fff,#8854d1);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.history-delete-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #8854d166}@media (max-width: 768px){h1{font-size:1.8em;padding:20px}.calculator-form{padding:20px;grid-template-columns:1fr}.results{padding:20px}table{font-size:12px}th,td{padding:8px}}
