/* 상담 시뮬레이터 v0.4 — 외부 글꼴·CDN 없이 Windows 기본 글꼴(맑은 고딕)만 사용한다. */
:root{
 --bg:#f4f6f9;--card:#fff;--border:#dde2ea;--border-strong:#c7cfdb;--text:#1b2433;--sub:#5f6b7c;--faint:#8a95a5;
 --primary:#1f5fd6;--primary-strong:#174bb0;--primary-weak:#eaf1fd;--ok:#16794a;--ok-weak:#e8f6ee;--warn:#9a5b00;--warn-weak:#fff5e0;--err:#c0262d;--err-weak:#fdecec;
 --mock:#7a3fc4;--mock-weak:#f3ebfd;--radius:10px;--shadow:0 1px 2px #1b24330d,0 4px 14px #1b24330a;--shell:1440px;
 color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 "Malgun Gothic","맑은 고딕",system-ui,sans-serif;display:flex;flex-direction:column;height:100dvh;overflow:hidden}
h1,h2,h3{margin:0}
label{display:block;font-size:12px;color:var(--sub);margin:10px 0 4px}
textarea,input,select{width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;font:inherit;color:inherit;background:var(--card)}
textarea{min-height:clamp(200px,26vh,360px);resize:vertical;line-height:1.7}
textarea.code,pre,code{font-family:Consolas,"Malgun Gothic",monospace;font-size:12px}
input[readonly]{background:#f2f4f7;color:var(--sub)}
button{border:1px solid var(--border-strong);background:var(--card);border-radius:8px;padding:7px 14px;cursor:pointer;font:inherit;color:inherit;touch-action:manipulation;white-space:nowrap}
button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
button.mini{padding:3px 10px;font-size:12px}
button.danger{color:var(--err)}
button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
button.primary:hover:not(:disabled){background:var(--primary-strong);color:#fff}
button:disabled{opacity:.5;cursor:not-allowed}
:where(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.end{align-items:flex-end}.spacer{flex:1}
.hint,small{font-size:12px;color:var(--sub);font-weight:400}small{display:block}
.error{color:var(--err)!important}.success{color:var(--ok)!important}.warning{color:var(--warn)!important}
.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:#eef1f5;color:var(--sub);font-variant-numeric:tabular-nums}
.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:#eef1f5;color:var(--sub);margin:2px 4px 2px 0}
.chip-tpl{background:var(--primary-weak);color:var(--primary)}.chip-yes{background:var(--ok-weak);color:var(--ok)}.chip-mock{background:var(--mock-weak);color:var(--mock);font-weight:600}
.muted-chip{font-size:12px;color:var(--faint)}
pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}

/* 헤더 */
header{flex:none;background:var(--card);border-bottom:1px solid var(--border)}
header .shell{max-width:var(--shell);margin:0 auto;padding:10px 24px;display:flex;gap:14px;align-items:center}
.brand{display:flex;gap:10px;align-items:center;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;font-weight:700}
.brand h1{font-size:16px;line-height:1.2}.brand-sub{font-size:11px;color:var(--sub)}
header .cfg{flex:1;min-width:0;color:var(--sub);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
header .slug{display:flex;align-items:center;gap:6px;white-space:nowrap}header .slug label{margin:0}header .slug input{width:150px;padding:4px 8px;font-size:13px}
.save-state{font-size:11px;color:var(--sub);white-space:nowrap}
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}
.seg button{border:0;border-radius:0;padding:5px 12px;font-size:12px}.seg button+button{border-left:1px solid var(--border-strong)}
.seg button[aria-pressed=true]{background:var(--primary);color:#fff}
.demo-banner{flex:none;background:var(--mock-weak);color:var(--mock);border-bottom:1px solid #dcc8f6;padding:6px 24px;font-size:13px;text-align:center}
.demo-banner button{margin-left:8px}

/* 탭 */
.tabs{flex:none;display:flex;align-items:center;gap:4px;max-width:var(--shell);width:100%;margin:0 auto;padding:10px 24px 0}
.tabs [role=tab]{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:8px 14px;font-weight:600;color:var(--sub)}
.tabs [role=tab][aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}
.tabs [role=tab]:hover{color:var(--primary)}

/* 본문 공통 */
main{flex:1;min-height:0;width:100%;max-width:var(--shell);margin:0 auto;padding:14px 24px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:16px}
.col{min-width:0;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.side{min-width:0;min-height:0;display:flex}
section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
section section{box-shadow:none}
section h2{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.step-no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--primary-weak);color:var(--primary);font-size:12px;font-weight:700}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.section-head h2{margin:0}
.field{display:flex;flex-direction:column;gap:4px;margin:0}.field.grow{flex:1;min-width:170px}.field.lookup{width:300px;max-width:100%}
.check{display:flex;align-items:center;gap:6px}.check input{width:auto}.check.field{align-items:center;justify-content:center;min-width:126px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid label{margin:0}.grid input{margin-top:4px}.wide{grid-column:1/-1}
.row.actions{margin-top:12px}.row.controls{margin-top:8px}.request-tools button{padding:3px 10px;font-size:12px}
.status{padding:2px 10px;border-radius:999px;font-size:12px;background:var(--primary-weak);color:var(--primary)}
.divider{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.divider h3{font-size:12px;color:var(--sub);font-weight:400;margin:0 0 4px}
.confirm-fields{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:8px;align-items:end}.confirm-fields label{margin:0}
details.raw{margin-top:8px}details.raw>summary{cursor:pointer;color:var(--primary);font-size:12px}
details.raw pre{margin:6px 0 0;background:#f7f8fa;padding:8px;border-radius:6px;max-height:300px;overflow:auto}
.source-note{margin-top:8px;font-size:11px;color:var(--sub)}
#inputStats{margin:12px 0;padding:10px 12px;background:#f8fafc;border-radius:8px}#inputStats details{margin-top:6px}
#context{margin:8px 0}
.result-block{margin-top:12px}.result-block h3{font-size:12px;color:var(--sub);font-weight:400;margin:0 0 4px}.summary-text{white-space:pre-wrap}.result-block.standard .summary-text{background:var(--primary-weak);padding:12px;border-radius:6px}
.cap{font-size:12px;color:var(--sub);margin:12px 0 4px}.cards{display:flex;flex-direction:column;gap:8px}.cls-card{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.cls-card .path{font-weight:600}.cls-card .tmpl{margin-top:6px;font-size:13px;color:var(--sub);white-space:pre-wrap}

/* 로그 패널 */
.feed-panel{flex:1;min-width:0;display:flex;flex-direction:column}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.panel-head h2{margin:0}
.log-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0}.log-toolbar select{width:auto;flex:1;min-width:100px;font-size:12px;padding:4px 6px}.log-toolbar button{padding:3px 10px;font-size:12px}
.feed{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding-right:4px}
.feed-item{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:6px;padding:8px 10px;font-size:12px}.feed-item.error-item{border-left-color:var(--err)}
.feed-item .head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:space-between}.feed-item .meta{display:block;color:var(--sub);margin-top:3px;font-variant-numeric:tabular-nums}
.feed-item .request-id{white-space:pre-wrap;word-break:break-all;color:var(--sub);margin-top:4px}.feed-item .phase-list{padding-left:18px;margin:6px 0;color:var(--sub)}
#historyInfo{margin:8px 0 0;overflow-wrap:anywhere}
.trace-panel h3{font-size:14px;margin:0}#traceEvents{max-height:620px;overflow:auto}.trace-event pre{max-height:400px;overflow:auto}
#activity{max-height:150px;overflow:auto}
#visualSummary{white-space:pre-wrap}.tl-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center;margin-top:6px;font-size:12px}

/* 설정 패널·대화상자 */
.settings-flyout:not([open]){display:none}
.settings-flyout{position:fixed;z-index:30;top:64px;right:max(24px,calc((100vw - 1392px)/2));width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 84px);overflow:auto;background:var(--card);padding:16px 18px;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #1b243329}
.settings-flyout>summary{cursor:pointer;font-weight:600;margin-bottom:12px}.settings-flyout .row{margin-top:12px}
.demo-cta{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--mock-weak);border:1px solid #dcc8f6;border-radius:10px;padding:10px 14px;margin-bottom:6px}
dialog{border:1px solid var(--border);border-radius:12px;padding:18px 20px;width:min(760px,calc(100vw - 32px));box-shadow:0 12px 40px #1b243333}
dialog::backdrop{background:#1b243359}
.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.env-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.env-table th,.env-table td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.env-table th{white-space:nowrap;font-weight:600}
.env-state{white-space:nowrap;font-weight:600}.lv-ok .env-state{color:var(--ok)}.lv-warning .env-state{color:var(--warn)}.lv-error .env-state{color:var(--err)}

/* 모드 전환: 디자인/로그 */
body.mode-log .design-only,body.mode-design .log-only{display:none!important}
body.mode-design main{grid-template-columns:minmax(0,1fr)}
/* 넓은 화면에서는 입력과 결과를 나란히 둬 분석 후 스크롤 없이 결과를 본다. */
@media(min-width:1180px){
 body.mode-design .col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:16px}
 body.mode-design #welcomeCard{grid-column:1/-1}
 body.mode-design #resultSection{position:sticky;top:0;max-height:calc(100dvh - 150px);overflow:auto}
 body.mode-design #transcript{min-height:clamp(220px,34vh,420px)}
 body.mode-design .sample-cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
}
body.mode-design .side{position:fixed;z-index:25;top:0;right:0;bottom:0;width:min(460px,100vw);padding:12px;background:var(--bg);box-shadow:-12px 0 40px #1b243326;transform:translateX(105%);transition:transform .2s ease;visibility:hidden}
body.mode-design.log-open .side{transform:none;visibility:visible}
body.mode-design .side .feed-panel{height:100%}
body.mode-design #inputSection>.row.end .check.field{min-width:auto}

/* 디자인 모드 구성요소 */
.welcome{border-color:#c9d9f7;background:linear-gradient(180deg,#f5f9ff,#fff)}
.steps{margin:0 0 12px;padding-left:20px;display:grid;gap:4px}.steps b{display:inline-block;min-width:36px;color:var(--primary)}
.sample-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.sample-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;white-space:normal;padding:10px 12px;border-radius:10px;min-height:96px}
.sample-card strong{font-size:13px;line-height:1.4}.sample-card .sample-desc{font-size:11.5px;color:var(--sub);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sample-card .sample-meta{font-size:11px;color:var(--faint);margin-top:auto}.sample-top{display:flex;justify-content:space-between;width:100%;align-items:center}.sample-dur{font-size:11px;color:var(--sub);font-weight:600}
.sample-card.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-weak);background:#fbfdff}
.sample-own{border-style:dashed;justify-content:center}
.progress{display:flex;list-style:none;padding:0;margin:0 0 12px;gap:0;counter-reset:s}
.progress li{flex:1;position:relative;text-align:center;font-size:12px;color:var(--faint);padding-top:22px}
.progress li::before{content:"";position:absolute;top:6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#dfe4ec;z-index:1}
.progress li::after{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:#dfe4ec}.progress li:first-child::after{display:none}
.progress li.done{color:var(--ok)}.progress li.done::before,.progress li.done::after{background:var(--ok)}
.progress li.current{color:var(--primary);font-weight:600}.progress li.current::before{background:var(--primary);box-shadow:0 0 0 4px var(--primary-weak)}.progress li.current::after{background:var(--primary)}
.progress li.failed{color:var(--err)}.progress li.failed::before{background:var(--err)}
#resultDesign{display:flex;flex-direction:column;gap:12px}
.empty-state{border:1px dashed var(--border-strong);border-radius:10px;padding:26px;text-align:center;color:var(--sub)}.empty-icon{font-size:22px;color:var(--faint)}.empty-state p{margin:4px 0 0}
.r-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.r-callid{font-size:12px;color:var(--faint);overflow-wrap:anywhere}
.status-pill{padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;background:var(--primary-weak);color:var(--primary)}
.status-pill.st-completed{background:var(--ok-weak);color:var(--ok)}.status-pill.st-partial{background:var(--warn-weak);color:var(--warn)}.status-pill.st-failed{background:var(--err-weak);color:var(--err)}
.r-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fff}
.r-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap}.r-head h3{font-size:14px}.r-sub{font-size:12px;color:var(--sub)}
.r-warn{border-color:#f1c7c9;background:#fffafa}.r-compare{border-color:#cfdcf5;background:#fbfdff}
.std-sum{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px}
.std-sum dt{font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-weak);border-radius:6px;padding:2px 8px;height:fit-content;text-align:center}
.std-sum dt.lbl-처리{color:var(--ok);background:var(--ok-weak)}.std-sum dt.lbl-후속{color:var(--warn);background:var(--warn-weak)}.std-sum dt.lbl-서브{color:var(--mock);background:var(--mock-weak)}
.std-sum dd{margin:0;white-space:pre-wrap}
.tpl-table{width:100%;border-collapse:collapse;font-size:13px}
.tpl-table td,.tpl-table th{border-bottom:1px solid #eef1f5;padding:5px 6px;text-align:left;vertical-align:top}
.tpl-title{background:#f5f7fa;font-weight:700;color:var(--text)}.tpl-no{width:26px;color:var(--primary);font-weight:700}.tpl-lbl{width:40%;font-weight:500;color:var(--sub)}.tpl-val{white-space:pre-wrap}.tpl-text{color:var(--sub);font-size:12px}
.cls-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.cls-item{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:10px;align-items:center}
.cls-name{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cls-rank{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#eef1f5;font-size:12px;font-weight:700}
.cls-item:first-child .cls-rank{background:var(--primary);color:#fff}.cls-path{font-weight:600}.cls-name code{font-size:11px;color:var(--faint)}
.conf{display:block;height:8px;background:#eef1f5;border-radius:999px;overflow:hidden}.conf-fill{display:block;height:100%;background:var(--primary);border-radius:999px}.conf-fill.fail{background:var(--err)}
.conf-num{font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap}.voc{margin:6px 0 0;padding-left:18px;font-size:13px}
.cmp-facts{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:3px;font-size:13px}

/* 평가 화면 */
#evaluationPanel{flex:1;min-height:0;overflow:auto;background:transparent;border:0;box-shadow:none;padding:14px 24px 24px;max-width:var(--shell);width:100%;margin:0 auto}
.eval-layout{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:16px;align-items:start}
.eval-config,.eval-work{display:flex;flex-direction:column;gap:16px;min-width:0}
.eval-config{position:sticky;top:0}
.adv{margin:10px 0;border:1px solid var(--border);border-radius:8px;padding:6px 10px}.adv>summary{cursor:pointer;font-size:13px;color:var(--primary)}
.rubric-list{margin:6px 0 0;padding-left:18px;font-size:13px;display:grid;gap:2px}
.box{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:10px 0;box-shadow:none}.box>summary{cursor:pointer;font-weight:600;font-size:13px}.box h3{font-size:13px;margin-bottom:4px}
.add-tools{margin:10px 0 4px}
#pairSelect{margin-top:6px;font-size:12px}
.stat-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;display:grid;gap:4px}
.stat-label{font-size:12px;color:var(--sub);font-weight:600}.stat-num{font-size:26px;line-height:1.1;color:var(--primary)}
.crit-bars{display:grid;gap:4px;margin-top:6px}.crit-row{display:grid;grid-template-columns:120px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:12px}.crit-val{text-align:right;font-variant-numeric:tabular-nums}
.table-wrap{overflow:auto;max-height:520px;border:1px solid var(--border);border-radius:8px}
.eval-table{width:100%;border-collapse:collapse;font-size:12.5px}
.eval-table th{position:sticky;top:0;background:#f5f7fa;text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.eval-table td{padding:5px 8px;border-bottom:1px solid #eef1f5;vertical-align:top}
.eval-table td.score{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}
.eval-table td.s1,.eval-table td.s2{color:var(--err);background:var(--err-weak)}.eval-table td.s3{color:var(--warn);background:var(--warn-weak)}.eval-table td.s5{color:var(--ok)}
.eval-table tr.st-failed td:nth-child(3){color:var(--err);font-weight:600}
.detail-row td{background:#fafbfd}.crit-detail{margin:6px 0;padding-left:18px;display:grid;gap:6px}

/* 좁은 화면 */
@media(max-width:1100px){
 body{height:auto;overflow:visible}
 header .shell{flex-wrap:wrap;gap:8px 12px}header .cfg{flex-basis:100%;order:3}
 main,body.mode-design main{grid-template-columns:minmax(0,1fr)}
 .col{overflow:visible}.feed{max-height:540px}.feed-panel{min-height:340px}
 .eval-layout{grid-template-columns:minmax(0,1fr)}.eval-config{position:static}
 .confirm-fields{grid-template-columns:1fr 1fr}.settings-flyout{top:96px;right:16px}
}
@media(max-width:560px){
 header .shell,main,.tabs,#evaluationPanel{padding-left:16px;padding-right:16px}
 .grid,.confirm-fields{grid-template-columns:1fr}.cls-item{grid-template-columns:1fr}.field.grow{min-width:130px}
 section{padding:12px}.std-sum{grid-template-columns:1fr}.std-sum dt{justify-self:start}
}

#evalSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-bottom:10px}#evalSummary .stat-card{margin:0}.stat-card .chip{justify-self:start}

/* v0.5 설정 관리 */
button.primary-soft{background:var(--primary-weak);border-color:#c9d9f7;color:var(--primary);font-weight:600}.profile-tools{margin:6px 0 2px}.model-chips{margin:6px 0}.chip-btn{border:1px solid var(--border-strong);cursor:pointer;background:#fff;color:var(--text);padding:2px 10px}.chip-btn:hover{border-color:var(--primary);color:var(--primary)}.chip-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.site-config{margin-top:12px}.site-config .grid{margin-top:8px}#siteActive{margin-top:4px}

/* v0.6 루브릭 평가 */
.mode-seg{margin:0 0 10px;display:flex;width:100%}.mode-seg button{flex:1;white-space:normal}
.rubric-q{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.rubric-q th,.rubric-q td{border-bottom:1px solid #eef1f5;padding:4px 6px;text-align:left;vertical-align:top}.rubric-q th{background:#f5f7fa}
.sev{font-weight:700;text-align:center}.sev-하{color:var(--err)}.sev-중{color:var(--warn)}
.grade{display:inline-block;min-width:32px;text-align:center;padding:1px 8px;border-radius:999px;font-weight:700;font-size:12px}.g-상{background:var(--ok-weak);color:var(--ok)}.g-중{background:var(--warn-weak);color:var(--warn)}.g-하{background:var(--err-weak);color:var(--err)}.g-fail{background:#eef1f5;color:var(--sub)}
.hold{display:inline-block;margin-left:4px;font-size:11px;color:var(--mock);font-weight:600}
.cellm,.ans{text-align:center;font-weight:700}.cm-맞음{color:var(--ok)}.cm-아님{color:var(--err);background:var(--err-weak)}.cm-보류{color:var(--mock)}.cm-해당없음{color:var(--faint)}
.ans.no-하{color:var(--err);background:var(--err-weak)}.ans.no-중{color:var(--warn);background:var(--warn-weak)}.ans.held{color:var(--mock)}
.chip-bad{background:var(--err-weak);color:var(--err);font-weight:600;justify-self:start}
.rb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}.rb-box{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12.5px;white-space:pre-wrap}.rb-box b{display:block;margin-bottom:4px}
.rb-checks{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}.rb-checks th,.rb-checks td{border-bottom:1px solid #eef1f5;padding:4px 6px;text-align:left;vertical-align:top}.rb-checks tr.a-아니오 .ans-txt{color:var(--err);font-weight:700}.rb-checks tr.a-보류 .ans-txt{color:var(--mock);font-weight:700}
@media(max-width:700px){.rb-grid{grid-template-columns:1fr}}
/* v0.6.0 채점 방식·프롬프트 편집 */
.method-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 2px}.method-row .seg{flex:1;display:flex;min-width:260px}.method-row .seg button{flex:1;white-space:normal}.field-label{font-size:13px;font-weight:600}
.prompt-section{padding-top:12px;padding-bottom:12px}.prompt-box>summary{font-weight:600;cursor:pointer;font-size:15px}.prompt-box .chip{font-weight:400;margin-left:6px}
.prompt-pick{align-items:flex-end;flex-wrap:wrap}.prompt-pick .field{min-width:150px}
#promptText{width:100%;min-height:220px;font-size:12.5px;line-height:1.5;white-space:pre-wrap}
#promptFixed{white-space:pre-wrap;word-break:break-all;font-size:12px;max-height:240px;overflow:auto}
.hold.llm-diff{background:var(--warn-weak);color:var(--warn)}
.cmp-card{border-left:3px solid var(--primary)}
.eval-table td.model-cell{min-width:120px}
/* 루브릭 v0.5 항목표: 항목 등급 칸, 중대 오류 표시, 사유 판정 */
.g5-상{color:var(--ok)}.g5-중{color:var(--warn);background:var(--warn-weak)}.g5-하{color:var(--err);background:var(--err-weak)}.g5-보류{color:var(--mock)}.g5-na{color:var(--faint)}
.hold.crit{background:var(--err-weak);color:var(--err);border-radius:999px;padding:0 6px}
.rb-checks tr.r5-해당 .ans-txt{color:var(--err);font-weight:700}.rb-checks tr.r5-보류 .ans-txt{color:var(--mock);font-weight:700}.rb-checks tr.r5-비해당{color:var(--sub)}
#rubricQuestions .sev-중,#rubricQuestions .sev-하{font-weight:400}#rubricQuestions td div+div{margin-top:2px}
#rubricQuestions .item-cell{min-width:92px}#rubricQuestions .item-cell b{white-space:nowrap}#rubricQuestions .item-cell .hint{font-size:11px;margin-top:2px}
.rb-checks .ans-txt{white-space:nowrap}
.rubric-q.v5{table-layout:fixed;width:100%}.rubric-q.v5 th:nth-child(1){width:24%}.rubric-q.v5 th:nth-child(2){width:32%}
#rubricEditor .ed-table input,#rubricEditor .ed-table textarea,#rubricEditor .ed-table select{width:100%;font-size:12px}#rubricEditor .ed-table td:nth-child(n+3) select{min-width:64px}#rubricEditor b{display:block;margin:10px 0 2px}
.ed-table{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0}.ed-table th,.ed-table td{border-bottom:1px solid #eef1f5;padding:4px 6px;text-align:left;vertical-align:top}

/* ── v0.7.1 디자인: 상담 품질 점검 콘솔 ──
   짙은 남색 상단 바 하나를 이 화면의 표지로 두고, 본문은 그림자 없는 평평한 패널(얇은 선)로 나눈다.
   강조색은 석유빛 청록 하나, 색은 상태(상·중·하·실패·모의)에만 쓴다. 글꼴은 맑은 고딕 한 가족, 12/13/14/16/19 단계. */
:root{
 --bg:#f2f4f6;--card:#fff;--border:#dde2e8;--border-strong:#c3cad4;--text:#172033;--sub:#566172;--faint:#8b95a3;
 --primary:#0f6e74;--primary-strong:#0a5459;--primary-weak:#e2f0f0;
 --ok:#1f7a4d;--ok-weak:#e6f4ec;--warn:#9b5806;--warn-weak:#fdf1df;--err:#b4232a;--err-weak:#fbe9ea;
 --ink:#172033;--ink-2:#243049;--ink-line:#34405a;--radius:8px;--shadow:none;
}
body{font-size:14px;letter-spacing:-.005em;font-variant-numeric:tabular-nums}
/* 상단 바 */
header{background:var(--ink);border-bottom:0;color:#e8edf5}
header .shell{padding:9px 24px;gap:12px}
.brand-mark{background:#e2f0f0;color:var(--ink);border-radius:6px;width:30px;height:30px}
.brand h1{font-size:16px;color:#fff;letter-spacing:-.01em}.brand-sub{color:#9fb0c6}
header .cfg{color:#aebbd0}
header .slug label,header .save-state{color:#9fb0c6}
header .slug input{background:var(--ink-2);border-color:var(--ink-line);color:#fff}
header .slug input::placeholder{color:#7f8da5}
header button,header .mini{background:transparent;border-color:var(--ink-line);color:#dbe3ee}
header button:hover:not(:disabled){border-color:#7fc4c7;color:#fff;background:var(--ink-2)}
header .seg{border-color:var(--ink-line)}header .seg button{color:#c5d0df}header .seg button+button{border-left-color:var(--ink-line)}
header .seg button[aria-pressed=true]{background:#e2f0f0;color:var(--ink);font-weight:600}
/* 탭 줄 */
.tabs{padding:8px 24px 0;border-bottom:1px solid var(--border);max-width:none;background:var(--bg)}
.tabs>*{flex:none}
.tabs [role=tab]{font-size:14px;padding:9px 16px 10px;color:var(--sub);margin-bottom:-1px}
.tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom:3px solid var(--primary)}
#welcomeOpen.attn{border-color:var(--primary);color:var(--primary);background:var(--primary-weak);font-weight:600}
/* 본문 패널: 평평하게, 선으로 구분 */
main{padding:16px 24px 20px;gap:16px}
section{border-radius:var(--radius);box-shadow:none;padding:16px 18px;border-color:var(--border)}
section section{background:#f8f9fb;border-color:#e6e9ee}
section h2{font-size:16px;letter-spacing:-.01em}
.step-no{width:20px;height:20px;border-radius:5px;background:var(--ink);color:#fff;font-size:11px}
label{font-size:12px;color:var(--sub)}
textarea,input,select{border-radius:6px;border-color:var(--border-strong)}
textarea:focus,input:focus,select:focus{border-color:var(--primary);outline:2px solid var(--primary-weak);outline-offset:0}
button{border-radius:6px}
button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
button.primary{background:var(--primary);border-color:var(--primary)}
button.primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}
.seg{border-radius:6px}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.chip,.badge{background:#edf0f3}
.status{background:var(--primary-weak);color:var(--primary-strong);font-weight:600}
.demo-banner{background:#f1ebfa;border-bottom-color:#ddd0f1}
/* 시작 안내 모달 창 */
.welcome-dialog{width:min(560px,calc(100vw - 32px))}
.welcome-dialog .steps{margin:8px 0 16px;gap:8px}.welcome-dialog .steps b{color:var(--primary)}
dialog{border-radius:10px;border-color:var(--border);box-shadow:0 18px 50px #17203340}
dialog::backdrop{background:#17203366}
/* 상담 입력: 전사 칸을 키우고, 기본 상담은 접힌 한 줄 목록 */
#inputSection textarea#transcript{min-height:clamp(260px,40vh,560px)}
#inputStats{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:10px 12px;margin:12px 0 4px}
#inputStats>b{font-size:13px;color:var(--text)}#inputStats #inputStatsText{font-size:13px}
#inputStats details{flex-basis:100%}
.sample-box{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
.sample-box>summary{cursor:pointer;font-weight:600;font-size:14px;display:flex;gap:8px;align-items:center;list-style:none}
.sample-box>summary::before{content:'▸';color:var(--sub);font-size:12px}.sample-box[open]>summary::before{content:'▾'}
.sample-box>summary .hint{font-weight:400}
.sample-box .sample-cards{grid-template-columns:1fr;gap:0;margin:8px 0 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.sample-box .sample-card{flex-direction:row;align-items:center;gap:12px;min-height:0;border:0;border-radius:0;border-bottom:1px solid #edf0f3;padding:8px 12px}
.sample-box .sample-card:last-child{border-bottom:0}
.sample-box .sample-card .sample-top{width:auto;order:2;gap:8px;flex:none}
.sample-box .sample-card strong{order:1;flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sample-box .sample-card .sample-desc{display:none}
.sample-box .sample-card .sample-meta{order:3;margin:0;flex:none;min-width:58px;text-align:right}
.sample-box .sample-card.active{box-shadow:inset 3px 0 0 var(--primary);background:var(--primary-weak)}
/* 동시 평가 스위치 */
.switch-row{display:flex;gap:10px;align-items:flex-start;margin:10px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fb;color:var(--text);cursor:pointer}
.switch-row b{font-size:13px}.switch-row small{margin-top:2px}
.switch-row input{appearance:none;flex:none;width:34px;height:20px;border-radius:999px;background:#c3cad4;position:relative;margin:1px 0 0;padding:0;border:0;cursor:pointer;transition:background .15s}
.switch-row input::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.switch-row input:checked{background:var(--primary)}.switch-row input:checked::after{left:16px}
.switch-row:has(input:checked){border-color:var(--primary);background:var(--primary-weak)}
/* 평가 결과: 등급 칩만 색을 쓴다 */
.stat-card{border-radius:var(--radius);border-color:var(--border);background:#fff}
.stat-card .stat-num{font-size:24px;letter-spacing:-.02em;color:var(--ink)}
.grade{border-radius:5px;min-width:30px}
.cmp-card{border-left:3px solid var(--primary)}
#evalTable th{background:#f3f5f7;color:var(--sub);font-weight:600;font-size:12px}
@media (prefers-reduced-motion:reduce){.switch-row input,.switch-row input::after{transition:none}}
.tabs>.spacer{flex:1 1 auto}

/* ── v0.7.1 디자인 보완: Codex 디자인 검토 1~6·8번 ── */
:root{--faint:#677284}
/* 1. 노트북 폭에서도 ‘분석 요청’이 보이게: 전사 칸 높이를 화면 높이에 맞추고 실행 줄을 패널 아래에 고정 */
#inputSection textarea#transcript{min-height:clamp(200px,calc(100dvh - 520px),560px)}
#inputSection>.row.actions{position:sticky;bottom:-16px;z-index:2;background:var(--card);margin:8px -18px -4px;padding:10px 18px;border-top:1px solid var(--border)}
.run-opts{align-self:flex-end;padding-bottom:6px}.run-opts>summary{font-size:12px;color:var(--sub);cursor:pointer}.run-opts[open]{position:relative}
.run-opts[open]>label{position:absolute;right:0;z-index:3;background:#fff;border:1px solid var(--border);border-radius:6px;padding:6px 10px;white-space:nowrap;margin:0}
.run-opts[open]>label:nth-of-type(1){top:24px}.run-opts[open]>label:nth-of-type(2){top:58px}
/* 2. 평가 설정 흐름 */
.eval-config{gap:12px}
#evalConnDetails{margin-top:10px}#evalConnDetails>summary{font-size:13px}
@media (min-width:1180px) and (max-width:1360px){.eval-layout{grid-template-columns:320px minmax(0,1fr)}}
/* 3. 빈 보관 목록이 공간을 덜 차지 */
#pairSelect:not(:has(option)){height:56px;min-height:56px}
#savedPairs{margin:8px 0;padding:10px 12px}
#evalBatchRun{min-height:36px}
/* 4. 결과표 읽기 */
.eval-table{font-size:13px}.eval-table td{padding:7px 8px}
.eval-table td:nth-child(4),.eval-table td:nth-last-child(2){white-space:nowrap}
.rb-box{font-size:13px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
/* 5. 대비: 입력칸 경계(흰 배경 3.2:1), 흐린 글씨 4.5:1 이상 */
textarea,input,select{border-color:#8491a3}
header .slug input{border-color:#5d6b85}
/* 6. 키보드 포커스는 진한 외곽선으로(앞의 :focus 규칙보다 뒤에서 명시) */
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.switch-row:focus-within{outline:2px solid var(--primary);outline-offset:2px}
/* 8. 기준 설명·편집기 */
#rubricQuestions .sev-하{color:var(--text)}#rubricQuestions .sev-중{color:var(--sub)}
#promptText{font-family:"Malgun Gothic","맑은 고딕",sans-serif;font-size:13px;line-height:1.65}
#promptSave,#rubricEdSave{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
#promptSave:hover,#rubricEdSave:hover{background:var(--primary-strong);color:#fff}
.profile-tools .mini{min-height:32px;padding:4px 10px}
#evalConnDetails{border:1px solid var(--border);border-radius:6px;padding:6px 10px}#evalConnDetails>summary{cursor:pointer;color:var(--sub)}

/* 평가 방식·기준: 선택 버튼만 기본 노출, 설명·항목표는 접기 */
.sec-more{margin-top:10px}.sec-more>summary{cursor:pointer;color:var(--sub);font-size:13px}.sec-more[open]>summary{margin-bottom:6px}

/* 평가 대상 표 */
.target-list{margin:10px 0}.target-sum{margin:0 0 6px}
.target-table{width:100%;border-collapse:collapse;font-size:12.5px;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.target-table th{background:#f3f5f7;color:var(--sub);font-weight:600;text-align:left;padding:5px 8px}
.target-table td{border-top:1px solid #edf0f3;padding:5px 8px;vertical-align:top}.target-table td:nth-child(-n+5){white-space:nowrap}
.target-table .target-preview{color:var(--sub);max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.target-table tr.just-added td{background:var(--primary-weak)}
.mono{font-family:Consolas,"Malgun Gothic",monospace;font-size:12px}
.run-saved{margin:8px 0 0;padding:8px 10px;border:1px solid var(--primary);border-radius:6px;background:var(--primary-weak);font-size:13px;overflow-wrap:anywhere}
/* 상담 분석 화면의 ‘분석이 끝나면 바로 평가’ */
.switch-row.switch-inline{margin:0;padding:6px 10px;align-items:center;max-width:430px}
.switch-row.switch-inline small{font-size:11.5px}
/* 평가 상세: 5개 항목 요약 → 사유 전체는 접기 */
.item-sum td:nth-child(2){width:56px}.item-sum td:first-child{white-space:nowrap;font-weight:600}
.all-reasons{margin-top:8px}.all-reasons>summary{cursor:pointer;color:var(--sub);font-size:13px}
.rb-all{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}.rb-all th,.rb-all td{border-bottom:1px solid #eef1f5;padding:4px 6px;text-align:left;vertical-align:top}
.rb-all tr.r5-해당 .ans-txt{color:var(--err);font-weight:700}.rb-all tr.r5-보류 .ans-txt{color:var(--mock);font-weight:700}.rb-all tr.r5-비해당{color:var(--sub)}
.grade-legend{margin:4px 0 8px}

/* 상담 분석 CE 연결 프리셋 */
.ce-preset,.ce-preset-save{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.ce-preset small{flex-basis:100%}
.ce-preset{padding:10px 12px;border:1px solid var(--primary);border-radius:6px;background:var(--primary-weak)}

/* 분석 옵션: 한 장짜리 패널 (앞의 label 개별 배치 규칙을 덮음) */
.run-opts{position:relative}.run-opts>summary{list-style:none;padding:6px 10px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;font-size:12px;color:var(--text)}
.run-opts>summary::-webkit-details-marker{display:none}.run-opts[open]>summary{border-color:var(--primary);color:var(--primary)}
.run-opts[open]>label{position:static}
.run-opts-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:10;width:300px;display:grid;gap:10px;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 28px #17203324}
.run-opts-panel label{margin:0;align-items:flex-start;gap:10px;color:var(--text);cursor:pointer}.run-opts-panel input{margin-top:3px}.run-opts-panel b{font-size:13px;display:block}.run-opts-panel small{margin-top:1px}
.slug-badge{background:var(--primary-weak);color:var(--primary-strong);font-weight:600}
.cls-item[title]:hover{background:var(--primary-weak)}

/* 처리 시간 타임라인·자동 평가 카드 */
.run-timeline{margin:10px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fafbfc}
.tl-title{margin-bottom:6px;font-size:13px}.tl-row{display:grid;grid-template-columns:120px 1fr 64px;gap:8px;align-items:center;margin:4px 0;font-size:12.5px}
.tl-track{position:relative;height:12px;background:#eef1f4;border-radius:3px}.tl-seg{position:absolute;top:0;bottom:0;border-radius:3px}
.tl-send{background:#8b95a3}.tl-proc{background:var(--primary)}.tl-sum{background:#4f9a9e}.tl-eval{background:var(--ink)}
.tl-sec{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.tl-label{color:var(--sub)}
.auto-eval{margin:8px 0;padding:10px 12px;border:1px solid var(--primary);border-left:4px solid var(--primary);border-radius:8px;background:var(--primary-weak);font-size:13px}
.ae-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.ae-item{padding:1px 7px;border-radius:5px;background:#fff;border:1px solid var(--border);font-size:12px}
.auto-eval .mini{margin-top:4px}

/* 모달 창 메뉴: 요약 줄은 버튼처럼, 내용은 대화상자 */
details.pop{border:0;padding:0;background:none;margin:6px 0}
details.pop>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;padding:5px 12px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;font-size:13px;color:var(--text);font-weight:400}
details.pop>summary::-webkit-details-marker{display:none}details.pop>summary::before{content:none!important}
details.pop>summary:hover{border-color:var(--primary);color:var(--primary)}
details.pop>summary.attn{border-color:var(--warn);background:var(--warn-weak);color:var(--warn)}
.prompt-section details.pop{display:inline-block;margin:0 6px 0 0}
.pop-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;display:none;flex-direction:column}
.pop-dialog[open]{display:flex}.pop-dialog.wide{width:min(1180px,calc(100vw - 32px))}
.pop-dialog .dialog-head{position:sticky;top:0;background:#fff;padding:14px 20px 10px;margin:0;border-bottom:1px solid var(--border);z-index:1}
.pop-dialog .dialog-head h2{font-size:16px}
.pop-body{padding:14px 20px 18px;overflow:auto}
.pop-body>textarea,.pop-body .grid{margin-top:4px}
.pop-body #sampleCards{grid-template-columns:1fr;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:0}
.pop-body .sample-card{flex-direction:row;align-items:center;gap:12px;min-height:0;border:0;border-radius:0;border-bottom:1px solid #edf0f3;padding:9px 12px;width:100%}
.pop-body .sample-card .sample-top{width:auto;order:2;flex:none;gap:8px}.pop-body .sample-card strong{order:1;flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-body .sample-card .sample-desc{display:none}.pop-body .sample-card .sample-meta{order:3;margin:0;min-width:58px;text-align:right}
.pop-body .sample-card:hover{background:var(--primary-weak)}
.pop-body pre{max-height:none}
/* 모달 창 검수 보완: 편집 표 입력칸 높이, 연결 상세 이중 테두리, 버튼 문구 간격 */
.ed-table textarea{min-height:0;height:auto;resize:vertical}
#evalConnDetails.pop{border:0;padding:0;background:none}
details.pop>summary span{margin:0}

/* 도움말: ? 표시와 설명 상자 */
.tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;border:1px solid var(--border-strong);color:var(--muted,#667);font-size:11px;font-weight:700;line-height:1;cursor:help;vertical-align:middle;background:#fff;flex:none}
.tip:hover,.tip:focus{border-color:var(--primary);color:var(--primary);outline:none}
.tip-box{position:fixed;z-index:10000;background:#1f2933;color:#fff;font-size:12.5px;line-height:1.55;font-weight:400;padding:8px 11px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.18);pointer-events:none;white-space:normal;text-align:left}
#rubricDefNote{display:block;white-space:pre-line;line-height:1.6}

/* 평가 화면: 좌측 설정 열을 좁히고 우측 작업 영역을 넓힌다. 평가 모델은 한 줄 요약 + 모달 창 */
#evaluationPanel{max-width:1760px}
.eval-layout{grid-template-columns:280px minmax(0,1fr)}
@media (min-width:1180px) and (max-width:1360px){.eval-layout{grid-template-columns:270px minmax(0,1fr)}}
@media(max-width:1100px){.eval-layout{grid-template-columns:minmax(0,1fr)}}
.eval-config section{padding:14px}
.eval-config .seg{flex-wrap:wrap}.eval-config .seg button{flex:1 1 auto;white-space:normal;font-size:12.5px}
.model-summary{display:grid;gap:2px;margin:8px 0 2px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg,#f7f8fa);font-size:12.5px}
.model-summary .ms-row{display:flex;gap:8px;min-width:0}.model-summary .ms-k{flex:none;width:58px;color:var(--sub)}
.model-summary .ms-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-summary .ms-v.bad{color:var(--warn)}
.pop-body #evalConnDetails,.pop-body details.adv{border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin:10px 0}
.pop-body #evalConnDetails>summary,.pop-body details.adv>summary{cursor:pointer;font-weight:600}
.eval-config .method-row{display:block}.eval-config .method-row .field-label{display:block;margin-bottom:4px}
.eval-config .seg{display:flex;width:100%}.eval-config .seg button{min-width:0;padding-left:6px;padding-right:6px}
#evalModelBox.pop>summary{display:flex;width:100%;justify-content:center}
.eval-config .seg>button{flex:1 1 0!important;white-space:normal;word-break:keep-all;line-height:1.3}
.eval-config .method-row .seg{min-width:0;box-sizing:border-box}

/* ── v0.8.0 평가 기준 v0.6: 100점 품질점수·합격 조건·세부 항목 번호 ── */
.rubric-q.v6{table-layout:fixed}.rubric-q.v6 th:nth-child(1){width:64px}.rubric-q.v6 th:nth-child(3){width:96px}
.rubric-q.v6 tr.v6-item td{background:#f5f7fa;padding-top:8px;border-top:1px solid var(--border)}.rubric-q.v6 .v6-top{font-size:11.5px;color:var(--ok);margin-top:2px}
.rubric-q.v6 .v6-no,.v6-hit-table .mono,.rb-all .mono{white-space:nowrap;font-variant-numeric:tabular-nums}
.v6-ded{white-space:nowrap}.v6-ded.sev-중{color:var(--warn)}.v6-ded.sev-하{color:var(--err)}.v6-ded.crit{font-weight:700}
.v6-rules{display:grid;gap:6px;margin:6px 0 10px}.v6-rule{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12.5px;display:grid;gap:2px}
.v6-gates td:nth-child(n+2),.v6-gates th:nth-child(n+2){white-space:nowrap}
#evalSummary .v6-block,#evalSummary .v6-cmp,#evalSummary .v6-wide{grid-column:1/-1}
.v6-block{display:grid;gap:8px}
.v6-card{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"head gate" "mets gate" "hits hits";gap:10px 18px;align-items:start}
.v6-head{grid-area:head;display:grid;gap:2px}.v6-mets{grid-area:mets}.v6-card .gate-box{grid-area:gate}.v6-hits{grid-area:hits}
@media(max-width:900px){.v6-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "mets" "gate" "hits"}}
.v6-score{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.v6-score .stat-num{font-size:30px;font-weight:700}
.v6-mets{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.v6-met{border:1px solid var(--border);border-radius:8px;padding:5px 8px;display:grid;gap:1px;min-width:0}.v6-k{font-size:11.5px;color:var(--sub)}.v6-v{font-size:14px;font-variant-numeric:tabular-nums}
.v6-met.bad{border-color:#f0c4c6;background:var(--err-weak)}.v6-met.bad .v6-v{color:var(--err)}
.gate-box{border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:0}
.gate-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gate-seg button{padding:3px 12px}.chip.gate-res{margin:0 0 0 auto;font-weight:600}
.chip-hold{background:var(--mock-weak);color:var(--mock);font-weight:600}
.gate-table td{font-variant-numeric:tabular-nums}.gate-table .gate-pass{white-space:nowrap;font-weight:600}
.gate-table tr.gp-ok .gate-pass{color:var(--ok)}.gate-table tr.gp-bad .gate-pass{color:var(--err)}.gate-table tr.gp-na .gate-pass{color:var(--sub)}.gate-table .gate-pass .hint{font-weight:400}
.v6-hits{display:grid;gap:3px;font-size:12px}.v6-hit-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.v6-hit-item{width:72px;flex:none;color:var(--sub)}.v6-hit{padding:0 6px;border-radius:5px;border:1px solid var(--border);color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}
.v6-hit.on{color:var(--warn);background:var(--warn-weak);border-color:#f1d9a6;font-weight:700}.v6-hit.on.crit{color:var(--err);background:var(--err-weak);border-color:#f0c4c6}
.v6-band-wrap{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:#fff;overflow-x:auto}
.v6-bands td,.v6-bands th{white-space:nowrap;font-variant-numeric:tabular-nums}.v6-bands tr.main td{font-weight:600}.v6-bands tr.aux td{color:var(--mock)}
.score6{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.score6.zero{color:var(--err)}
.v6-hitnos{white-space:normal;min-width:80px;font-variant-numeric:tabular-nums}
.v6-fav{white-space:nowrap;color:var(--sub)}.v6-fav.differs{color:var(--mock);font-weight:600}
.v6-scoreline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0}.v6-scoreline strong{font-size:18px}
.v6-favline{border-left:3px solid var(--mock);background:var(--mock-weak);padding:4px 8px;border-radius:4px;font-size:12.5px}
.v6-sub{display:block;margin:8px 0 2px;font-size:12.5px}.v6-holds{color:var(--mock);font-size:12.5px}
.target-res{white-space:nowrap;font-variant-numeric:tabular-nums}.ae-score{font-variant-numeric:tabular-nums}
.v6-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gate-table td:nth-child(2),.gate-table td:nth-child(3){white-space:nowrap}.gate-table td:first-child{min-width:110px}
#rubricQuestions .v6-ded.crit{color:var(--err)}#rubricQuestions .v6-ded.sev-하:not(.crit){color:var(--text)}
.v6-gates{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0}.v6-gates th,.v6-gates td{border-bottom:1px solid #eef1f5;padding:4px 6px;text-align:left;vertical-align:top}.v6-gates th{background:#f5f7fa}
/* v0.8.3 — 평가 기준 v0.6.3 화면: 5개 항목 색(기준 문서 3-2절과 같은 색), 항목 카드·항목별 묶음, 평가 결과 맨 위 세부 항목 확인 */
.v6-c-inquiry{--ic:#E7F0FB;--ib:#9fbde8}.v6-c-handling{--ic:#E6F5EC;--ib:#93ccab}.v6-c-keyInfo{--ic:#FFF5DC;--ib:#e6c66f}.v6-c-followup{--ic:#FDEBE1;--ib:#eba98a}.v6-c-sub{--ic:#EFE9F9;--ib:#b9a5e0}
.v6-glance{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin:4px 0 10px}
.v6-gcard{background:var(--ic,#f5f7fa);border:1px solid var(--ib,var(--border));border-radius:10px;padding:10px 12px}
.v6-ghead{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.v6-ghead b{font-size:15px}.v6-ghead span{font-size:12.5px;color:var(--sub)}
.v6-gdl{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:12.5px}.v6-gdl dt{color:var(--sub);white-space:nowrap}.v6-gdl dd{margin:0}.v6-gzero{color:var(--err);font-weight:700}
.v6-gmore{margin-top:8px;font-size:12.5px}.v6-gmore>summary{cursor:pointer;color:var(--primary);font-weight:600}.v6-gmore table{width:100%;margin-top:4px;background:#fff;border-radius:6px}
.v6-gline{grid-column:1/-1;margin:2px 0 0;font-weight:600;font-size:13px}
.v6-focus{border:2px solid var(--primary);border-radius:12px;background:#fff;padding:12px 14px;margin:6px 0 14px;box-shadow:var(--shadow)}
.v6-top-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.v6-top-head h3{font-size:16px;margin-right:4px}.v6-top-sel{min-width:220px;max-width:100%}
.v6-top-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start}
.v6-top-score{display:flex;align-items:baseline;justify-content:center;gap:2px;padding:12px 6px;border-radius:10px;background:var(--ok-weak);color:var(--ok)}
.v6-top-card.ded .v6-top-score{background:var(--warn-weak);color:var(--warn)}.v6-top-card.crit .v6-top-score{background:var(--err-weak);color:var(--err)}
.v6-top-score strong{font-size:40px;line-height:1;font-variant-numeric:tabular-nums}.v6-top-meta{min-width:0}.v6-top-grade{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.v6-top-more{margin-top:10px}.v6-top-more>summary{cursor:pointer;color:var(--primary);font-weight:600}
.v6-gline-r{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-radius:8px;background:#f5f7fa;font-size:13px;margin-bottom:8px}
.v6-gchip{padding:1px 8px;border-radius:999px;border:1px solid var(--border);background:#fff;white-space:nowrap}.v6-gchip.g5-하{border-color:#efb9bc}.v6-gchip.g5-중{border-color:#f0d39c}.v6-gchip.g5-na{color:var(--faint)}
.v6-sep{color:var(--faint)}.v6-arrow{color:var(--faint);margin:0 2px}.v6-gscore{font-size:14px}
.v6-groups .v6-group{border-left:4px solid var(--ib,var(--border));background:color-mix(in srgb,var(--ic,#fff) 45%,#fff);border-radius:6px;padding:6px 10px;margin:6px 0}
.v6-group.na{opacity:.75}.v6-group-h{display:flex;align-items:center;gap:8px}.v6-group .v6-none{margin:2px 0 0;color:var(--ok)!important}.v6-group table{margin-top:4px;background:#fff}
.v6-hit-table tr.crit td{background:var(--err-weak)}.v6-hit-table td.sev.crit{color:var(--err);font-weight:700}
#evalTable tr.v6-sel>td{background:var(--primary-weak)}
.v6-itemcnt{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px}.v6-itemcnt th,.v6-itemcnt td{padding:3px 8px;border-bottom:1px solid var(--border);text-align:center}.v6-itemcnt td:first-child,.v6-itemcnt th:first-child{text-align:left}.v6-itemcnt tr[class^="v6-c-"] td:first-child{border-left:4px solid var(--ib)}
details.v6-hits>summary{cursor:pointer;font-weight:600;margin:6px 0}
.v6-hints{border:1px dashed var(--border-strong);border-radius:10px;background:#fbfcfe;padding:10px 12px;margin:6px 0 12px}.v6-hint-table{width:100%;border-collapse:collapse;font-size:12.5px}.v6-hint-table th,.v6-hint-table td{border-bottom:1px solid var(--border);padding:4px 6px;text-align:left;vertical-align:top}.v6-hint-step{white-space:nowrap;font-weight:600}
/* 기대 결과와 비교: 다른 곳은 빨간 ✗와 결과·기대 값 */
.cmp-facts li.cmp-ok{color:var(--ok)}.cmp-facts li.cmp-bad{color:var(--err);font-weight:600;background:var(--err-weak);border-radius:6px;padding:2px 8px}
.cmp-diffs{list-style:none;margin:4px 0 2px;padding:0 0 0 12px;display:grid;gap:2px;font-weight:400}.cmp-diffs li{display:flex;flex-wrap:wrap;gap:6px;color:var(--text)}.cmp-got{color:var(--err)}.cmp-exp{color:var(--ok)}
.r-compare.r-compare-bad{border-color:#efb9bc}.cmp-badge{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--err);color:#fff;font-size:12px;font-weight:700}
/* 처리 시간: CE 단계별 시간 */
.tl-tasks{margin-top:8px;padding-top:6px;border-top:1px dashed var(--border)}.tl-sub{font-size:12.5px}.tl-fail{background:var(--err)!important}
.tl-sum{margin:6px 0 0;font-size:12.5px}.tl-ess b{color:var(--primary-strong)}
@media (max-width:640px){.v6-top-card{grid-template-columns:1fr}.v6-top-score strong{font-size:32px}}
.v6-top-sel{flex:0 1 360px;min-width:180px}
/* v0.8.4 요약 평가: 진행 띠 → 상태 줄 → 집계 → 표 → 상세 모달 */
.eval-band{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);font-size:13.5px}
.eval-band[hidden]{display:none}.band-top{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.band-n{font-size:15px}.band-run{color:var(--primary)}
.band-row{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}.band-g{font-weight:600;color:var(--sub)}.band-mean{font-weight:600}
.band-bad{color:var(--err);font-weight:700}.band-warn{color:var(--warn);font-weight:700}
.eval-verdict{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.verdict-line{border:1px solid var(--border);border-left:5px solid var(--border-strong);border-radius:8px;padding:10px 14px;background:var(--card)}
.verdict-line.v-bad{border-left-color:var(--err);background:var(--err-weak)}.verdict-line.v-hold{border-left-color:var(--warn);background:var(--warn-weak)}.verdict-line.v-ok{border-left-color:var(--ok);background:var(--ok-weak)}
.verdict-main{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;font-size:15px}.v-crit{color:var(--err);font-weight:700}.v-res{font-weight:700}.v-bad .v-res{color:var(--err)}.v-hold .v-res{color:var(--warn)}
.verdict-sub,.verdict-basis{margin-top:3px;font-size:12.5px}
.v6-ref{margin-top:4px;font-size:13px}.v6-ref b{margin:0 4px}
.v6-itembars{display:flex;flex-direction:column;gap:5px;margin:10px 0}.v6-ibar-row{display:grid;grid-template-columns:76px minmax(80px,1fr) auto;gap:8px;align-items:center;font-size:12.5px}
.v6-ibar-name{font-weight:600}.v6-ibar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#eef1f4;border:1px solid var(--border)}
.v6-ibar-상{background:var(--ok)}.v6-ibar-중{background:var(--warn)}.v6-ibar-하{background:var(--err)}.v6-ibar-txt{color:var(--sub);white-space:nowrap}
.v6-band-wrap,.v6-cmp-wrap{margin:8px 0}.v6-band-wrap>summary,.v6-cmp-wrap>summary{cursor:pointer;font-weight:600}.v6-aux-crit{font-weight:600}
.eval-filter{display:flex;flex-wrap:wrap;gap:0;margin:8px 0}.eval-filter[hidden]{display:none}.eval-filter button[aria-pressed="true"]{background:var(--primary);color:#fff;border-color:var(--primary)}
.st6{white-space:nowrap;font-weight:600}.st6.st-crit{color:var(--err)}.st6.st-fail{color:var(--mock)}.st6.st-hold{color:var(--warn)}.st6.st-low{color:var(--err)}
.crit-note{display:block;margin-top:2px;font-size:11.5px;font-weight:700;color:var(--err);white-space:nowrap}
#evalTable tr.row-click{cursor:pointer}#evalTable tr.row-click:hover td{background:var(--primary-weak)}#evalTable tr.row-crit td:first-child{box-shadow:inset 4px 0 0 var(--err)}
.detail-dlg .dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.v6-src{margin:10px 0}.v6-src>summary{cursor:pointer;font-weight:600}.v6-src-body{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.6;background:#fbfcfd}
.v6-src-line.hl{background:#fff3b0;outline:2px solid #f2c200;border-radius:3px}
.link-btn{all:unset;cursor:pointer;color:var(--primary);text-decoration:underline;text-underline-offset:2px}.link-btn:focus-visible{outline:2px solid var(--primary)}
.scope-seg button{padding:5px 14px}.step-h{display:flex;align-items:center;gap:6px;margin:14px 0 6px;font-size:15px}
.single-box{display:flex;flex-direction:column;gap:6px}.single-result{margin-top:12px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px 14px;background:var(--card)}
.single-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}.single-score{font-size:22px}
.sample-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0;padding:8px 10px;border:1px dashed var(--border-strong);border-radius:8px}.sample-group small{flex-basis:100%}
.run-basis{margin:4px 0 0;font-size:12.5px}.run-row{align-items:center}
details.pairs-box.pop{display:inline-block;margin:0}
.dl-menu{position:relative;display:inline-block}.dl-menu>summary{list-style:none;cursor:pointer;padding:3px 10px;border:1px solid var(--border-strong);border-radius:6px;font-size:12.5px;background:#fff}
.dl-menu>summary::-webkit-details-marker{display:none}.dl-list{position:absolute;right:0;top:calc(100% + 4px);z-index:6;display:flex;flex-direction:column;gap:4px;padding:6px;background:#fff;border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow)}
.eval-tools{gap:6px;flex-wrap:wrap}.eval-tools details.pop{display:inline-block;margin:0}.ed-scope{font-weight:600}
@media(max-width:1000px){.v6-ibar-row{grid-template-columns:64px minmax(60px,1fr)}.v6-ibar-txt{grid-column:1/-1;white-space:normal}.eval-band{position:static}}
/* v0.8.4.1: 진행 띠는 흐름 안(본문을 가리지 않음), 상세 표 좁은 열 최소 폭 */
.eval-band{position:static;box-shadow:none}.band-old{font-size:12.5px}
.v6-hit-table th:nth-child(5),.v6-hit-table td:nth-child(5){min-width:140px}.v6-hit-table th:nth-child(6),.v6-hit-table td:nth-child(6){min-width:64px;white-space:nowrap}.v6-hit-table th:nth-child(7),.v6-hit-table td:nth-child(7){min-width:120px}
.v6-hit-table th{white-space:nowrap}
/* v0.8.4.2: 목록에 없는 이전 결과(집계 제외)는 회색 */
#evalTable tr.row-old td{color:var(--faint);background:#f6f7f9}#evalTable tr.row-old .grade,#evalTable tr.row-old .cellm{opacity:.55}.st6.st-old{color:var(--faint);font-weight:500;white-space:normal}
/* v0.8.5: 카드 보기·상세·로그 보기 전환 시 머리줄 폭 고정(유형 동기화 버튼은 카드 보기에서 자리만 차지) */
body.mode-design header #sync{display:inline-flex!important;visibility:hidden}
/* v0.8.5: 기대 결과와 다른 곳은 오류가 아닌 ‘확인 필요’(주황) */
.cmp-facts li.cmp-chk{color:var(--warn);font-weight:600;background:var(--warn-weak);border-radius:6px;padding:2px 8px}.cmp-chk .cmp-got{color:var(--text)}.cmp-chk .cmp-exp{color:var(--sub)}
.r-compare.r-compare-chk{border-color:#f0cf8f}.r-compare-chk .cmp-badge{background:var(--warn)}
.tl-calc{margin:6px 0 0;font-size:12.5px;color:var(--text)}.tl-calc.tl-ess b{color:var(--primary-strong)}.tl-calc.tl-total{font-weight:600;border-top:1px dashed var(--border);padding-top:4px}
/* v0.8.5: 눌린 버튼 글자가 굵어져도 머리줄이 움직이지 않게 화면 모드 버튼 폭 고정 */
header .seg{display:inline-grid;grid-template-columns:repeat(2,104px)}header .seg button{white-space:nowrap;text-align:center;padding-left:4px;padding-right:4px}

/* v0.8.6 평가 실행 버튼을 대상 준비 머리줄로, 넓은 화면(1600px 이상)에서는 추가 도구 | 대상 목록 좌우 배치 */
.run-head{display:flex;align-items:center;gap:6px;margin-left:auto}.run-head[hidden]{display:none}
#evalTargetSection .section-head{flex-wrap:wrap}
.run-line{margin:-4px 0 6px;font-size:12.5px}.run-line .run-basis{margin:0}
@media(min-width:1600px){
 #evaluationPanel{max-width:1760px}
 .target-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
 .target-tools .add-tools{display:flex;flex-direction:column;align-items:stretch;gap:6px}.target-tools .add-tools>button,.target-tools .pairs-box{width:100%}
 .target-tools .sample-group{flex-direction:column;align-items:stretch}
 .target-main .target-list{margin-top:10px}
}
/* v0.8.6 상세·로그 보기 근거 열 */
.v6-evid{min-width:280px;max-width:520px;font-size:12.5px;line-height:1.45;white-space:normal}
.v6-evid .ev-line{margin:0 0 4px}.v6-evid .ev-line b{margin-right:2px}
.v6-evid .ev-tag{display:block;margin-left:10px;color:var(--warn)}.v6-evid .ev-tag.note{color:var(--sub)}
.v6-evid .ev-fail{color:var(--err)}
.evid-legend{margin:6px 0}
@media(min-width:1600px){.target-tools .pairs-box>summary{display:block;text-align:center}.target-tools .add-tools>button.mini{align-self:stretch}}

/* v0.8.7 평가 기준표 보기: 5개 항목 표(한 번에 한 항목만 펼침), 점수 계산·합격 조건 좌우 */
.v6-glance:has(.v6-matrix){display:block}
.v6-matrix{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
.v6-matrix th{background:var(--bg);color:var(--sub);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}
.v6-matrix th:nth-child(1){width:150px}.v6-matrix th:nth-child(2){width:15%}.v6-matrix th:nth-child(6){width:84px}
.v6-matrix td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.45;word-break:keep-all}
.v6-mrow{cursor:pointer}.v6-mrow:hover,.v6-mrow.open{background:var(--primary-weak)}
.v6-mname b{margin-right:4px}.v6-mname .hint{margin-top:2px;font-size:11.5px}
.v6-kind{display:inline-block;font-size:11px;padding:0 6px;border-radius:999px;border:1px solid var(--border-strong);color:var(--sub);vertical-align:1px}.v6-kind.k-core{border-color:var(--primary);color:var(--primary)}
.v6-mdet>td{background:var(--card);padding:8px 10px 10px}
.v6-rgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
.v6-ritem{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:6px;align-items:baseline;padding:3px 0;border-bottom:1px dashed var(--border)}
.v6-ritem .v6-ded{white-space:nowrap;font-size:12px}
.v6-rules:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
@media(max-width:900px){.v6-rgrid,.v6-rules:not([hidden]){grid-template-columns:minmax(0,1fr)}.v6-matrix{table-layout:auto}}
/* 평가 기준 편집 탭 */
.ed-tabs{display:inline-flex;margin:0 0 10px}.ed-tabs button{padding:6px 14px}
.ed-pane>b{display:block;margin:10px 0 4px}
.v6-bycount,.v6-lowcount{margin:8px 0 0;font-size:12.5px}.v6-bycount>summary,.v6-lowcount>summary{cursor:pointer;color:var(--primary);font-weight:600}

/* v0.8.9: 기준 v0.6.9 — 경계 두 줄, 하 항목 수별·60점 미만 하 사유, 0점 하(전 항목 오류) 표시 / 상태 기준 구간 */
.v6-bound{font-size:12px;color:var(--muted,#555);margin:4px 0 0}
.v6-u60h{display:block;margin:8px 0 4px;font-size:12px}
.v6-under60{margin:0;padding-left:18px;font-size:12px;line-height:1.6}
.crit-note.low-zero{color:#b35c00}
.tl-calc.tl-rest b{color:var(--sub)}
/* v0.8.12: 쓰지 않는 선택지(간이 평가·이전 기준·규칙 대조)는 숨기고, 남은 하나는 고정 표시처럼 보인다(설명 말풍선은 그대로). ?legacy=1이면 모두 보임. */
body:not(.legacy) .legacy-opt{display:none!important}
body:not(.legacy) .seg button[aria-pressed="true"]{cursor:default}
/* v0.8.12: 평가 기준 수정 — 항목별 카드·판정 규칙 */
.ed-card{border:1px solid #e3e7ee;border-radius:8px;padding:10px 12px;margin:0 0 12px;background:#fff}.ed-card h4{margin:0 0 8px;font-size:14px}
.ed-field{display:block;margin:0 0 8px}.ed-field textarea,.ed-field input,.ed-field select{width:100%;font-size:12px}.ed-label{display:block;font-size:12px;font-weight:600;margin:0 0 3px;color:#334}
.ed-ai textarea,.ed-ai input{border-color:#9db8e8;color:#1d3f8a}.ed-ai-chip{margin-left:6px;font-size:10px;font-weight:500}
.ed-reasons{border-top:1px dashed #e3e7ee;padding-top:8px}.ed-reason{display:grid;grid-template-columns:52px 1fr 150px;gap:8px;align-items:start;margin:0 0 6px}.ed-reason .ed-field{margin:0}.ed-no{padding-top:4px}
.ed-reason-side .ed-field{margin:0 0 4px}
.ed-order{margin:4px 0 0;padding-left:22px}.ed-order li{margin:2px 0}.ed-order li span{display:inline-block;min-width:90px}.ed-order button{margin-left:4px}
@media (max-width:640px){.ed-reason{grid-template-columns:1fr}}
.ed-card textarea{min-height:0!important;height:auto;resize:vertical;line-height:1.45}
/* v0.8.12: 평가 방식·기준 패널 3줄(평가 방식 · 평가 기준 · 판정 방식). ?legacy=1이면 예전 선택지·요약 줄. */
body:not(.legacy) .legacy-only{display:none!important}body.legacy .nolegacy{display:none!important}
.kv-row,body:not(.legacy) .kv-sum>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0 0 8px;border:1px solid var(--border);border-radius:10px;background:var(--card);font-size:14px;list-style:none;color:var(--text)}
body:not(.legacy) .kv-sum>summary::-webkit-details-marker{display:none}body:not(.legacy) .kv-sum>summary::marker{content:''}
body:not(.legacy) .kv-sum>summary{cursor:pointer;transition:border-color .15s,background .15s}body:not(.legacy) .kv-sum>summary:hover{border-color:var(--primary);background:var(--primary-weak)}
.kv-label{flex:0 0 64px;font-size:12px;color:var(--sub);font-weight:500}.kv-val{flex:1;font-weight:700}.kv-go{font-size:12px;color:var(--primary);white-space:nowrap}
body.legacy .kv-label,body.legacy .kv-go{display:none}body:not(.legacy) #promptBadge{display:none}body:not(.legacy) #rubricEditor>summary{display:none}
body:not(.legacy) .eval-tools{display:block}body:not(.legacy) #rubricMore,body:not(.legacy) #promptEditor{margin:0;padding:0;border:0;background:none}
/* v0.8.12: 기준표 보기 */
.v6v-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;background:var(--primary-weak);margin:0 0 18px}.v6v-lead{margin:0;font-size:15px;font-weight:600;color:var(--text)}
.v6v-h{font-size:15px;margin:22px 0 10px;color:var(--text)}
.v6v-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v6v-step{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.v6v-step strong{font-size:13px}.v6v-step span{font-size:12px;color:var(--sub);line-height:1.5}.v6v-num{font-size:22px;line-height:1.1}
.s-start .v6v-num{color:var(--primary)}.s-mid .v6v-num{color:var(--warn)}.s-low .v6v-num{color:var(--err)}.s-once .v6v-num{color:var(--text);font-size:18px}
.v6v-ex{margin:10px 0 0;padding-left:18px;font-size:13px;color:var(--sub);line-height:1.7}
.v6v-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.v6v-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card);display:flex;flex-direction:column;gap:8px}
.v6v-chead{display:flex;align-items:center;justify-content:space-between;gap:8px}.v6v-chead b{font-size:15px}.v6v-when{font-size:11px;color:var(--sub);background:var(--bg);border-radius:999px;padding:2px 8px;text-align:right}
.v6v-q{margin:0;font-size:13px;color:var(--sub)}.v6v-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}.v6v-levels li{display:flex;gap:8px;align-items:flex-start;line-height:1.45}
.v6v-badge{flex:0 0 auto;min-width:52px;text-align:center;font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px}.b-top{background:var(--ok-weak,#e8f6ee);color:var(--ok,#16794a)}.b-mid{background:var(--warn-weak,#fff5e0);color:var(--warn,#9a5b00)}.b-low{background:var(--err-weak,#fdecec);color:var(--err,#c0262d)}
.v6v-more>summary{cursor:pointer;font-size:12px;color:var(--primary)}.v6v-rlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.v6v-rlist li{display:grid;grid-template-columns:48px 1fr auto;gap:6px;font-size:12px;line-height:1.45}
.v6v-bounds ul{margin:0;padding:12px 14px 12px 30px;border-radius:12px;background:var(--bg);font-size:13px;line-height:1.7;color:var(--text)}.v6v-bounds li.v6-bound{margin:0 0 4px;border:0;padding:0;background:none}
@media (max-width:760px){.v6v-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
body:not(.legacy) .kv-sum{display:block;width:100%;flex:1 1 100%}
#rubricGlance:not([hidden]){display:block!important;grid-template-columns:none}
body:not(.legacy) #rubricEditor{margin:0!important;padding:0!important;border:0!important;min-height:0}body:not(.legacy) .eval-tools{margin:0;gap:0}
body:not(.legacy) #rubricEditor{display:block;height:0;overflow:hidden}body:not(.legacy) #rubricEditor[hidden]{display:none}
/* v0.8.12: 항상 보이는 쉬운 설명 */
.ed-help{display:block;margin:4px 0 0;font-size:12px;line-height:1.55;color:var(--sub);font-weight:400}
.ed-guide{margin:10px 0 12px;padding:12px 14px;border-radius:10px;background:var(--primary-weak);font-size:13px;line-height:1.6}.ed-guide b{display:block;margin:6px 0 2px;font-size:13px}.ed-guide b:first-child{margin-top:0}.ed-guide p{margin:0 0 4px;color:var(--text)}
#rubricEdBody .ed-defaults label{align-self:start}
#rubricEdBody label.check{flex-wrap:wrap}#rubricEdBody label.check .ed-help{flex:1 1 100%;margin-left:24px}
/* v0.8.12: 헷갈릴 때는 이렇게 봐요(개조식 카드) · 세부 설정 메모 */
.v6v-bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v6v-bcard{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--bg)}
.v6v-bcard h4{margin:0 0 6px;font-size:13px}.v6v-bcard ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65;color:var(--text)}
.v6v-notes{display:block;margin-top:10px}.v6v-notes ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12px;color:var(--sub)}.v6v-notes li{display:grid;grid-template-columns:150px 1fr;gap:8px}.v6v-notes b{color:var(--text);font-weight:600}
#rubricMore .ed-help{max-width:none}
@media (max-width:760px){.v6v-bgrid{grid-template-columns:1fr}.v6v-notes li{grid-template-columns:1fr}}
/* v0.8.21 판정 뒤 LLM 다시 보기 설정 */
.ed-review{margin:4px 0 16px}.ed-review-item{padding:10px 12px;margin:8px 0;border:1px solid var(--border);border-radius:10px;background:var(--card)}.ed-review-item .check{font-weight:600}.ed-review-guide{margin:6px 0 0 22px;padding:0;font-size:13px;line-height:1.6;color:var(--sub)}

/* v0.8.26: 결과 카드의 자세히 보기 버튼 줄(누르면 모달 창) · 통계 자세히 표 · 대상 준비 정리 */
.v6-more-bar{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--border)}
.v6-more-bar>details.pop,.v6-cmp-wrap.pop{margin:0}
.v6-more-bar>details.pop>summary,.v6-cmp-wrap.pop>summary{height:32px;padding:0 12px;font-size:13px;gap:6px}
.v6-more-bar>details.v6-stats.pop>summary{border-color:var(--primary);color:var(--primary);font-weight:600}
.pop-dialog .pop-body .v6-stats-note{margin:0 0 4px}
.v6-stats-sec{border:0;box-shadow:none;padding:0;margin:16px 0 0;background:none}
.v6-stats-sec h3{font-size:14px;margin:0 0 8px;color:var(--text)}
.v6-stats-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
.v6-stats-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.v6-stats-tbl th,.v6-stats-tbl td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}
.v6-stats-tbl tr:last-child>*{border-bottom:0}
.v6-stats-tbl tr:first-child th{background:#f6f8fa;color:var(--sub);font-weight:600;font-size:12.5px;position:sticky;top:0}
.v6-stats-tbl tr:not(:first-child)>th{font-weight:600;color:var(--text);background:none}
.v6-stats-tbl.num td{text-align:right}
.v6-stats-tbl.wrap3 td:nth-child(3){white-space:normal;min-width:260px}
.v6-stats-tbl tr:not(:first-child):hover>*{background:#f8fafc}
.pop-dialog .pop-body .v6-hit-row{margin:6px 0}
.target-tools .add-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;align-items:stretch}
.target-tools .add-tools>*{margin:0!important;width:100%;min-width:0}
.target-tools .add-tools>button,.target-tools .pairs-box>summary{height:38px;display:flex!important;align-items:center;justify-content:center;width:100%;margin:0!important;padding:0 12px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
.target-tools .add-tools>button.mini{color:var(--sub);font-size:13px}
.target-tools .pairs-box.pop{display:block;padding:0!important;border:0!important;background:none!important}
.target-tools .sample-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;padding:10px 12px;border-style:solid;border-color:var(--border);background:#f8f9fb}
.target-tools .sample-group>b{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:13.5px}
.target-tools .sample-group>button{width:100%;height:34px;margin:0}
@media(min-width:1600px){.target-tools .add-tools,.target-tools .sample-group{grid-template-columns:1fr}}
details.file-help.pop{display:block;margin:4px 0 0}
details.file-help.pop>summary{border:0;background:none;padding:2px 0;color:var(--sub);font-size:12.5px;text-decoration:underline;text-underline-offset:3px}
details.file-help.pop>summary:hover{color:var(--primary)}
.file-help-list{margin:0;padding-left:18px;line-height:1.7;font-size:13.5px}
/* v0.8.26 다듬기: 막대 설명은 줄바꿈(카드 밖으로 넘치지 않게), 버튼 줄은 카드 전체 폭·같은 높이, 숫자 열 머리글은 값과 같은 정렬 */
.v6-ibar-row{grid-template-columns:76px minmax(90px,150px) minmax(0,1fr)}
.v6-ibar-txt{white-space:normal;line-height:1.4;min-width:0}
.v6-card>.v6-more-bar{grid-column:1/-1}
.v6-more-bar>details.pop>summary,.v6-cmp-wrap.pop>summary{display:inline-flex;align-items:center;height:34px;box-sizing:border-box;line-height:1}
.v6-more-bar>details.pop>summary .tip{margin-left:2px}
.v6-stats-tbl.num tr:first-child th:not(:first-child){text-align:right}
.v6-stats-sec .v6-stats-scroll:has(> .v6-stats-tbl.narrow){max-width:520px}
.v6-more-bar>details.pop>summary{padding:0 12px!important;margin:0!important;font-weight:400;font-size:13px;background:#fff}
.v6-more-bar>details.v6-stats.pop>summary{font-weight:600}
@media(min-width:901px){.v6-card>.v6-itembars{grid-column:2;grid-row:1 / span 2;margin:0}}

/* v0.8.27: 판정 방식은 표시만, 평가 프롬프트는 칸 아래 오른쪽의 흐린 고급 링크(마우스를 올리면 진해짐) */
.kv-row.kv-static{cursor:default}
#promptEditor.prompt-quiet{display:flex;justify-content:flex-end;margin:2px 0 0;border:0;background:none;padding:0}
#promptEditor.prompt-quiet>summary,#promptEditor.prompt-quiet.pop>summary{border:0!important;background:none!important;padding:2px 2px!important;font-size:12px;color:var(--faint);opacity:.55;text-decoration:underline;text-underline-offset:3px;transition:opacity .15s,color .15s}
#promptEditor.prompt-quiet>summary:hover,#promptEditor.prompt-quiet>summary:focus-visible{opacity:1;color:var(--primary)}
#promptEditor.prompt-quiet #promptBadge:empty{display:none}
#promptEditor.prompt-quiet #promptBadge{font-size:11px;padding:0 6px;text-decoration:none}

/* v0.8.28 로그인 화면(서버 모드) · 로그아웃 */
body.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);margin:0;padding:16px}
.login-card{width:min(380px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 24px 20px;box-shadow:var(--shadow)}
.login-card .brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.login-card form{display:flex;flex-direction:column;gap:12px}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--sub)}
.login-card button{height:40px;margin-top:4px}
.login-card .error{margin:0;font-size:13px}
.logout-link{font-size:12.5px;color:var(--sub);margin-left:6px;white-space:nowrap}.logout-link:hover{color:var(--primary)}
/* v0.8.28 로그인 화면: 본 화면용 전역 규칙(main 격자·body 높이·머리줄 흰 글자)을 덮어쓴다 */
body.login-page{display:flex;flex-direction:row;height:auto;min-height:100dvh;overflow:auto}
body.login-page main.login-card{flex:none;display:block;min-height:0;height:auto;max-width:380px;width:min(380px,100%);margin:0;padding:28px 28px 24px;grid-template-columns:none;box-sizing:border-box}
body.login-page .login-card .brand{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0 0 20px}
body.login-page .login-card .brand h1{color:var(--text);font-size:18px}
body.login-page .login-card .brand-sub{color:var(--sub);font-size:12px}
body.login-page .login-card input{box-sizing:border-box;width:100%;height:40px}
body.login-page .login-card button{width:100%}
header .logout-link{color:#b9c4d3;text-decoration:none;border:1px solid #4a5670;border-radius:6px;padding:3px 10px}
header .logout-link:hover{color:#fff;border-color:#8a97ad}
/* v0.8.29: 결과 카드 머리줄(<header>라 전역 머리줄의 어두운 배경을 받음)의 오른쪽 보조 글자(글자 수·유형 경로·callId)를 밝게 */
.r-card>header.r-head .r-sub,.r-card>header.r-head .r-callid{color:#c9d3e0}
.r-card>header.r-head .r-sub{font-variant-numeric:tabular-nums}
