*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
     background:#f0f2f5;color:#1a1a2e;font-size:14px;min-height:100vh}

/* Top bar */
.topbar{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;height:54px;
        display:flex;align-items:center;justify-content:space-between;padding:0 24px;
        box-shadow:0 2px 8px rgba(0,0,0,.25);position:sticky;top:0;z-index:100}
.topbar-title{font-size:16px;font-weight:700}

/* Tab nav */
.tab-nav{background:#fff;border-bottom:2px solid #e2e8f0;
         display:flex;gap:0;padding:0 24px;position:sticky;top:54px;z-index:90;
         box-shadow:0 1px 4px rgba(0,0,0,.06)}
.tab-btn{padding:14px 18px;border:none;background:transparent;font-size:13px;
         font-weight:600;color:#718096;cursor:pointer;border-bottom:3px solid transparent;
         margin-bottom:-2px;transition:all .15s;letter-spacing:.2px}
.tab-btn:hover{color:#3182ce;background:#f7fafc}
.tab-btn.active{color:#3182ce;border-bottom-color:#3182ce}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* Page layout */
.page{max-width:1280px;margin:0 auto;padding:20px 20px 60px}
.params-page{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
.params-content{min-width:0}
.params-toc{position:sticky;top:118px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;
  padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.07);max-height:calc(100vh - 140px);overflow:auto}
.params-toc-title{font-size:13px;font-weight:800;color:#1a202c;margin-bottom:10px}
.params-toc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.params-toc-link{width:100%;border:none;background:transparent;text-align:left;padding:8px 9px;
  border-radius:7px;color:#4a5568;font-size:12.5px;font-weight:600;cursor:pointer;line-height:1.35}
.params-toc-link:hover{background:#ebf8ff;color:#2b6cb0}
.section{background:#fff;border-radius:10px;padding:20px 22px;margin-bottom:16px;
         box-shadow:0 1px 4px rgba(0,0,0,.07)}
.section-title{font-size:15px;font-weight:700;color:#1a202c;margin-bottom:14px;
               padding-bottom:10px;border-bottom:1px solid #edf2f7;
               display:flex;align-items:center;justify-content:space-between}
.collapsible-section{scroll-margin-top:128px}
.collapsible-section.collapsed{padding-bottom:10px}
.collapsible-section.collapsed .section-title{margin-bottom:0;border-bottom:none;padding-bottom:0}
.section-toggle{margin-left:auto;border:1px solid #e2e8f0;background:#f7fafc;color:#4a5568;
  border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}
.section-toggle:hover{background:#ebf8ff;color:#2b6cb0;border-color:#bee3f8}

/* Buttons */
.btn{padding:8px 18px;border-radius:7px;border:none;font-size:13px;font-weight:600;
     cursor:pointer;transition:all .15s}
.btn-sm{padding:5px 12px;font-size:12px}
.btn-primary{background:#3182ce;color:#fff}
.btn-primary:hover:not(:disabled){background:#2b6cb0}
.btn-secondary{background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}
.btn-secondary:hover{background:#e2e8f0}
.btn-danger{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}
.btn-danger:hover{background:#fed7d7}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Forms */
.input-sm{padding:7px 10px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:13px;
          outline:none;font-family:inherit}
.input-sm:focus{border-color:#90cdf4}
.inline-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.save-indicator{font-size:12px;color:#38a169;display:none}
.save-indicator.show{display:inline}
.field-label{font-size:12.5px;color:#718096;white-space:nowrap}
.round-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
           padding:8px 0;border-bottom:1px solid #f0f2f5}
.round-row:last-child{border-bottom:none}
.round-label{min-width:110px;font-size:13px;font-weight:700;color:#2d3748}

/* Tables */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f7fafc;padding:9px 12px;text-align:left;font-weight:600;
   color:#4a5568;border-bottom:2px solid #e2e8f0;white-space:nowrap}
td{padding:8px 12px;border-bottom:1px solid #edf2f7;vertical-align:middle}
tr:hover td{background:#f7fafc}
td.center{text-align:center;padding:5px 3px}
.student-ops-cell{display:flex;flex-direction:column;gap:4px;align-items:center}

/* Badges */
.badge{padding:2px 9px;border-radius:12px;font-size:11.5px;font-weight:600;white-space:nowrap}
.badge-round{background:#ebf8ff;color:#2b6cb0}
.badge-unassigned{background:#f7fafc;color:#a0aec0}
.badge-active{background:#c6f6d5;color:#276749}
.badge-ai{background:#ebf8ff;color:#2b6cb0}
.badge-no{background:#f7fafc;color:#718096}
.badge-r{background:#fef3c7;color:#92400e}
.badge-done{background:#c6f6d5;color:#276749}

/* Pool chips (read-only) */
.chip-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;padding:4px 0}
.chip{display:flex;align-items:center;gap:4px;background:#ebf8ff;border:1px solid #bee3f8;
      border-radius:20px;padding:3px 10px;font-size:12px;color:#2b6cb0;font-weight:600}
.chip-price{color:#90cdf4;font-weight:400}

/* Pool config */
.pool-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:14px}
.pool-panel{border:1px solid #edf2f7;border-radius:10px;padding:14px;background:#f8fafc}
.pool-panel-title{font-size:13px;font-weight:700;color:#2d3748;margin-bottom:10px}
.pool-selected-list{display:flex;flex-direction:column;gap:8px;min-height:120px}
.pool-selected-item{display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:8px 10px}
.pool-selected-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.pool-selected-name{font-size:12.5px;font-weight:600;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pool-selected-sub{font-size:11.5px;color:#718096}
.pool-selected-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.pool-order-btn{padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#4a5568;cursor:pointer}
.pool-order-btn:disabled{opacity:.45;cursor:not-allowed}
.pool-empty{font-size:12.5px;color:#a0aec0;padding:12px 4px}
.pool-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.pool-page-info{font-size:13px;color:#4a5568;min-width:120px;text-align:center}
.pool-toggle{width:44px;height:24px;border-radius:12px;border:none;background:#cbd5e0;
  position:relative;cursor:pointer;transition:background .15s;flex-shrink:0}
.pool-toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;
  border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.pool-toggle.on{background:#48bb78}
.pool-toggle.on::after{transform:translateX(20px)}
.pool-toggle:disabled{opacity:.55;cursor:wait}

/* Accordion */
.accordion{border:1px solid #e2e8f0;border-radius:9px;margin-bottom:8px;overflow:hidden}
.accordion-head{padding:12px 16px;background:#f7fafc;cursor:pointer;
                display:flex;align-items:center;justify-content:space-between;user-select:none}
.accordion-head:hover{background:#edf2f7}
.accordion-head h3{font-size:13.5px;font-weight:700;color:#2d3748;
                   display:flex;align-items:center;gap:8px}
.accordion-body{padding:14px 16px;display:none}
.accordion-body.open{display:block}

/* Product search/filter */
.search-bar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.filter-tab{padding:4px 12px;border-radius:16px;border:1.5px solid #e2e8f0;background:#fff;
            font-size:12px;font-weight:600;cursor:pointer;color:#718096;transition:all .15s}
.filter-tab.active{background:#3182ce;border-color:#3182ce;color:#fff}

/* Stats row */
.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
           gap:12px;margin-bottom:16px}
.stat-card{background:#fff;border-radius:10px;padding:16px 18px;
           box-shadow:0 1px 4px rgba(0,0,0,.07)}
.stat-card h3{font-size:12px;color:#718096;font-weight:600;margin-bottom:4px}
.stat-card .big{font-size:28px;font-weight:700;color:#1a202c}

/* Group filter tabs */
.group-tabs{display:flex;gap:8px;flex-wrap:wrap}
.group-tab{padding:7px 18px;border-radius:20px;border:1.5px solid #e2e8f0;background:#fff;
           font-size:13px;font-weight:600;cursor:pointer;color:#718096;transition:all .15s}
.group-tab:hover{border-color:#90cdf4;color:#3182ce}
.group-tab.active{background:#3182ce;border-color:#3182ce;color:#fff}

/* Progress cell */
.prog-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 1px}
.prog-sel,.prog-q{font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px;
                  white-space:nowrap}
.ps-none  {color:#cbd5e0}
.ps-cur   {color:#3182ce;background:#ebf8ff}
.ps-manual{color:#276749;background:#c6f6d5}
.ps-auto  {color:#c05621;background:#feebc8}
.pq-done  {color:#553c9a;background:#e9d8fd;font-weight:600}
.pq-none  {color:#cbd5e0}
.flag-reasons{font-size:12px;color:#c05621;line-height:1.5}
.badge-excluded{background:#fff5f5;color:#c53030}
.recycle-bin{margin-top:14px;border:1.5px dashed #e2e8f0;border-radius:8px;overflow:hidden}
.recycle-bin-head{display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;background:#f7fafc;cursor:pointer;user-select:none;font-size:13px;font-weight:600;color:#718096}
.recycle-bin-head:hover{background:#edf2f7}
.recycle-bin-body{display:none;padding:0 0 6px}
.recycle-bin-body.open{display:block}

/* Experiment lifecycle */
.experiment-lock-banner{
  margin-top:10px;padding:10px 12px;border-radius:8px;font-size:12px;
  background:#fffaf0;border:1px solid #fbd38d;color:#744210}
.experiment-lock-banner.hidden{display:none}
.config-locked-section{opacity:.72}
.config-locked-section input,
.config-locked-section select,
.config-locked-section textarea,
.config-locked-section button:not([data-lock-exempt]){pointer-events:none}

/* Round advance bar */
            background:#edf2f7;color:#4a5568;border:1.5px solid transparent}

.section-hint{font-size:12px;color:#a0aec0;margin:-6px 0 14px}
.ai-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ai-copy-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-copy-panel-n{border-color:#e2e8f0}
.badge-n{background:#edf2f7;color:#2d3748}
.ai-copy-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 16px 12px}
.ai-copy-panel-r{background:#fffaf0;border-color:#fde68a}
.ai-copy-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #edf2f7}
.ai-copy-panel-r .ai-copy-panel-head{border-bottom-color:#fef3c7}
.ai-copy-panel-sub{font-size:12px;color:#718096}
.ai-copy-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.ai-copy-field:last-child{margin-bottom:0}
.ai-copy-field label{font-size:12px;font-weight:600;color:#4a5568}
.ai-copy-field .input-sm{width:100%}
.ai-copy-field textarea{width:100%;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:7px;
  font-size:13px;min-height:72px;resize:vertical;outline:none;font-family:inherit;line-height:1.5}
.ai-copy-field textarea:focus{border-color:#90cdf4}
.ai-copy-save-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f7}
.ui-copy-import-label{cursor:pointer;margin:0}
.ui-copy-import-label input{display:none}
.ui-copy-toolbar .btn{margin:0}
.ui-copy-toolbar-split{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ui-copy-toolbar-left,.ui-copy-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ui-copy-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ui-copy-section-head .ui-copy-section-title-text{flex:1;min-width:0}
.ui-copy-section-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ui-copy-section-head-actions .btn,.ui-copy-section-head-actions .ui-copy-import-label{margin:0}
.ui-copy-preview-toggle.is-active{background:#ebf8ff;border-color:#90cdf4;color:#2b6cb0}
.ui-copy-split{display:block}
.ui-copy-split-main{min-width:0}
.ui-copy-preview-wrap.is-collapsed{display:none}
.ui-copy-preview-panel-title{font-size:12px;font-weight:700;color:#2d3748;margin:0 0 6px;letter-spacing:.02em}
.ui-copy-preview-wrap .ui-copy-preview-hint{margin-top:0}
.ui-copy-preview-wrap .ui-copy-preview-group-bar{margin-bottom:8px}
.ui-copy-preview-wrap .ui-copy-preview-controls{margin-bottom:8px}
.ui-copy-preview-wrap .ui-copy-preview-stage{background:#fff}
/* ── Admin student preview modal ── */
body.admin-preview-modal-open{overflow:hidden}
.admin-preview-modal{
  position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;
  padding:20px 16px;box-sizing:border-box
}
.admin-preview-modal.is-hidden{display:none!important}
.admin-preview-modal-backdrop{
  position:absolute;inset:0;background:rgba(15,23,42,.55);cursor:pointer
}
.admin-preview-modal-sheet{
  position:relative;z-index:1;width:min(920px,100%);max-height:min(92vh,900px);
  display:flex;flex-direction:column;background:#fff;border-radius:14px;
  box-shadow:0 24px 64px rgba(0,0,0,.28);overflow:hidden
}
.admin-preview-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-shrink:0;padding:14px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc
}
.admin-preview-modal-head strong{font-size:15px;font-weight:700;color:#1a202c}
.admin-preview-modal-close{
  flex-shrink:0;width:36px;height:36px;padding:0;border:none;border-radius:8px;
  background:transparent;color:#718096;font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center
}
.admin-preview-modal-close:hover{background:#edf2f7;color:#2d3748}
.admin-preview-modal-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 18px 20px;background:#f8fafc
}
.admin-preview-modal-body .ui-copy-preview-wrap{
  display:block!important;margin:0;padding:0;background:transparent;border:none;
  max-height:none;overflow:visible
}
.admin-preview-modal-body .ui-copy-preview-panel-title{display:none}
.admin-preview-modal-body .ui-copy-preview-stage{background:#fff}
.admin-preview-modal-body .student-modal-preview-viewport{min-height:min(560px,70vh)}
.admin-preview-modal-body .student-modal-preview-scrim{min-height:min(560px,70vh)}
.admin-preview-modal-body .ui-copy-preview-hint::after{
  content:" 预览内可点选单选/下拉查看选项，提交按钮仅作示意。";
  font-weight:400
}
.ui-copy-preview-wrap .ui-copy-preview-modal,.ui-copy-preview-wrap .ui-copy-preview-ai-panel,.ui-copy-preview-wrap .ui-copy-preview-guide-bubble{max-width:none;width:100%}
.ui-copy-preview-wrap .login-commitment-preview-stage{padding:12px 8px;min-height:140px}
.ui-copy-preview-wrap .login-commitment-preview-sheet{max-width:none}
/* ── Student modal preview (questionnaire / briefing overlays) ── */
.ui-copy-preview-stage.student-modal-preview-stage{
  padding:0;background:transparent;border:none;min-height:min(520px,62vh)
}
.student-modal-preview-viewport{
  position:relative;min-height:min(520px,62vh);border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,#e2e8f0 0%,#cbd5e0 100%)
}
.student-modal-preview-scrim{
  display:flex;align-items:center;justify-content:center;min-height:min(520px,62vh);
  padding:24px 14px;box-sizing:border-box;background:rgba(0,0,0,.45)
}
.student-modal-preview-scrim--pretest{background:rgba(15,23,42,.45);padding:20px 12px}
.student-modal-preview-dialog{
  width:100%;max-width:min(920px,94vw);max-height:min(520px,62vh);overflow-y:auto;
  background:#fff;border-radius:14px;padding:28px 32px 24px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);box-sizing:border-box
}
.student-modal-preview-dialog.formal-briefing-modal{max-width:min(720px,92vw)}
.student-modal-preview-dialog .formal-briefing-body{
  font-size:14px;line-height:1.75;color:#4a5568;white-space:pre-line;margin-bottom:4px
}
.student-modal-preview-dialog .formal-briefing-body .briefing-highlight{color:#e53e3e}
.student-modal-preview-dialog .formal-briefing-body .briefing-highlight-strong{font-weight:700}
.student-modal-preview-dialog h2{
  font-size:18px;font-weight:700;color:#1a202c;margin:0 0 20px;line-height:1.35
}
.student-modal-preview-dialog .formal-attention-intro{
  font-size:14px;color:#4a5568;margin:0 0 14px;line-height:1.6
}
.student-modal-preview-dialog .formal-attention-questions{
  display:flex;flex-direction:column;gap:16px;max-height:min(280px,36vh);
  overflow-y:auto;padding-right:4px
}
.student-modal-preview-dialog .formal-attention-item{
  border:1px solid #e8edf3;border-radius:10px;padding:12px 14px;background:#fafbfc;margin:0
}
.student-modal-preview-dialog .formal-attention-qtext{
  font-size:14px;font-weight:600;color:#2d3748;margin:0 0 10px;line-height:1.5
}
.student-modal-preview-dialog .formal-attention-options{display:flex;flex-direction:column;gap:8px}
.student-modal-preview-dialog .formal-attention-option{
  display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#4a5568;line-height:1.45
}
.student-modal-preview-dialog .formal-attention-option input{
  margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:#3182ce;pointer-events:none
}
.admin-preview-modal-body .student-modal-preview-dialog .formal-attention-option input,
.admin-preview-modal-body .student-pretest-preview-sheet .formal-attention-option input{
  pointer-events:auto;cursor:pointer
}
.student-modal-preview-dialog .modal-footer{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  margin-top:20px;padding-top:16px;border-top:1px solid #edf2f7
}
.student-modal-preview-dialog .modal-footer .btn{
  pointer-events:none;min-width:180px;padding:9px 22px;border-radius:7px;border:none;
  font-size:13.5px;font-weight:600;line-height:1.2
}
.student-modal-preview-dialog .btn-primary{background:#3182ce;color:#fff}
.student-modal-preview-dialog .btn-secondary{background:#edf2f7;color:#4a5568;border:1px solid #e2e8f0}
.student-pretest-preview-sheet{
  width:100%;max-width:min(920px,94vw);max-height:min(520px,62vh);overflow:hidden;
  background:#fff;border-radius:16px;padding:28px 28px 22px;
  box-shadow:0 20px 60px rgba(0,0,0,.28);box-sizing:border-box;
  display:flex;flex-direction:column
}
.student-pretest-preview-sheet .login-commitment-heading{
  font-size:20px;font-weight:800;color:#1a202c;text-align:center;margin:0 0 10px;line-height:1.35
}
.student-pretest-preview-sheet .login-pretest-intro{
  font-size:14px;color:#718096;text-align:center;margin:0 0 18px;line-height:1.55;flex-shrink:0
}
.student-pretest-preview-sheet .login-pretest-questions{
  flex:1 1 auto;min-height:120px;max-height:min(300px,38vh);overflow-y:auto;
  margin:0 0 14px;padding:2px 4px 4px 2px
}
.student-pretest-preview-sheet .formal-attention-item{
  border:1px solid #e8edf3;border-radius:10px;padding:14px 16px;background:#fafbfc;margin:0 0 14px
}
.student-pretest-preview-sheet .formal-attention-qtext{
  font-size:15px;font-weight:600;color:#2d3748;margin:0 0 12px;line-height:1.55
}
.student-pretest-preview-sheet .formal-attention-options{display:flex;flex-direction:column;gap:10px}
.student-pretest-preview-sheet .formal-attention-option{
  display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#4a5568;line-height:1.5
}
.student-pretest-preview-sheet .formal-attention-option input{
  width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:#3182ce;pointer-events:none
}
.student-pretest-preview-sheet .login-commitment-confirm{
  flex-shrink:0;width:100%;padding:14px;border-radius:999px;font-size:16px;font-weight:600;
  background:#3182ce;color:#fff;border:none;pointer-events:none;text-align:center
}
.student-pretest-preview-sheet .login-pretest-select,.student-pretest-preview-sheet .questionnaire-select{
  width:100%;padding:11px 12px;border:1.5px solid #e2e8f0;border-radius:8px;
  font-size:14px;color:#2d3748;background:#fff;box-sizing:border-box;pointer-events:none;
  cursor:default
}
.admin-preview-modal-body .student-pretest-preview-sheet .login-pretest-select,
.admin-preview-modal-body .student-pretest-preview-sheet .questionnaire-select,
.admin-preview-modal-body .in-round-preview-questions .login-pretest-select,
.admin-preview-modal-body .in-round-preview-questions .questionnaire-select,
.admin-preview-modal-body .in-round-preview-questions .in-round-preview-option input,
.admin-preview-modal-body .in-round-preview-questions .in-round-preview-textarea{
  pointer-events:auto;cursor:pointer
}
.admin-preview-modal-body .rating-btn{pointer-events:auto;cursor:pointer}
.student-pretest-preview-sheet .matrix-wrap,.login-pretest-questions .matrix-wrap{overflow-x:auto;margin:4px 0}
.student-pretest-preview-sheet .matrix-table,.login-pretest-questions .matrix-table{
  border-collapse:collapse;width:100%;min-width:340px}
.student-pretest-preview-sheet .matrix-table th,.student-pretest-preview-sheet .matrix-table td,
.login-pretest-questions .matrix-table th,.login-pretest-questions .matrix-table td{
  padding:8px 10px;text-align:center;border:1px solid #edf2f7}
.student-pretest-preview-sheet .matrix-col-hd,.login-pretest-questions .matrix-col-hd{
  font-size:12px;font-weight:600;color:#4a5568;background:#f7fafc}
.student-pretest-preview-sheet .matrix-row-label,.login-pretest-questions .matrix-row-label{
  text-align:left!important;font-size:13px;color:#2d3748;background:#f7fafc;padding:10px 14px;line-height:1.45}
.student-pretest-preview-sheet .matrix-radio,.login-pretest-questions .matrix-radio{
  display:flex;justify-content:center;cursor:pointer}
.student-pretest-preview-sheet .matrix-radio input,.login-pretest-questions .matrix-radio input{display:none}
.student-pretest-preview-sheet .matrix-dot,.login-pretest-questions .matrix-dot{
  width:18px;height:18px;border:2px solid #cbd5e0;border-radius:50%;display:block}
.student-pretest-preview-sheet .matrix-radio input:checked+.matrix-dot,.login-pretest-questions .matrix-radio input:checked+.matrix-dot{
  border-color:#3182ce;background:#3182ce}
.login-pretest-other-row,.student-pretest-preview-sheet .login-pretest-other-row{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%}
.login-pretest-other-input,.student-pretest-preview-sheet .login-pretest-other-input{
  flex:1 1 160px;min-width:120px;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:6px;font-size:13px}
.in-round-preview-dialog{max-width:600px}
.in-round-preview-questions{max-height:min(360px,50vh);overflow-y:auto;padding-right:4px}
.in-round-preview-q-block{margin:0 0 16px;padding:12px 14px;border:1px solid #e8edf3;border-radius:10px;background:#fafbfc}
.in-round-preview-q-text{font-size:14px;font-weight:600;color:#2d3748;margin:0 0 10px;line-height:1.5}
.in-round-preview-q-text .briefing-highlight{color:#e53e3e;font-weight:700}
.in-round-preview-likert-wrap{padding:6px 0 2px}
.in-round-preview-likert-row{
  display:flex;align-items:center;gap:10px;width:100%
}
.in-round-preview-likert-end{
  flex:0 0 auto;max-width:88px;font-size:11.5px;line-height:1.35;
  color:#718096;font-weight:600
}
.in-round-preview-likert-end.left{text-align:right}
.in-round-preview-likert-end.right{text-align:left}
.in-round-preview-likert-btns{
  flex:1;display:flex;justify-content:space-between;align-items:center;
  gap:4px;min-width:0
}
.in-round-preview-likert-btns .likert-btn,
.in-round-preview-likert-btns .rating-btn{
  flex:1 1 0;max-width:40px;min-width:28px;aspect-ratio:1;
  padding:0;border:1.5px solid #e2e8f0;border-radius:50%;
  background:#fff;color:#4a5568;font-size:13px;font-weight:700;
  cursor:pointer;transition:background .15s,border-color .15s,color .15s
}
.in-round-preview-likert-btns .likert-btn:hover,
.in-round-preview-likert-btns .rating-btn:hover{border-color:#3182ce;color:#3182ce}
.in-round-preview-likert-btns .likert-btn.active,
.in-round-preview-likert-btns .rating-btn.active{
  background:#3182ce;border-color:#3182ce;color:#fff
}
.in-round-preview-likert-wrap.is-dense .in-round-preview-likert-end{max-width:72px;font-size:10.5px}
.in-round-preview-likert-wrap.is-dense .in-round-preview-likert-btns .likert-btn,
.in-round-preview-likert-wrap.is-dense .in-round-preview-likert-btns .rating-btn{
  max-width:32px;min-width:22px;font-size:11px
}
@media (max-width:520px){
  .in-round-preview-likert-row{flex-wrap:wrap;gap:8px}
  .in-round-preview-likert-end{max-width:none;flex:1 1 45%}
  .in-round-preview-likert-end.left{text-align:left}
  .in-round-preview-likert-btns{flex:1 1 100%;order:3}
}
.in-round-preview-option{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#4a5568;margin:6px 0;line-height:1.45}
.in-round-preview-option input{margin-top:3px;accent-color:#3182ce}
.in-round-preview-textarea{
  width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:8px;
  font-size:13px;resize:vertical;box-sizing:border-box
}
.admin-preview-modal-body .in-round-preview-slider-wrap.slider-wrap{padding:6px 0}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-track-row{
  display:flex;align-items:center;gap:10px;width:100%
}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-end-label{
  font-size:12px;color:#718096;font-weight:600;white-space:nowrap;flex:0 0 auto;max-width:100px
}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-input{
  flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;
  background:#e2e8f0;outline:none;cursor:pointer;pointer-events:auto
}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-input::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:#3182ce;cursor:pointer;box-shadow:0 0 0 3px rgba(49,130,206,.2)
}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-input::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:#3182ce;cursor:pointer;border:none
}
.admin-preview-modal-body .in-round-preview-slider-wrap .slider-val-display{
  text-align:center;font-size:13px;color:#4a5568;margin-top:8px;padding:4px 14px;
  background:#ebf8ff;border-radius:20px;display:block;width:fit-content;margin-left:auto;margin-right:auto
}
.qa-batch-select-th{width:36px;text-align:center}
.qa-batch-select-td{width:36px;text-align:center}
.ui-copy-preview-hint{font-size:11px;color:#718096;line-height:1.5;margin:0 0 10px}
.ui-copy-preview-group-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ui-copy-preview-group-btn.is-active{background:#ebf8ff;border-color:#90cdf4;color:#2b6cb0}
.ui-copy-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ui-copy-preview-step-select{display:flex;align-items:center;gap:8px;font-size:12px;color:#4a5568;font-weight:600}
.ui-copy-preview-step-select select{min-width:180px}
.ui-copy-preview-stage{border:1px solid #e2e8f0;border-radius:12px;padding:16px;background:#f7fafc}
.ui-copy-save-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f7}
.ui-copy-preview-ai-panel{max-width:340px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06)}
.ui-copy-preview-ai-head{padding:12px 14px;border-bottom:1px solid #edf2f7;background:#f8fafc}
.ui-copy-preview-ai-head h4{margin:0;font-size:14px;font-weight:700;color:#1a202c}
.ui-copy-preview-ai-body{padding:14px;font-size:13px;line-height:1.6;color:#4a5568}
.ui-copy-preview-ai-welcome{white-space:pre-wrap;margin-bottom:12px}
.ui-copy-preview-ai-btn{display:inline-block;padding:8px 14px;border-radius:8px;background:#3182ce;color:#fff;font-size:13px;font-weight:600}
.ui-copy-preview-modal{max-width:520px;margin:0 auto;background:#fff;border-radius:12px;padding:20px 22px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.ui-copy-preview-modal h3{margin:0 0 12px;font-size:18px;font-weight:700;color:#1a202c;text-align:center}
.ui-copy-preview-modal-body{font-size:14px;line-height:1.75;color:#4a5568;white-space:pre-line;margin-bottom:16px}
.ui-copy-preview-modal-body .briefing-highlight{color:#e53e3e}
.ui-copy-preview-modal-body .briefing-highlight-strong{font-weight:700}
.ui-copy-preview-modal-btn{display:block;width:100%;max-width:240px;margin:0 auto;padding:10px 16px;border-radius:8px;background:#3182ce;color:#fff;font-size:14px;font-weight:600;text-align:center;border:none}
.ui-copy-preview-guide-bubble{max-width:320px;margin:0 auto;background:#fff;border:2px solid #f6ad55;border-radius:14px;padding:14px 16px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.ui-copy-preview-guide-count{font-size:11px;font-weight:700;color:#dd6b20;margin-bottom:6px}
.ui-copy-preview-guide-bubble h4{margin:0 0 8px;font-size:16px;font-weight:800;color:#1a202c}
.ui-copy-preview-guide-bubble p{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:#4a5568;white-space:pre-wrap}
.ui-copy-preview-guide-actions{text-align:right}
.ui-copy-preview-guide-actions span{display:inline-block;padding:6px 12px;border-radius:7px;background:#edf2f7;color:#718096;font-size:12px;font-weight:600}
.ui-copy-commitment-items-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 10px;font-weight:600;color:#4a5568}
.ui-copy-meta-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ui-copy-meta-row .ai-copy-field{margin-bottom:0;gap:4px}
.ui-copy-meta-row .ai-copy-field label{font-size:11.5px}
.ui-copy-meta-row .input-sm{width:100%;box-sizing:border-box;font-size:12.5px;padding:6px 8px;height:36px}
.login-commitment-admin-items-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.login-commitment-admin-item{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#fafbfc;min-width:0}
.login-commitment-admin-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:600;color:#4a5568;font-size:13px}
.login-commitment-admin-item-fields{display:flex;flex-direction:column;gap:8px}
.login-commitment-admin-item-fields .ai-copy-field{margin-bottom:0;gap:4px}
.login-commitment-admin-item-fields .ai-copy-field label{font-size:11.5px}
.login-commitment-admin-item-fields .input-sm,.login-commitment-admin-item-fields textarea{
  width:100%;box-sizing:border-box;font-size:12.5px;padding:6px 8px;line-height:1.45
}
.login-commitment-admin-item-fields .input-sm{height:36px}
.login-commitment-admin-item-fields textarea{
  min-height:36px;height:36px;resize:vertical;overflow-y:auto;font-family:inherit
}
.login-pretest-admin-meta{display:block;margin-bottom:0}
@media(max-width:720px){
  .ui-copy-meta-row{grid-template-columns:1fr}
  .login-commitment-admin-items-list{grid-template-columns:1fr}
}
.locale-toggle-bar{display:flex;gap:8px;margin:0}
.locale-toggle-bar--inline{margin:0}
.locale-toggle-btn.is-active{background:#ebf8ff;border-color:#90cdf4;color:#2b6cb0}
.locale-panel.is-hidden{display:none}
.ui-copy-fields-block{background:#fff;border:1px solid #e8edf3;border-radius:10px;padding:14px 16px}
.ui-copy-field-group{margin-bottom:18px}
.ui-copy-field-group:last-child{margin-bottom:0}
.ui-copy-field-group-label{display:block;font-size:13px;font-weight:600;color:#2d3748;margin-bottom:8px;line-height:1.45}
.ui-copy-field-group-label .field-hint{font-weight:400;color:#718096;font-size:12px}
.ui-copy-group-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ui-copy-group-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ui-copy-group-cell .badge{display:inline-block;margin-bottom:6px}
.ui-copy-group-cell .input-sm,.ui-copy-group-cell textarea{width:100%;box-sizing:border-box}
.practice-guide-step-block{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #edf2f7}
.practice-guide-step-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.practice-guide-step-block .practice-guide-step-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#4a5568}
@media(max-width:900px){
  .ui-copy-group-row,.ui-copy-group-row-2{grid-template-columns:1fr}
}
.formal-attention-admin-preview{font-size:12px;color:#4a5568;max-height:280px;overflow:auto;border:1px solid #edf2f7;border-radius:8px;padding:10px 12px;background:#fafbfc}
.choice-questions-admin-editor{font-size:12px;color:#4a5568;max-height:720px;overflow:auto;border:1px solid #edf2f7;border-radius:8px;padding:10px 12px;background:#fafbfc}
.choice-questions-admin-list{display:flex;flex-direction:column;gap:12px}
.choice-question-admin-item{border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;background:#fff}
.choice-question-admin-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600;color:#4a5568;font-size:13px}
.choice-question-admin-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px;margin-bottom:10px}
.choice-question-admin-meta .ai-copy-field{margin:0}
.choice-question-options-head{font-size:12px;font-weight:700;color:#718096;margin:10px 0 6px}
.qa-question-text-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:10px}
.qa-question-text-row .ai-copy-field{margin:0}
.qa-question-text-row textarea{width:100%;box-sizing:border-box;min-height:76px;resize:vertical;font-family:inherit}
.qa-round-phase-block{margin:0 0 18px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc}
.qa-round-phase-block--practice{border-color:#bee3f8;background:#f7fbff}
.qa-round-phase-block--formal{border-color:#e9d8fd;background:#faf5ff}
.qa-round-phase-title{margin:0 0 6px;font-size:14px;font-weight:700;color:#2d3748}
.qa-round-phase-hint{margin:0 0 12px;font-size:12px;color:#718096;line-height:1.5}
.qa-round-phase-empty{margin:0;font-size:12px;color:#a0aec0}
.qa-practice-type-hint{margin:0 0 8px;font-size:12px;color:#2b6cb0;line-height:1.45}
#qaFormalRoundsField.is-hidden{display:none}
.qa-round-placement-field label{display:block;margin-bottom:4px;font-size:12px;color:#4a5568}
#qaFormalRoundWrap select{margin-right:4px}
.qa-modal-meta{margin-bottom:12px}
.qa-modal-meta .ui-copy-meta-row select.input-sm{height:36px}
.qa-label-hint{font-weight:400;color:#718096;font-size:11px}
#qaCorrectField.is-hidden{display:none}
.qa-modal-full{margin-top:8px}
.qa-modal-full .ai-copy-field{margin-bottom:0}
.qa-modal-full textarea{width:100%;box-sizing:border-box;min-height:88px;resize:vertical;font-family:inherit}
.qa-scale-range-val{
  display:flex;align-items:center;min-height:36px;padding:6px 10px;
  border:1.5px solid #e2e8f0;border-radius:7px;background:#f7fafc;
  font-size:13px;font-weight:600;color:#2d3748;box-sizing:border-box
}
.qa-scale-range-field .qa-scale-range-val{width:100%}
.qa-slider-fields-grid,.qa-scale-fields-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px
}
@media (max-width:720px){.qa-slider-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.qa-slider-fields-grid{grid-template-columns:1fr}}
.choice-question-options-grid{display:flex;flex-direction:column;gap:8px}
.choice-question-option-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:8px;align-items:center}
.choice-question-options-colhead{display:grid;grid-template-columns:28px 1fr 1fr;gap:8px;font-size:11px;font-weight:700;color:#a0aec0;margin-bottom:2px}
.choice-question-option-row strong{color:#3182ce;font-size:13px}
.choice-question-option-row input{width:100%}
.choice-question-options-readonly{max-height:160px;overflow:auto;border:1px solid #edf2f7;border-radius:6px;padding:8px 10px;background:#f7fafc;font-size:12px;line-height:1.5}
.choice-question-options-readonly ol{margin:0;padding-left:20px}
.choice-question-options-readonly li{margin-bottom:4px}
.choice-q-tag{font-size:11px;font-weight:500;color:#718096;margin-left:6px}
.choice-q-empty{font-size:13px;color:#718096;margin:8px 0}
.questionnaire-panel-list{
  font-size:12px;color:#4a5568;max-height:min(720px,65vh);overflow-x:auto;overflow-y:auto;
  border:1px solid #edf2f7;border-radius:8px;padding:10px 12px;background:#fafbfc
}
/* Scrollbar styling: questionnaire-shared.css */
.questionnaire-panel-list table{
  width:max-content;min-width:100%;table-layout:auto;border-collapse:collapse
}
.questionnaire-panel-list table.qa-questions-table--sized{table-layout:fixed}
/* 用户调整过列宽后，由 colgroup 控制宽度，取消 CSS 默认 min/max 限制 */
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-drag,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-surface,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-order,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-construct,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-question,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-type,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-arm,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-group,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-round,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-formal-rounds,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-answer,
.questionnaire-panel-list table.qa-questions-table--sized .qa-col-actions,
.questionnaire-panel-list table.qa-questions-table--sized .qa-options-summary-cell,
.questionnaire-panel-list table.qa-questions-table--sized .qa-batch-select-th,
.questionnaire-panel-list table.qa-questions-table--sized .qa-batch-select-td{
  width:auto;min-width:0;max-width:none
}
.questionnaire-panel-list th,.questionnaire-panel-list td{border:1px solid #e2e8f0;padding:6px 8px;text-align:left;vertical-align:top}
.questionnaire-panel-list th{background:#edf2f7;font-weight:600}
.questionnaire-panel-list th.qa-th-resizable{position:relative;padding-right:12px}
.qa-th-label{display:block;pointer-events:none;overflow:hidden;text-overflow:ellipsis}
.qa-col-resize-handle{
  position:absolute;right:-5px;top:0;width:10px;height:100%;cursor:col-resize;z-index:3;
  touch-action:none
}
.qa-col-resize-handle::after{
  content:"";position:absolute;left:50%;top:8%;bottom:8%;width:2px;margin-left:-1px;
  background:transparent;border-radius:1px;transition:background .15s
}
.qa-col-resize-handle:hover::after,.qa-col-resize-handle.is-dragging::after{background:rgba(49,130,206,.55)}
.qa-col-resize-handle:hover,.qa-col-resize-handle.is-dragging{background:rgba(66,153,225,.12)}
body.qa-col-resize-active{cursor:col-resize!important;user-select:none}
.qa-col-order{width:2.5rem;text-align:center;white-space:nowrap;color:#a0aec0}
.qa-col-drag{width:2rem;text-align:center;vertical-align:middle;padding:4px 2px}
.qa-row-drag-handle{
  display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;
  cursor:grab;color:#a0aec0;font-size:13px;letter-spacing:-3px;user-select:none;border-radius:4px;line-height:1
}
.qa-row-drag-handle:hover{color:#4299e1;background:#ebf8ff}
.qa-row-drag-handle:active{cursor:grabbing}
.qa-drag-col-hint{color:#a0aec0;font-size:13px;letter-spacing:-2px}
tr.qa-row-draggable.is-dragging{opacity:.55;background:#edf2f7}
tr.qa-row-draggable.qa-drop-target{box-shadow:inset 0 0 0 2px #4299e1;background:#ebf8ff}
.qa-col-construct{
  max-width:10.5rem;min-width:5.5rem;width:1%;font-size:12px;color:#718096;
  word-break:break-all;overflow-wrap:anywhere;line-height:1.35
}
.qa-col-question{
  min-width:10rem;max-width:32rem;width:auto;line-height:1.45;
  word-break:normal;overflow-wrap:break-word
}
/* 轮次内默认题目列宽；用户拖动后会由 col 内联宽度覆盖 */
[data-qa-panel="inRound"] .qa-col-question:not([style]){
  width:20rem;min-width:20rem;max-width:20rem
}
.qa-col-type{width:4.25rem;white-space:nowrap}
.qa-col-group{width:3.25rem;white-space:nowrap;font-size:12px;color:#4a5568}
.qa-col-round{white-space:nowrap;font-size:12px;color:#2d3748}
.qa-col-formal-rounds{font-size:12px;color:#4a5568;white-space:nowrap}
.qa-col-answer{width:3.5rem;white-space:nowrap}
.qa-col-actions{width:6.75rem;white-space:nowrap}
.qa-batch-select-th,.qa-batch-select-td{width:2rem;text-align:center}
.qa-options-summary-cell{
  color:#718096;font-size:12px;line-height:1.45;max-width:22rem;min-width:9rem;width:1%;
  word-break:break-word;white-space:normal;overflow-wrap:break-word
}
.qa-formal-rounds-range-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.qa-formal-rounds-range-row .qa-formal-range-input{width:72px}
.qa-formal-rounds-block .is-hidden{display:none!important}
.in-round-round-filter-bar{align-items:center}
.q-type-badge.qt-attention{background:#fefcbf;color:#975a16}
.qa-modal-overlay{position:fixed;inset:0;background:rgba(26,32,44,.45);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.qa-modal-overlay.is-hidden{display:none}
.qa-modal-sheet{background:#fff;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.15);width:min(920px,100%);max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.qa-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e2e8f0}
.qa-modal-body{padding:14px 16px;overflow:auto;flex:1}
.qa-modal-foot{padding:12px 16px;border-top:1px solid #e2e8f0;text-align:right}
@media(max-width:640px){
  .qa-question-text-row{grid-template-columns:1fr}
}
.is-hidden{display:none!important}

.prev-fb-bilingual-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prev-fb-bilingual-row .ai-copy-field{margin-bottom:12px}
.prev-fb-metric-label-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prev-fb-metric-label-row .ai-copy-field{margin-bottom:0}
.prev-fb-bilingual-row,.prev-fb-metric-label-row{position:relative}
.prev-fb-bilingual-row::before,.prev-fb-metric-label-row::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  background:#edf2f7;
  transform:translateX(-0.5px);
  pointer-events:none;
}

.prev-fb-locale-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:12px;align-items:start}
.prev-fb-locale-row .ai-copy-field{margin-bottom:0}
.prev-fb-locale-row .input-sm{width:100%;box-sizing:border-box}

#prevFbMetricsList.prev-fb-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.prev-fb-metric-row{margin:0}
.prev-fb-metric-label-field{margin-top:8px}
.prev-fb-preview-box{border:1.5px solid #bee3f8;background:#ebf8ff;border-radius:10px;padding:12px 14px}
.prev-fb-preview-title{font-size:13px;font-weight:700;color:#2b6cb0;margin-bottom:8px}
.prev-fb-preview-text{font-size:13px;line-height:1.7;color:#2d3748;white-space:pre-wrap;word-break:break-word}
.formal-attention-admin-preview table{width:100%;border-collapse:collapse}
.formal-attention-admin-preview th,.formal-attention-admin-preview td{border:1px solid #e2e8f0;padding:6px 8px;text-align:left;vertical-align:top}
.formal-attention-admin-preview th{background:#edf2f7;font-weight:600}
.practice-guide-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.practice-guide-step-admin textarea{min-height:58px}
.practice-guide-step-fields{border-top:1px solid #edf2f7;padding-top:10px;margin-top:10px}
.practice-guide-step-fields:first-of-type{border-top:0;padding-top:0;margin-top:0}
.practice-guide-step-title{font-size:12.5px;font-weight:800;color:#2d3748;margin-bottom:8px}
@media (max-width:900px){
  .ai-copy-grid,.ai-copy-grid-3,.practice-guide-admin,.prev-fb-bilingual-row,.prev-fb-metric-label-row{grid-template-columns:1fr}
  .params-page{display:block}
  .params-toc{position:static;margin-bottom:14px;max-height:none}
}

@media (max-width:900px){
  .prev-fb-bilingual-row::before,.prev-fb-metric-label-row::before{display:none}
  .prev-fb-locale-row,#prevFbMetricsList.prev-fb-metrics{grid-template-columns:1fr}
}

/* Feedback */
.fb-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.fb-row label{min-width:56px;padding-top:8px;font-size:13px;font-weight:600;color:#4a5568}
.fb-row textarea{flex:1;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:7px;
                 font-size:13px;min-height:64px;resize:vertical;outline:none;font-family:inherit}
.fb-row textarea:focus{border-color:#90cdf4}

/* Question type badges */
.q-type-badge{padding:2px 7px;border-radius:10px;font-size:11px;font-weight:600}
.qt-single{background:#fef3c7;color:#92400e}
.qt-multi {background:#fde8c8;color:#7c3c00}
.qt-rating{background:#dbeafe;color:#1e40af}
.qt-likert  {background:#ede9fe;color:#5b21b6}
.qt-likert11{background:#ddd6fe;color:#4c1d95}
.qt-matrix{background:#d1fae5;color:#065f46}
.qt-slider{background:#fce7f3;color:#9d174d}
.qt-text  {background:#f3f4f6;color:#374151}

/* Login prompt */
.key-prompt{max-width:400px;margin:80px auto;text-align:center;background:#fff;
            border-radius:14px;padding:40px;box-shadow:0 4px 16px rgba(0,0,0,.1)}

/* Toast */
.toast{position:fixed;bottom:24px;right:24px;background:#38a169;color:#fff;
       padding:10px 18px;border-radius:8px;font-size:13.5px;font-weight:600;
       display:none;z-index:999;box-shadow:0 4px 14px rgba(0,0,0,.2);max-width:360px}
.toast.show{display:block;animation:slideUp .25s ease}
.toast.err{background:#e53e3e}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Legend */
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#718096;margin-bottom:12px}
.legend-item{display:flex;align-items:center;gap:5px}

.global-defaults-row{align-items:center}
.global-defaults-sep{
  width:1px;align-self:stretch;min-height:28px;margin:2px 4px;
  background:#e2e8f0;flex-shrink:0}
.initial-anchor-picker{position:relative;display:inline-block;flex:1;min-width:200px;max-width:320px}
.initial-anchor-picker .input-sm{width:100%;min-width:0;max-width:none}
@media (max-width:900px){
  .global-defaults-sep{display:none}
}
.anchor-suggest-list{position:absolute;left:0;right:0;top:calc(100% + 2px);margin:0;padding:0;
  list-style:none;background:#fff;border:1px solid #cbd5e0;border-radius:8px;max-height:240px;
  overflow:auto;z-index:200;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.anchor-suggest-list.hidden{display:none}
.anchor-suggest-list li{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid #edf2f7}
.anchor-suggest-list li:last-child{border-bottom:none}
.anchor-suggest-list li:hover,.anchor-suggest-list li.active{background:#ebf8ff;color:#2b6cb0}
.anchor-suggest-list .asin{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:#2d3748}
.anchor-suggest-list .meta{display:block;font-size:12px;color:#718096;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.login-pretest-builtin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.login-pretest-builtin-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;
  border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.login-pretest-builtin-card:has(input:checked){border-color:#3182ce;background:#ebf8ff;box-shadow:0 0 0 1px #bee3f8}
.login-pretest-builtin-card input{align-self:flex-start;margin:0}
.login-pretest-builtin-title{font-size:13px;font-weight:600;color:#2d3748;line-height:1.4}
.login-pretest-builtin-meta{font-size:12px;color:#718096}
.login-commitment-admin-meta{margin-bottom:14px}
.login-commitment-admin-meta .ai-copy-field{margin-bottom:12px}
.login-commitment-preview-hint{font-size:11px;color:#718096;line-height:1.5;margin:0 0 10px}
.login-commitment-preview-stage{
  border:1px solid #e2e8f0;border-radius:12px;padding:20px 16px 24px;
  background:linear-gradient(180deg,#edf2f7 0%,#e2e8f0 100%);min-height:200px;
  display:flex;align-items:flex-end;justify-content:center
}
.login-commitment-preview-sheet{
  width:100%;max-width:400px;background:#fff;border-radius:16px 16px 12px 12px;
  padding:22px 20px 18px;box-shadow:0 10px 40px rgba(0,0,0,.12);max-height:360px;
  display:flex;flex-direction:column;box-sizing:border-box
}
.login-commitment-preview-sheet .login-commitment-heading{
  font-size:20px;font-weight:700;color:#1a202c;text-align:center;margin:0 0 8px;line-height:1.35
}
.login-commitment-preview-sheet .login-commitment-subtitle{
  font-size:13px;color:#718096;text-align:center;margin:0 0 16px;line-height:1.5
}
.login-commitment-preview-sheet .login-commitment-list{
  list-style:none;margin:0 0 14px;padding:0 4px;flex:1;overflow-y:auto;max-height:200px;
  -webkit-overflow-scrolling:touch
}
.login-commitment-preview-sheet .login-commitment-item{display:flex;gap:10px;margin-bottom:14px}
.login-commitment-preview-sheet .login-commitment-item:last-child{margin-bottom:4px}
.login-commitment-preview-sheet .login-commitment-icon{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#3182ce;color:#fff;
  font-size:11px;line-height:20px;text-align:center;font-weight:700
}
.login-commitment-preview-sheet .login-commitment-item-title{font-size:14px;font-weight:700;color:#1a202c;margin-bottom:3px}
.login-commitment-preview-sheet .login-commitment-item-body{font-size:12px;color:#718096;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.login-commitment-preview-sheet .login-commitment-confirm{
  flex-shrink:0;width:100%;padding:12px;border-radius:999px;font-size:15px;font-weight:600;
  border:none;background:#3182ce;color:#fff;cursor:default;opacity:.92
}
.login-commitment-preview-empty{font-size:13px;color:#718096;text-align:center;padding:24px 12px;margin:0}

@media (max-width: 980px){
  .pool-layout{grid-template-columns:1fr}
  .login-commitment-admin-meta{grid-template-columns:1fr}
}
