:root { font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif; color: #111827; background: #f4f5f7; }
body { margin: 0; }
main { max-width: 1180px; margin: 0 auto; padding: 28px; }
header { margin-bottom: 18px; }
h1 { margin: 0 0 8px; }
nav a { margin-right: 14px; color: #174ea6; }
.card { background: white; border: 1px solid #e5e7eb; border-radius: 14px; padding: 18px; margin: 16px 0; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.drop-zone { border: 2px dashed #9ca3af; border-radius: 14px; padding: 34px; text-align: center; display:flex; flex-direction:column; gap:8px; background:#fafafa; margin-bottom: 14px; }
.drop-zone.drag { border-color:#2563eb; background:#eff6ff; }
.row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin: 12px 0; }
button, .button-like, .button-link { background:#111827; color:white; border:0; border-radius:10px; padding:10px 14px; cursor:pointer; text-decoration:none; display:inline-block; font-size:14px; }
button:disabled, .disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }
textarea, input[type=password] { width:100%; box-sizing:border-box; border:1px solid #d1d5db; border-radius:10px; padding:10px; margin: 7px 0 12px; }
pre { white-space: pre-wrap; word-break: break-word; background:#111827; color:#e5e7eb; border-radius:10px; padding:12px; max-height:420px; overflow:auto; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse: collapse; font-size:14px; }
th, td { border-bottom:1px solid #e5e7eb; text-align:left; padding:9px; vertical-align:top; }
th { background:#f9fafb; position:sticky; top:0; }
.status-done { color:#047857; font-weight:700; }
.status-error { color:#b91c1c; font-weight:700; }
.status-processing { color:#1d4ed8; font-weight:700; }
.small { color:#6b7280; font-size:13px; }
.candidate { margin-bottom: 8px; min-width: 220px; }
