:root{--bg: #14171c;--panel: #1c2026;--panel-2: #232830;--fg: #e6e8ec;--muted: #8d96a3;--accent: #4f8eff;--error: #ff6b6b;--border: #2a313a;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--fg);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;background:var(--panel-2);padding:0 4px;border-radius:3px}button{background:var(--panel-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 10px;cursor:pointer;font:inherit}button:hover:not(:disabled){border-color:var(--accent)}input[type=search],input[type=text]{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font:inherit;width:100%}.shell{display:flex;flex-direction:column;min-height:100vh}.shell-header{display:flex;align-items:center;gap:16px;padding:10px 18px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.shell-brand a{font-weight:700;letter-spacing:.5px;color:var(--fg)}.shell-brand a:hover{text-decoration:none;color:var(--accent)}.shell-nav{display:flex;gap:14px}.shell-nav a{color:var(--muted);padding:4px 6px;border-radius:3px}.shell-nav a.active{color:var(--fg);background:var(--panel-2)}.shell-search{flex:1;max-width:380px}.shell-stats{display:flex;gap:12px;margin-left:auto;color:var(--muted);font-size:13px}.shell-main{padding:18px 24px;width:100%;flex:1}h1{font-size:22px;margin:8px 0 18px}h2{font-size:16px;margin:24px 0 8px;color:var(--muted)}.muted{color:var(--muted)}.error{color:var(--error)}.num{text-align:right;font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}tbody tr:hover{background:var(--panel)}.chips{display:flex;flex-wrap:wrap;gap:4px}.speaker-chip{display:inline-block;padding:2px 8px;border-radius:10px;color:#0c0e10;font-size:12px;font-weight:600;white-space:nowrap}.speaker-chip.self{outline:2px solid #fff}.chip-link{text-decoration:none}.chip-link:hover .speaker-chip{filter:brightness(1.1)}.pager{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.session-detail header,.identity-detail header{background:var(--panel);padding:14px;border-radius:6px;border:1px solid var(--border);margin-bottom:10px;position:relative}.ghost-toggle.header-corner{position:absolute;top:8px;right:8px}.session-detail .meta,.identity-detail .meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0}.session-detail dt,.identity-detail dt{color:var(--muted)}.session-detail dd,.identity-detail dd{margin:0}.name-editor-toggle{font-size:.6em;vertical-align:middle;padding:2px 8px}.session-title-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.session-title-toggle:hover,.session-title-toggle:focus-visible{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.name-editor{font-size:.7em;font-weight:400;display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.name-editor input[type=text]{width:220px;padding:3px 8px}.name-editor-error{margin-left:6px}.rollup{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.speakers-confirm .cluster-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-bottom:8px}.speakers-confirm .cluster-card.confirmed{opacity:.85}.speakers-confirm .cluster-card.low-quality{opacity:.6}.speakers-confirm .cluster-card.low-quality:hover{opacity:.85}.cluster-head{display:flex;align-items:center;gap:8px}.cluster-metrics{font-size:12px}.cluster-assigned,.cluster-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.cluster-hints{display:flex;flex-wrap:wrap;gap:6px}.hint-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:12px;border:1px solid var(--border);background:transparent;color:inherit;cursor:pointer;font-size:12px}.hint-chip:hover:not(:disabled){border-color:var(--accent, #6ea8fe)}.hint-chip.top{border-color:var(--accent, #6ea8fe);font-weight:600}.hint-chip .hint-sim{color:var(--muted);font-size:11px}.identity-picker{position:relative;display:inline-block}.identity-picker input[type=text]{width:200px;padding:3px 8px}.identity-picker-menu{position:absolute;z-index:20;top:100%;left:0;min-width:200px;margin:2px 0 0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0000004d;max-height:240px;overflow-y:auto}.identity-picker-menu li button{display:block;width:100%;text-align:left;background:none;border:none;color:inherit;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:13px}.identity-picker-menu li button:hover:not(:disabled){background:var(--border)}.identity-picker-menu .picker-create{border-top:1px solid var(--border);margin-top:2px;color:var(--accent, #6ea8fe)}.identity-picker-menu .picker-create.disabled-soft{color:var(--muted);cursor:not-allowed}.link-button{background:none;border:none;color:var(--muted);cursor:pointer;text-decoration:underline;padding:0;font-size:12px}.link-button:hover:not(:disabled){color:inherit}button:disabled{opacity:.5;cursor:default}.rollup-row{display:inline-flex;align-items:center;gap:6px}.timeline{width:100%;height:auto;background:var(--panel);border:1px solid var(--border);border-radius:6px}.timeline-label{fill:var(--muted);font-size:11px}.timeline-axis{stroke:var(--border);stroke-dasharray:2 4}.timeline-row.clickable{cursor:pointer}.timeline-row.clickable:hover .timeline-label{fill:var(--fg)}.timeline-row.selected .timeline-label{fill:var(--accent);font-weight:600}.timeline-row.dim .timeline-label{fill:#555c66}.timeline-label-check{fill:var(--accent);font-size:11px;font-weight:700}.timeline-bar.clickable{cursor:pointer}.transcript{font-size:14px;line-height:1.6;background:var(--panel);padding:12px 16px;border-radius:6px;border:1px solid var(--border)}.transcript-line{display:grid;grid-template-columns:84px max-content 1fr;align-items:baseline;column-gap:8px;padding:4px 0;border-top:1px solid transparent}.transcript-line.turn{grid-template-columns:84px 1fr}.transcript-line+.transcript-line{border-top-color:var(--border)}.transcript-ts{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.transcript-runs,.transcript-run{display:inline}.transcript-run+.transcript-run:before{content:" "}.transcript-chip{display:inline-block;padding:0 6px;border-radius:8px;color:#0c0e10;font-size:10px;font-weight:700;vertical-align:1px;margin-right:4px;line-height:1.4}.transcript-chip.guess{font-style:italic;font-weight:600;opacity:.9;border:1px dashed rgba(0,0,0,.5);padding:0 5px}.transcript-raw-btn{font-size:10px;padding:0 6px;background:transparent;color:var(--muted);border-color:transparent}.transcript-raw-btn:hover{border-color:var(--border);color:var(--fg)}.transcript-text{font-weight:500}.view-toggle{font-size:11px;padding:1px 8px;margin-left:2px;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:6px;cursor:pointer}.view-toggle.active{color:var(--fg);background:var(--border)}.view-toggle:hover{color:var(--fg)}.pip-root{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg);color:var(--fg)}.pip-header{display:flex;align-items:center;gap:8px;flex:none;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.pip-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pip-toggle{margin-left:auto;display:inline-flex;gap:2px;flex:none}.pip-body{flex:1;overflow-y:auto;padding:8px 10px}.pip-body .transcript{border:none;background:transparent;padding:0;font-size:13px;line-height:1.5}.pip-body .transcript-line,.pip-body .transcript-line.turn{grid-template-columns:58px 1fr}.pip-body .transcript-raw-btn{display:none}.diagnostic-plot{max-width:100%;border-radius:6px;border:1px solid var(--border)}.session-grid{display:grid;grid-template-columns:minmax(340px,38%) 1fr;gap:18px;align-items:start}.session-grid>.session-left{min-width:0}.session-grid>.session-right{min-width:0}@media (max-width: 1100px){.session-grid{grid-template-columns:1fr}}.session-right h2:first-child{margin-top:0}.live-badge{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:2px 8px;background:#d93636;color:#fff;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;vertical-align:3px}.live-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:live-pulse 1.2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-badge.compact{margin-left:8px;padding:1px 6px;font-size:10px;vertical-align:1px}.session-actions{margin:8px 0 4px}.finalize-control{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.state-badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#555;color:#fff}.state-badge.live{background:#d93636}.state-badge.offline{background:#b8860b}.state-badge.created{background:#4a6fa5}.state-badge.finalized{background:#2e7d32}.sessions-table .state-badge{margin-left:8px;padding:1px 6px;font-size:10px;vertical-align:1px}.sessions-table th:nth-child(1),.sessions-table td:nth-child(1){white-space:nowrap}.sessions-table th:nth-child(6),.sessions-table td:nth-child(6){max-width:240px}.sessions-table th:last-child,.sessions-table td.row-actions{width:1%;text-align:right;white-space:nowrap}.sessions-toolbar{margin:8px 0 12px;display:flex;gap:16px;align-items:center}.show-hidden{font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.show-hidden input{vertical-align:-2px;margin-right:4px}.row-hidden{opacity:.45}.row-hidden:hover{opacity:.85}.ghost-toggle{background:none;border:none;padding:2px 4px;font-size:16px;line-height:1;cursor:pointer;opacity:.25;filter:grayscale(1);transition:opacity .1s,filter .1s}.ghost-toggle:hover{opacity:.75;filter:grayscale(0)}.ghost-toggle.active{opacity:1;filter:none}.ghost-toggle:disabled{cursor:wait}.finalize-btn{padding:3px 12px;font-size:12px}.finalize-error{font-size:12px}.toggle{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--muted);font-size:13px;cursor:pointer}.toggle input{margin:0}.snippet-list,.search-results{list-style:none;padding:0;margin:0}.snippet-list li,.search-results li{padding:6px 0;border-bottom:1px solid var(--border)}.search-results mark{background:#ffd966;color:#0c0e10;padding:0 2px;border-radius:2px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:100}.drawer{width:min(720px,90vw);background:var(--panel);border-left:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.drawer header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center}.drawer header button{margin-left:auto;background:transparent;border:none;font-size:20px;cursor:pointer;color:var(--muted)}.drawer-body{padding:12px 16px;overflow:auto;flex:1}.drawer-body pre{background:var(--bg);padding:12px;border-radius:4px;font-size:12px;white-space:pre-wrap;word-break:break-word}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:28px 32px;width:min(420px,100%);display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0 0 4px;font-size:24px}.auth-card .error{color:var(--error);font-size:13px}.auth-card .auth-footer{color:var(--muted);font-size:12px;margin:0}.auth-label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}button.auth-primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:8px 14px;font-weight:500}button.auth-primary:hover:not(:disabled){filter:brightness(1.05)}.bootstrap{padding:24px;text-align:center;color:var(--muted)}.bootstrap.error{color:var(--error)}.shell-signout{margin-left:8px;background:transparent;border:1px solid var(--border);color:var(--muted);padding:4px 10px;font-size:12px}.shell-signout:hover:not(:disabled){color:var(--fg);border-color:var(--accent)}.settings{display:flex;flex-direction:column;gap:24px;padding:20px;max-width:900px}.settings-section{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:18px 20px}.settings-section h2{margin:0 0 14px;font-size:18px}.settings-table{width:100%;border-collapse:collapse;font-size:13px}.settings-table th,.settings-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border)}.settings-table th{color:var(--muted);font-weight:500}.settings-table .muted{color:var(--muted);font-size:11px}.settings-action{margin-top:12px;display:flex;gap:8px;align-items:center}.settings-action input{max-width:240px}.reports-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.report-controls{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 16px;align-items:flex-start}.report-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.report-field>label{color:#9aa0a6}.report-field-inline{justify-content:flex-end}.report-field select[multiple]{min-width:180px;min-height:84px}.report-chips{display:flex;gap:6px}.report-chips .chip{padding:4px 10px;border-radius:12px;border:1px solid #3a3f44;background:transparent;color:#c8ccd0;font-size:12px;cursor:pointer}.report-chips .chip-on{background:#2b6cb0;border-color:#2b6cb0;color:#fff}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{padding:6px 10px;border-bottom:1px solid #2a2e32;text-align:left}.report-table tfoot td{font-weight:600;border-top:2px solid #3a3f44}.report-row-unattr td{color:#6b7177;font-style:italic}select{background:var(--panel-2);color:var(--fg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font:inherit}.rec-retain{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.rec-status{display:flex;align-items:center;gap:8px;margin:10px 0 6px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--error);animation:rec-pulse 1.6s ease-in-out infinite}.rec-dot-paused{background:var(--muted);animation:none}@keyframes rec-pulse{50%{opacity:.35}}.shell-nav .rec-live{display:inline-flex;align-items:center;gap:5px}.shell-nav .rec-dot{width:8px;height:8px}.rec-meter{height:6px;width:320px;max-width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;overflow:hidden}.rec-meter-fill{height:100%;background:var(--accent)}
