/* Report selection and composition: task-led, with one working area at a time. */
.report-workbench-catalogue-tools {
  display:flex; align-items:end; justify-content:space-between; gap:24px;
  padding-bottom:24px; border-bottom:1px solid var(--line);
}
.report-workbench-catalogue-tools label {display:grid; gap:8px; font-weight:600; width:min(100%,420px)}
.report-workbench-catalogue-tools input {
  min-height:44px; width:100%; padding:10px 13px; border:1px solid var(--control);
  border-radius:var(--radius); background:var(--surface); color:var(--ink);
}
.report-workbench-sample {display:grid; gap:4px; font-size:13px}
.report-workbench-sample span {color:var(--muted)}
.report-workbench-sample .text-link {padding:0; text-align:left; color:var(--ink)}
.report-workbench-search-status {font-size:13px; padding-top:16px}
.report-workbench-search-status:empty {display:none}
.report-workbench-catalogue {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 30px; padding-top:28px; align-items:start}
.report-workbench-group {min-width:0}
.report-workbench-group>h2 {font-size:17px; padding:0 0 14px; margin:0; border-bottom:1px solid var(--control)}
.report-workbench-choice {display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:16px; padding:20px 0; border-bottom:1px solid var(--line)}
.report-workbench-choice h3 {font-size:17px; line-height:1.4; font-weight:600}
.report-workbench-choice p {margin:7px 0; font-size:13px; max-width:58ch}
.report-workbench-choice small {display:block; color:var(--muted); font-size:11px; line-height:1.5}
.report-workbench-choice .button {margin-top:1px; padding:8px 12px; min-height:38px; gap:8px; font-size:12px}
.report-workbench {max-width:1080px}
.report-workbench-back {margin-bottom:20px}
.report-workbench-back .text-link {padding:0; color:var(--muted)}
.report-workbench .page-heading {margin-bottom:20px}
.report-workbench .page-heading h1 {font-size:clamp(25px,2.6vw,32px)}
.report-workbench .page-heading p {max-width:75ch}
.report-workbench-contents {padding:13px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px}
.report-workbench-contents summary {font-weight:600; font-size:13px}
.report-workbench-contents ul {display:flex; flex-wrap:wrap; gap:8px 28px; margin:14px 0 8px; padding-left:18px; color:var(--muted); font-size:13px}
.report-workbench-contents p {font-size:12px}
.report-workbench-form {padding:clamp(20px,3vw,32px)}
.report-workbench-form fieldset {min-width:0; border:0; margin:0; padding:0}
.report-workbench-form .report-workbench-fields {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px}
.report-workbench-form label {display:block; font-size:13px; font-weight:550; min-width:0}
/* Keep selects' shared layout: base-select needs a flex row for its text and
   picker icon. Applying the inputs' block layout stacks the arrow below. */
.report-workbench-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]) {display:block}
.report-workbench-form select,.report-workbench-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]) {
  width:100%; min-height:44px; margin-top:7px; padding:10px 12px;
  background:var(--bg); border:1px solid var(--control); border-radius:6px; color:var(--ink);
}
.report-workbench-form .report-workbench-source-select {max-width:420px}
.report-workbench-source {display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; margin:14px 0 22px}
.report-workbench-source p {margin:0; font-size:13px; flex:1 1 300px}
.report-workbench-source a,.report-workbench-source .text-link {font-size:12px; color:var(--muted); padding:0}
.report-workbench-source h3 {font-size:16px}
.report-workbench-form .report-workbench-period {margin-top:24px}
.report-workbench-period legend {font-size:14px; font-weight:600; margin-bottom:12px}
.report-workbench-period .research-scope {grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; gap:20px}
.report-workbench-form .quiet-details {padding-top:18px; margin-top:24px}
.report-workbench-form .quiet-details[open]>summary {margin-bottom:18px}
.report-workbench-form .quiet-details p {font-size:12px; margin-top:12px}
.report-workbench-form .report-section-options label {display:flex; gap:10px; align-items:start; font-weight:400; line-height:1.6}
.report-workbench-form input[type=checkbox],.report-workbench-form input[type=radio] {flex:none; accent-color:var(--pink); width:17px; height:17px; margin-top:2px}
.report-workbench-form .mapping-grid {grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:22px}
.report-workbench-form .mandate-picker {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px}
.report-workbench-form .mandate-picker label,.report-workbench-form .receipt-picker label {display:flex; gap:10px; border-color:var(--line); background:var(--bg)}
.report-workbench-form .mandate-picker label:has(input:checked),.report-workbench-form .receipt-picker label:has(input:checked) {border-color:var(--pink)}
.report-workbench-form .mandate-picker label:hover,.report-workbench-form .receipt-picker label:hover {border-color:var(--control)}
.report-workbench-results {margin-top:24px}
.report-workbench-results>p,.report-workbench-form .report-workbench-help {font-size:13px; margin-block:14px}
.report-workbench-submit {margin-top:26px; padding-top:22px; border-top:1px solid var(--line)}
.report-workbench-submit .actions {margin-top:0}
.report-workbench-submit p {font-size:12px; margin-top:12px; max-width:80ch}
.report-workbench-form .empty {padding:30px 18px; margin-top:24px}
.report-workbench-form .empty h2 {font-size:22px}
.report-workbench-form .empty p {max-width:60ch}
.report-workbench #research-report-form>fieldset {gap:0}
@media (max-width:1200px) {
  .report-workbench-choice {grid-template-columns:1fr; gap:12px}
  .report-workbench-choice .button {justify-self:start}
}
@media (max-width:800px) {
  .report-workbench-catalogue {grid-template-columns:1fr; gap:30px}
  .report-workbench-choice {grid-template-columns:minmax(0,1fr) auto; gap:16px}
  .report-workbench-catalogue-tools {align-items:start; flex-direction:column; gap:16px}
}
@media (max-width:600px) {
  .report-workbench-choice {grid-template-columns:1fr; gap:12px}
  .report-workbench-form .report-workbench-fields,.report-workbench-period .research-scope,
  .report-workbench-form .mapping-grid,.report-workbench-form .mandate-picker {grid-template-columns:1fr}
  .report-workbench-contents ul {display:block}
  .report-workbench-contents li+li {margin-top:6px}
  .report-workbench-source {align-items:start}
}
