/* Buyer representation agreements (buyer-rep.js, 2026-10-23). */
.br-templates { display: grid; gap: 10px; }
.br-template-list, .br-requests { list-style: none; margin: 0; padding: 0; display: grid; }
.br-template-list li, .br-requests li { display: flex; justify-content: space-between; align-items: center; gap: 8px 14px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid var(--sv-line); }
.br-template-list li > span:first-child, .br-requests li > span:first-child { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1 1 240px; min-width: 0; }
.br-template-list small, .br-requests small { color: var(--sv-text-muted); }
.br-template-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.br-upload { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 12px; align-items: end; }
.br-upload label { display: grid; gap: 3px; font-size: 0.8rem; color: var(--sv-text-muted); min-width: 0; }
.br-agent-block { margin-top: 6px; }
.br-send-open { margin-top: 8px; }
.br-send { display: grid; gap: 10px; margin-top: 10px; padding: 12px; border: 1px solid var(--sv-line); border-radius: 10px; background: var(--sv-surface-2); }
.br-send > label, .br-dates label { display: grid; gap: 3px; font-size: 0.82rem; color: var(--sv-text-muted); }
.br-send > button { justify-self: start; }
.br-area { display: grid; gap: 6px; }
.br-area small { color: var(--sv-text-muted); }
.br-dates { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px 12px; }
.br-check { display: flex; align-items: flex-start; gap: 8px; font-size: 0.88rem; }
.br-check input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; padding: 0; margin: 2px 0 0; flex: 0 0 auto; }
.br-warn { display: grid; gap: 8px; padding: 10px 12px; border-radius: 8px; }
.br-warn--same { border: 2px solid #c0392b; background: rgba(192, 57, 43, 0.12); }
.br-warn--same strong { color: #e05a4b; }
.br-warn--other { border: 1px solid var(--sv-accent, #d9b45a); background: rgba(217, 180, 90, 0.12); }

.br-place { width: min(980px, 100%); }
.br-roles { display: flex; flex-wrap: wrap; gap: 6px; }
.br-pages { display: grid; gap: 16px; max-height: 62vh; overflow-y: auto; padding: 4px; background: var(--sv-surface-2); border-radius: 8px; }
.br-page { position: relative; width: 100%; background-size: 100% 100%; background-repeat: no-repeat; background-color: #ffffff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); cursor: crosshair; }
.br-page-no { position: absolute; right: 6px; bottom: 4px; font-size: 0.72rem; color: #44505a; background: rgba(255, 255, 255, 0.8); padding: 0 6px; border-radius: 4px; }
.br-box { position: absolute; display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 0 3px; border: 2px solid #0b5cad; background: rgba(11, 92, 173, 0.14); color: #0b3d72; font-size: 0.68rem; font-weight: 700; overflow: hidden; cursor: default; }
.br-box--agent_signature, .br-box--agent_name, .br-box--agent_date { border-color: #2e8b57; background: rgba(46, 139, 87, 0.14); color: #1d5c39; }
.br-box > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.br-box button { width: auto; min-width: 0; padding: 0 4px; border: 0; background: transparent; color: inherit; font-weight: 800; cursor: pointer; }

.br-sign { flex: 1 1 100%; display: grid; gap: 8px; margin-top: 6px; padding: 10px 12px; border: 1px solid var(--sv-line); border-radius: 8px; background: var(--sv-surface-2); }
.br-sign label { display: grid; gap: 3px; font-size: 0.82rem; color: var(--sv-text-muted); }
.br-sign label.br-check { display: flex; color: var(--sv-text); }
.br-consent pre { white-space: pre-wrap; max-height: 220px; overflow-y: auto; margin: 6px 0 0; font: inherit; font-size: 0.82rem; color: var(--sv-text); }

/* "Send the buyer agreement?" reminder (2026-10-24). */
.br-remind-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--sv-line); }
.br-remind-list li { display: grid; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--sv-line); }
.br-remind-list small { color: var(--sv-text-muted); margin-left: 4px; }
.br-reasons { display: grid; gap: 6px; margin: 0; padding: 8px 10px; border: 1px solid var(--sv-line); border-radius: 8px; }
.br-reasons legend { padding: 0 4px; font-weight: 700; font-size: 0.86rem; }
.br-reasons input[type="radio"] { width: 18px; min-width: 18px; height: 18px; padding: 0; margin: 2px 0 0; flex: 0 0 auto; }
.br-reasons label:not(.br-check) { display: grid; gap: 3px; font-size: 0.82rem; color: var(--sv-text-muted); }
