.review-queue-controls {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 12px 0;
  padding: 10px 12px;
  background: #edf4f5;
  border-left: 4px solid #e67e22;
}

.review-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:12px 0 16px}
.review-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 16px;color:var(--muted);font-size:14px;font-weight:700;cursor:pointer}
.review-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--orange)}
.review-tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.review-group-option{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#edf4f5;font-size:12px;color:var(--ink)}
.review-group-option[hidden]{display:none}.review-group-option input{margin-top:3px;accent-color:var(--orange)}
.group-review-dialog{width:min(1120px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box;padding:28px}
.group-review-dialog h2{padding-right:36px}.group-review-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:18px 0}
.group-review-card{border:1px solid var(--line);padding:10px;min-width:0;background:#fff}.group-review-card>strong{display:block;margin-top:10px;font-size:13px}.group-review-card p{font-size:12px;color:var(--muted);min-height:2.8em}.group-review-card button{width:100%;font-size:12px}
.group-review-media{position:relative;background:var(--navy)}.group-review-media img{display:block;width:100%;height:auto}.group-review-media svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.group-review-footer{position:sticky;bottom:-28px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:16px 0;background:#fff}.group-review-footer label{font-size:13px;display:flex;align-items:flex-start;gap:8px}.group-review-footer input{accent-color:var(--orange);margin-top:3px}.group-review-footer button{white-space:nowrap}
@media(max-width:600px){.review-tabs button{padding:10px 12px}.group-review-dialog{padding:16px;width:calc(100vw - 12px)}.group-review-gallery{grid-template-columns:1fr}.group-review-footer{bottom:-16px;flex-direction:column;align-items:stretch;gap:12px}}
.review-queue-controls[hidden],
.review-queue-controls [hidden],
#scene-queue-status[hidden] { display: none; }
.review-queue-controls strong { margin-right: auto; font-size: 13px; color: #102c3a; }
.review-queue-controls button { padding: 6px 10px; font-size: 12px; }

.recognition-dialog {
  box-sizing: border-box;
  width: min(1240px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
}
.recognition-layout {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 420px);
  gap: 20px;
}
.recognition-layout > div:last-child {
  min-width: 0;
  max-height: calc(100dvh - 190px);
  overflow-y: auto;
  padding-right: 4px;
}
#recognition-result,
#recognition-review-form { min-width: 0; overflow-wrap: anywhere; }

.review-labels {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.review-labels fieldset {
  min-width: 0;
  padding: 8px 10px;
}
.review-labels label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: center;
  gap: 10px;
  margin: 5px 0;
}
.review-labels label > span {
  min-width: 0;
  white-space: normal;
  word-break: normal;
  line-height: 1.45;
}
.review-labels select {
  box-sizing: border-box;
  width: 112px;
  min-width: 0;
  padding: 5px 6px;
  border: 1px solid #c8d3d7;
  background: #fff;
  color: #13232d;
  font-size: 12px;
}
.review-labels select[data-state="1"] { border-color: #397a67; background: #eff9f3; }
.review-labels select[data-state="0"] { border-color: #9b6b53; background: #faf3ef; }
.review-model-suggestion {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 4px;
  background: #fff1e6;
  color: #8e4308;
  font-size: 10px;
}
.review-box {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.review-box label:first-child { grid-column: 1 / 4; grid-row: 1; }
.review-box button { grid-column: 4; grid-row: 1; min-width: 0; white-space: nowrap; }
.review-box label:nth-child(2) { grid-column: 1; grid-row: 2; }
.review-box label:nth-child(3) { grid-column: 2; grid-row: 2; }
.review-box label:nth-child(4) { grid-column: 3; grid-row: 2; }
.review-box label:nth-child(5) { grid-column: 4; grid-row: 2; }
#recognition-review-form > .primary-button[type="submit"] {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: block;
  width: 100%;
  margin: 12px 0 0;
}

@media (max-width: 900px) {
  .recognition-layout { grid-template-columns: minmax(0, 1fr); }
  .recognition-layout > div:last-child { max-height: none; overflow: visible; padding-right: 0; }
}
@media (max-width: 560px) {
  .recognition-dialog { width: calc(100vw - 12px); padding: 16px; }
  .review-queue-controls { position: static; }
  .review-queue-controls strong { flex-basis: 100%; }
  .review-labels label { grid-template-columns: minmax(0, 1fr) 104px; gap: 6px; }
  .review-labels select { width: 104px; }
}
