:root { color-scheme: light; --bg:#f5f6f8; --panel:#fff; --text:#17202a; --muted:#667085; --border:#d8dee6; --accent:#2057a6; --danger:#b42318; --success:#067647; --warning:#a15c00; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
button,.button,input,select { font:inherit; }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; min-height:38px; padding:.48rem .8rem; border:1px solid var(--accent); border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; text-decoration:none; }
button:hover,.button:hover { filter:brightness(.95); text-decoration:none; }.button.secondary { background:#fff;color:var(--accent); }
input,select { width:100%; min-height:38px; padding:.45rem .55rem; border:1px solid var(--border); border-radius:6px; background:#fff; }
label { display:grid; gap:.3rem; font-weight:600; }.check { display:flex; align-items:center; gap:.45rem; font-weight:400; }.check input { width:auto; min-height:auto; }
.topbar { min-height:58px; padding:.7rem max(1rem,calc((100% - 1180px)/2)); display:flex; justify-content:space-between; align-items:center; background:#14243a; color:#fff; }
.topbar a,.topbar .link-button { color:#fff; }.topbar nav { display:flex;align-items:center;gap:1rem; }.brand { font-size:1.05rem;font-weight:750; }.link-button { border:0;background:transparent;padding:0;min-height:auto; }
.container { max-width:1180px;margin:0 auto;padding:1.2rem; }.page-heading,.section-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem; }.page-heading h1 { margin-bottom:.2rem; }
h1 { font-size:1.75rem;line-height:1.2; } h2 { font-size:1.15rem;margin-top:0; }.muted { color:var(--muted); }.mono { font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em; }.break-word { overflow-wrap:anywhere; }
.panel { background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem;margin:1rem 0; }.hidden { display:none; }
.stats-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin:1rem 0; }.stats-grid div { background:#fff;border:1px solid var(--border);border-radius:8px;padding:.8rem;display:grid; }.stats-grid strong { font-size:1.25rem; }.stats-grid span { color:var(--muted);font-size:.82rem; }
.filters { display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:.6rem;margin:1rem 0; }.table-wrap { overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:8px; }table { width:100%;border-collapse:collapse; }th,td { text-align:left;padding:.7rem;border-bottom:1px solid var(--border);vertical-align:top; }th { font-size:.8rem;text-transform:uppercase;color:var(--muted);background:#fafbfc; }.empty { text-align:center;color:var(--muted);padding:1.5rem; }
.badge { display:inline-flex;padding:.17rem .45rem;border-radius:999px;background:#eef1f5;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em; }.badge.ready,.badge.completed { background:#dcfae6;color:var(--success); }.badge.processing,.badge.queued,.badge.preprocessing,.badge.transcribing,.badge.assembling { background:#e9f0ff;color:var(--accent); }.badge.failed,.badge.danger { background:#fee4e2;color:var(--danger); }.badge.waiting { color:var(--muted); }
.file-button input { display:none; }.upload-list { display:grid;gap:.45rem; }.upload-row { display:grid;grid-template-columns:minmax(160px,1fr) 120px 2fr auto;gap:.7rem;align-items:center;border-top:1px solid var(--border);padding:.55rem 0; }.progress { height:8px;background:#e9edf2;border-radius:5px;overflow:hidden; }.progress span { display:block;height:100%;background:var(--accent);width:0;transition:width .15s; }
.two-column,.comparison-grid { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }.metadata-list { display:grid;grid-template-columns:minmax(120px,.7fr) 1.5fr;gap:.45rem .8rem; }.metadata-list dt { color:var(--muted); }.metadata-list dd { margin:0;overflow-wrap:anywhere; }
.candidate-grid { display:grid;grid-template-columns:1fr 1fr;gap:.8rem; }.candidate-grid>div { border:1px solid var(--border);padding:.8rem;border-radius:6px;display:grid;gap:.6rem; }.conflict-panel { border-color:#f79009;background:#fffaeb; }
.stack { display:grid;gap:.8rem; }.compact { max-width:560px; }.compact-form { display:flex;align-items:end;gap:.6rem;flex-wrap:wrap; }.compact-form>* { flex:1; }.compact-form button { flex:0 0 auto; }.inline { display:inline; }.actions { display:flex;gap:.5rem;align-items:center;flex-wrap:wrap; }
.run-list { display:grid;gap:.65rem; }.run-card { border:1px solid var(--border);border-radius:7px;padding:.8rem; }.run-card>div:first-child { display:flex;justify-content:space-between;gap:.6rem; }.alert { padding:.7rem;border-radius:6px; }.alert.error { background:#fee4e2;color:var(--danger); }.speaker-forms { display:grid;gap:.5rem; }.speaker-forms form { display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end; }
audio { width:100%; }.transcript { max-width:900px; }.segment { padding:.8rem 0;border-top:1px solid var(--border); }.timestamp { min-height:auto;padding:0;border:0;background:transparent;color:var(--accent);font-family:ui-monospace,monospace; }.speaker { display:block;margin-top:.35rem; }.segment p { white-space:pre-wrap;margin:.35rem 0; }.plain-transcript { white-space:pre-wrap;line-height:1.7; }.compare-selectors { display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;align-items:end; }.comparison-grid .transcript { margin:0;max-width:none; }
pre { overflow:auto;max-height:420px;background:#101828;color:#f2f4f7;padding:.8rem;border-radius:6px;font-size:.78rem; }.speaker-list { display:grid;gap:.4rem;margin-top:1rem; }.speaker-list>div { display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:.5rem 0; }
.login-page { min-height:100vh;display:grid;place-items:center;padding:1rem; }.login-card { width:min(100%,380px);background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.3rem;box-shadow:0 10px 30px rgba(16,24,40,.08); }
@media (max-width:800px) { .stats-grid { grid-template-columns:repeat(2,1fr); }.filters,.compare-selectors { grid-template-columns:1fr; }.two-column,.comparison-grid,.candidate-grid { grid-template-columns:1fr; }.upload-row { grid-template-columns:1fr auto; }.upload-row .progress { grid-column:1/-1; }.page-heading { align-items:flex-start;flex-direction:column; }.topbar { align-items:flex-start; }.topbar nav { gap:.65rem;flex-wrap:wrap;justify-content:flex-end; }.metadata-list { grid-template-columns:1fr;gap:.1rem; }.metadata-list dd { margin-bottom:.55rem; } }

