.pasl-pay-front { max-width: 1100px; margin: 0 auto 2rem; }
.pasl-pay-front h2 { margin-bottom: .75rem; }
.pasl-pay-notice { padding: .75rem 1rem; margin-bottom: 1rem; border-radius: 6px; }
.pasl-pay-ok { background: #edfaef; border: 1px solid #00a32a; }
.pasl-pay-err { background: #fcf0f1; border: 1px solid #d63638; }
.pasl-pay-lock input[type="password"] { width: min(320px, 100%); padding: .5rem .7rem; }
.pasl-pay-lock button, .pasl-pay-submit {
	background: #1d4ed8;
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: .65rem 1.1rem;
	cursor: pointer;
	font-size: 1rem;
}
.pasl-pay-meta { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.pasl-pay-meta label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; }
.pasl-pay-meta input { font-weight: 400; padding: .4rem .55rem; min-width: 220px; }
.pasl-pay-need {
	border: 2px solid #d63638 !important;
	background: #fff5f5 !important;
	box-shadow: 0 0 0 3px rgba(214,54,56,.25);
}
.pasl-pay-need-wrap { color: #d63638; }
.pasl-pay-table-wrap { overflow-x: auto; }
.pasl-pay-table { width: 100%; border-collapse: collapse; background: #fff; }
.pasl-pay-table th, .pasl-pay-table td { border: 1px solid #d0d5dd; padding: .45rem .5rem; text-align: center; }
.pasl-pay-table th { background: #f2f4f7; font-size: .9rem; }
.pasl-pay-table td.pasl-pay-name { text-align: left; font-weight: 600; white-space: nowrap; }
.pasl-pay-table input[type="number"] { width: 4.5rem; padding: .3rem; text-align: center; }
.pasl-pay-table input[type="text"] { width: 11rem; padding: .3rem; font-weight: 400; }
.pasl-pay-table input[type="checkbox"] { width: 1.15rem; height: 1.15rem; }
.pasl-pay-add-row { background: #fff; border: 1px solid #1d4ed8; color: #1d4ed8; border-radius: 6px; padding: .45rem .9rem; cursor: pointer; margin: .6rem 0 1rem; }
.pasl-pay-rates { color: #4b5563; font-size: .9rem; }
.pasl-pay-sheet textarea { width: 100%; max-width: 520px; }

.pasl-pay-submit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem;
	margin-top: 0.75rem;
}
.pasl-pay-submit-row .pasl-pay-name-label {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	font-weight: 600;
}
.pasl-pay-submit-row input { font-weight: 400; padding: .45rem .55rem; min-width: 220px; }

@media (max-width: 700px) {
	.pasl-pay-table td.pasl-pay-name { white-space: normal; }
}

.pasl-pay-name-label { border: 0; margin: 0; padding: 0; }
.pasl-pay-name-label legend { font-weight: 700; margin-bottom: .35rem; }
.pasl-pay-who { display: inline-flex; align-items: center; gap: .35rem; margin-right: .85rem; font-weight: 600; }
.pasl-pay-need-wrap { outline: 2px solid #c0392b; outline-offset: 4px; border-radius: 8px; padding: .4rem; }
