:root{--bg: #dce5d9;--surface: #f4f1e8;--surface-2: #ebe7d8;--rule: #b8c4b4;--rule-strong: #9aaa97;--ink: #1b3a2f;--ink-2: #4a6957;--ink-3: #7a8c80;--ink-4: #a0aba2;--accent: #ca8a04;--accent-soft: rgba(202, 138, 4, .12);--accent-edge: rgba(202, 138, 4, .45);--accent-strong: #a06d03;--success: #166534;--success-soft: rgba(22, 101, 52, .1);--success-edge: rgba(22, 101, 52, .35);--danger: #9f1239;--danger-soft: rgba(159, 18, 57, .1);--danger-edge: rgba(159, 18, 57, .35);--font-display: "Lora", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Courier New", monospace;--radius: 6px;--radius-pill: 999px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}button{font-family:inherit}.login-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 24px}.login-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:40px 36px;max-width:420px;width:100%}.login-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-style:italic;font-size:18px;font-weight:600;color:var(--ink-2);margin-bottom:18px}.login-brand .mark{display:inline-block;width:10px;height:10px;background:var(--accent);border-radius:50%}.login-title{font-family:var(--font-display);font-style:italic;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:0 0 6px}.login-sub{font-size:14.5px;color:var(--ink-2);margin:0 0 22px;line-height:1.55}.field{margin-bottom:14px}.field-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:8px}input[type=text],input[type=password],textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--rule-strong);border-radius:var(--radius);padding:12px 13px}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:600;padding:12px 22px;border-radius:var(--radius);border:1px solid;cursor:pointer;text-decoration:none}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent-strong)}.btn.primary:hover{background:var(--accent-strong)}.btn.primary:disabled,.btn.ghost:disabled{cursor:not-allowed;opacity:.6}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover{background:#7d0e2d;border-color:#7d0e2d}.btn.block{width:100%}.errstate{padding:12px 14px;font-size:14px;border:1px solid var(--danger-edge);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius);margin-bottom:14px}.loading{padding:24px 18px;border:1px dashed var(--rule);border-radius:var(--radius);color:var(--ink-2);font-size:14px}.status-pill{display:inline-block;font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:3px 11px;border:1px solid var(--rule-strong);border-radius:var(--radius-pill);white-space:nowrap;text-transform:capitalize}.status-pill.done{color:var(--success);border-color:var(--success-edge);background:var(--success-soft)}.status-pill.pending,.status-pill.draft{color:var(--ink-2);background:var(--surface-2);border-color:var(--rule)}.status-pill.ready,.status-pill.recording{color:var(--accent-strong);border-color:var(--accent-edge);background:var(--accent-soft)}.batch-shell{max-width:880px;margin:0 auto;padding:32px 24px 80px}.batch-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.batch-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-style:italic;font-size:17px;font-weight:600;color:var(--ink-2)}.batch-brand .mark{display:inline-block;width:9px;height:9px;background:var(--accent);border-radius:50%}.batch-who{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.batch-title{font-family:var(--font-display);font-style:italic;font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:var(--ink);line-height:1.1}.batch-sub{color:var(--ink-2);font-size:15px;margin:0 0 24px}.article-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px}.article-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.article-position{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:6px}.article-title{font-family:var(--font-display);font-style:italic;font-size:22px;font-weight:700;color:var(--ink);margin:0 0 6px;line-height:1.2}.article-source{font-family:var(--font-body);font-size:13.5px;color:var(--ink-3);margin:0}.interview-block{margin-top:16px;padding:16px 18px;background:#fff;border:1px solid var(--rule);border-radius:var(--radius)}.interview-block-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:10px}.interview-q{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--ink-2);margin:0 0 6px}.interview-a{font-family:var(--font-display);font-size:17px;line-height:1.55;color:var(--ink);margin:0 0 14px}.article-actions{margin-top:16px;display:flex;align-items:center;gap:10px}.script-header{margin-top:20px}.script-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.btn-small{padding:6px 12px!important;font-size:12px!important}.interview-more{margin:14px 0 0;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.file-preview{margin-top:14px;padding:12px 14px;border:1px solid var(--rule-strong);background:var(--surface-2, #f6f5ee);border-radius:6px;display:flex;flex-direction:column;gap:4px}.file-preview-name{font-weight:600;color:var(--ink);word-break:break-all}.file-preview-meta{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.upload-done{margin-top:14px;padding:12px 14px;background:var(--success-soft, rgba(22,101,52,.1));border:1px solid var(--success-edge, rgba(22,101,52,.35));color:var(--success, #166534);border-radius:6px;font-weight:600}.upload-help{margin:16px 0 0;color:var(--ink-3);font-size:13px;line-height:1.5}.bar{width:100%;max-width:420px;height:8px;background:var(--rule-strong);overflow:hidden;border-radius:4px}.bar>div{height:100%;background:var(--accent);width:0%;transition:width .2s}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--rule-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
