/* Preview Panel */
.preview-panel { flex: 1; max-width: 50%; border-left: 1px solid var(--border); overflow-y: auto; background: var(--surface); padding: 1.5rem; display: none; animation: fadeUp .3s ease; }
.preview-panel.open { display: block; }
.preview-fullscreen { position: fixed; inset: 0; z-index: 90; background: var(--surface); overflow-y: auto; padding: 1.5rem; }
.preview-close-bar { display: none; padding: .75rem; text-align: right; position: sticky; top: 0; background: var(--surface); z-index: 2; }

/* Document */
.bill-preview-document { background: #fafafa; color: #1a1a1a; max-width: 700px; margin: 0 auto; padding: 3rem 3.5rem; font-family: Georgia, 'Times New Roman', serif; font-size: 14px; line-height: 1.6; border-radius: var(--radius-lg); box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 4px 20px rgba(0,0,0,.15), 0 12px 48px rgba(0,0,0,.1); }

.bp-bill-number { text-align: center; font-size: 1.5rem; font-weight: 700; font-family: 'Playfair Display', Georgia, serif; margin-bottom: .75rem; color: #111; }
.bp-session-info { text-align: center; font-size: .85rem; color: #666; line-height: 1.5; margin-bottom: .75rem; }
.bp-bill-number-repeat { text-align: center; font-size: 1.5rem; font-weight: 700; font-family: 'Playfair Display', Georgia, serif; margin-bottom: 1.25rem; color: #111; }
.bp-hr { border: none; border-top: 1px solid #999; margin: 1.25rem 0; }
.bp-house-label { text-align: center; font-size: .85rem; text-transform: uppercase; letter-spacing: .15em; color: #333; margin-bottom: .5rem; }
.bp-date { text-align: center; font-size: .9rem; color: #444; margin-bottom: .5rem; }
.bp-intro-line { text-align: center; font-size: .88rem; color: #555; }
.bp-bill-type { text-align: center; font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem; color: #111; }
.bp-purpose { text-align: center; font-size: .95rem; color: #333; margin-bottom: 1rem; }
.bp-enacting { font-style: italic; color: #333; margin-bottom: 1.5rem; font-size: .95rem; }
.bp-whereas { font-style: italic; margin-bottom: .5rem; color: #333; }
.bp-resolved { font-style: italic; font-weight: 600; margin-bottom: 1rem; color: #222; }
.bp-toc { margin-bottom: 1.5rem; }
.bp-toc-item { margin-left: 1rem; font-size: .88rem; color: #444; line-height: 1.4; }
.bp-toc-item.indent-1 { margin-left: 2rem; }
.bp-toc-item.indent-2 { margin-left: 3rem; }

.bp-title-header { font-weight: 700; text-align: center; text-transform: uppercase; font-size: 1.15rem; margin-top: 2rem; margin-bottom: 1rem; color: #111; }
.bp-subtitle-header { font-weight: 700; text-transform: uppercase; font-size: .95rem; margin-top: 1.5rem; margin-bottom: .75rem; color: #222; }
.bp-sec-header { font-weight: 700; text-transform: uppercase; font-size: 1rem; margin-top: 1.25rem; margin-bottom: .4rem; color: #111; }
.bp-content { margin-bottom: .5rem; color: #222; }
.bp-subsection { padding-left: 1.5rem; margin-bottom: .35rem; color: #222; }
.bp-sub-subsection { padding-left: 3rem; margin-bottom: .3rem; color: #333; }

.bp-sponsors-label { text-align: center; font-weight: 700; text-transform: uppercase; font-size: 1rem; margin-bottom: 1rem; color: #111; letter-spacing: .05em; }
.bp-sponsor-block { margin-bottom: 1.25rem; }
.bp-sponsor-role { font-size: .9rem; color: #555; margin-bottom: .15rem; }
.bp-sponsor-name { font-weight: 700; font-style: italic; color: #111; font-size: .95rem; }
.bp-sponsor-rank { font-style: italic; color: #555; font-size: .88rem; }
.bp-sponsor-house { font-weight: 700; font-style: italic; color: #111; font-size: .88rem; }

@media (max-width: 1024px) {
  .preview-panel { position: fixed; inset: 0; max-width: 100%; z-index: 90; }
  .preview-close-bar { display: block; }
}
@media (max-width: 768px) {
  .bill-preview-document { padding: 1.5rem 1.25rem; font-size: 13px; }
  .bp-bill-number, .bp-bill-number-repeat { font-size: 1.25rem; }
}
@media print {
  .bill-preview-document { box-shadow: none; border-radius: 0; max-width: 100%; padding: 0; background: #fff; }
}
