@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600&family=Noto+Serif+SC:wght@600&family=Source+Serif+4:opsz,wght@8..60,600&display=swap";html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}:root{--bg:#f8fafc;--panel:#fff;--ink:#0f172a;--muted:#475569;--muted-soft:#94a3b8;--line:#e2e8f0;--brand:#10b981;--brand-deep:#059669;--brand-soft:#ecfdf5;--hit:#10b981;--miss:#ef4444;--warn-bg:#fef2f2;--info-bg:#f0fdf4;--shadow:0 1px 3px #0000000d;--radius:12px;--radius-sm:8px;--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--ops-width:320px;--ops-compact-width:240px;--drawer-width:min(480px, 100vw)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{box-sizing:border-box;flex-direction:column;width:100%;max-width:none;height:100%;min-height:100vh;margin:0;padding:0 0 20px;display:flex}.topnav{border-bottom:1px solid var(--line);z-index:40;background:#fff;flex-wrap:nowrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:64px;min-height:64px;margin-bottom:16px;padding:0 24px;display:flex;position:sticky;top:0}.topnav-left,.topnav-right{flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;display:flex}.topnav-left{flex:auto;overflow:hidden}.topnav-right{flex:none}.brand-lockup{flex-shrink:0;align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:inline-flex}.brand{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-soft);margin:0;font-size:11px;font-weight:600}.brand-title{font-family:var(--font-display);color:var(--ink);white-space:nowrap;margin:0;font-size:18px;font-weight:700;line-height:1.2}.nav-divider{background:var(--line);flex-shrink:0;width:1px;height:24px}.nav-select{border-radius:var(--radius-sm);color:#475569;background:#f8fafc;width:auto;min-width:200px;max-width:280px;height:38px;padding:0 12px;font-size:14px}.nav-actions{align-items:center;gap:8px;display:flex}.nav-btn{border-radius:var(--radius-sm);color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;height:38px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.nav-actions .nav-btn{border-color:var(--brand);color:var(--brand-deep);background:var(--brand-soft)}.nav-actions .nav-btn:hover:not(:disabled){border-color:var(--brand-deep);color:var(--brand-deep);background:#d1fae5}.nav-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-btn-quiet{color:var(--muted-soft);border-color:#0000}.nav-btn-quiet:hover:not(:disabled){border-color:var(--line);color:var(--muted);background:#f8fafc}.nav-actions .nav-btn-accent{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.nav-actions .nav-btn-accent:hover:not(:disabled){background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.user-info{align-items:center;gap:8px;display:inline-flex}.avatar{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:inline-flex}.user-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:14px;overflow:hidden}.auth-gate{background:radial-gradient(720px 360px at 20% 0%, #0d6b5624 0%, transparent 60%), radial-gradient(520px 300px at 90% 20%, #1f7a4c1a 0%, transparent 55%), linear-gradient(165deg, #eef4f0 0%, var(--bg) 50%, #dfe9e3 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{text-align:center;background:color-mix(in srgb, var(--panel) 92%, white);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:18px;width:min(400px,100%);padding:36px 32px 28px;box-shadow:inset 0 1px #ffffffb3,0 18px 48px #1a2a241a}.auth-card .brand{letter-spacing:.16em}.auth-card h1{font-family:var(--font-display);letter-spacing:-.02em;margin:14px 0 10px;font-size:28px;font-weight:600}.auth-lead{max-width:28em;color:var(--muted);margin:0 auto;font-size:15px;line-height:1.65}.auth-card .banner.error{text-align:left;margin-top:16px;font-size:13px}.auth-card .primary{border-radius:12px;width:100%;min-height:48px;margin-top:24px;font-size:16px;font-weight:600;box-shadow:0 8px 20px #0d6b5638}.auth-footnote{color:color-mix(in srgb, var(--muted) 85%, transparent);margin:14px 0 0;font-size:12px}.sop-select{min-width:200px;max-width:320px}.banner{border-radius:10px;flex-shrink:0;margin:0 24px 12px;padding:10px 14px;font-size:14px}.banner.error{background:var(--warn-bg);color:var(--miss)}.banner.info{color:#334155;border:1px solid var(--line);background:#f8fafc}.workbench{grid-template-columns:var(--ops-width) minmax(0, 1fr);box-sizing:border-box;flex:1;align-items:stretch;gap:16px;width:100%;max-width:none;min-height:0;margin:0;padding:0 20px 20px;display:grid}.workbench.results-only,.workbench.start-mode{grid-template-columns:minmax(0,1fr)}.ops-column{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:calc(100vh - 96px);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.ops-panel,.result-panel{background:var(--panel);min-height:0}.result-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ops-panel{height:auto;box-shadow:none;border:none;border-radius:0;flex-direction:column;gap:16px;padding:24px;display:flex;overflow:visible}.ops-tips{border-top:1px solid var(--line);background:#f8fafc;margin-top:auto;padding:16px 24px 20px}.ops-tips ul{color:var(--muted);margin:8px 0 0;padding-left:16px;font-size:12px;line-height:1.65}.ops-tips li{margin:4px 0}.ops-step{flex-direction:column;gap:8px;display:flex}.ops-panel.is-compact{gap:10px}.step-kicker{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.flow-steps{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.flow-steps li{border-radius:8px;align-items:flex-start;gap:10px;padding:8px;display:flex}.flow-steps li.active{background:var(--brand-soft)}.flow-steps .step-num{color:#94a3b8;background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:inline-flex}.flow-steps li.done .step-num,.flow-steps li.active .step-num{background:var(--brand);color:#fff}.flow-steps strong{color:#334155;font-size:13px;display:block}.flow-steps li.active strong{color:var(--brand-deep)}.flow-steps p{color:#94a3b8;margin:2px 0 0;font-size:12px}.result-panel{flex-direction:column;align-self:stretch;height:100%;min-height:calc(100vh - 96px);padding:24px;display:flex}.result-panel.result-panel-upload{padding:0;overflow:hidden}.result-panel.result-panel-upload .empty{border-radius:var(--radius);min-height:calc(100vh - 96px)}.ops-panel h2,.result-panel h2,.panel-head h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-weight:700}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;display:flex}.panel-head h2{margin-bottom:14px}.export-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.history-empty{min-height:180px;padding:24px 12px}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-list li{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.history-list li.active{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));box-shadow:inset 3px 0 0 var(--brand)}.history-main{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 12px 8px;display:flex}.history-main:hover{background:#f3f7f5}.history-main strong{font-size:14px;font-weight:600;line-height:1.35}.history-meta{color:var(--muted);font-size:12px;line-height:1.4}.history-score{margin-top:2px;font-size:13px}.history-actions{gap:12px;padding:0 12px 10px;display:flex}.linkish.danger{color:var(--miss)}.progress-panel{text-align:left;width:min(420px,100%);margin:0 auto}.progress-panel .empty-title{text-align:center;margin-bottom:18px}.progress-bar-wrap{background:color-mix(in srgb, var(--line) 70%, #fff);border-radius:999px;height:8px;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--brand), #1a9a78);height:100%;transition:width .45s}.progress-percent{font-size:22px;font-weight:600;font-family:var(--font-display);text-align:center;color:var(--brand-deep);margin:10px 0 4px}.progress-message{text-align:center;color:var(--muted);min-height:1.4em;margin:0 0 18px;font-size:14px}.progress-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.progress-steps .step{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.progress-steps .step.done{border-color:color-mix(in srgb, var(--hit) 35%, var(--line));background:color-mix(in srgb, var(--info-bg) 70%, #fff)}.progress-steps .step.active{border-color:color-mix(in srgb, var(--brand) 45%, var(--line));box-shadow:inset 3px 0 0 var(--brand)}.progress-steps .step.pending{opacity:.55}.step-dot{background:var(--line);border-radius:50%;justify-self:center;width:10px;height:10px}.step.done .step-dot{background:var(--hit)}.step.active .step-dot{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);animation:1.2s ease-in-out infinite pulse-dot}.step-live{color:var(--brand);font-size:12px}.step-live.done{color:var(--hit)}.progress-inline{background:var(--info-bg);border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line));border-radius:10px;margin-bottom:14px;padding:10px 12px}.progress-inline p{margin:8px 0 0;font-size:13px}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.result-panel h3{letter-spacing:.02em;color:var(--muted);text-transform:none;margin:0 0 10px;font-size:14px;font-weight:600}.field-label{color:var(--ink);letter-spacing:0;margin:0;font-size:13px;font-weight:600;display:block}.text-input,select,textarea,.score-input,.sop-select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:9px 11px;transition:border-color .15s}.text-input:focus,select:focus,textarea:focus,.sop-select:focus{border-color:var(--brand);outline:none}textarea{resize:vertical}.hint{color:var(--muted-soft);margin:0;font-size:12px;line-height:1.5}.ops-footer{border-top:1px solid var(--line);color:var(--muted-soft);margin:0;padding-top:16px;font-size:12px}.ops-column .ops-footer{margin-top:4px}.dropzone{border-radius:var(--radius-sm);text-align:center;color:var(--muted);background:#f8fafc;border:1.5px dashed #cbd5e1;flex:none;justify-content:center;align-items:center;height:160px;min-height:160px;padding:20px 14px;transition:border-color .2s,background .2s;display:flex;position:relative}.dropzone:hover{background:#fff;border-color:#94a3b8}.dropzone.over,.dropzone.has-file{border-color:var(--brand);color:var(--ink);background:var(--brand-soft)}.dropzone p{pointer-events:none;margin:0;font-size:14px;line-height:1.5}.dropzone-inner{pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex}.dropzone-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand-deep);border-radius:10px;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:inline-flex}.dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.paste-toggle{text-align:left;color:var(--brand);margin:0;font-size:13px;display:block}.paste-area{margin-top:8px}.primary,.ghost{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:10px 14px;transition:background .15s,border-color .15s,opacity .15s}.primary{background:var(--brand);color:#fff;border-color:var(--brand);width:100%;margin-top:0;font-weight:600}.ops-panel>.primary,.ops-panel .analyze-btn{height:44px;margin-top:0}.primary:hover:not(:disabled){background:var(--brand-deep)}.primary.compact{width:auto;margin-top:0;padding:7px 14px;font-size:13px}.primary:disabled{opacity:.55;cursor:not-allowed}.ghost{border-color:var(--line);color:var(--ink);background:#fff}.ghost:hover:not(:disabled){border-color:var(--brand);color:var(--brand-deep)}.ghost:disabled{opacity:.5;cursor:not-allowed}.ghost.small{padding:6px 10px;font-size:13px}.transcript-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px 14px;margin-bottom:10px;display:flex}.transcript-toolbar .pane-hint{text-align:left;flex:1;min-width:180px;margin:0}.transcript-toolbar-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.transcript-toolbar .primary.compact,.transcript-toolbar .ghost.compact{flex-shrink:0;width:auto;margin-top:0;padding:8px 14px;font-size:13px}.role-switch{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.role-chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.role-chip:hover:not(:disabled){border-color:var(--brand);color:var(--brand-deep)}.role-chip.on{background:var(--info-bg);border-color:color-mix(in srgb, var(--brand) 45%, var(--line));color:var(--brand-deep)}.role-switch.is-locked .role-chip:disabled{opacity:1;cursor:default}.role-switch.is-locked .role-chip:not(.on):disabled{opacity:.45}.role-switch.is-editing .role-chip:disabled{opacity:.55;cursor:not-allowed}.role-speaker{margin-left:4px;font-size:12px}.linkish{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0}.linkish:disabled{opacity:.5;cursor:not-allowed}.empty{color:var(--muted);text-align:center;border-radius:var(--radius-sm);background:linear-gradient(#f0fdf4 0%,#f8fafc 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:420px;padding:48px 32px;line-height:1.65;display:flex}.empty.empty-upload{text-align:left;justify-content:flex-start;align-items:stretch;padding:28px 32px 32px;overflow:auto}.empty-guide{flex-direction:column;align-items:center;gap:12px;max-width:520px;display:flex}.empty-art{flex-shrink:0;margin-bottom:4px}.empty-title{font-family:var(--font-display);color:#334155;margin:0;font-size:18px;font-weight:700}.empty-desc{max-width:480px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.empty-guide-btn{margin-top:0}.empty p{max-width:420px;margin:0 auto;font-size:15px}.upload-hero{flex-direction:column;gap:16px;width:min(720px,100%);margin:0 auto;display:flex}.upload-hero-head{align-items:flex-start;gap:16px;display:flex}.upload-hero-head .empty-art{width:72px;height:72px;margin:0}.upload-hero-head .empty-title{font-size:22px}.upload-hero-head .empty-desc{max-width:none;margin-top:6px}.upload-hero .ops-step{gap:10px}.upload-hero .ops-footer{margin:0}.upload-hero-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.upload-hero-tips{color:var(--muted);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.upload-hero-tips li{margin:2px 0}.dropzone.dropzone-hero{border-width:2px;height:240px;min-height:240px;padding:28px 20px}.dropzone.dropzone-hero .dropzone-icon{border-radius:12px;width:48px;height:48px;font-size:22px}.dropzone.dropzone-hero p{font-size:16px}.paste-area.paste-area-hero{resize:vertical;min-height:180px;margin-top:0}.analyze-btn.analyze-btn-hero{align-self:flex-start;width:auto;min-width:200px;height:48px;padding:0 28px;font-size:15px}.guide-root{z-index:60;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.guide-backdrop{cursor:pointer;background:#0f172a59;border:none;position:absolute;inset:0}.guide-card{border-radius:var(--radius);border:1px solid var(--line);background:#fff;width:min(480px,100%);padding:20px 22px 22px;position:relative;box-shadow:0 16px 40px #0f172a1f}.guide-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.guide-head h2{color:var(--ink);margin:0;font-size:16px;font-weight:700}.guide-list{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.guide-list li{margin:6px 0}.meta-strip{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:12px;padding:8px 0;font-size:13px;display:flex}.meta-sep{opacity:.5}.diar-badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.diar-badge.diar-clear{color:var(--hit);background:#e4f4eb}.diar-badge.diar-suspect{color:#c2410c;background:#ffedd5}.diar-badge.diar-collapsed{color:var(--miss);background:#f8e8e5}.track-role-panel{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin:0 0 12px;padding:10px 12px}.track-role-note{margin:0 0 8px;font-size:12px;line-height:1.5}.track-role-list{flex-direction:column;gap:8px;display:flex}.track-role-item{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.track-role-id{color:var(--ink);min-width:72px;font-weight:600}.track-role-actions{flex-wrap:wrap;gap:6px;display:flex}.report-blurb.pending{opacity:.92;border-style:dashed}.report-blurb{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:14px}.report-blurb strong{color:var(--ink);margin-bottom:4px;display:block}.report-blurb p{color:var(--ink);margin:0;line-height:1.5}.result-body{flex-direction:column;flex:1;min-height:0;display:flex}.score-hero{border:1px solid var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:28px;margin-bottom:16px;padding:20px 22px;display:flex}.score-circle{flex-shrink:0;width:120px;height:120px;position:relative}.score-circle svg{transform:rotate(-90deg)}.score-circle .bg-ring{stroke:#f1f5f9}.score-circle .fg-ring{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset .6s}.score-number{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.score-number .num{color:var(--ink);font-size:34px;font-weight:700;line-height:1}.score-number .total{color:#94a3b8;margin-top:2px;font-size:12px}.score-detail{flex:1;min-width:200px}.score-rating{background:var(--brand-soft);color:var(--brand-deep);border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.score-title{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:650;line-height:1.35}.score-summary{color:#475569;margin:0;font-size:14px;line-height:1.65}.score-stats{flex-shrink:0;gap:10px;display:flex}.stat-item{text-align:center;background:#f8fafc;border-radius:10px;min-width:72px;padding:12px 18px}.stat-item.hit{background:var(--brand-soft)}.stat-item.miss{background:#fef2f2}.stat-item.partial{background:#fff7ed}.stat-num{font-size:22px;font-weight:700;line-height:1}.stat-item.hit .stat-num{color:var(--hit)}.stat-item.partial .stat-num{color:#c2410c}.stat-item.miss .stat-num{color:var(--miss)}.stat-label{color:#64748b;margin-top:4px;font-size:12px}.result-tabs{border:1px solid var(--line);background:#fff;border-bottom:none;border-radius:12px 12px 0 0;flex-shrink:0;margin-bottom:0;padding:0;display:flex;overflow:hidden}.result-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;min-height:44px;font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.result-tab:hover:not(.active){color:#334155;background:#f8fafc}.result-tab.active{background:var(--brand-soft);color:var(--brand-deep);border-bottom-color:var(--brand);box-shadow:none}.result-pane{border:1px solid var(--line);background:#fff;border-radius:0 0 12px 12px;flex-direction:column;flex:1;min-height:0;padding:16px 18px;display:flex}.pane-hint{flex-shrink:0;margin:0 0 10px;font-size:12px}.pane-empty{text-align:center;margin:24px 0}.insights,.transcript,.suggestions-pane{flex-direction:column;flex:1;min-height:0;display:flex}.insights ul,.suggestions-pane ul{flex-direction:column;flex:1;gap:10px;min-height:0;margin:0;padding:0 2px 0 0;list-style:none;display:flex;overflow:auto}.insights li,.suggestions-pane li{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;transition:border-color .15s}.insights li{cursor:pointer}.insights li.active{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.insight-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.badge{border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.badge.ok{color:var(--hit);background:#e4f4eb}.badge.mid{color:#c2410c;background:#ffedd5}.badge.no{color:var(--miss);background:#f8e8e5}.insights li.partial{border-left:3px solid #fb923c}.insights p,.suggestions-pane p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.suggestions-pane strong{color:var(--ink);margin-bottom:6px;font-size:14px;display:block}.suggest-item{cursor:default}.transcript-scroll{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:2px;display:flex;overflow:auto}.para{background:#fff;border:1px solid #0000;border-radius:10px;padding:10px 12px}.para.highlight{background:#e8f5ef;border-color:#b7d9c8}.speaker{color:var(--brand);margin-bottom:4px;font-size:12px;font-weight:600;display:inline-block}button.speaker{text-underline-offset:2px;text-decoration:underline}button.speaker:hover:not(:disabled){opacity:.85}button.speaker:disabled{cursor:not-allowed;opacity:.6}.para p{margin:0;font-size:14px;line-height:1.55}.muted{color:var(--muted)}.drawer-root{z-index:40;pointer-events:none;position:fixed;inset:0}.drawer-root.open{pointer-events:auto}.drawer-backdrop{opacity:0;cursor:pointer;background:#1a2a2459;border:none;margin:0;padding:0;transition:opacity .22s;position:absolute;inset:0}.drawer-root.open .drawer-backdrop{opacity:1}.drawer{height:100%;width:var(--drawer-width);background:var(--panel);border-left:1px solid var(--line);flex-direction:column;transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px #1a2a241f}.drawer-root.open .drawer{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.drawer-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin:0;font-size:11px;font-weight:600}.drawer-head h2{font-family:var(--font-display);margin:4px 0 0;font-size:22px;font-weight:600}.drawer-body{flex:1;padding:12px 18px 28px;overflow:auto}.desc-area{resize:vertical;white-space:pre-wrap;word-break:break-word;min-height:72px;line-height:1.45}.drawer-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.drawer-toolbar-right{gap:8px;margin-left:auto;display:flex}.ghost.danger-btn{color:var(--miss);border-color:color-mix(in srgb, var(--miss) 35%, var(--line))}.ghost.danger-btn:hover:not(:disabled){background:var(--warn-bg)}.rules-head{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.rules-head .field-label{margin:0}.rule-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.rule-row{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.rule-row.open{border-color:color-mix(in srgb, var(--brand) 40%, var(--line))}.rule-summary{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.rule-summary:hover{background:#f3f7f5}.rule-index{color:var(--muted);font-size:12px;font-weight:600}.rule-title-preview{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.rule-score-preview{color:var(--muted);white-space:nowrap;font-size:12px}.rule-editor{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.score-row{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.score-input{width:72px}@media (width<=960px){.page{height:auto;min-height:100vh}.workbench{flex:none;grid-template-columns:1fr}.ops-panel,.result-panel{height:auto}.result-panel{min-height:60vh}.empty{min-height:360px}.result-panel.result-panel-upload .empty{min-height:60vh}.upload-hero-head{flex-direction:column;align-items:flex-start}.dropzone.dropzone-hero{height:200px;min-height:200px}.analyze-btn.analyze-btn-hero{align-self:stretch;width:100%}.upload-hero-foot{flex-direction:column;align-items:flex-start}.workbench.results-only{grid-template-columns:1fr}.score-hero{flex-direction:column;align-items:flex-start}.score-stats{width:100%}.result-tabs{flex-wrap:wrap}.result-tab{flex:30%;min-width:96px}.sop-select{flex:1;min-width:0}.drawer{width:100%}}
