/* Build-sheet core styles — the collapsible role sections + field list, shared by
   the full build sheet (build-sheet.html) and the Requests drawer
   (request-drawer.js on requests.html). Extracted from build-sheet.html so both
   surfaces render fields identically. Tokens come from tokens.css. */

.bs-collapse{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);margin-top:16px;overflow:hidden}
.bs-collapse>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:700;user-select:none}
.bs-collapse>summary::-webkit-details-marker{display:none}
.bs-collapse>summary .chev{color:var(--ink-4);font-size:16px;transition:transform .15s;margin-left:auto}
.bs-collapse[open]>summary .chev{transform:rotate(90deg)}
.bs-collapse__body{padding:2px 18px 18px}
.bs-banner-cr>summary{background:var(--amber-bg);color:var(--amber)}
.bs-banner-int>summary{color:var(--ink-2)}
.role-badge{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.02em;flex:0 0 auto}
.role-mb{background:var(--red-bg);color:var(--red)}
.role-mt{background:var(--violet-bg);color:var(--violet)}
.role-qc{background:var(--green-bg);color:var(--green)}
.role-sub{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:2px}

/* field list */
.bs-fields{display:grid;grid-template-columns:1fr;gap:0}
.bs-field{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:9px 2px;border-top:1px solid var(--border);align-items:baseline}
.bs-field:first-child{border-top:none}
.bs-field .k{font-size:12.5px;color:var(--ink-3)}
.bs-field .v{font-size:13px;color:var(--ink);font-weight:500;word-break:break-word}
.bs-link{color:var(--accent);text-decoration:none;font-weight:600}
.bs-link:hover{text-decoration:underline}
.bs-edit{display:inline-flex;gap:8px;align-items:center;width:100%;max-width:520px}
.bs-edit input{flex:1;font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--border-2);border-radius:8px;background:var(--surface-1);color:var(--ink)}
.bs-edit input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}

/* QC scoring — laid out as bs-field rows so it matches MB/MT */
.qc-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qc-cell select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--border-2);border-radius:8px;background:var(--surface);color:var(--ink)}
.qc-cell .num{width:64px;text-align:center;font:inherit;font-size:13px;padding:7px;border:1px solid var(--border-2);border-radius:8px}
.qc-pass{font-size:12px;font-weight:700;color:var(--green)}
.qc-actions{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.qc-foot{font-size:12px;color:var(--ink-3)}
.bs-summary__h{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}
