*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1677ff;--primary-dark: #0958d9;--danger: #ff4d4f;--success: #52c41a;--bg: #f0f4f8;--surface: #ffffff;--border: #e2e8f0;--text: #1a202c;--text-secondary: #718096;--text-muted: #a0aec0;--radius: 12px;--shadow: 0 2px 12px rgba(0,0,0,.08)}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 32px;box-shadow:var(--shadow);display:flex;align-items:stretch;gap:32px;min-height:60px}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-icon{font-size:26px}.header-left h1{font-size:18px;font-weight:700;color:var(--primary);white-space:nowrap}.header-tabs{display:flex;align-items:stretch;gap:4px}.header-tab{background:none;border:none;border-bottom:3px solid transparent;padding:0 20px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.header-tab:hover{color:var(--primary)}.header-tab:disabled{cursor:not-allowed;opacity:.5}.header-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.app-main{display:grid;grid-template-columns:420px 1fr;gap:24px;padding:24px 32px;min-height:calc(100vh - 70px);max-width:1400px;margin:0 auto}.panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:20px}.panel-title{font-size:16px;font-weight:600;color:var(--text);padding-bottom:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-title-actions{display:flex;gap:8px}.record-center{display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 0}.asr-model-control{width:min(100%,320px)}.asr-model-selector{width:100%;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.asr-model-active{margin-top:5px;padding-left:68px;color:var(--text-muted);font-size:11px}.asr-model-active.confirmed{color:var(--success)}.asr-model-selector select{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--surface);font-size:12px}.asr-model-selector select:disabled{cursor:not-allowed;background:#f8fafc;color:var(--text-muted)}.record-btn{width:100px;height:100px;border-radius:50%;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--primary),#4096ff);color:#fff;box-shadow:0 4px 20px #1677ff66;transition:all .2s;font-size:13px;font-weight:500}.record-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 24px #1677ff80}.record-btn:disabled{opacity:.7;cursor:not-allowed}.record-btn.recording{background:linear-gradient(135deg,var(--danger),#ff7875);box-shadow:0 4px 20px #ff4d4f66;animation:pulse-ring 1.5s ease-out infinite}.record-btn.connecting{background:linear-gradient(135deg,#fa8c16,#ffa940);box-shadow:0 4px 20px #fa8c1666}@keyframes pulse-ring{0%{box-shadow:0 0 #ff4d4f66}70%{box-shadow:0 0 0 16px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00}}.record-btn-icon{font-size:28px;line-height:1}.record-btn-label{font-size:11px}.recording-indicator{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:13px;font-weight:500}.recording-indicator.paused{color:#f59e0b}.recording-indicator.silence-hint{color:#6b7280;font-size:12px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:blink 1s ease-in-out infinite}.pause-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b}.recording-indicator.standby{color:#6366f1}.recording-indicator.timed-out{color:#f97316;font-size:13px}.standby-dot{width:8px;height:8px;border-radius:50%;background:#6366f1;animation:blink 2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.wake-hint{margin-top:8px;font-size:11px;color:#9ca3af;text-align:center}.record-btn.paused{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 15px #f59e0b66}.transcript-box{flex:1;border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-height:200px}.transcript-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f8fafc;border-bottom:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text-secondary)}.transcript-header-actions{display:flex;align-items:center;gap:10px}.refinement-pending{margin-left:8px;color:var(--primary);font-size:11px;font-style:normal;font-weight:400}.refinement-status{margin-left:8px;color:var(--text-muted);font-size:11px;font-style:normal;font-weight:400}.refinement-status.changed{color:var(--success)}.transcript-content{padding:14px;flex:1;font-size:15px;line-height:1.8;overflow-y:auto;max-height:260px}.transcript-segment{display:grid;gap:5px;margin-bottom:12px}.transcript-segment.excluded{opacity:.45}.speaker-filter{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0;color:var(--text-secondary);font-size:12px}.speaker-filter button,.speaker-badge{border:1px solid #91caff;background:#f0f7ff;color:#1677ff;border-radius:12px;padding:2px 7px;cursor:pointer;font:inherit}.speaker-filter button.active{background:#1677ff;color:#fff}.review-flag{display:block;margin:3px 0 0 72px;color:#d46b08;font-size:12px}.refinement-edits{display:flex;flex-wrap:wrap;gap:6px;margin-left:72px}.refinement-edits>span{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:10px;background:#f6ffed;border:1px solid #b7eb8f;color:#3f6600;font-size:11px}.refinement-edits del{color:#8c8c8c}.refinement-edits small{color:#6b8e23}.transcript-line{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:7px;line-height:1.6}.transcript-layer-label{flex:0 0 auto;width:56px;margin-top:1px;font-size:10px;font-weight:700;letter-spacing:.04em}.transcript-line-text{min-width:0;color:var(--text);word-break:break-word}.transcript-raw{background:#f5f8fc;border-color:#e4eaf2}.transcript-raw .transcript-layer-label{color:#718096}.transcript-corrected{background:#f4fbf5;border-color:#d7efd9}.transcript-corrected .transcript-layer-label{color:#2f7f16}.transcript-corrected.changed{background:#eaf9eb;border-color:#83cf87;box-shadow:inset 3px 0 0 var(--success)}.transcript-corrected.pending{background:#f4f8ff;border-color:#d7e5fb}.transcript-corrected.pending .transcript-layer-label,.transcript-corrected.pending .transcript-line-text{color:var(--primary)}.refinement-badge,.speaker-badge,.refinement-unchanged{display:inline-block;margin-left:4px;padding:0 4px;border-radius:3px;font-size:10px;line-height:1.5;vertical-align:middle}.refinement-badge{color:#2f7f16;background:#52c41a29}.speaker-badge{color:#275bb7;background:#2d8cf01f}.refinement-unchanged{color:var(--text-muted);background:#7180961a}.transcript-interim{color:var(--primary);opacity:.8}.transcript-placeholder{color:var(--text-muted);font-size:14px;font-style:italic}.test-record-panel{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #d6e4ff;border-radius:8px;background:#f8fbff}.test-record-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.test-record-header strong{color:#1f4f91;font-size:13px}.test-record-header span,.test-record-tip{color:var(--text-muted);font-size:11px}.test-record-audio{width:100%;height:34px}.test-record-note{width:100%;box-sizing:border-box;resize:vertical;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-family:inherit;font-size:12px;outline:none}.test-record-note:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1677ff1a}.test-record-actions{display:flex;flex-wrap:wrap;gap:8px}.btn{padding:9px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-sm{padding:5px 12px;font-size:12px}.btn-text{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:12px;padding:2px 6px;border-radius:4px}.btn-text:hover{color:var(--danger);background:#fff1f0}.action-row{display:flex;gap:10px;justify-content:flex-end}.error-msg{color:var(--danger);font-size:13px;padding:8px 12px;background:#fff2f0;border:1px solid #ffccc7;border-radius:6px}.report-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);padding:60px 0}.placeholder-icon{font-size:48px;opacity:.4}.placeholder-sub{font-size:13px}.report-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary);padding:60px 0}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.matched-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.matched-label{font-size:13px;color:var(--text-secondary);font-weight:500}.tag{background:#e6f4ff;color:var(--primary);border:1px solid #bae0ff;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:500}.report-content{display:flex;flex-direction:column;gap:20px}.diagnostic-guard-notice{display:flex;flex-direction:column;gap:4px;padding:10px 12px;color:#ad6800;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;font-size:13px}.finding-module-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.finding-module-summary small{color:var(--text-muted)}.finding-module-tag{padding:2px 9px;color:#096dd9;background:#e6f4ff;border:1px solid #91caff;border-radius:12px;font-size:12px}.finding-review-flags{padding:8px 12px;color:#ad6800;background:#fffbe6;border-left:3px solid #faad14;border-radius:4px;font-size:12px;line-height:1.7}.report-section{display:flex;flex-direction:column;gap:10px}.report-section-title{font-size:14px;font-weight:600;color:var(--primary)}.report-text{font-size:15px;line-height:1.9;color:var(--text);background:#f8fafc;padding:14px;border-radius:8px;border:1px solid var(--border)}.report-line{display:block;padding:1px 0}.report-empty{color:var(--text-muted)}.report-textarea{width:100%;font-size:15px;line-height:1.9;color:var(--text);background:#fffdf0;padding:14px;border-radius:8px;border:1px solid #fadb14;resize:vertical;font-family:inherit;outline:none}.report-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1677ff26}.meas-sheet-tabs{display:flex;gap:4px;padding:12px 16px 0;border-bottom:1px solid var(--border);margin-bottom:12px;background:#fafcff;border-radius:8px 8px 0 0}.meas-sheet-tab{background:none;border:none;border-bottom:3px solid transparent;padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;border-radius:6px 6px 0 0;white-space:nowrap}.meas-sheet-tab:hover{color:var(--primary);background:#f0f5ff}.meas-sheet-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600;background:#e8f4ff}.meas-layout{grid-template-columns:380px 1fr}.meas-count{display:inline-block;margin-left:10px;font-size:12px;font-weight:400;color:var(--text-secondary);background:#f0f4f8;padding:2px 10px;border-radius:20px}.meas-table-wrap{overflow-y:auto;flex:1;border:1px solid var(--border);border-radius:8px}.meas-table{width:100%;border-collapse:collapse;font-size:14px}.meas-table thead tr{background:#f0f5ff;position:sticky;top:0;z-index:1}.meas-table th{padding:10px 14px;text-align:left;font-weight:600;color:var(--primary);border-bottom:2px solid #bae0ff;font-size:13px}.meas-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.meas-table tbody tr:hover{background:#f8faff}.meas-table tbody tr:last-child{border-bottom:none}.meas-row-flash{background:#e6fffb!important;animation:flash-in 1.5s ease-out forwards}@keyframes flash-in{0%{background:#b7eb8f}30%{background:#d9f7be}to{background:#e6fffb}}.meas-label{padding:8px 14px;color:var(--text);font-size:13px;white-space:nowrap;width:200px}.meas-value-cell{padding:4px 8px;min-width:90px}.meas-input{width:100%;border:1px solid transparent;border-radius:6px;padding:5px 10px;font-size:14px;font-family:inherit;background:transparent;color:var(--text);text-align:right;outline:none;transition:all .15s}.meas-input:hover{border-color:var(--border);background:#fafafa}.meas-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px #1677ff1f}.meas-input-filled{color:#096dd9;font-weight:600;background:#e6f4ff;border-color:#91caff}.meas-unit{padding:8px 14px;color:var(--text-secondary);font-size:12px;width:60px}.template-pin-section{border-top:1px solid var(--border);padding:10px 0 6px;margin-top:4px}.template-pin-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.template-pin-label{font-size:13px;font-weight:600;color:var(--text);flex:1}.template-pin-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;font-weight:700;margin-left:4px}.template-pin-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.template-pin-tag{display:inline-flex;align-items:center;gap:4px;background:#e6f4ff;border:1px solid #91caff;color:#096dd9;border-radius:4px;padding:3px 8px;font-size:12px;max-width:100%;word-break:break-all}.template-pin-tag button{background:none;border:none;color:#096dd9;cursor:pointer;padding:0 2px;font-size:14px;line-height:1;opacity:.6;flex-shrink:0}.template-pin-tag button:hover{opacity:1}.template-picker{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 4px 12px #0000001a;margin-top:4px}.template-picker-search{width:100%;border:none;border-bottom:1px solid var(--border);padding:8px 12px;font-size:13px;outline:none;background:#f8faff;box-sizing:border-box}.template-picker-list{max-height:220px;overflow-y:auto}.template-picker-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;font-size:12px;color:var(--text);cursor:pointer;border-bottom:1px solid #f0f0f0;line-height:1.4;transition:background .12s}.template-picker-item:hover{background:#f0f5ff}.template-picker-item.selected{background:#e6f4ff;color:#096dd9}.template-picker-check{flex-shrink:0;width:14px;font-size:12px;color:var(--primary);font-weight:700;margin-top:1px}.template-picker-empty{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.template-confirm-hint{font-size:12px;color:#d46b08;background:#fff7e6;border:1px solid #ffd591;border-radius:6px;padding:6px 10px;margin-bottom:8px}.tag-pinned{background:#f6ffed;border-color:#95de64;color:#389e0d}.kb-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px 32px;max-width:1400px;margin:0 auto;align-items:start}.kb-list-panel{max-height:calc(100vh - 110px);position:sticky;top:24px}.kb-side{display:flex;flex-direction:column;gap:24px}.kb-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--text-secondary)}.kb-stats b{color:var(--primary);font-size:14px}.kb-stats-sep{width:1px;height:12px;background:var(--border)}.kb-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kb-search{flex:1 1 100%}.kb-input{padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px;color:var(--text);background:var(--surface);font-family:inherit;width:100%;min-width:0}.kb-filters select.kb-input{width:auto;flex:1 1 120px}.kb-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1677ff1f}textarea.kb-input{resize:vertical;line-height:1.6}.kb-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.kb-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;flex:1;padding-right:4px}.kb-item{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;font-family:inherit;transition:border-color .15s,background .15s}.kb-item:hover{border-color:#91caff}.kb-item.active{border-color:var(--primary);background:#f0f7ff}.kb-item.disabled{opacity:.55}.kb-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kb-item-name{font-size:14px;font-weight:600;color:var(--text)}.kb-item-abbr{font-size:12px;font-weight:600;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.kb-item-unit{font-size:12px;color:var(--text-muted)}.kb-item-meta{display:flex;flex-wrap:wrap;gap:6px}.kb-item-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kb-badge{font-size:11px;padding:1px 7px;border-radius:4px;font-weight:600}.kb-type-parameter{background:#e6f4ff;color:#0958d9}.kb-type-term{background:#f6ffed;color:#389e0d}.kb-type-guideline{background:#fff7e6;color:#d46b08}.kb-tag{font-size:11px;padding:1px 8px;border-radius:10px;background:#f0f5ff;color:#2f54eb}.kb-tag-muted{background:#f5f5f5;color:var(--text-secondary)}.kb-tag-off{background:#fff1f0;color:var(--danger)}.kb-source-custom{background:#f9f0ff;color:#722ed1}.kb-source-modified{background:#fffbe6;color:#d48806}.kb-source-builtin{background:#f5f5f5;color:var(--text-secondary)}.kb-title-tag{margin-left:8px;vertical-align:middle}.kb-form{display:flex;flex-direction:column;gap:14px}.kb-form-row{display:flex;gap:12px;align-items:flex-end}.kb-form-row>*{flex:1}.kb-form-row>.btn{flex:0 0 auto}.kb-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.kb-grow{flex:2}.kb-scope-group{display:flex;flex-wrap:wrap;gap:8px 16px}.kb-empty{color:var(--text-muted);font-size:13px;text-align:center;padding:24px 0}.kb-hint{font-size:12px;color:var(--text-secondary)}.kb-ok-msg{color:var(--success);font-size:13px}.kb-btn-danger{color:var(--danger);border-color:#ffccc7}.kb-btn-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.kb-preview{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-all;max-height:360px;overflow-y:auto;font-family:inherit;color:var(--text)}.lib-page{max-width:1400px;margin:0 auto}.lib-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 32px 0}.lib-tabs{display:inline-flex;background:#e8eef6;border-radius:10px;padding:4px;gap:4px}.lib-tab{border:none;background:none;padding:8px 18px;border-radius:7px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;font-family:inherit}.lib-tab.active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 4px #00000014}.lib-header-desc{flex:1;min-width:260px;font-size:13px;color:var(--text);display:flex;flex-direction:column;gap:2px}.lib-token{display:flex;align-items:center;gap:8px}.lib-token .kb-input{width:200px}.lib-page .kb-layout,.lib-page .tpl-layout{padding-top:16px}.lib-toolbar{display:flex;flex-wrap:wrap;gap:8px}.lib-status{font-size:13px;color:var(--text-secondary);background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.lib-status b{color:var(--text)}.lib-status.custom{background:#f0f7ff;border-color:#bae0ff}.tpl-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;padding:24px 32px;align-items:start}.tpl-editor{min-height:400px}.tpl-section-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text);padding-top:6px;border-top:1px dashed var(--border)}.tpl-row{border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;background:#fcfdff}.tpl-row-head{display:flex;align-items:center;gap:8px}.tpl-row-index{width:22px;height:22px;border-radius:50%;background:#e6f4ff;color:var(--primary);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kb-input.tpl-type{width:150px;flex-shrink:0}.tpl-fields-tags{flex:1;display:flex;flex-wrap:wrap;gap:4px;min-width:0}.tpl-row-actions{display:flex;gap:2px}.tpl-row-actions .btn-text{font-size:13px}.tpl-row-actions .btn-text:disabled{opacity:.3;cursor:not-allowed}.tpl-json{min-height:480px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.tpl-preview{display:flex;flex-direction:column;gap:8px}.tpl-preview-block{font-size:13px;line-height:1.7;background:#f8fafc;border-radius:8px;padding:10px 12px;color:var(--text)}.lib-modal-mask{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.lib-modal{background:var(--surface);border-radius:var(--radius);width:min(760px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 12px 40px #0003}.lib-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-size:16px;font-weight:600}.lib-modal-head .btn-text{font-size:16px}.lib-modal-body{padding:16px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.lib-section{display:flex;flex-direction:column;gap:10px}.lib-section-title{font-size:14px;font-weight:600;color:var(--text)}.lib-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.lib-upload-row input[type=file]{flex:1;min-width:200px}.kb-input.lib-mode{width:auto}.lib-summary{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}.lib-summary-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-weight:600}.lib-summary-head span{font-weight:400;color:var(--text-secondary)}.lib-summary-group summary{cursor:pointer;font-weight:500}.lib-summary-names,.lib-summary-errors{margin-top:4px;padding:6px 8px;background:#f8fafc;border-radius:6px;font-size:12px;line-height:1.7;max-height:140px;overflow-y:auto;color:var(--text-secondary)}.lib-summary-errors{padding-left:24px}.lib-tone-add summary{color:#389e0d}.lib-tone-update summary{color:#d48806}.lib-tone-remove summary{color:var(--danger)}.lib-tone-muted summary{color:var(--text-muted)}.lib-file-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px}.lib-file-row{display:flex;align-items:center;gap:12px;padding:8px 12px}.lib-file-row+.lib-file-row{border-top:1px solid var(--border)}.lib-file-info{flex:1;min-width:0}.lib-file-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-file-meta{font-size:12px;color:var(--text-muted)}.lib-file-actions{display:flex;gap:6px;flex-shrink:0}@media(max-width:900px){.tpl-layout{grid-template-columns:1fr;padding:16px}.lib-header{padding:16px 16px 0}.lib-file-row{flex-wrap:wrap}.app-main{grid-template-columns:1fr;padding:16px}.meas-layout{grid-template-columns:1fr}.kb-layout{grid-template-columns:1fr;padding:16px}.kb-list-panel{position:static;max-height:60vh}}
