/* Payments
-------------------------------------------------- */

#payments header {
	display: block;
}
#payments header h2 {
	margin-bottom: 8px;
}
#payments header p {
		font-size: 14px;
		line-height: 20px;
}
#payments header p.logs {
	display: flex;
	gap: 30px;
	margin-top: 5px;
	font-size: 12px;
}
#payments header p.logs a {
	padding-left: 20px;
	background: url(../img/download.svg) left top no-repeat;
	background-size: 16px;
}
#payments-list .table-container .flex-table.row.group.open:hover {
	background-color: transparent;
}
#payments-list .charge-success {
	color: #2FB519;
	font-size: 12px;
	font-weight: var(--fw700);
	line-height: normal;
}
#payments-list .penalty-success {
	/* color: #B51919; */
	color: #D10000;
	font-size: 12px;
	font-weight: var(--fw700);
	line-height: normal;
}
#payments-list .flex-table .waiting.charge {
	color: #D10000;
	padding-right: 20px;
	font-size: 12px;
	font-weight: var(--fw700);
	line-height: normal;
	background: url(../img/ico-time-red.svg) right center no-repeat;
}
#payments-list .flex-table .waiting.collect {
	padding-right: 20px;
	color: #2FB519;
	font-size: 12px;
	font-weight: var(--fw700);
	line-height: normal;
	background: url(../img/ico-time-green.svg) right center no-repeat;
}

#payments-list .flex-table .expired {
	color: #D10000;
	font-size: 12px;
	font-weight: var(--fw700);
	line-height: normal;
}
#payments-list .flex-table {
	align-items: flex-start;
}

/* Modal */
#modal-charge .modal-dialog,
#modal-penalty .modal-dialog {
	padding: 24px;
}
#modal-charge .modal-header,
#modal-penalty .modal-header {
	justify-content: left;
	margin-bottom: 16px;
	height: auto;
	min-height: auto;
	font-size: 24px;
	font-weight: var(--fw600);
	line-height: 25px;
}
#modal-charge p,
#modal-penalty p {
	margin-bottom: 16px;
	color: #17335E;
	font-size: 14px;
	font-weight: var(--fw300);
	line-height: 21px;
	letter-spacing: -0.28px;
}
#modal-charge p a,
#modal-penalty p a {
	color: #046CC3;
}
#modal-charge form,
#modal-penalty form {
	flex-direction: column;
	gap: 16px;
}
#modal-charge label,
#modal-penalty label {
	display: flex;
	align-items: center;
	margin-bottom: 0;
	cursor: pointer;
}
#modal-charge label.premium span,
#modal-penalty label.premium span {
	display: none;
	padding-left: 4px;
	font-size: 14px;
	font-weight: var(--fw500);
	line-height: 150%;
	letter-spacing: -0.28px;
	background: linear-gradient(90deg, #9A5A1A 46.35%, #A1662A 47.1%, #B37C20 48.98%, #F7BC62 61.76%, #F5DA7A 70.41%, #F1A445 79.05%, #B77C24 83.56%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#modal-charge label.error,
#modal-penalty label.error {
	color: #D10000;
}
#modal-charge label.error input[type="radio"],
#modal-penalty label.error input[type="radio"] {
	border-color: #D10000;
}
#modal-charge label.error input[type="radio"]:checked,
#modal-penalty label.error input[type="radio"]:checked {
	background-color: #D10000;
}
#modal-charge .label-price,
#modal-penalty .label-price {
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 0px;
}
#modal-charge .with-price,
#modal-penalty .with-price {
	display: inline-block;
	position: relative;
	margin-top: 8px;
	width: 140px;
}
#modal-penalty .with-price {
	width: auto;
}
#modal-charge .with-price:after,
#modal-penalty .with-price:after {
	content: '€';
	position: absolute;
	top: 0;
	right: 0;
	border-left: 1px solid rgb(190 190 190 / 30%);
	margin: 9px 16px 9px 0;
	height: 30px;
	padding-left: 8px;
	font-weight: var(--fw300);
	line-height: 30px;
}
#modal-penalty .penalty-detail {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}
#modal-penalty .penalty-detail span {
	display: inline-block;
	margin-top: 8px;
	font-weight: var(--fw300);
	line-height: 48px;
}
#modal-charge label.penalty {
	margin-top: 10px;
	line-height: 16px;
}
#modal-charge label.penalty input[type=checkbox] {
	margin-right: 8px;
}
#modal-charge .modal-footer,
#modal-penalty .modal-footer {
	gap: 16px;
	padding: 24px 0 0 0;
}
#modal-charge .modal-footer a,
#modal-penalty .modal-footer a {
	color: #193766;
	font-size: 14px;
	font-weight: var(--fw500);
	line-height: 25px;
}
#modal-charge .modal-footer a.btn-confirm {
	color: #2FB519;
}
#modal-penalty .modal-footer a.btn-confirm,
#modal-charge .modal-footer a.btn-confirm.penalty {
	color: #D10000;
}
#modal-charge .modal-footer a.unconfirmed,
#modal-penalty .modal-footer a.unconfirmed {
	opacity: .2;
	cursor: default;
}
#payments-list .flex-table .flex-row.trainer .trainer-name {
	display: flex;
	align-items: center;
}


@media only screen and (min-width: 1025px) {
	
	#payments-list .flex-table .flex-row {
		width: 20%;
	}
	#payments-list .group .flex-table .flex-row.col-session {
		width: 40%;
	}
	#payments-list.is-owner .flex-table .flex-row {
		width: 16.66%;
	}
	#payments-list.is-owner .group .flex-table .flex-row.col-session {
		width: 33.32%;
	}
	#payments-list .group {
		border-left: 3px solid #8E59FE;
	}
	#payments-list .group > section {
		display: block;
		max-height: 0;
		overflow: hidden;
	}
	#payments-list .group.open {
		background-color: rgb(142 89 254 / 3%);
	}
	#payments-list .group.open .flex-table.row:hover {
		background-color: rgb(142 89 254 / 3%);
	}
	#payments-list .group.open  > section {
		max-height: 100000px;
		transition: max-height 3.5s ease-in;
	}
	#payments-list .group button.expand.up {
		display: none;
	}
	#payments-list .group.open button.expand.down {
		display: none;
	}
	#payments-list .group.open button.expand.up {
		display: inline-flex;
	}
	#payments-list .flex-table:not(.header) .flex-row {
		color: #193766;
		font-size: 14px;
		font-weight: var(--fw500);
		line-height: 21px;
		letter-spacing: -0.28px;
	}
	#payments-list .flex-table .row .actions {
		flex-direction: column;
		justify-content: center;
		font-size: 12px;
	}
	body.reduced #payments-list > .flex-table.row,
	body.reduced #payments-list > .group:not(.open) {
		opacity: .5;
	}
	body.reduced #payments-list > .flex-table.row button,
	body.reduced #payments-list > .group:not(.open) .flex-table.row button {
		visibility: hidden;
	}
	
	/* New style */
	#payments-list .row .flex-row.col-session {
		font-weight: var(--fw600);
	}
	#payments-list .row .flex-row.col-trainer .trainer-name {
		display: flex;
		align-items: center;
		font-weight: var(--fw400);
	}
	#payments-list .row .flex-row.col-trainer .trainer-name .photo {
		width: 24px;
		height: 24px;
	}
	#payments-list:not(.is-owner) .subcol-trainer {
		display: none;
	}
	#payments-list .row .flex-row.col-datetime {
		font-weight: var(--fw400);
	}
	#payments-list .row .flex-row.col-status {
		font-size: 12px;
	}
	#payments-list .row .flex-row.col-actions {
		
	}
	
}


/* Mobile
-------------------------------------------------- */

@media only screen and (max-width: 1024px) {
	#payments-list .flex-table.waiting-header {
		display: none;
	}
	#payments-list {
		font-weight: var(--fw300);
	}
	#payments-list .flex-table.row {
		gap: 16px;
		margin-bottom: 24px;
		border-radius: 20px;
		border: 1.5px solid #EDEDED;
		padding: 24px;
		background: #FFF;
	}
	#payments-list .flex-table.row:last-child {
		margin-bottom: 0;
	}
	#payments-list .flex-table .flex-row {
		margin-bottom: 0;
		height: auto;
	}
	#payments-list .flex-row.col-session {
		font-size: 20px;
		font-weight: var(--fw500);
		line-height: 150%;
		min-height: 30px;
	}
	#payments-list .flex-row.col-customer {
		flex-direction: column;
    text-align: left;
    align-items: flex-start;
	}
	#payments-list .flex-row.col-customer span.label {
		margin-bottom: 8px;
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 150%;
	}
	#payments-list .flex-row.col-customer span.customer {
		font-size: 18px;
		font-weight: var(--fw400);
		line-height: 150%;
	}
	#payments-list .flex-row.col-customer .photo {
		margin-right: 8px;
		height: 36px;
		width: 36px;
	}
	#payments-list .flex-row.col-trainer {
		align-items: flex-start;
		flex-direction: column;
	}
	#payments-list .flex-row.col-trainer span.label {
		margin-bottom: 8px;
		font-size: 16px;
		font-weight: var(--fw300);
		line-height: 150%;
	}
	#payments-list .flex-row.col-trainer .trainer-name {
		display: flex;
		align-items: center;
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 150%;
	}
	#payments-list .flex-row.col-trainer .photo {
		margin-right: 8px;
		height: 24px;
		width: 24px;
	}
	#payments-list .flex-row.col-datetime {
		line-height: 150%;
	}	
	#payments-list .flex-row.col-location {
		font-weight: var(--fw300);
		line-height: 150%;
	}
	#payments-list .flex-row.col-status {
		font-weight: var(--fw400);
		line-height: 150%;
	}
	#payments-list .flex-row.col-actions {
		flex-direction: column;
		gap: 16px;
		border-top: 1px solid #EDEDED;
		padding-top: 16px;
		text-align: center;
	}
	
	#payments-list .flex-row.col-actions em {
		display: block;
		color: #17335E;
		text-align: center;
		font-size: 16px;
		line-height: 24px;
		font-weight: var(--fw400);
		letter-spacing: -0.24px;
	}
	#payments-list .flex-row.col-actions em.note {
		font-size: 12px;
		line-height: 18px;
	}
	#payments-list .flex-row.col-actions em.waiting.collect {
		padding-right: 28px;
		color: #2FB519;
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 24px;
		background-image: url(../img/ico-time-alt-green.svg);
	}
	#payments-list .flex-row.col-actions em.waiting.charge {
		padding-right: 28px;
		color: #D10000;
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 24px;
		background-image: url(../img/ico-time-alt-red.svg);
	}
	#payments-list .flex-row.col-actions .penalty-success,
	#payments-list .flex-row.col-actions .charge-success {
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 24px;
	}
	#payments-list .flex-row.col-actions:empty {
		display: none;
	}
	
	
	#payments-list .flex-row > button {
		width: 100%;
	}
	#payments-list .flex-table .expired {
		color: #D10000 !important;
		font-size: 16px;
		font-weight: var(--fw400);
		line-height: 24px;
	}
	#payments-list .flex-table .expired + em {
		margin-top: 0px !important;
	}
	#payments-list .flex-table .expired + button {
		margin-top: 6px !important;
	}
	/* Group */
	/*
	body.reduced.no-overflow > .main-content {
		overflow: hidden;
	}
	*/
	body.reduced #payments {
		padding-top: 98px;
	}
	#payments-list .group > section {
		/* display: none; */
		position: fixed;
		top: 0;
		left: 100%;
		height: 100vh;
		width: 100%;
		overflow-y: scroll;
		padding: 16px 24px 16px;
		background: #FFF;
		box-shadow: none;
		transition: left ease-in-out 0.2s;
	}
	#payments-list .group.open > section {
		/* display: block; */
		left: 0;
	}
	#payments-list .group.open > section h2 {
		margin-bottom: 32px;
		font-size: 20px;
		font-weight: var(--fw500);
		line-height: 25px;
		text-align: center;
	}
	#payments-list .go-back {
		left: 24px
	}
	#payments-list .group .customer {
		font-size: 18px;
		font-weight: var(--fw400);
		line-height: 150%;
	}
	#payments-list .group .photo {
		margin-right: 8px;
		height: 36px;
		width: 36px;
	}	
	
}
