/* =============================================================================
 * PR307 — Pay App Engine Styles (rebuild)
 * All selectors scoped to .pr307-* prefix
 * No emoji in UI. Orange accent: #FF6B00
 * =========================================================================== */

/* ── Root ─────────────────────────────────────────────────────────────────── */
.pr307-root {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #1a1a2e;
  padding: 0 0 64px;
  font-size: 13px;
  line-height: 1.5;
}

/* ── Header ───────────────────────────────────────────────────────────────── */
.pr307-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
}
.pr307-header-left { flex: 1; min-width: 0; }
.pr307-title {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pr307-subtitle {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}
.pr307-header-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.pr307-tab-badge {
  background: #FF6B00;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 12px;
  white-space: nowrap;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.pr307-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background 0.15s, opacity 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
  font-family: inherit;
  line-height: 1;
}
.pr307-btn:hover { opacity: 0.86; }
.pr307-btn:focus-visible { outline: 2px solid #FF6B00; outline-offset: 2px; }
.pr307-btn-primary   { background: #FF6B00; color: #fff; }
.pr307-btn-secondary { background: #f3f4f6; color: #374151; border: 1px solid #d1d5db; }
.pr307-btn-success   { background: #16a34a; color: #fff; }
.pr307-btn-danger    { background: #dc2626; color: #fff; }
.pr307-btn-warning   { background: #d97706; color: #fff; }
.pr307-btn-back      { background: transparent; color: #FF6B00; padding: 4px 0; font-size: 13px; font-weight: 600; }
.pr307-btn-back:hover { opacity: 0.75; }
.pr307-btn-sm        { padding: 4px 10px; font-size: 12px; }
.pr307-btn-dl        { background: #f3f4f6; color: #374151; border: 1px solid #d1d5db; }
.pr307-btn-assemble  { background: #FF6B00; color: #fff; font-size: 14px; padding: 10px 20px; }

/* Two-tap confirm pending state */
.pr307-confirm-pending {
  border: 2px solid #FF6B00 !important;
  background: #fff7ed !important;
  color: #FF6B00 !important;
}

/* ── SOV Setup CTA ────────────────────────────────────────────────────────── */
.pr307-sov-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.pr307-sov-cta-text { flex: 1; }
.pr307-sov-cta-text strong { display: block; font-size: 14px; color: #1a1a2e; margin-bottom: 4px; }
.pr307-sov-cta-text p { margin: 0; font-size: 12px; color: #6b7280; }

/* ── Pay App list table ───────────────────────────────────────────────────── */
.pr307-list-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.pr307-list-table thead th {
  text-align: left;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.pr307-list-row {
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.1s;
  cursor: pointer;
}
.pr307-list-row:hover { background: #fef9f5; }
.pr307-list-row td {
  padding: 10px 12px;
  vertical-align: middle;
}
.pr307-app-num     { font-weight: 600; color: #1a1a2e; white-space: nowrap; }
.pr307-period-label { color: #4b5563; font-size: 12px; }
.pr307-net-due     { font-weight: 600; color: #1a1a2e; white-space: nowrap; }
.pr307-row-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }

/* Expandable row */
.pr307-list-expand-row { background: #f9fafb; }
.pr307-list-expand-row td { padding: 0; }
.pr307-list-expand-body { padding: 12px 20px 16px; }
.pr307-expand-cols {
  display: flex;
  gap: 24px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.pr307-expand-cols > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pr307-expand-lbl {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9ca3af;
}
.pr307-expand-dates {
  display: flex;
  gap: 24px;
  margin-top: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #4b5563;
}

/* ── Type pills ───────────────────────────────────────────────────────────── */
.pr307-type-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.pr307-type-progress  { background: #eff6ff; color: #1d4ed8; }
.pr307-type-retention { background: #fdf4ff; color: #7e22ce; }

/* ── Status badges ────────────────────────────────────────────────────────── */
.pr307-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
/* draft: gray */
.pr307-badge-draft              { background: #f3f4f6; color: #6b7280; }
/* in_review: blue */
.pr307-badge-in-review          { background: #dbeafe; color: #1d4ed8; }
/* internally_approved: purple */
.pr307-badge-internally-approved { background: #f3e8ff; color: #7c3aed; }
/* sent_to_gc: orange */
.pr307-badge-sent-to-gc         { background: #fff7ed; color: #c2410c; }
/* approved: green */
.pr307-badge-approved           { background: #dcfce7; color: #166534; }
/* paid: dark green */
.pr307-badge-paid               { background: #d1fae5; color: #065f46; }
/* revision_requested: red */
.pr307-badge-revision-requested { background: #fee2e2; color: #991b1b; }
/* legacy compat */
.pr307-badge-ready              { background: #fef3c7; color: #92400e; }
.pr307-badge-submitted          { background: #dbeafe; color: #1d4ed8; }
.pr307-badge-rejected           { background: #fee2e2; color: #991b1b; }

/* Revision badge */
.pr307-rev-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
  margin-left: 4px;
  vertical-align: middle;
}

/* ── Score / readiness badges ──────────────────────────────────────────────── */
.pr307-score-badge,
.pr307-readiness-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.pr307-score-green,   .pr307-readiness-green  { background: #dcfce7; color: #166534; }
.pr307-score-yellow,  .pr307-readiness-yellow { background: #fef3c7; color: #92400e; }
.pr307-score-red,     .pr307-readiness-red    { background: #fee2e2; color: #991b1b; }

/* ── Status timeline bar ──────────────────────────────────────────────────── */
.pr307-status-timeline {
  display: flex;
  align-items: center;
  margin: 16px 0 20px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.pr307-timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  min-width: 70px;
}
.pr307-timeline-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #e5e7eb;
  transition: background 0.2s, border-color 0.2s;
}
.pr307-timeline-label {
  font-size: 10px;
  font-weight: 600;
  color: #9ca3af;
  text-align: center;
  white-space: nowrap;
}
.pr307-timeline-connector {
  flex: 1;
  height: 2px;
  background: #e5e7eb;
  min-width: 16px;
  flex-shrink: 0;
  margin-bottom: 18px;
}
.pr307-timeline-connector-done { background: #FF6B00; }
.pr307-timeline-step.pr307-timeline-done .pr307-timeline-dot {
  background: #FF6B00;
  border-color: #FF6B00;
  color: #fff;
}
.pr307-timeline-step.pr307-timeline-done .pr307-timeline-label { color: #FF6B00; }
.pr307-timeline-step.pr307-timeline-active .pr307-timeline-dot {
  background: #fff;
  border-color: #FF6B00;
  color: #FF6B00;
}
.pr307-timeline-step.pr307-timeline-active .pr307-timeline-label { color: #FF6B00; font-weight: 700; }

/* ── Summary cards ────────────────────────────────────────────────────────── */
.pr307-summary-cards {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.pr307-summary-card {
  flex: 1;
  min-width: 110px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px 16px;
}
.pr307-summary-card-highlight {
  background: #fff7ed;
  border-color: #fed7aa;
}
.pr307-summary-value {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}
.pr307-summary-card-highlight .pr307-summary-value { color: #FF6B00; }
.pr307-summary-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9ca3af;
}

/* ── Readiness panel ──────────────────────────────────────────────────────── */
.pr307-readiness-panel {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.pr307-readiness-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.pr307-readiness-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #374151;
}
.pr307-readiness-streams { display: flex; flex-direction: column; gap: 5px; }
.pr307-stream-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  padding: 5px 8px;
  border-radius: 5px;
}
.pr307-stream-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.pr307-stream-complete .pr307-stream-icon { background: #dcfce7; color: #166534; }
.pr307-stream-blocker  .pr307-stream-icon { background: #fee2e2; color: #991b1b; }
.pr307-stream-warning  .pr307-stream-icon { background: #fef3c7; color: #92400e; }
.pr307-stream-name { flex: 1; color: #374151; }
.pr307-stream-tag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9ca3af;
  flex-shrink: 0;
}
.pr307-stream-blocker .pr307-stream-tag { color: #dc2626; }
.pr307-stream-warning .pr307-stream-tag { color: #d97706; }

/* ── Section headers ──────────────────────────────────────────────────────── */
.pr307-sov-section,
.pr307-lw-section,
.pr307-cp-section,
.pr307-version-panel,
.pr307-approval-chain {
  margin-bottom: 32px;
}
.pr307-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.pr307-section-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pr307-section-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.pr307-locked-pill {
  background: #f3f4f6;
  color: #6b7280;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
}
.pr307-pw-pill {
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
}
.pr307-alert-pill {
  background: #fee2e2;
  color: #991b1b;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
}

/* ── Cost code chip ───────────────────────────────────────────────────────── */
.pr307-cost-code-chip {
  display: inline-block;
  background: #f3f4f6;
  color: #374151;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
  font-family: 'SF Mono', 'Fira Code', monospace;
  border: 1px solid #e5e7eb;
}

/* ── SOV table (detail view + wizard) ────────────────────────────────────── */
.pr307-sov-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pr307-sov-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  min-width: 900px;
}
.pr307-sov-table-detail { min-width: 1100px; }
.pr307-sov-table thead th {
  text-align: right;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.pr307-sov-table thead th:first-child,
.pr307-sov-table thead th.pr307-col-desc { text-align: left; }
.pr307-sov-table thead .pr307-col-locked { background: #f3f4f6; }
.pr307-sov-row td {
  padding: 7px 10px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.pr307-sov-row:hover { background: #fef9f5; }
.pr307-sov-desc { max-width: 180px; word-break: break-word; }
.pr307-sov-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: #374151;
}
.pr307-sov-pct { text-align: right; font-weight: 600; color: #374151; }
.pr307-sov-computed { font-weight: 600; color: #1a1a2e; }
.pr307-sov-totals td {
  padding: 8px 10px;
  font-weight: 700;
  font-size: 12px;
  background: #f9fafb;
  border-top: 2px solid #e5e7eb;
  text-align: right;
}
.pr307-sov-totals td:first-child,
.pr307-sov-totals td:nth-child(2) { text-align: left; }

/* Locked / prior cell */
.pr307-sov-locked-cell {
  background: #f9fafb;
  color: #9ca3af;
  text-align: right;
  font-style: italic;
}

/* Retainage and amount due columns */
.pr307-retainage-cell { color: #6b7280; }
.pr307-amt-due-cell   { font-weight: 700; color: #FF6B00; }

/* SOV inputs */
.pr307-sov-input {
  width: 82px;
  padding: 4px 6px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 12px;
  text-align: right;
  font-family: inherit;
  background: #fff;
}
.pr307-sov-input:focus { outline: none; border-color: #FF6B00; box-shadow: 0 0 0 2px rgba(255,107,0,0.14); }

/* Wizard slider cell — slider + number side by side */
.pr307-sov-slider-cell {
  min-width: 80px;
  vertical-align: middle;
  padding-right: 4px !important;
}
.pr307-sov-pct-cell {
  padding-left: 4px !important;
  min-width: 54px;
}
.pr307-sov-pct-input { width: 54px; }
.pr307-sov-dollar-input { width: 82px; }

/* Slider styling */
.pr307-sov-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 76px;
  height: 4px;
  border-radius: 2px;
  background: #e5e7eb;
  cursor: pointer;
  vertical-align: middle;
}
.pr307-sov-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #FF6B00;
  cursor: pointer;
}
.pr307-sov-slider::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #FF6B00;
  cursor: pointer;
  border: none;
}

/* Autofilled cell highlight */
.pr307-autofilled td,
tr.pr307-autofilled td {
  background-color: #e8f4fd !important;
}

/* Retainage / net due summary row */
.pr307-retainage-row {
  display: flex;
  justify-content: flex-end;
  gap: 32px;
  padding: 10px 10px 0;
  font-size: 13px;
  color: #4b5563;
  flex-wrap: wrap;
}
.pr307-net-due-val { color: #FF6B00; font-size: 15px; font-weight: 700; }
.pr307-net-due-row { font-weight: 600; }
.pr307-co-ref {
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
}

/* ── Wizard ───────────────────────────────────────────────────────────────── */
.pr307-wizard {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Step indicator bar */
.pr307-wizard-steps {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 0 0 24px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 24px;
  overflow-x: auto;
}
.pr307-wizard-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  min-width: 80px;
  cursor: default;
}
.pr307-wizard-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #e5e7eb;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.pr307-wizard-step-label {
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  text-align: center;
  white-space: nowrap;
}
.pr307-wizard-step-connector {
  flex: 1;
  height: 2px;
  background: #e5e7eb;
  min-width: 24px;
  flex-shrink: 0;
  margin-bottom: 20px;
}
.pr307-wizard-step-connector-done { background: #FF6B00; }
.pr307-wizard-step-active .pr307-wizard-step-num {
  background: #fff;
  border-color: #FF6B00;
  color: #FF6B00;
}
.pr307-wizard-step-active .pr307-wizard-step-label { color: #FF6B00; font-weight: 700; }
.pr307-wizard-step-complete .pr307-wizard-step-num {
  background: #FF6B00;
  border-color: #FF6B00;
  color: #fff;
}
.pr307-wizard-step-complete .pr307-wizard-step-label { color: #FF6B00; }

/* Wizard body */
.pr307-wizard-body {
  flex: 1;
  padding-bottom: 80px; /* clearance for running totals */
}
.pr307-wizard-section-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 6px;
}
.pr307-wizard-hint {
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 20px;
}

/* Wizard footer */
.pr307-wizard-footer {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 20px;
  margin-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.pr307-wizard-footer .pr307-btn-primary { margin-left: auto; }

/* ── Auto-fill banner ─────────────────────────────────────────────────────── */
.pr307-autofill-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 7px;
  padding: 10px 16px;
  margin-bottom: 14px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #166534;
}
.pr307-autofill-btns { display: flex; gap: 8px; }

/* ── Apply % to all bar ───────────────────────────────────────────────────── */
.pr307-apply-all-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.pr307-apply-all-label {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
}
.pr307-input-xs { width: 64px; }

/* ── Running totals sticky bar (Step 2 bottom) ────────────────────────────── */
.pr307-running-totals {
  display: flex;
  gap: 0;
  background: #1a1a2e;
  color: #fff;
  border-radius: 8px;
  margin-top: 16px;
  overflow: hidden;
  flex-wrap: nowrap;
}
.pr307-running-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 16px;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.pr307-running-item:last-child { border-right: none; }
.pr307-running-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.55);
}
.pr307-running-val {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.pr307-running-ret { color: #fca5a5; }
.pr307-running-net { color: #6ee7b7; }

/* Add custom line */
.pr307-sov-add-custom {
  margin-top: 10px;
  margin-bottom: 16px;
}

/* ── Wizard Step 3 ────────────────────────────────────────────────────────── */
/* Document checklist */
.pr307-doc-checklist {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.pr307-checklist-title {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pr307-checklist-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 13px;
}
.pr307-checklist-item:last-child { border-bottom: none; }
.pr307-check-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.pr307-check-ok   .pr307-check-icon { background: #dcfce7; color: #166534; }
.pr307-check-warn .pr307-check-icon { background: #fef3c7; color: #92400e; }
.pr307-check-note {
  margin-left: auto;
  font-size: 11px;
  color: #9ca3af;
  flex-shrink: 0;
}

/* Approval setup */
.pr307-approval-setup {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.pr307-approval-setup-note {
  font-size: 12px;
  color: #6b7280;
  margin: 0 0 10px;
}
.pr307-approval-checkboxes { display: flex; gap: 20px; flex-wrap: wrap; }
.pr307-approval-cb-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  cursor: pointer;
}
.pr307-approval-cb { cursor: pointer; accent-color: #FF6B00; }

/* GC version section */
.pr307-gc-version {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.pr307-radio-group { display: flex; flex-direction: column; gap: 10px; }
.pr307-radio-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
}
.pr307-radio-label input { accent-color: #FF6B00; margin-top: 2px; flex-shrink: 0; }
.pr307-radio-label em { color: #6b7280; }

/* ── Approval chain (detail view) ────────────────────────────────────────── */
.pr307-approval-chain {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.pr307-approval-steps {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.pr307-approval-step {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.pr307-approval-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.pr307-approval-step-done    .pr307-approval-dot { background: #dcfce7; color: #166534; }
.pr307-approval-step-pending .pr307-approval-dot { background: #f3f4f6; color: #9ca3af; }
.pr307-approval-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.pr307-approval-role   { font-size: 12px; font-weight: 600; color: #374151; }
.pr307-approval-status { font-size: 10px; color: #9ca3af; }
.pr307-approval-step-done .pr307-approval-status { color: #16a34a; }
.pr307-approval-connector {
  width: 24px;
  height: 2px;
  background: #e5e7eb;
  flex-shrink: 0;
  margin: 0 4px;
}

/* ── Version history ──────────────────────────────────────────────────────── */
.pr307-version-toggle {
  background: none;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  cursor: pointer;
  font-family: inherit;
}
.pr307-version-toggle:hover { background: #f9fafb; }
.pr307-version-body { margin-top: 10px; }
.pr307-version-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pr307-version-table thead th {
  text-align: left;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.pr307-version-table tbody tr td {
  padding: 7px 10px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}

/* ── Revision request form ────────────────────────────────────────────────── */
.pr307-revision-form {
  background: #fff7f7;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 16px 0;
}
.pr307-revision-form-title {
  font-size: 14px;
  font-weight: 700;
  color: #991b1b;
  margin: 0 0 12px;
}
.pr307-revision-form-btns {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  flex-wrap: wrap;
}

/* ── Lien waiver table ────────────────────────────────────────────────────── */
.pr307-lw-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pr307-lw-table thead th {
  text-align: left;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.pr307-lw-row td {
  padding: 8px 10px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.pr307-lw-row:hover { background: #fef9f5; }
.pr307-lw-row.pr307-lw-outstanding { background: #fff7f7; }
.pr307-lw-party   { font-weight: 600; color: #1a1a2e; }
.pr307-lw-actions { display: flex; gap: 6px; align-items: center; }
.pr307-lw-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.pr307-lw-requested         { background: #fef3c7; color: #92400e; }
.pr307-lw-received          { background: #dcfce7; color: #166534; }
.pr307-lw-outstanding-badge { background: #fee2e2; color: #991b1b; }

/* ── Certified payroll table ──────────────────────────────────────────────── */
.pr307-cp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pr307-cp-table thead th {
  text-align: left;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.pr307-cp-row td {
  padding: 8px 10px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.pr307-cp-row.pr307-cp-issue { background: #fff7f7; }
.pr307-cp-alert {
  background: #fee2e2;
  color: #991b1b;
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 10px;
  border: 1px solid #fecaca;
}
.pr307-cp-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.pr307-cp-not-started { background: #f3f4f6; color: #6b7280; }
.pr307-cp-in-progress { background: #fef3c7; color: #92400e; }
.pr307-cp-submitted   { background: #dbeafe; color: #1d4ed8; }
.pr307-cp-accepted    { background: #dcfce7; color: #166534; }
.pr307-cp-flagged     { background: #fee2e2; color: #991b1b; }

/* ── SOV Setup panel ──────────────────────────────────────────────────────── */
.pr307-sov-setup { max-width: 860px; }
.pr307-sov-setup-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.pr307-sov-contract-note {
  font-size: 13px;
  color: #374151;
  margin-bottom: 16px;
  padding: 8px 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  display: inline-block;
}
.pr307-sov-setup-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.pr307-sov-import-panel {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.pr307-import-hint {
  font-size: 12px;
  color: #6b7280;
  margin: 0 0 8px;
}
.pr307-import-btns { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.pr307-sov-setup-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 16px;
}
.pr307-sov-setup-table thead th {
  text-align: left;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.pr307-sov-setup-row td {
  padding: 6px 8px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.pr307-sov-setup-total-label {
  text-align: right;
  font-weight: 700;
  font-size: 12px;
  padding: 8px 10px;
  background: #f9fafb;
}
.pr307-sov-setup-total-val {
  font-weight: 700;
  font-size: 14px;
  padding: 8px 10px;
  background: #f9fafb;
}
.pr307-sov-setup-footer {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
  flex-wrap: wrap;
}

/* ── Detail header / view ─────────────────────────────────────────────────── */
.pr307-detail-header {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.pr307-detail-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 4px;
  flex-wrap: wrap;
}
.pr307-detail-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
}
.pr307-detail-period { font-size: 13px; color: #6b7280; margin: 0; }
.pr307-detail-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
  margin-top: 8px;
}

/* ── Assemble feedback ────────────────────────────────────────────────────── */
.pr307-assemble-feedback {
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 13px;
  margin-bottom: 12px;
  border: 1px solid transparent;
}
.pr307-assemble-success {
  background: #dcfce7;
  color: #166534;
  border-color: #bbf7d0;
}

/* ── Forms ────────────────────────────────────────────────────────────────── */
.pr307-form-row { margin-bottom: 16px; }
.pr307-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pr307-input,
.pr307-select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  font-size: 13px;
  font-family: inherit;
  color: #1a1a2e;
  box-sizing: border-box;
  background: #fff;
}
.pr307-input:focus,
.pr307-select:focus {
  outline: none;
  border-color: #FF6B00;
  box-shadow: 0 0 0 2px rgba(255,107,0,0.14);
}
.pr307-input-sm { width: 120px; }
.pr307-textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 5px;
  font-size: 13px;
  font-family: inherit;
  color: #1a1a2e;
  box-sizing: border-box;
  resize: vertical;
  background: #fff;
}
.pr307-textarea:focus { outline: none; border-color: #FF6B00; box-shadow: 0 0 0 2px rgba(255,107,0,0.14); }
.pr307-suggest {
  display: inline-block;
  font-size: 11px;
  color: #9ca3af;
  margin-top: 4px;
}
.pr307-field-error {
  display: block;
  font-size: 11px;
  color: #dc2626;
  margin-top: 4px;
  font-weight: 600;
}

/* ── Toast ────────────────────────────────────────────────────────────────── */
.pr307-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #1a1a2e;
  color: #fff;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 13px;
  z-index: 9999;
  box-shadow: 0 4px 18px rgba(0,0,0,0.22);
  max-width: 360px;
  animation: pr307-toast-in 0.2s ease;
  pointer-events: none;
}
.pr307-toast-error { background: #991b1b; }
@keyframes pr307-toast-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0);    }
}

/* ── Misc ─────────────────────────────────────────────────────────────────── */
.pr307-empty { padding: 40px 0; text-align: center; color: #9ca3af; font-size: 14px; }
.pr307-empty-msg { color: #9ca3af; font-size: 12px; padding: 12px 0; }
.pr307-error { color: #dc2626; font-size: 13px; }
.pr307-access-denied { padding: 48px 24px; text-align: center; color: #9ca3af; font-size: 14px; }
.pr307-doc-linked { color: #16a34a; font-size: 12px; font-weight: 600; }
.pr307-doc-missing { color: #d1d5db; font-size: 12px; }

/* ── Responsive: mobile < 768px ───────────────────────────────────────────── */
@media (max-width: 767px) {
  /* SOV tables scroll horizontally */
  .pr307-sov-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pr307-sov-table,
  .pr307-sov-table-detail { min-width: 780px; }

  /* Wizard steps collapse to numbers only */
  .pr307-wizard-step-label { display: none; }
  .pr307-wizard-step       { min-width: 40px; }

  /* Running totals wrap */
  .pr307-running-totals { flex-wrap: wrap; }
  .pr307-running-item   { flex: 1 1 30%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); }

  /* Summary cards 2-up on mobile */
  .pr307-summary-card { min-width: calc(50% - 8px); }

  /* Timeline scroll */
  .pr307-status-timeline { gap: 0; }
  .pr307-timeline-label  { display: none; }
  .pr307-timeline-step   { min-width: 36px; }

  /* Toast full-width */
  .pr307-toast { right: 12px; left: 12px; max-width: none; bottom: 16px; }

  /* List table: hide some cols */
  .pr307-list-table thead th:nth-child(4),
  .pr307-list-table tbody td:nth-child(4) { display: none; }
}

/* ─── Document Preview Overlay ─────────────────────────────────────────── */
#pr307-doc-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.pr307-doc-overlay-bg {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 32px 16px;
  overflow-y: auto;
}
.pr307-doc-modal {
  background: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 960px;
  box-shadow: 0 8px 48px rgba(0,0,0,0.32);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.pr307-doc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #1A1A2E;
  padding: 12px 20px;
  gap: 12px;
  flex-wrap: wrap;
}
.pr307-doc-toolbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pr307-doc-toolbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.pr307-doc-label-badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 3px;
  text-transform: uppercase;
}
.pr307-doc-badge-internal {
  background: #FF6B00;
  color: #fff;
}
.pr307-doc-badge-gc {
  background: #2d7a4f;
  color: #fff;
}
.pr307-doc-title {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.pr307-doc-hint {
  color: #aaa;
  font-size: 11px;
}
.pr307-doc-close-btn {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 4px;
  padding: 5px 12px;
  cursor: pointer;
  font-size: 13px;
  transition: background 0.15s;
}
.pr307-doc-close-btn:hover {
  background: rgba(255,255,255,0.22);
}
.pr307-doc-body {
  overflow-y: auto;
  max-height: 80vh;
  padding: 32px;
  background: #f4f4f4;
}
.pr307-doc-page {
  background: #fff;
  max-width: 880px;
  margin: 0 auto;
  padding: 40px 44px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}

/* Header */
.pr307-doc-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 3px solid #1A1A2E;
  padding-bottom: 18px;
  margin-bottom: 20px;
  gap: 24px;
}
.pr307-doc-logo-block {
  margin-bottom: 6px;
}
.pr307-doc-logo-text {
  font-size: 22px;
  font-weight: 800;
  color: #FF6B00;
  letter-spacing: -0.5px;
}
.pr307-doc-co-name {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A2E;
  margin-bottom: 2px;
}
.pr307-doc-co-sub {
  font-size: 11px;
  color: #777;
}
.pr307-doc-header-right {
  text-align: right;
}
.pr307-doc-doc-title {
  font-size: 14px;
  font-weight: 700;
  color: #1A1A2E;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: 8px;
}
.pr307-doc-app-number {
  font-size: 13px;
  color: #333;
  margin-bottom: 2px;
}
.pr307-doc-app-date {
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}
.pr307-doc-app-status {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pr307-doc-status-paid        { background: #d4edda; color: #155724; }
.pr307-doc-status-draft        { background: #e2e3e5; color: #383d41; }
.pr307-doc-status-in_review    { background: #fff3cd; color: #856404; }
.pr307-doc-status-internally_approved { background: #cce5ff; color: #004085; }
.pr307-doc-status-sent_to_gc   { background: #d1ecf1; color: #0c5460; }
.pr307-doc-status-gc_approved  { background: #d4edda; color: #155724; }

/* Info grid */
.pr307-doc-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 24px;
  background: #f9f9f9;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 14px 16px;
}
.pr307-doc-info-label {
  font-size: 10px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 2px;
}
.pr307-doc-info-value {
  font-size: 13px;
  font-weight: 600;
  color: #1A1A2E;
}

/* Section title */
.pr307-doc-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #777;
  margin-bottom: 8px;
  margin-top: 24px;
}

/* SOV Table */
.pr307-doc-sov-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  margin-bottom: 24px;
}
.pr307-doc-sov-table thead tr {
  background: #1A1A2E;
  color: #fff;
}
.pr307-doc-th-left {
  text-align: left;
  padding: 8px 10px;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.03em;
}
.pr307-doc-th-num {
  text-align: right;
  padding: 8px 10px;
  font-weight: 600;
  font-size: 11px;
  white-space: nowrap;
}
.pr307-doc-row-even { background: #fff; }
.pr307-doc-row-odd  { background: #fafafa; }
.pr307-doc-sov-table tbody td {
  padding: 7px 10px;
  border-bottom: 1px solid #f0f0f0;
  color: #333;
}
.pr307-doc-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pr307-doc-num-highlight {
  color: #FF6B00;
  font-weight: 600;
}
.pr307-doc-ret-cell { color: #c0392b; }
.pr307-doc-due-cell { color: #1a7a4a; font-weight: 600; }
.pr307-doc-code {
  font-family: monospace;
  font-size: 11px;
  color: #666;
}
.pr307-doc-totals-row td {
  background: #f0f0f0;
  border-top: 2px solid #1A1A2E;
  padding: 9px 10px;
  font-size: 12px;
}

/* Summary box */
.pr307-doc-summary-box {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  background: #f9f9f9;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 18px 20px;
  margin-bottom: 28px;
}
.pr307-doc-summary-grid {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pr307-doc-summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #444;
  border-bottom: 1px solid #ececec;
  padding-bottom: 5px;
}
.pr307-doc-summary-label { color: #666; }
.pr307-doc-summary-value { font-weight: 600; color: #1A1A2E; font-variant-numeric: tabular-nums; }
.pr307-doc-net-due-box {
  background: #1A1A2E;
  color: #fff;
  border-radius: 6px;
  padding: 16px 22px;
  text-align: center;
  min-width: 160px;
}
.pr307-doc-net-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
  opacity: 0.8;
}
.pr307-doc-net-amount {
  font-size: 22px;
  font-weight: 800;
  color: #FF6B00;
  font-variant-numeric: tabular-nums;
}

/* Signature block */
.pr307-doc-sig-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 28px;
  border-top: 1px solid #e0e0e0;
  padding-top: 20px;
}
.pr307-doc-sig-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #1A1A2E;
  margin-bottom: 8px;
}
.pr307-doc-sig-copy {
  font-size: 11px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 12px;
}
.pr307-doc-sig-line {
  font-size: 12px;
  color: #444;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #ddd;
}

/* Audit trail */
.pr307-doc-audit-section {
  margin-bottom: 24px;
}
.pr307-doc-audit-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.pr307-doc-audit-table thead tr {
  background: #f0f0f0;
}
.pr307-doc-audit-table th, .pr307-doc-audit-table td {
  padding: 7px 10px;
  border: 1px solid #e8e8e8;
  text-align: left;
}
.pr307-doc-audit-table th {
  font-weight: 600;
  color: #555;
  font-size: 11px;
}

/* Footer */
.pr307-doc-footer {
  text-align: center;
  font-size: 10px;
  color: #bbb;
  padding-top: 20px;
  border-top: 1px solid #eee;
  margin-top: 8px;
  letter-spacing: 0.04em;
}

@media (max-width: 767px) {
  .pr307-doc-body { padding: 12px; }
  .pr307-doc-page { padding: 20px 16px; }
  .pr307-doc-info-grid { grid-template-columns: 1fr 1fr; }
  .pr307-doc-header { flex-direction: column; }
  .pr307-doc-header-right { text-align: left; }
  .pr307-doc-summary-box { flex-direction: column; }
  .pr307-doc-sig-block { grid-template-columns: 1fr; }
  .pr307-doc-net-due-box { min-width: unset; }
  .pr307-doc-toolbar { flex-direction: column; align-items: flex-start; }
}

/* ── PR307 Lily insight bar ──────────────────────────────────────────── */
.pr307-lily-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f5f0ff;
  border-left: 4px solid #7C3AED;
  border-radius: 6px;
  padding: 10px 16px;
  margin: 0 0 16px 0;
  font-size: 13px;
  color: #1A1A2E;
}
.pr307-lily-label {
  font-weight: 700;
  color: #7C3AED;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.pr307-lily-text { color: #374151; }
