/* JL Planners — Payment Deadline Planner.
 * Mobile-first, romantic/premium Polish-wedding styling. Payment rows render as cards
 * on small screens; status / reminder colours: green = paid, amber = soon, burgundy =
 * overdue, neutral = upcoming, slate = partial. Reuses .jlp-btn / .jlp-field / .jlp-input
 * / .jlp-muted / .jlp-eyebrow from planner-shell.css. */

.jlp-pd {
	--pd-gold:       var( --jlp-gold );
	--pd-gold-soft:  var( --jlp-gold-glow );
	--pd-line:       var( --jlp-gold-glow );
	--pd-ink:        var( --jlp-ink );
	--pd-muted:      var( --jlp-gold-deep );
	--pd-cream:      var( --jlp-bg );
	--pd-done:       var( --jlp-ok );
	--pd-done-bg:    #EAF4EA;
	--pd-soon:       #B7791F;
	--pd-soon-bg:    #FCF3E3;
	--pd-overdue:    #922B21;
	--pd-overdue-bg: #FBEAE7;
	--pd-upcoming:   var( --jlp-ink-soft );
	--pd-partial:    #34607A;
	--pd-partial-bg: #EAF1F5;
	font-family: "Manrope", system-ui, sans-serif;
	color: var( --pd-ink );
}

.jlp-pd * { box-sizing: border-box; }

.jlp-pd-h2 {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp( 1.5rem, 4vw, 2rem );
	font-weight: 500;
	margin: 0 0 .6rem;
}

.jlp-pd section { margin: 0 0 1.8rem; }

/* ---------- locked preview banner ---------- */
.jlp-pd-locked {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	padding: .9rem 1.1rem;
	margin: 0 0 1.4rem;
	background: linear-gradient( 135deg, var( --jlp-surface ), var( --pd-cream ) );
	border: 1px solid var( --pd-line );
	border-radius: 12px;
	box-shadow: 0 12px 30px -22px rgba( 42, 31, 26, .35 );
}
.jlp-pd-locked__icon { display: inline-flex; color: var( --jlp-gold-deep ); }
.jlp-pd-locked__icon svg { width: 1.25rem; height: 1.25rem; }
.jlp-pd-locked__text { flex: 1 1 220px; font-size: .94rem; line-height: 1.5; color: #5A4632; }

/* ---------- onboarding ---------- */
.jlp-pd-onboarding__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .9rem;
}
@media ( min-width: 640px ) {
	.jlp-pd-onboarding__grid { grid-template-columns: 1fr 1fr 1fr; }
}
.jlp-pd-static {
	display: inline-flex;
	align-items: baseline;
	gap: .35rem;
	padding: .55rem .7rem;
	background: var( --pd-gold-soft );
	border-radius: 8px;
	font-weight: 600;
}
.jlp-pd-onboarding__notes { margin-top: .9rem; display: block; }

.jlp-pd-import {
	margin-top: 1.1rem;
	padding: .9rem 1rem;
	border: 1px dashed var( --pd-line );
	border-radius: 12px;
	background: var( --pd-cream );
}
.jlp-pd-import__row {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: .5rem 0 .35rem;
}
.jlp-pd-import__row select { flex: 1 1 240px; }
.jlp-pd-import__status { display: block; font-size: .88rem; color: var( --pd-muted ); min-height: 1.1em; }
.jlp-pd-import__status.is-error { color: var( --pd-overdue ); }
.jlp-pd-import__status.is-ok { color: var( --pd-done ); }

/* ---------- summary cards ---------- */
.jlp-pd-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .65rem;
	margin: 0 0 .9rem;
}
@media ( min-width: 720px ) {
	.jlp-pd-cards { grid-template-columns: repeat( 6, 1fr ); }
}
.jlp-pd-card {
	border: 1px solid var( --pd-line );
	border-radius: 12px;
	padding: .7rem .8rem;
	background: var( --jlp-surface );
}
.jlp-pd-card__label {
	display: block;
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --pd-muted );
	margin-bottom: .3rem;
}
.jlp-pd-card__value {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.25rem;
	font-weight: 500;
	color: var( --pd-ink );
}
.jlp-pd-card--alertable.is-alert {
	border-color: #E6B8AD;
	background: var( --pd-overdue-bg );
}
.jlp-pd-card--alertable.is-alert .jlp-pd-card__value { color: var( --pd-overdue ); }

.jlp-pd-progress {
	height: 10px;
	border-radius: 6px;
	background: var( --pd-gold-soft );
	overflow: hidden;
	margin: .4rem 0 .3rem;
}
.jlp-pd-progress__fill {
	height: 100%;
	background: linear-gradient( 90deg, var( --pd-done ), #4CAF50 );
	transition: width .25s ease;
}
.jlp-pd-progress__label { font-size: .86rem; color: #5A4632; margin: 0; }

.jlp-pd-nextstep {
	margin-top: .9rem;
	padding: .8rem .95rem;
	border-left: 3px solid var( --pd-gold );
	background: var( --pd-cream );
	border-radius: 0 10px 10px 0;
}
.jlp-pd-nextstep__text { margin: .2rem 0 0; font-size: .96rem; line-height: 1.5; }

/* ---------- timeline calendar ---------- */
.jlp-pd-calendar__body { display: grid; gap: 1rem; }
.jlp-pd-month {
	border: 1px solid var( --pd-line );
	border-radius: 12px;
	padding: .85rem 1rem;
	background: var( --jlp-surface );
}
.jlp-pd-month__title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.2rem;
	font-weight: 500;
	margin: 0 0 .5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .5rem;
	text-transform: capitalize;
}
.jlp-pd-month__sum {
	font-family: "Manrope", system-ui, sans-serif;
	font-size: .8rem;
	color: var( --pd-muted );
	text-transform: none;
}
.jlp-pd-month__list { list-style: none; margin: 0; padding: 0; }
.jlp-pd-month__row {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem .75rem;
	align-items: baseline;
	padding: .45rem .25rem;
	border-bottom: 1px solid var( --pd-gold-soft );
}
.jlp-pd-month__row:last-child { border-bottom: 0; }
.jlp-pd-month__date { flex: 0 0 auto; font-size: .82rem; color: var( --pd-muted ); min-width: 92px; }
.jlp-pd-month__name { flex: 1 1 140px; }
.jlp-pd-month__amt { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.jlp-pd-month__badge { flex: 0 0 auto; }
.jlp-pd-month__row--overdue { background: var( --pd-overdue-bg ); border-radius: 6px; }
.jlp-pd-month__row--done { opacity: .72; }

/* ---------- payment rows (repeater) ---------- */
.jlp-pd-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .35rem;
}
.jlp-pd-payments__hint { margin: 0 0 .8rem; font-size: .9rem; }

.jlp-pd-rows { display: grid; gap: .85rem; }
.jlp-pd-row {
	border: 1px solid var( --pd-line );
	border-left: 4px solid var( --pd-upcoming );
	border-radius: 12px;
	padding: .8rem .9rem;
	background: var( --jlp-surface );
	box-shadow: 0 10px 26px -24px rgba( 42, 31, 26, .3 );
}
.jlp-pd-row[data-reminder="overdue"] { border-left-color: var( --pd-overdue ); background: linear-gradient( 0deg, var( --pd-overdue-bg ), var( --jlp-surface ) 60% ); }
.jlp-pd-row[data-reminder="soon"]    { border-left-color: var( --pd-soon ); }
.jlp-pd-row[data-reminder="done"]    { border-left-color: var( --pd-done ); }
.jlp-pd-row[data-reminder="none"]    { border-left-color: var( --pd-line ); }
.jlp-pd-row[data-status="czesciowo"] { border-left-color: var( --pd-partial ); }

.jlp-pd-row__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .55rem;
}
.jlp-pd-row__head-actions { display: flex; gap: .4rem; align-items: center; }

.jlp-pd-pill {
	display: inline-block;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .03em;
	padding: .18rem .5rem;
	border-radius: 999px;
	background: var( --pd-gold-soft );
	color: var( --pd-upcoming );
	white-space: nowrap;
}
.jlp-pd-pill--overdue  { background: var( --pd-overdue-bg ); color: var( --pd-overdue ); }
.jlp-pd-pill--soon     { background: var( --pd-soon-bg ); color: var( --pd-soon ); }
.jlp-pd-pill--done     { background: var( --pd-done-bg ); color: var( --pd-done ); }
.jlp-pd-pill--upcoming { background: var( --pd-gold-soft ); color: var( --pd-upcoming ); }
.jlp-pd-pill--none     { background: #EFEAE3; color: #7A6A5D; }

.jlp-pd-del {
	border: 0;
	background: transparent;
	color: var( --pd-overdue );
	font-size: 1.3rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 .25rem;
	border-radius: 6px;
}
.jlp-pd-del:hover { background: var( --pd-overdue-bg ); }

.jlp-pd-row__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .65rem .8rem;
}
@media ( min-width: 560px ) {
	.jlp-pd-row__grid { grid-template-columns: 1fr 1fr; }
}
@media ( min-width: 920px ) {
	.jlp-pd-row__grid { grid-template-columns: 1.4fr 1.1fr .8fr .8fr .8fr; }
	.jlp-pd-cell--invoice,
	.jlp-pd-cell--receipt,
	.jlp-pd-cell--notes { grid-column: span 2; }
	.jlp-pd-cell--title { grid-column: span 2; }
}
.jlp-pd-cell { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.jlp-pd-cell .jlp-field__label { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var( --pd-muted ); }
.jlp-pd-num { text-align: right; }
.jlp-pd-remaining {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.15rem;
	font-weight: 500;
}
.jlp-pd-cell textarea.jlp-input { resize: vertical; min-height: 2.2rem; }

.jlp-pd-empty {
	border: 1px dashed var( --pd-line );
	border-radius: 12px;
	padding: 1.1rem;
	text-align: center;
	background: var( --pd-cream );
}

.jlp-pd-foot {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1.4rem;
	margin-top: .9rem;
	padding-top: .7rem;
	border-top: 1px solid var( --pd-line );
	font-size: .94rem;
}
.jlp-pd-foot strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.1rem; font-weight: 500; }

/* ---------- read-only / preview ---------- */
.jlp-pd[data-readonly="1"] .jlp-input,
.jlp-pd[data-readonly="1"] select { background: var( --pd-cream ); }

/* ---------- public marketing block ---------- */
.jlp-pd-public__perks { margin: .8rem 0; padding-left: 1.1rem; line-height: 1.6; }
.jlp-pd-public__methods ul { list-style: none; padding: 0; margin: .4rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.jlp-pd-public__methods li { background: var( --pd-gold-soft, rgba( 184, 152, 104, .14 ) ); border-radius: 999px; padding: .2rem .65rem; font-size: .85rem; }
.jlp-pd-public__cta { font-style: italic; color: #5A4632; margin-top: 1rem; }

/* ---------- print (Ctrl+P on the paid editor; exports use the PDF adapter's own CSS) ---------- */
@media print {
	.jlp-pd-locked,
	.jlp-pd-import,
	.jlp-pd-section-head .jlp-btn,
	.jlp-pd-row__head-actions,
	.jlp-pd-del { display: none !important; }
	.jlp-pd-row { box-shadow: none; break-inside: avoid; }
	.jlp-pd-month { break-inside: avoid; }
	.jlp-input,
	select.jlp-input { border: 0; padding: 0; background: transparent; }
}
