/* Collab QC experience — joins local selection look (studio-qc-selection.css) */
.qcs-top-right { justify-self:end; display:flex; align-items:center; gap:10px; }
.cq-logout {
  min-height:30px; padding:0 10px; border:1px solid var(--sv-color-border-strong); border-radius:7px;
  background:transparent; color:var(--sv-color-text); font-size:12px; cursor:pointer;
}
.cq-logout:hover { border-color:rgba(168,231,193,.45); color:var(--sv-color-text); }
.cq-join-hero { max-width:720px; }
.cq-join-form {
  display:grid; gap:12px; margin-top:18px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff;
}
.cq-join-form label { display:grid; gap:6px; color:#445048; font-size:12px; font-weight:650; }
.cq-join-form input {
  height:40px; padding:0 12px; border:1px solid #d8ded8; border-radius:8px; font:500 14px/1.2 inherit; color:#17211e; background:#fff;
}
.cq-hint { margin:8px 0 0; color:var(--muted); font-size:12px; }
.cq-steps {
  display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 4px; padding:0 2px;
}
.cq-steps button {
  min-height:34px; padding:0 14px; border:1px solid #d8ded8; border-radius:8px;
  background:#fff; color:var(--sv-color-text-faint); font-size:12px; font-weight:650; cursor:pointer;
}
.cq-steps button.active { border-color:#183d2c; background:#183d2c; color:var(--sv-color-text); }
.cq-step-panel { margin-top:12px; }
.cq-step-card {
  margin-bottom:14px; padding:18px 18px 16px; border:1px solid var(--line); border-radius:12px; background:#fff;
}
.cq-step-card h2 { margin:0 0 8px; font-size:18px; }
.cq-step-card p { margin:0 0 14px; color:var(--muted); font-size:13px; line-height:1.55; }
.cq-step-card code { font: 650 12px/1.2 var(--sv-font-mono); }
.cq-upload-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.cq-upload-row input[type="file"] {
  max-width:min(100%,320px);
  padding:8px 10px;
  border:1px solid #d0d7d1;
  border-radius:8px;
  background:#f7f9f6;
  color:#2a332d;
  font:500 12px/1.3 inherit;
  cursor:pointer;
}
.cq-upload-row input[type="file"]::file-selector-button {
  margin-right:10px;
  padding:7px 12px;
  border:1px solid #c5cec7;
  border-radius:7px;
  background:#fff;
  color:#243029;
  font:650 12px/1 inherit;
  cursor:pointer;
}
.cq-upload-row input[type="file"]:disabled,
.cq-upload-row input[type="file"]:disabled::file-selector-button {
  opacity:.55;
  cursor:not-allowed;
  color:var(--sv-color-text-muted);
}

/* Soften primary CTA: deep forest, not neon mint from global --accent */
.btn.primary,
.qcs-hero-actions .btn.primary,
.cq-step-card .btn.primary,
.cq-rules-footer .btn.primary,
.cq-join-form .btn.primary {
  border:1px solid #173d2c !important;
  color:var(--sv-color-text) !important;
  background:#173d2c !important;
  box-shadow:0 4px 12px rgba(23,61,44,.14);
  filter:none;
}
.btn.primary:hover:not(:disabled),
.qcs-hero-actions .btn.primary:hover:not(:disabled),
.cq-step-card .btn.primary:hover:not(:disabled),
.cq-rules-footer .btn.primary:hover:not(:disabled),
.cq-join-form .btn.primary:hover:not(:disabled) {
  border-color:#245c43 !important;
  background:#245c43 !important;
  filter:none;
}
.btn.primary:disabled,
.qcs-hero-actions .btn.primary:disabled,
.cq-step-card .btn.primary:disabled {
  border-color:var(--sv-color-border-strong) !important;
  color:var(--sv-color-text-muted) !important;
  background:#e3e7e3 !important;
  box-shadow:none;
  cursor:not-allowed;
}
.btn.secondary,
.qcs-hero-actions .btn.secondary {
  border:1px solid #c5cec7;
  color:#243029;
  background:#fff;
  filter:none;
}
.btn.secondary:hover:not(:disabled) {
  border-color:var(--sv-color-border);
  background:#f4f8f5;
  filter:none;
}
.cq-select-actions { display:inline-flex; flex-wrap:wrap; gap:8px; }

/* Read-only problem-type / pass-rules modal (aligned with Studio 问题类型配置) */
.cq-rules-modal { position:fixed; inset:0; z-index:390; display:grid; place-items:center; padding:24px; }
.cq-rules-modal.hidden { display:none; }
.cq-rules-backdrop { position:absolute; inset:0; border:0; background:rgba(8,14,11,.64); backdrop-filter:blur(6px); cursor:default; }
.cq-rules-card {
  position:relative; z-index:1; display:flex; flex-direction:column;
  width:min(820px,calc(100vw - 40px)); max-height:calc(100vh - 48px); overflow:hidden;
  border:1px solid #dce2dc; border-radius:14px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.34);
}
.cq-rules-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:22px 24px 16px; border-bottom:1px solid #e6e9e5;
}
.cq-rules-head h2 { margin:0 0 5px; font-size:21px; color:#111714; }
.cq-rules-head p { margin:0; color:var(--sv-color-text-faint); font-size:13px; }
.cq-rules-close {
  width:32px; height:32px; border:0; border-radius:7px; background:#f0f2ef; cursor:pointer; font-size:20px; color:#27372f;
}
.cq-rules-body { min-height:0; overflow:auto; padding:16px 24px; }
.cq-pass-rules {
  margin:0 0 16px; padding:14px 14px 12px; border:1px solid #dde4dd; border-radius:10px; background:#f5f8f5;
}
.cq-pass-rules h3 { margin:0 0 6px; font-size:14px; color:#1d2a24; }
.cq-pass-rules p { margin:0 0 12px; color:var(--sv-color-text-faint); font-size:12px; line-height:1.45; }
.cq-pass-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cq-pass-grid label {
  display:grid; gap:6px; padding:10px 12px; border:1px solid #d8ded8; border-radius:8px;
  background:#fff; color:#445048; font-size:12px; font-weight:600;
}
.cq-pass-grid strong { color:#17211e; font: 750 18px/1.2 var(--sv-font-mono); }
.cq-rules-list { display:grid; gap:8px; }
.cq-rules-row {
  display:grid; grid-template-columns:36px minmax(160px,1fr) 88px 64px 72px; gap:10px; align-items:center;
  min-height:48px; padding:8px 10px; border:1px solid #e1e6e1; border-radius:9px; background:#fafcfa;
}
.cq-rules-index { color:var(--sv-color-text-faint); font: 800 11px/1 var(--sv-font-mono); text-align:center; }
.cq-rules-name { color:#17211e; font-size:13px; font-weight:650; }
.cq-rules-sev,.cq-rules-pen,.cq-rules-badge {
  color:var(--sv-color-text-faint); font-size:11px; white-space:nowrap;
}
.cq-rules-sev { font-weight:700; }
.cq-rules-footer {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 24px; border-top:1px solid #e6e9e5; background:#fbfcfb;
}
.cq-rules-footer p { margin:0; color:var(--sv-color-text-faint); font-size:12px; line-height:1.45; }
body.cq-rules-open { overflow:hidden; }

@media (max-width:720px) {
  .qcs-top-right .qcs-rule { display:none; }
  .cq-pass-grid { grid-template-columns:1fr; }
  .cq-rules-row { grid-template-columns:28px minmax(0,1fr) 72px; }
  .cq-rules-pen,.cq-rules-badge { display:none; }
}
