
/* Base Styles */
.savings-calculator-container {
	max-width: 500px;
	margin: 0px auto auto auto;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);

	@media (min-width: 768px) {
		max-height: 570px;
	}
	@media (max-width: 767px) {

	}
}

.calculator-card {
	background: white;
	border-radius: 16px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.card-header {
	background: linear-gradient(135deg, #3498db, #2980b9);
	color: white;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 15px;
}

.header-text h3 {
	margin: 0;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	gap: 10px;
}

.header-text p {
	margin: 5px 0 0;
	font-size: 0.7rem;
	opacity: 0.9;
}

/* Form Layout */
.calculator-form {
	padding: 15px 25px 0px 25px;
	overflow-y: auto !important; /* GANTI scroll jadi auto */

	@media (min-width: 768px) {
		height: 400px; /* TAMBAHKIN height yang fixed */
	}
	@media (max-width: 767px) {

	}
}

.form-section {
	margin-bottom: 25px;
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 15px;
}

.form-section:last-of-type {
	border-bottom: none;
}

.form-section h4 {
	color: #2c3e50;
	font-size: 1.1rem;
	margin-bottom: 15px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eaeaea;
}

.form-group {
	margin-bottom: 20px;
}

.form-group label {
	display: block;
	margin-bottom: 8px;
	color: #2c3e50;
	font-weight: 500;
	font-size: 0.95rem;
}

.info-text {
	font-size: 0.9rem;
	color: #7f8c8d;
	margin: 0;
	line-height: 1.4;
}

/* Input Fields */
.input-group {
	position: relative;
}

.input-icon {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: #7f8c8d;
}

.form-input {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	font-size: 1rem;
	transition: all 0.3s;
	box-sizing: border-box;
}

.input-group .form-input {
	padding-left: 40px;
}

.form-input:focus {
	border-color: #3498db;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
	outline: none;
}

/* OTP Section */
.otp-container {
	background: #f8f9fa;
	border-radius: 8px;
	padding: 15px;
	margin-top: 10px;
}

.btn-otp {
	width: 100%;
	padding: 12px;
	background-color: #00A82D;
	color: white;
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s;
}

.btn-otp:hover {
	background-color: #009026;
}

.text-notif-otp {
	font-size: 0.85rem;
	color: #3498db;
	margin-top: 8px;
	display: block;
}

.text-error {
	font-size: 0.85rem;
	color: #e74c3c;
	margin-top: 5px;
}

/* Action Buttons */
.form-actions {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}

.action-group {
	flex: 1;
}

.btn-action {
	width: 100%;
	padding: 12px;
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
}

.btn-primary {
	background: linear-gradient(135deg, #3498db, #2980b9);
	color: white;
}

.btn-primary:hover {
	background: linear-gradient(135deg, #2980b9, #3498db);
}

.btn-secondary {
	background: #f8f9fa;
	color: #7f8c8d;
	border: 1px solid #e0e0e0;
}

.btn-secondary:hover {
	background: #eaeaea;
}

.button-pin-disabled {
	background-color: #bdc3c7;
	color: #7f8c8d;
	cursor: not-allowed;
}

/* Footer */
.calculator-footer {
	padding: 15px 25px;
	background: #f8f9fa;
	color: #7f8c8d;
	font-size: 0.85rem;
	display: flex;
	align-items: center;
	gap: 8px;
	border-top: 1px solid #eaeaea;
}

/* Responsive */
@media (max-width: 767px) {
	.calculator-form {
		padding: 15px;
	}
	
	.form-actions {
		flex-direction: column;
		gap: 10px;
	}
}

/*SELECT2 CUSTOM*/
.select2-selection__rendered {
	line-height: 37px !important;
	color: #DCD1DB;
}
.select2-container .select2-selection--single {
	height: 41px !important;
	border-style: none;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #062D8A;
	border-radius: 0px;
}
.select2-selection__arrow {
	height: 39px !important;
}
.select2-selection__placeholder {
	color: #DCD1DB !important;
}

/*HASIL CUSTOM*/
.row-form-hasil .ttitle{
	font-weight: bold;
	padding-bottom: 4px;
}
.row-form-hasil .thasil{
	padding-bottom: 4px;
	color: #062D8A;
}
.row-form-hasil .txtitle{
	font-weight: bold;
	padding-bottom: 4px;
}
.row-form-hasil .txhasil{
	padding-bottom: 4px;
	color: #062D8A;
	font-weight: bold;
	font-size: 15pt;
}

/*MODAL CUSTOM*/
.modal .modal-header-custom {
	background: linear-gradient(135deg, #2C86C2 0%, #2C86C2 100%);
	color: white;
	border-bottom: none;
	padding: 1.2rem 1.5rem;
}

.modal .modal-title {
	font-weight: 600;
	font-size: 1.3rem;
	display: flex;
	align-items: center;
	gap: 10px;
}

.modal .modal-title i {
	font-size: 1.5rem;
}

.modal .btn-close-custom {
	color: white;
	opacity: 0.8;
	font-size: 1.5rem;
}

.modal .btn-close-custom:hover {
	opacity: 1;
	color: white;
}

.modal .modal-body {
	padding: 0;
}

.modal .summary-card {
	background-color: #f8f9fa;
	border-radius: 8px;
	padding: 15px;
	margin: 20px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.modal .summary-item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px dashed #e0e0e0;
}

.modal .summary-item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	font-weight: 600;
	color: #1e3c72;
}

.modal .table-container {
	overflow-x: auto;
	padding: 0 20px 20px;
}

.modal .table-custom {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.modal .table-custom thead {
	background-color: #2C86C2;
	color: white;
}

.modal .table-custom th {
	padding: 12px 15px;
	text-align: center;
	font-weight: 600;
	border: none;
}

.modal .table-custom td {
	padding: 10px 15px;
	border-bottom: 1px solid #eaeaea;
	text-align: center;
}

.modal .table-custom tbody tr:nth-child(even) {
	background-color: #f8f9fa;
}

.modal .table-custom tbody tr:hover {
	background-color: #eef2ff;
	transition: background-color 0.2s;
}

.modal .number-cell {
	text-align: right;
	font-family: 'Courier New', monospace;
	font-weight: 500;
}

.modal .modal-footer-custom {
	border-top: 1px solid #eaeaea;
	padding: 15px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modal .btn-custom {
	background: linear-gradient(135deg, #2C86C2 0%, #2C86C2 100%);
	color: white;
	border: none;
	padding: 8px 20px;
	border-radius: 4px;
	font-weight: 500;
	transition: all 0.3s;
}

.modal .btn-custom:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(30, 60, 114, 0.3);
}

.modal .export-options {
	display: flex;
	gap: 10px;
}

.modal .export-btn {
	background: transparent;
	border: 1px solid #2a5298;
	color: #2a5298;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 0.9rem;
	transition: all 0.3s;
}

.modal .export-btn:hover {
	background-color: #2a5298;
	color: white;
}

.modal .highlight {
	background-color: #e8f5e9 !important;
	font-weight: 600;
}

@media (max-width: 768px) {
	.modal .modal-footer-custom {
		flex-direction: column;
		gap: 15px;
	}

	.modal .export-options {
		width: 100%;
		justify-content: center;
	}
}
