/* Scoped to the BOL page — homepage remains unchanged. */
.page-shell:has(.pdf-panel) { max-width: 96%; }
.bol-editor-header { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.bol-editor-header .button { width: auto; }
.bol-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 22px; background: #f5f9fb; border-bottom: 1px solid var(--line); }
.bol-step { display: flex; gap: 11px; min-width: 0; color: #324957; font-size: 13px; }
.bol-step strong { display: block; margin-bottom: 3px; }
.bol-step small { display: block; line-height: 1.45; color: #536b78; }
.bol-step-number { flex: 0 0 auto; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--brand); color: white; font-weight: 700; }
.bol-required, .bol-optional { font-size: 11px; font-weight: 500; color: #6b7d87; margin-left: 4px; }
.bol-required { color: #9b473a; }
.nutrient-viewer { display: block; width: 100%; height: 82vh; min-height: 640px; background: #e8eef2; }
.bol-message { padding: 10px 22px; color: #1a536b; background: #eaf5f9; font-size: 13px; }
.bol-message.error { color: #a23935; background: #fff0ef; }
.bol-message.success { color: #1b6a46; background: #ecf8ef; }
.bol-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 17px 22px; border-top: 1px solid var(--line); }
.bol-save-hint { font-size: 13px; color: #526b79; }
.bol-actions .button, .bol-primary { cursor: pointer !important; opacity: 1 !important; text-decoration: none; }
.bol-actions .button:disabled { cursor: not-allowed !important; opacity: .5 !important; }
.bol-disclaimer { margin: 0; padding: 0 22px 17px; color: #788a92; font-size: 11px; }
@media (max-width: 850px) { .bol-steps { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .nutrient-viewer { height: 72vh; min-height: 490px; } .bol-actions { align-items: stretch; } }

/* Author CSS display rules can override the browser hidden attribute. */
.pdf-panel [hidden] { display: none !important; }

/* Signed-document sharing (staff screen only). */
.buyer-share-panel[hidden] { display: none !important; }
.buyer-share-content { padding: 14px 22px 20px; }
.buyer-share-content label { display: block; margin-bottom: 7px; font-weight: 700; }
.buyer-share-row { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; }
.buyer-share-row input { flex: 1 1 440px; min-width: 0; border: 1px solid var(--line); border-radius: 6px; padding: 10px; font: inherit; }
.buyer-share-row .button { opacity: 1 !important; cursor: pointer !important; }
#buyer-share-status { margin: 10px 0 0; color: #526b79; font-size: 13px; }
