/* Palicci Split — scoped under .ps-, designed to sit inside the trip page's
   hairline aesthetic. Inherits the theme's type. */

.ps-root { margin: 1rem 0 2rem; }
.ps-loading { color: #999; font-size: 1.5rem; }

/* Password gate */
.ps-gate { border-top: 1px solid #e0e0e0; padding: 1.8rem 0; }
.ps-gate-lead { font-size: 1.5rem; color: #555; margin: 0 0 1.2rem; }
.ps-gate-form { display: flex; gap: 1.2rem; align-items: flex-end; flex-wrap: wrap; }
.ps-gate-input {
	font-size: 1.6rem;
	padding: .6rem .2rem;
	border: none;
	border-bottom: 1px solid #d4d4d4;
	background: transparent;
	border-radius: 0;
	min-width: 22rem;
}
.ps-gate-input:focus { outline: none; border-bottom-color: #222; }
.ps-gate-form .ps-submit { margin: 0; }

.ps-label {
	display: block;
	font-size: 1.1rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #999;
	margin-bottom: .5rem;
}

/* Who are you */
.ps-who { display: flex; align-items: baseline; gap: 1.6rem; padding: 1.2rem 0; border-top: 1px solid #e0e0e0; }
.ps-who .ps-label { margin: 0; }
.ps-who-select { max-width: 24rem; }

/* Balances */
.ps-balances {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 0;
	border-top: 1px solid #e0e0e0;
	border-left: 1px solid #e0e0e0;
	margin: 0 0 2.4rem;
}
.ps-bal { padding: 1.4rem 1.4rem 1.2rem; border-right: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; }
.ps-bal.is-me { background: #f4f4f4; }
.ps-bal-name { font-weight: 500; font-size: 1.5rem; letter-spacing: -.01em; }
.ps-bal-net { font-size: 1.4rem; margin-top: .2rem; }
.ps-bal-net.is-up { color: #222; }
.ps-bal-net.is-down { color: #fb5b5a; }
.ps-bal-paid { font-size: 1.2rem; color: #999; margin-top: .2rem; }

/* Form */
.ps-form { border-top: 1px solid #e0e0e0; padding: 1.8rem 0 1.4rem; }
.ps-form-title { font-weight: 500; font-size: 1.9rem; letter-spacing: -.012em; margin: 0 0 1.4rem; }
.ps-row { display: flex; gap: 2rem; }
.ps-row-end { align-items: flex-end; margin-top: 1.2rem; }
.ps-field { display: block; flex: 1; margin: 0 0 1.2rem; }
.ps-field input[type="number"],
.ps-field input[type="text"],
.ps-field select,
.ps-who-select {
	width: 100%;
	font-size: 1.6rem;
	padding: .6rem .2rem;
	border: none;
	border-bottom: 1px solid #d4d4d4;
	background: transparent;
	border-radius: 0;
}
.ps-field input:focus, .ps-field select:focus, .ps-who-select:focus {
	outline: none;
	border-bottom-color: #222;
}
.ps-checks { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; }
.ps-check { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.4rem; cursor: pointer; }
.ps-check input { margin: 0; accent-color: #fb5b5a; }
.ps-file input { font-size: 1.3rem; border: none !important; padding: .4rem 0; }

.ps-submit {
	background: none !important;
	border: none !important;
	border-bottom: 2px solid #fb5b5a !important;
	box-shadow: none !important;
	color: #222 !important;
	font-size: 1.3rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .5rem 1rem !important;
	cursor: pointer;
	margin: 0 0 1.2rem;
	transition: color .2s ease;
}
.ps-submit:hover { color: #fb5b5a !important; background: none !important; }
.ps-submit[disabled] { opacity: .5; cursor: default; }
.ps-msg { font-size: 1.3rem; color: #999; margin: 0; min-height: 1.8rem; }

/* Settle up */
.ps-settle { border-top: 1px solid #e0e0e0; padding: 1.8rem 0 1.2rem; }
.ps-settle-line { display: flex; gap: 1.2rem; align-items: baseline; padding: .5rem 0; font-size: 1.6rem; }
.ps-settle-arrow { color: #fb5b5a; }
.ps-settle-amt { margin-left: auto; font-weight: 500; }
.ps-note { font-size: 1.2rem; color: #999; margin: 1rem 0 0; }

/* Ledger list */
.ps-list { border-top: 1px solid #e0e0e0; padding-top: 1.8rem; }
.ps-exp { padding: 1rem 0; border-bottom: 1px solid #ededed; }
.ps-exp-top { display: flex; gap: 1.4rem; align-items: baseline; }
.ps-exp-date { font-size: 1.1rem; letter-spacing: .13em; text-transform: uppercase; color: #999; flex: 0 0 5.5rem; }
.ps-exp-note { font-size: 1.6rem; }
.ps-exp-amt { margin-left: auto; font-size: 1.6rem; font-weight: 500; white-space: nowrap; }
.ps-exp-sub { font-size: 1.25rem; color: #999; margin-top: .2rem; padding-left: 6.9rem; display: flex; gap: 1.4rem; }
.ps-exp-receipt { text-decoration: underline; }

@media (max-width: 640px) {
	.ps-row { flex-direction: column; gap: 0; }
	.ps-exp-sub { padding-left: 0; flex-wrap: wrap; }
	.ps-balances { grid-template-columns: repeat(2, 1fr); }
}
