.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;font-weight:760;font-size:.88rem;white-space:nowrap;box-shadow:0 1px 0 #fff inset;transition:transform .12s,box-shadow .12s,background .12s}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn.primary{background:var(--forest);color:#fff;border-color:var(--forest)}.btn.secondary{background:var(--brick);color:#fff;border-color:var(--brick)}.btn.soft{background:var(--forest-soft);border-color:#bdd3c7;color:#244d3e}.btn.warn{background:var(--gold-soft);border-color:#e2c487}.btn.danger{background:#fff1f1;color:var(--danger);border-color:#e6b9bb}.btn.ghost{background:transparent;box-shadow:none}.btn.small{min-height:32px;padding:6px 10px;font-size:.78rem}.btn.large{min-height:52px;padding:13px 20px;font-size:1rem}.btn.icon{width:40px;padding:0}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.panel-head h2,.panel-head h3{margin-bottom:5px}.panel-head p{margin:0;color:var(--muted);font-size:.9rem}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.hero{position:relative;overflow:hidden;padding:42px;border-radius:24px;background:linear-gradient(135deg,#244f3f,#376c58 58%,#8e452f);color:#fff;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:340px;height:340px;border:80px solid #ffffff10;border-radius:50%;right:-130px;top:-160px}.hero-kicker{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:#dcece4}.hero h1{max-width:850px;margin:10px 0 14px}.hero p{max-width:860px;color:#ecf5f0;margin-bottom:0}.hero .chip{background:#ffffff18;color:#fff;border-color:#ffffff2a}
.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.start-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:230px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);text-align:left}.start-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.start-card .number{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--forest-soft);color:var(--forest);font-weight:900}.start-card h2{margin:22px 0 8px}.start-card p{color:var(--muted);font-size:.92rem}.start-card .go{margin-top:auto;font-weight:850;color:var(--forest)}.start-card.merge .number{background:var(--brick-soft);color:var(--brick)}.start-card.resume .number{background:var(--gold-soft);color:#795316}
.chip-row{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:760;color:#4b5650}.chip.green{background:var(--forest-soft);border-color:#c5d9cf;color:var(--forest)}.chip.red{background:var(--brick-soft);border-color:#e8c4b8;color:var(--brick)}.chip.gold{background:var(--gold-soft);border-color:#ead19d;color:#765013}.chip.blue{background:var(--blue-soft);border-color:#c2d9e8;color:var(--blue)}
.tag-editor{display:flex;flex-direction:column;gap:9px}.chip.tag-chip{background:var(--forest-soft);border-color:#c5d9cf;color:var(--forest);padding-right:5px}.chip-remove{display:grid;place-items:center;width:16px;height:16px;border:none;border-radius:50%;background:#ffffffb0;color:inherit;font-size:.8rem;line-height:1;cursor:pointer;padding:0}.chip-remove:hover{background:#fff}.tag-add-row{display:flex;gap:7px}.tag-add-row input{flex:1}
.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--blue-soft);border:1px solid #c7dce8;font-size:.88rem;line-height:1.55}.notice.warn{background:var(--gold-soft);border-color:#e5cc95}.notice.danger{background:#fff0f0;border-color:#e7b9bc}.notice.success{background:var(--forest-soft);border-color:#bfd4c8}.notice b{display:block;margin-bottom:2px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.metric-card .value{font-size:1.7rem;font-weight:900;color:var(--forest)}.metric-card .label{font-size:.82rem;font-weight:760;margin-top:3px}.metric-card .note{font-size:.72rem;color:var(--muted);margin-top:4px}.metric-card.error .value{color:var(--danger)}.metric-card.warn .value{color:var(--gold)}
.progress-bar{height:10px;background:#e2e3dc;border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--forest);border-radius:999px}.progress-labels{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-top:6px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field.full{grid-column:1/-1}.field .help{margin-top:5px;font-size:.73rem;color:var(--muted);line-height:1.4}.field.inline{display:flex;align-items:center;gap:8px}.field.inline label{margin:0}
.task-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.task{display:flex;gap:9px;align-items:flex-start;padding:12px;background:#fff;border:1px solid var(--line);border-radius:11px;font-size:.82rem;line-height:1.45}.task b{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--forest);color:#fff;font-size:.7rem}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.toolbar .search{flex:1;min-width:220px}.toolbar .spacer{flex:1}.toolbar select{width:auto;min-width:135px}.toolbar input{width:auto}.toolbar-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.bulk-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 14px;background:#203e33;color:#fff;border-radius:13px;margin:10px 0}.bulk-bar select,.bulk-bar input{width:auto;min-width:135px;background:#fff;color:var(--ink)}.bulk-bar .selected-count{font-weight:850;margin-right:8px}.bulk-bar .btn{min-height:34px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1140px;font-size:.8rem}.data-table th{position:sticky;top:0;z-index:2;background:#e9efe9;color:#30483d;text-align:left;padding:10px 8px;border-bottom:1px solid #cbd6cf;font-size:.73rem;white-space:nowrap}.data-table td{padding:7px 6px;border-bottom:1px solid #ebe7dc;vertical-align:top}.data-table tr:hover td{background:#fffaf1}.data-table tr.selected td{background:#f0f7f3}.data-table input,.data-table select,.data-table textarea{font-size:.78rem;padding:7px 8px;border-radius:7px}.data-table textarea{min-height:62px;min-width:230px}.data-table .cell-id{min-width:125px}.data-table .cell-category{min-width:125px}.data-table .cell-source{min-width:150px}.data-table .cell-status{min-width:100px}.data-table .cell-assignee{min-width:110px}.data-table .cell-reviewer{min-width:110px}.data-table .cell-error-tags{min-width:150px}.data-table .cell-error-tags-empty{white-space:nowrap}.data-table .row-actions{display:flex;gap:5px;white-space:nowrap}.status-badge{display:inline-flex;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:800}.status-draft{background:#ecebe7}.status-review{background:var(--gold-soft);color:#745017}.status-pass{background:var(--forest-soft);color:var(--forest)}.status-fail{background:#fde6e7;color:var(--danger)}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px}.pagination .pages{display:flex;gap:5px}.pagination button{min-width:34px}.pagination-info{font-size:.78rem;color:var(--muted)}
.tabs{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-size:.8rem;font-weight:760;white-space:nowrap}.tab.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.member-table{width:100%;border-collapse:collapse;font-size:.83rem}.member-table th,.member-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left}.member-table input,.member-table select{padding:7px 8px;font-size:.8rem}.range-pill{white-space:nowrap;font-weight:800;color:var(--forest)}
.issue-list{display:grid;gap:8px;max-height:520px;overflow:auto}.issue-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;background:#fff;border:1px solid var(--line);border-radius:11px}.issue-item.error{border-left:5px solid var(--danger)}.issue-item.warning{border-left:5px solid var(--gold)}.issue-item.info{border-left:5px solid var(--blue)}.issue-item h4{margin:0 0 3px;font-size:.86rem}.issue-item p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}
.bar-chart{display:grid;gap:10px}.bar-chart-row{display:grid;grid-template-columns:120px 1fr 75px;gap:10px;align-items:center;font-size:.78rem}.bar-chart-label{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart-track{height:18px;background:#e8e8e2;border-radius:999px;overflow:hidden}.bar-chart-track span{display:block;height:100%;background:var(--forest-2);border-radius:999px}.bar-chart-value{color:var(--muted)}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.check-option{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:.8rem}.check-option:has(input:checked){background:var(--forest-soft);border-color:#b9d1c4}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.detail-section{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.detail-section h3{color:var(--forest);margin-bottom:12px}
.modal-backdrop{position:fixed;inset:0;background:#17231dc9;display:none;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-backdrop.open{display:flex}.modal{width:min(850px,96vw);max-height:92vh;overflow:auto;background:var(--paper);border-radius:20px;box-shadow:0 30px 90px #0007}.modal.small{width:min(520px,96vw)}.modal.wide{width:min(1180px,97vw)}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:19px 21px;background:var(--paper);border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:20px}.modal-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;background:#fffdf8ed;border-top:1px solid var(--line);backdrop-filter:blur(10px)}
.toast-stack{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:2000}.toast{display:flex;align-items:center;gap:12px;max-width:420px;padding:13px 15px;background:#203e33;color:#fff;border-radius:12px;box-shadow:var(--shadow);font-size:.84rem}.toast.error{background:#8d2e33}.toast .btn{margin-left:auto;min-height:30px}
.loading{position:fixed;inset:0;display:none;place-items:center;background:#fffdf8bf;backdrop-filter:blur(4px);z-index:3000}.loading.open{display:grid}.loading-box{background:#203e33;color:#fff;border-radius:16px;padding:20px 24px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.spinner{width:22px;height:22px;border:3px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.backup-list{display:grid;gap:8px}.backup-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.backup-item b{font-size:.85rem}.backup-item p{font-size:.76rem;color:var(--muted);margin:3px 0 0}
.conflict-card{padding:15px;border:1px solid var(--line);border-left:5px solid var(--brick);border-radius:12px;background:#fff;margin-bottom:12px}.conflict-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.conflict-value{padding:11px;border:1px solid var(--line);border-radius:10px;background:#faf8f2}.conflict-value b{display:block;font-size:.75rem;color:var(--muted);margin-bottom:5px}.conflict-value p{margin:0;font-size:.82rem;white-space:pre-wrap}.conflict-actions{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-state .icon{font-size:2.5rem;margin-bottom:10px}.subtle{color:var(--muted)}.divider{height:1px;background:var(--line);margin:18px 0}.kbd{display:inline-block;border:1px solid #c8c6be;border-bottom-width:2px;border-radius:5px;background:#fff;padding:1px 6px;font-size:.72rem}
/* v3.3: 실제 파일럿 검수·평가쌍 입력 표 */
.review-table{min-width:1180px}
.review-table th,.review-table td{vertical-align:top}
.review-table select,.review-table input{width:100%;min-width:115px}
.review-table textarea{width:100%;min-width:260px;min-height:76px;resize:vertical;line-height:1.45}
.review-table .wide-cell{min-width:260px;max-width:420px;white-space:normal;line-height:1.45}
.review-table .answer-preview{min-width:300px;max-width:460px;white-space:pre-wrap;line-height:1.48;color:#39443d}
.review-table .table-note{min-width:230px;min-height:66px}
.review-table .small{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.35}
.member-table textarea{width:100%;min-height:60px;padding:7px 8px;font-size:.8rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.doc-table input,.doc-table textarea{width:100%;min-width:120px}.doc-table .wide-cell{min-width:260px;max-width:520px;white-space:normal}.doc-table .table-note{min-height:58px;resize:vertical}.doc-table th:first-child,.doc-table td:first-child{width:42px;text-align:center}.doc-table th:last-child,.doc-table td:last-child{width:74px}

/* v36 UI width fix: label schema columns and simple data input label width */
.doc-table select.label-schema-type{min-width:132px}
.doc-table select.label-schema-risk{min-width:128px}
.doc-table select.label-schema-active{min-width:112px}
.member-table select.cell-label{min-width:180px}
.member-table td:has(select.cell-label){min-width:190px}

/* v36 label UI polish: show only label text in simple data table */
.member-table td.label-cell{min-width:240px;max-width:320px}
.member-table select.cell-label{min-width:220px;width:100%;white-space:nowrap}


/* v36 label dropdown final fix: simple data table label column */
.data-table{min-width:1360px}
.data-table th:nth-child(4),.data-table td.label-cell{min-width:230px;width:230px;max-width:260px}
.data-table td.label-cell{white-space:nowrap}
.data-table select.cell-label{min-width:210px;width:100%;max-width:100%;white-space:nowrap}

/* v36 label schema width final fix */
.doc-table select.label-schema-type{min-width:160px;width:160px}
.doc-table select.label-schema-risk{min-width:150px;width:150px}
.doc-table select.label-schema-active{min-width:130px;width:130px}

/* v3.7 linked label/source input */
.data-table{min-width:1960px}
.data-table th:nth-child(4),.data-table td.label-cell{min-width:190px;width:190px;max-width:220px}
.data-table select.cell-label{min-width:170px}
.data-table select.cell-difficulty{min-width:120px;width:100%}
.data-table select.cell-safety{min-width:120px;width:100%}
.data-table .cell-code{margin-top:4px;color:var(--muted);font-size:.66rem;line-height:1.2;min-height:.8em}
.data-table .source-cell{min-width:260px;max-width:340px}
.data-table select.cell-source-select{min-width:250px;width:100%}
.bulk-bar #bulkSource{min-width:240px;max-width:340px}

/* v3.7.1 source-plan layout and compact source selector */
.doc-table select[data-doc-table="sourcePlans"]{width:100%}
.doc-table select[data-doc-table="sourcePlans"][data-doc-field="rights"]{min-width:190px;width:190px;white-space:nowrap}
.doc-table input[data-doc-table="sourcePlans"][data-doc-field="checkedAt"]{min-width:180px}
.doc-table [data-doc-table="sourcePlans"][data-doc-field="count"]{min-width:120px}
.doc-table-sourcePlans th{white-space:nowrap}

/* v3.8 beginner field help: keyboard-accessible, viewport-safe popover */
.help-tip{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:5px;vertical-align:middle;border:1px solid #8aa69a;border-radius:50%;background:#fff;color:var(--forest);font-size:.67rem;font-weight:900;line-height:1;cursor:help;user-select:none;box-shadow:0 1px 2px #1f3f3220}
.help-tip:hover,.help-tip:focus-visible{background:var(--forest);border-color:var(--forest);color:#fff;outline:3px solid #8eb9a66b;outline-offset:2px}
th>.help-tip{position:relative;top:-1px;background:#f8fbf9}
.field-tooltip-popover{position:fixed;z-index:5000;width:max-content;max-width:min(340px,calc(100vw - 20px));padding:10px 12px;border:1px solid #173c2e;border-radius:10px;background:#173c2e;color:#fff;box-shadow:0 10px 32px #0a18134a;font-size:.78rem;font-weight:560;line-height:1.55;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .12s,transform .12s,visibility .12s}
.field-tooltip-popover.open{opacity:1;visibility:visible;transform:translateY(0)}
.status-caution{background:var(--gold-soft);color:#745017}
.evaluation-settings{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.evaluation-settings .check-option{min-height:42px}.evaluation-settings .field{min-width:190px}.evaluation-settings .field input{max-width:180px}
.language-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.language-summary>div{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.language-summary b{display:block;margin-bottom:3px;font-size:.78rem}.language-summary span{font-size:.76rem;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.field-tooltip-popover{transition:none}}
