:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2329;background:#f5f7fa}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(22,119,255,.07),transparent 28%),radial-gradient(circle at bottom right,rgba(22,119,255,.05),transparent 24%),#f5f7fa}body.confirm-open{overflow:hidden}button,input,textarea,select{font:inherit}.page-shell{width:min(1320px,calc(100vw - 48px));margin:0 auto;padding:32px 0 56px}.page-shell-center{min-height:100vh;display:flex;align-items:center;justify-content:center}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.shell-card,.summary-card,.panel,.report-shell{border-radius:16px;background:#fff;border:1px solid #e5eaf3;box-shadow:0 6px 18px #1f23290f}.loading-card,.login-card{width:min(460px,100%);padding:28px}.page-title{margin:0;font-size:30px;line-height:1.2;color:#1f2329;font-weight:700}.page-copy,.summary-title,.summary-note,.panel-head-note,th,.field span,.muted-text{color:#86909c}.page-copy{margin:10px 0 0;line-height:1.7}.login-form{margin-top:24px;display:grid;gap:16px}.field{display:grid;gap:8px}.field span{font-size:14px;font-weight:600}.field-tip{font-size:12px;color:#7a8799}.field input{width:100%;height:44px;padding:0 12px;border:1px solid #d9dfe8;border-radius:8px;background:#fff;color:#1f2329;transition:border-color .2s ease,box-shadow .2s ease}.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid #d9dfe8;border-radius:8px;background:#fff;color:#1f2329;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#1677ff;box-shadow:0 0 0 3px #1677ff24}.form-error{margin:0;color:#f53f3f;font-size:14px}.primary-btn,.ghost-btn,.text-btn,.tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer}.primary-btn{height:44px;border-radius:8px;background:#1677ff;color:#fff;font-weight:600;transition:background .2s ease,box-shadow .2s ease}.primary-btn:hover{background:#0958d9}.ghost-btn{height:40px;padding:0 16px;border-radius:8px;background:#fff;color:#3c4653;border:1px solid #d9dfe8;font-weight:600}.ghost-btn-compact{height:36px;padding:0 14px}.primary-btn-compact{height:38px;padding:0 14px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:20px}.summary-card{position:relative;padding:22px;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#1677ff,#69b1ff)}.summary-title,.summary-note{display:block;font-size:13px}.summary-value{display:block;margin:10px 0 8px;font-size:34px;line-height:1.1;color:#1f2329;font-weight:700}.panel{margin-top:20px;overflow:hidden}.panel.hidden{display:none}.panel-head{padding:0 24px;border-bottom:1px solid #eef1f6}.panel-tabs-wrap{min-width:0}.card-tab-group{display:flex;align-items:flex-end;gap:28px;min-height:48px}.tab-btn{position:relative;height:auto;padding:12px 0 8px;background:transparent;color:#86909c;font-size:15px;line-height:1.2;font-weight:600}.tab-btn:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;transition:background .2s ease}.tab-btn-active{color:#1677ff}.tab-btn-active:after{background:#1677ff}.panel-head-note{margin:12px 0 18px;font-size:13px;line-height:1.6}.table-wrap{overflow:auto;padding:8px 24px 24px}table{width:100%;min-width:1080px;border-collapse:collapse}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid #f0f2f5;font-size:14px}th{background:#fafbfc;color:#86909c;font-weight:600}td{color:#1f2329;vertical-align:top}tbody tr:hover td{background:#fafcff}.empty{text-align:center;color:#86909c;padding:40px 0}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.status-pending{background:#fff7e8;color:#d48806}.status-verified{background:#e8f3ff;color:#1677ff}.status-refunded{background:#fff1f0;color:#cf1322}.text-btn{padding:0;background:transparent;color:#1677ff;font-weight:600}.text-btn-danger{color:#cf1322}.action-group{display:flex;flex-wrap:wrap;gap:12px}.back-row{margin-bottom:16px}.report-shell{padding:28px}.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.report-score-box{min-width:180px;padding:20px;border-radius:12px;background:linear-gradient(180deg,#f7fbff,#edf5ff);border:1px solid #d9e8ff}.report-block+.report-block{margin-top:20px}.report-block h2{margin:0 0 12px;font-size:22px;color:#1f2329}.report-block p{margin:0;line-height:1.75;color:#4e5969}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-chip,.report-item{padding:18px;border-radius:12px;border:1px solid #edf1f7;background:#fafcff}.report-chip strong,.report-item strong{display:block;color:#1f2329;font-size:15px}.report-chip span{display:block;margin-top:6px;color:#1677ff;font-weight:700}.report-chip p,.report-item p{margin-top:10px}.report-list{display:grid;gap:12px}.config-stack{display:grid;gap:20px;padding:20px 24px 24px}.config-switcher,.config-board{padding:22px}.config-switcher-head,.config-board-head,.modal-head,.modal-section-head,.question-tile-head,.question-tile-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.config-switcher-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.config-switcher-item{min-width:210px;padding:14px 16px;border:1px solid #e5eaf3;border-radius:14px;background:#fafcff;display:grid;gap:6px;text-align:left}.config-switcher-item strong,.config-board-title,.question-title,.modal-title,.template-tile strong{color:#1f2329}.config-switcher-item span,.config-switcher-item small,.config-inline-note,.template-summary,.question-focus{color:#86909c}.config-switcher-item-active{border-color:#91caff;background:linear-gradient(180deg,#f6fbff,#edf5ff)}.config-board-head{margin-bottom:18px}.config-title-row{display:flex;align-items:center;gap:12px}.config-board-title,.modal-title{margin:0;font-size:22px}.config-status-chip,.question-pill,.question-tag{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f0f5ff;color:#1677ff;font-size:12px;font-weight:600}.config-status-chip-active{background:#e6f4ff}.config-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.config-overview-grid,.template-grid{display:grid;gap:16px}.config-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.config-overview-chip{padding:16px 18px;border-radius:14px;border:1px solid #edf1f7;background:#fafcff;display:grid;gap:8px}.config-overview-chip span{color:#86909c;font-size:13px}.config-overview-chip strong{color:#1f2329;font-size:24px;line-height:1.1}.config-inline-note{margin:18px 0 0;font-size:13px}.config-question-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-top:18px}.question-tile,.template-tile{padding:18px;border-radius:16px;border:1px solid #edf1f7;background:linear-gradient(180deg,#fff,#fafcff);box-shadow:0 10px 22px #0f172a0a}.question-tile{flex:0 0 calc((100% - 32px) / 3);max-width:calc((100% - 32px) / 3);display:grid;gap:14px;cursor:default;-webkit-user-select:none;user-select:none;will-change:transform,box-shadow,opacity;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .24s cubic-bezier(.22,1,.36,1),opacity .2s ease}.question-tile:hover{transform:translateY(-2px);border-color:#d9e8ff;box-shadow:0 14px 28px #0f172a14}.question-tile-empty{cursor:default;align-content:center;min-height:240px}.question-order{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e6f4ff;color:#1677ff;font-weight:700}.question-handle{width:34px;height:34px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;font-size:18px;line-height:1;cursor:grab;touch-action:none}.question-handle:hover{border-color:#c7d6ea;background:#f8fbff}.config-question-grid-sorting .question-tile:not(.question-tile-sort-chosen):not(.question-tile-sort-fallback){transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .24s cubic-bezier(.22,1,.36,1)}.question-tile-meta,.question-tags,.question-tile-actions,.modal-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.question-pill-muted,.question-tag-muted{background:#f2f4f7;color:#86909c}.question-title{margin:0;font-size:17px;line-height:1.45}.question-copy,.template-summary{margin:0;line-height:1.7;color:#4e5969}.question-focus{margin:0;font-size:13px}.question-tile-foot{align-items:center}.question-tile-sort-chosen{border-color:#91caff;box-shadow:inset 0 0 0 2px #1677ff24}.question-tile-sort-drag{opacity:1;cursor:grabbing}.question-tile-sort-ghost{border-color:#1677ff;background:#edf5ffb8;box-shadow:inset 0 0 0 2px #1677ff29;opacity:.18;transform:scale(.985)}body.question-sort-active,body.question-sort-active .question-handle,body.question-sort-active .config-question-grid{cursor:grabbing}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-shell{width:min(820px,100%);max-height:calc(100vh - 48px);border-radius:20px;background:#fff;border:1px solid rgba(229,234,243,.96);box-shadow:0 28px 72px #0f172a2e,0 10px 28px #0f172a14;display:flex;flex-direction:column}.modal-shell-wide{width:min(1040px,100%)}.modal-head,.modal-actions{padding:22px 24px}.modal-head{border-bottom:1px solid #eef1f6}.modal-title-group{min-width:0}.modal-body{padding:22px 24px}.modal-body-scroll{overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #eef1f6}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid #d9dfe8;background:#fff;color:#6b7280;font-size:18px;line-height:1}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal-section+.modal-section{margin-top:20px}.modal-section-head strong{color:#1f2329}.modal-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.template-option-list{display:grid;gap:12px;margin-top:16px}.score-band-list{display:grid;gap:14px;margin-top:16px}.score-band-card{padding:16px;border-radius:16px;border:1px solid #edf1f7;background:#fafcff;display:grid;gap:14px}.score-band-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.score-band-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 120px 120px;gap:14px}.score-band-helper{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid #edf1f7;background:#fafcff}.score-band-helper-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.dimension-catalog-list{display:grid;gap:14px;margin-top:16px}.dimension-catalog-card{padding:16px;border-radius:16px;border:1px solid #edf1f7;background:#fafcff;display:grid;gap:14px}.dimension-catalog-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px}.dimension-preview-card{display:grid;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid #edf1f7;background:#fafcff}.dimension-preview-copy{margin:0;line-height:1.7;color:#4e5969}.score-band-helper-list span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid #e5eaf3;color:#6b7280;font-size:12px;font-weight:600}.template-option-row{display:grid;grid-template-columns:88px minmax(0,1fr) 120px auto;gap:12px;align-items:end;padding:14px;border-radius:14px;border:1px solid #edf1f7;background:#fafcff}.template-option-remove{align-self:center}.config-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;padding:20px 24px 24px}.config-sidebar,.config-card{border-radius:16px;background:#fff;border:1px solid #e5eaf3;box-shadow:0 6px 18px #1f23290f}.config-sidebar{padding:18px;align-self:start}.config-side-head,.config-card-head,.config-question-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.config-side-head strong,.config-card-title,.config-question-head strong{color:#1f2329}.config-card-title{margin:0;font-size:20px}.config-side-list,.config-main,.config-question-list,.config-template-list{display:grid;gap:16px}.config-side-list{margin-top:16px}.config-side-item{display:grid;gap:6px;width:100%;padding:14px 16px;border:1px solid #e5eaf3;border-radius:12px;background:#fafcff;text-align:left}.config-side-item strong{font-size:15px;color:#1f2329}.config-side-item span,.config-side-item small{color:#86909c}.config-side-item-active{border-color:#91caff;background:#edf5ff}.config-main{min-width:0}.config-card{padding:22px}.config-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.field-wide{grid-column:1 / -1}.config-placeholder-box{margin-top:18px;padding:14px 16px;border-radius:12px;background:#fafcff;border:1px solid #edf1f7}.config-placeholder-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.config-placeholder-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#edf5ff;color:#1677ff;font-size:12px;font-weight:600}.config-question-card,.config-template-card{padding:18px;border-radius:14px;border:1px solid #edf1f7;background:#fafcff}.config-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.config-option-inline{display:grid;grid-template-columns:88px minmax(0,1fr) 110px;gap:12px;padding:12px;border-radius:12px;border:1px solid #edf1f7;background:#fff}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{width:min(440px,100%);border-radius:16px;background:#fff;border:1px solid rgba(229,234,243,.96);box-shadow:0 20px 56px #0f172a2e,0 8px 24px #0f172a14}.confirm-dialog-body{display:flex;gap:16px;padding:28px 28px 20px}.confirm-dialog-icon{flex:0 0 auto;width:24px;height:24px;margin-top:2px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff2e8;color:#d46b08;font-size:15px;line-height:1;font-weight:700}.confirm-dialog-copy{min-width:0}.confirm-dialog-title{margin:0;color:#1f2329;font-size:18px;line-height:1.35;font-weight:700}.confirm-dialog-content{margin:10px 0 0;color:#4e5969;font-size:14px;line-height:1.7}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 28px 24px}.confirm-dialog-btn{min-width:88px;height:40px;padding:0 18px;border-radius:10px;border:1px solid #d9dfe8;background:#fff;color:#3c4653;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.confirm-dialog-btn:hover{border-color:#4096ff;color:#1677ff}.confirm-dialog-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #1677ff24}.confirm-dialog-btn-primary{border-color:#1677ff;background:#1677ff;color:#fff}.confirm-dialog-btn-primary:hover{border-color:#4096ff;background:#4096ff;color:#fff}.confirm-dialog-btn-danger{border-color:#ff4d4f;background:#ff4d4f;color:#fff}.confirm-dialog-btn-danger:hover{border-color:#ff7875;background:#ff7875;color:#fff}@media (max-width: 1100px){.page-shell{width:calc(100vw - 24px);padding-top:20px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-head,.report-header{flex-direction:column;align-items:stretch}.report-grid{grid-template-columns:1fr}.report-score-box{min-width:0}.config-layout,.config-overview-grid,.template-grid,.modal-form-grid,.modal-option-grid{grid-template-columns:1fr}.config-question-grid{display:flex}.question-tile,.question-tile-sort-mirror,.question-tile-sort-fallback{flex-basis:100%;max-width:100%;width:100%}.config-toolbar{justify-content:flex-start}.modal-shell,.modal-shell-wide{width:min(100%,920px)}.template-option-row,.score-band-grid,.dimension-catalog-grid,.config-field-grid,.config-option-grid,.config-option-inline{grid-template-columns:1fr}}@media (max-width: 640px){.config-stack{padding:16px}.config-switcher,.config-board,.modal-head,.modal-body,.modal-actions{padding-left:16px;padding-right:16px}.config-switcher-head,.config-board-head,.question-tile-head,.question-tile-foot,.modal-head,.modal-actions{flex-direction:column;align-items:stretch}.config-title-row{flex-wrap:wrap}.config-switcher-item{min-width:0;width:100%}.confirm-mask{padding:16px}.modal-mask{padding:12px}.confirm-dialog-body{padding:24px 20px 16px}.confirm-dialog-actions{padding:0 20px 20px}.confirm-dialog-btn{flex:1 1 0;min-width:0}}
