#detailTitle, #uploadReviewTitle { font-size:clamp(1.5rem, 5vw, 2.1rem); line-height:1.2; overflow-wrap:anywhere; }
#detailCompact { padding:18px 22px; }
.compact-section + .compact-section { border-top:1px solid var(--line, #7775); margin-top:14px; padding-top:14px; }
.compact-section h3 { margin:0; font-size:1rem; line-height:1.4; font-weight:600; }
#detailCompact .compact-section > .row { display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:space-between; align-items:center; gap:12px; }
#detailCompact .compact-section > .row button { width:auto; flex:none; }
.compact-section .quiet { padding:8px 0 8px 12px; min-height:44px; }
.compact-facts { margin:8px 0 0; }
.compact-facts > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:14px; padding:7px 0; }
.compact-facts dt { opacity:.7; font-size:.9rem; }
.compact-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.compact-attention { padding-bottom:14px; border-bottom:1px solid var(--line,#7775); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; }
#detailDataPanel > .danger-zone { display:none; }
.field-provenance { font-size:.85rem; opacity:.8; margin-top:8px; }
#uploadReviewSummary { margin-bottom:18px; padding:22px; }
#uploadReviewSummary .upload-summary-party { margin:0; font-size:1rem; line-height:1.45; overflow-wrap:anywhere; }
.upload-summary-money { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin:18px 0; }
#uploadReviewSummary .upload-summary-money strong { margin:0; min-width:0; font:400 clamp(1.75rem,7.5vw,2.8rem)/1.15 var(--font-display); letter-spacing:-.04em; overflow-wrap:anywhere; }
.upload-payment-badge { display:inline-flex; align-items:center; justify-content:center; gap:6px; max-width:112px; border:1px solid var(--line); border-radius:100px; padding:7px 10px; font-size:.78rem; line-height:1.25; font-weight:600; background:var(--surface-soft); color:var(--ink); }
.upload-payment-badge::before { content:'○'; font-size:1rem; }
.upload-payment-badge.paid::before { content:'✓'; }
.upload-payment-badge.partial::before { content:'◐'; }
.upload-payment-badge.neutral::before { content:'—'; }
#uploadReviewSummary .upload-summary-meta p { margin:5px 0; font-size:.88rem; line-height:1.45; overflow-wrap:anywhere; }
#uploadReviewSummary .upload-summary-meta .panel-note { font-size:.82rem; }
.upload-summary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; padding-top:10px; border-top:1px solid var(--line); }
#uploadReviewSummary .upload-summary-actions button { width:100%; padding:9px 4px; min-height:44px; font-size:.85rem; line-height:1.3; }
@media(max-width:360px) { #uploadReviewSummary { padding:16px; } .upload-payment-badge { max-width:94px; font-size:.72rem; padding:6px 8px; } }
#uploadReviewPaymentChoice > summary { min-height:44px; padding:10px 0; }
#uploadReviewPaymentChoice fieldset { display:flex; flex-wrap:wrap; gap:10px; border:0; padding:0; }
#uploadReviewPaymentChoice .review-owner-option { flex:1 1 130px; border:1px solid var(--line); border-radius:12px; padding:14px; background:var(--paper); }
#uploadReviewPaymentChoice .review-owner-option:has(input:checked) { border-color:var(--ink); background:var(--surface-soft); box-shadow:inset 0 0 0 1px var(--ink); }
#uploadReviewPaymentChoice input { accent-color:var(--ink); }
#uploadReviewPaymentChoice .panel-note { flex-basis:100%; }
.upload-work-note { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); }
#uploadReviewAddAnother { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:54px; padding:14px 18px; margin:18px 0 28px; border:1px solid var(--line); border-radius:14px; color:var(--ink); background:var(--paper); }
#uploadReviewAddAnother .summa-icon { width:22px; height:22px; flex:none; }
#uploadReviewQuestionList { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
#uploadReviewQuestionList span { padding:6px 10px; border:1px solid var(--line,#7775); border-radius:8px; font-size:.85rem; }
#uploadReviewView .upload-review-head h1 { margin-bottom:8px; }
#uploadReviewPayment > :is(#uploadReviewDate,#uploadReviewRelation,#uploadReviewSummaryDescription,#uploadReviewSummaryPeriod,#uploadReviewAmount,.actions) { display:none; }
#uploadReviewPayment fieldset { margin-top:10px; }
#uploadReviewKeepPayment { width:100%; min-height:48px; margin:12px 0; }
#uploadReviewView.is-single-question :is(#reviewSelection,#reviewChangesTitle,#reviewSelectionNote) { display:none; }
#uploadReviewView .review-columns { display:flex; flex-direction:column; align-items:stretch; }
#uploadReviewView .review-columns > .panel { width:100%; box-sizing:border-box; }
#uploadReviewView #reviewTitle { font-size:1.35rem; margin:16px 0 8px; }
#uploadReviewView #reviewExplanation { font-size:.95rem; margin:0 0 16px; }
#uploadReviewView .review-source:not([open]) { padding:14px 18px; }
@media(max-width:720px) { #detailCompact { padding:14px 16px; } #uploadReviewView .review-layout { display:block; } }
@media(max-width:720px) {
  #detailView #detailPaymentPanel { padding:18px 16px; margin-bottom:18px; }
  #detailView #detailPaymentPanel .payment-main h2 { font-size:24px; line-height:1.2; }
  #detailView #detailPaymentPanel .payment-text::after { display:none; }
  #detailView #detailPaymentPanel .payment-text .panel-kicker { margin-bottom:6px; }
  #detailView #detailPaymentPanel .payment-amount { font-size:30px; transform:none; margin:0; }
  #detailView #detailPaymentPanel .payment-footer { margin-top:12px; }
  #detailView #detailPaymentPanel .payment-actions { margin-top:12px; }
}
/* Continue a Home payment action without losing the invoice just saved. */
.payment-action-queue { border-top: 1px solid var(--line, #555); padding-top: 16px; margin-top: 16px; }
.payment-action-queue button { width: 100%; white-space: normal; }
.document-pages { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:12px 0; }
.document-pages span { flex:1; text-align:center; font-size:13px; }
.document-pages button { min-height:44px; padding:8px 10px; font-size:13px; }
.document-pages:has(+ img[hidden]) { display:none; }
