:root{--bg:#0b0b0f;--surface:#15151c;--surface-2:#1b1b24;--border:#26262f;--border-soft:#1e1e27;--text:#f2f2f4;--text-dim:#9a9aa5;--text-faint:#6b6b76;--accent:#6c5ce7;--accent-hover:#7d6ef2;--accent-soft:rgba(108,92,231,.12);--danger:#ff6b6b;--success:#4ade80;--radius-sm:8px;--radius:12px;--radius-lg:16px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a{color:inherit}::placeholder{color:var(--text-faint)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.field-label{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim);display:flex;flex-direction:column;gap:6px}.input{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:400;text-transform:none;letter-spacing:normal;outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--accent)}.btn-primary{padding:12px 18px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:none;border:1px solid var(--border);color:var(--text-dim);padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.btn-ghost:hover{border-color:var(--accent);color:var(--text)}.link-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:0}.link-btn:hover{color:var(--accent-hover)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.hint{font-size:12px;color:var(--text-faint);line-height:1.4;margin:0}.badge-pending{background:hsla(240,6%,63%,.15);color:var(--text-dim)}.badge-processing{background:var(--accent-soft);color:#a99cff}.badge-done{background:rgba(74,222,128,.12);color:var(--success)}.badge-error{background:hsla(0,100%,71%,.12);color:var(--danger)}